diff src/gomatrix.go @ 26:1b293bb0a011

add gomatrix.
author pyon@macmini
date Sat, 02 Feb 2019 10:35:24 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gomatrix.go	Sat Feb 02 10:35:24 2019 +0900
@@ -0,0 +1,41 @@
+package main
+
+import (
+	"flag"
+	"fmt"
+	"math/rand"
+	"runtime"
+	"time"
+)
+
+func main() {
+	sw := flag.Int( "w",  40, "screen width" )
+	sl := flag.Int( "s", 100, "interval" )
+	flag.Parse()
+
+	s := "0123456789abcdefghijkemnopqrstuvwxyzABCDEFGHIJKEMNOPQRSTUVWXYZ!@#$%&*|;:.,=+-/"
+	n := len( s )
+	r := 0
+	for i := 1 ; ; i++ {
+		r = rand.Intn( n )
+		fmt.Printf( "%s ", random_color( s[r] ) )
+		if i == *sw {
+			for t := 0; t < *sl; t++ {
+				time.Sleep( time.Millisecond )
+			}
+			fmt.Println()
+			i = 0
+		}
+	}
+}
+
+func random_color( s byte ) string {
+	if runtime.GOOS == "windows" {
+		return string( s )
+	}
+	// black, red, green yellow, blue, magenta, cyan, white
+	c := [...]int{ 30, 31, 32, 33, 34, 35, 36, 37 }
+	r := rand.Intn( len( c ) )
+	return fmt.Sprintf( "\x1b[%dm%c\x1b[0m", c[r], s )
+}
+