Mercurial > mercurial > hgweb_golang.cgi
comparison src/gomatrix.go @ 26:1b293bb0a011
add gomatrix.
author | pyon@macmini |
---|---|
date | Sat, 02 Feb 2019 10:35:24 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
25:2afa7e0ff1f2 | 26:1b293bb0a011 |
---|---|
1 package main | |
2 | |
3 import ( | |
4 "flag" | |
5 "fmt" | |
6 "math/rand" | |
7 "runtime" | |
8 "time" | |
9 ) | |
10 | |
11 func main() { | |
12 sw := flag.Int( "w", 40, "screen width" ) | |
13 sl := flag.Int( "s", 100, "interval" ) | |
14 flag.Parse() | |
15 | |
16 s := "0123456789abcdefghijkemnopqrstuvwxyzABCDEFGHIJKEMNOPQRSTUVWXYZ!@#$%&*|;:.,=+-/" | |
17 n := len( s ) | |
18 r := 0 | |
19 for i := 1 ; ; i++ { | |
20 r = rand.Intn( n ) | |
21 fmt.Printf( "%s ", random_color( s[r] ) ) | |
22 if i == *sw { | |
23 for t := 0; t < *sl; t++ { | |
24 time.Sleep( time.Millisecond ) | |
25 } | |
26 fmt.Println() | |
27 i = 0 | |
28 } | |
29 } | |
30 } | |
31 | |
32 func random_color( s byte ) string { | |
33 if runtime.GOOS == "windows" { | |
34 return string( s ) | |
35 } | |
36 // black, red, green yellow, blue, magenta, cyan, white | |
37 c := [...]int{ 30, 31, 32, 33, 34, 35, 36, 37 } | |
38 r := rand.Intn( len( c ) ) | |
39 return fmt.Sprintf( "\x1b[%dm%c\x1b[0m", c[r], s ) | |
40 } | |
41 |