Я пишу простую игру SNAKE.
Это будет очень просто, но я застрял сейчас. Я использую «wsad» для управления змеей, но в оригинальной игре змея движется, даже если мы не меняли ее направление. Мой код ждет от меня ввода письма, затем змеи двигаются. Вот пример, где я тестировал, как это выяснить, и я не смог получить результат.
package main
import (
"fmt"
"github.com/eiannone/keyboard"
"time"
)
func takeLetter(s chan bool) {
char, _, err := keyboard.GetSingleKey()
if err != nil {
panic(err)
}
fmt.Printf("%c", char)
s <- true
}
func Print(c chan bool) {
fmt.Println("snake is moving")
time.Sleep(1 * time.Second)
c <- true
}
func main() {
c := make(chan bool)
s := make(chan bool)
for {
go takeLetter(s)
go Print(c)
<-s
<-c
}
}
Как мне управлять этим кодом, чтобы напечатать «змея движется», даже если мы не нажали ни одной клавиши?