add: new tictactoe game
add: testing to tictactoe rename: tictactoe add: tictactoe steps refactor: tictactoe const names refactor: tictactoe loop add: tictactoe bad switch example (fallthrough) refactor: tictactoe loop skin remove: tictactoe changable skin refactor: tictactoe all remove: tictactoe unnecessary base dir add: tictactoe slices add: tictactoe slices remove: tictactoe fallthrough rename: tictactoe slices 10 -> 09 update: loops skin tictactoe add: tictactoe randomization add: tictactoe infinite loop and labeled break refactor: tictactoe rand and infinite loop add: tictactoe buggy winning algo add: tictactoe more tests rename: tictactoe wrongPlay to wrongMove add: tictactoe even more tests fix: tictactoe rename: tictactoe waitForInput to wait add: tictactoe os.args gameSpeed remove: tictactoe unnecessary files rename: tictactoe game messages refactor: tictactoe main loop add: types and arrays
This commit is contained in:
45
x-tba/tictactoe/15-os-args/main.go
Normal file
45
x-tba/tictactoe/15-os-args/main.go
Normal file
@ -0,0 +1,45 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
/*
|
||||
~ TICTACTOE GAME IN GO ~
|
||||
+ This example uses the very basics of the Go language.
|
||||
+ The goal is learning all the basics.
|
||||
*/
|
||||
|
||||
const (
|
||||
maxTurns = 9
|
||||
defaultGameSpeed = time.Second * 2 // time between plays
|
||||
)
|
||||
|
||||
var (
|
||||
won, tie bool // is there any winner or a tie?
|
||||
turn int // total valid turns played
|
||||
|
||||
cells [maxTurns]string // used to draw the board: contains the players' moves
|
||||
lastPos int // last played position
|
||||
wrongMove bool // was the last move wrong?
|
||||
|
||||
player = player1 // current player
|
||||
gameSpeed = defaultGameSpeed // sets the default game speed
|
||||
)
|
||||
|
||||
// main is only responsible for the game loop, that's it.
|
||||
func main() {
|
||||
setGameSpeed()
|
||||
printBoard()
|
||||
wait()
|
||||
|
||||
for nextTurn() {
|
||||
wait()
|
||||
}
|
||||
}
|
||||
|
||||
func wait() {
|
||||
fmt.Println()
|
||||
time.Sleep(gameSpeed) // player thinks...
|
||||
}
|
Reference in New Issue
Block a user