From c6ca8659bac592db242e9021032a3e50af97355b Mon Sep 17 00:00:00 2001 From: takami228 Date: Thu, 5 Jul 2018 18:57:15 +0900 Subject: [PATCH] =?UTF-8?q?=E8=AC=9B=E7=BE=A9=E4=B8=AD=E3=81=AE=E6=BC=94?= =?UTF-8?q?=E7=BF=92=E8=AA=B2=E9=A1=8C=E3=81=AB=E3=82=BF=E3=82=A4=E3=83=A0?= =?UTF-8?q?=E3=82=A2=E3=82=A6=E3=83=88=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kadai3-1/README.md | 6 +++++ kadai3-1/typegame/main.go | 47 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 kadai3-1/README.md create mode 100644 kadai3-1/typegame/main.go diff --git a/kadai3-1/README.md b/kadai3-1/README.md new file mode 100644 index 0000000..a1cac41 --- /dev/null +++ b/kadai3-1/README.md @@ -0,0 +1,6 @@ +# 課題3-1 + +* タイピングゲームを作ろう +* 標準出力に英単語を出す(出すものは自由) +* 標準入力から1行受け取る +* 制限時間内に何問解けたか表示する diff --git a/kadai3-1/typegame/main.go b/kadai3-1/typegame/main.go new file mode 100644 index 0000000..8e16355 --- /dev/null +++ b/kadai3-1/typegame/main.go @@ -0,0 +1,47 @@ +package main + +import ( + "bufio" + "fmt" + "io" + "os" + "time" +) + +func input(r io.Reader) <-chan string { + ch := make(chan string) + go func() { + s := bufio.NewScanner(r) + for s.Scan() { + ch <- s.Text() + } + close(ch) + }() + return ch +} + +func main() { + ch := input(os.Stdin) + + chanIsFinish := make(chan bool) + go func() { + time.Sleep(time.Second * 3) + chanIsFinish <- true + }() + + for { + fmt.Print(">") + var isFinished = false + + select { + case isFinished = <-chanIsFinish: + fmt.Println("FINISHED!") + case res := <-ch: + fmt.Println(res) + } + + if isFinished { + break + } + } +}