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
34 lines
963 B
Go
34 lines
963 B
Go
package main
|
|
|
|
// initCells initialize the played cells to empty
|
|
func initCells() {
|
|
// // create a string with empty cells
|
|
// // " , , , , , , , , ,"
|
|
// var s string
|
|
|
|
// // number of cells = maxTurns
|
|
// for i := 1; i <= maxTurns; i++ {
|
|
// s += emptyCell // add an empty move
|
|
// s += "," // separate the cells with a comma
|
|
// }
|
|
|
|
// // strings are immutable — you should create a new one
|
|
// // fortunately: most of this happens in the stack memory
|
|
// // " , , , , , , , , ," -> // " , , , , , , , , "
|
|
// s = strings.TrimSuffix(s, ",")
|
|
|
|
// // store the cells in a slice (slice = list, array in other langs)
|
|
// // Split() returns a list of strings: []string (a string slice)
|
|
// // [" ", " ", " ", " ", " ", " ", " ", " ", " " ]
|
|
// cells = strings.Split(s, ",")
|
|
|
|
// Right way:
|
|
// cells = []string{" ", " ", " ", " ", " ", " ", " ", " ", " "}
|
|
//
|
|
// Or:
|
|
cells = make([]string, maxTurns)
|
|
for i := range cells {
|
|
cells[i] = emptyCell
|
|
}
|
|
}
|