Refactoring evaluate functions
[?]
Dec 28, 2020, 4:35 PM
HSJSKGY7352JHEI4LAMO3F2RCZTVI5ZKQUCHU4UYCTLD7EGL3FQACDependencies
- [2]
TYELLGSARename checkDiag to checkDiagLR and add checkDiagRL. Add more tests - [3]
G5KXCVILtictactoe: initial import - [4]
UWVAMBIJFix couple of tests, add more
Change contents
- edit in snippets/tictactoe/tictactoe.go at line 20
// Board represents the board the game played ontype Board [][]rune - replacement in snippets/tictactoe/evaluate_test.go at line 12
board [][]runeboard Board - replacement in snippets/tictactoe/evaluate_test.go at line 24
assert.Equal(t, tc.expected, evaluate(tc.board))assert.Equal(t, tc.expected, tc.board.evaluate()) - replacement in snippets/tictactoe/evaluate.go at line 3
func evaluate(board [][]rune) int {for row := range board {for col := range board[row] {if checkRow(board, row, col, WinSize, Pl1) == WinSize {func (b Board) evaluate() int {for row := range b {for col := range b[row] {if b.checkRow(row, col, WinSize, Pl1) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 8
} else if checkRow(board, row, col, WinSize, Pl2) == WinSize {} else if b.checkRow(row, col, WinSize, Pl2) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 11
if checkCol(board, row, col, WinSize, Pl1) == WinSize {if b.checkCol(row, col, WinSize, Pl1) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 13
} else if checkCol(board, row, col, WinSize, Pl2) == WinSize {} else if b.checkCol(row, col, WinSize, Pl2) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 16
if checkDiagLR(board, row, col, WinSize, Pl1) == WinSize {if b.checkDiagLR(row, col, WinSize, Pl1) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 18
} else if checkDiagLR(board, row, col, WinSize, Pl2) == WinSize {} else if b.checkDiagLR(row, col, WinSize, Pl2) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 21
if checkDiagRL(board, row, col, WinSize, Pl1) == WinSize {if b.checkDiagRL(row, col, WinSize, Pl1) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 23
} else if checkDiagRL(board, row, col, WinSize, Pl2) == WinSize {} else if b.checkDiagRL(row, col, WinSize, Pl2) == WinSize { - replacement in snippets/tictactoe/evaluate.go at line 31
func checkRow(board [][]rune, row, col, winsize int, player rune) (goodness int) {func (b Board) checkRow(row, col, winsize int, player rune) (goodness int) { - replacement in snippets/tictactoe/evaluate.go at line 33
if row+i < len(board[col]) {if board[row+i][col] == player {if row+i < len(b[col]) {if b[row+i][col] == player { - replacement in snippets/tictactoe/evaluate.go at line 44
func checkCol(board [][]rune, row, col, winsize int, player rune) (goodness int) {func (b Board) checkCol(row, col, winsize int, player rune) (goodness int) { - replacement in snippets/tictactoe/evaluate.go at line 46
if col+j < len(board[row]) {if board[row][col+j] == player {if col+j < len(b[row]) {if b[row][col+j] == player { - replacement in snippets/tictactoe/evaluate.go at line 57
func checkDiagLR(board [][]rune, row, col, winsize int, player rune) (goodness int) {func (b Board) checkDiagLR(row, col, winsize int, player rune) (goodness int) { - replacement in snippets/tictactoe/evaluate.go at line 59
if row+k < len(board[col]) && col+k < len(board[row]) {if board[row+k][col+k] == player {if row+k < len(b[col]) && col+k < len(b[row]) {if b[row+k][col+k] == player { - replacement in snippets/tictactoe/evaluate.go at line 70
func checkDiagRL(board [][]rune, row, col, winsize int, player rune) (goodness int) {func (b Board) checkDiagRL(row, col, winsize int, player rune) (goodness int) { - replacement in snippets/tictactoe/evaluate.go at line 72
if row+k < len(board[col]) && col-k >= 0 {if board[row+k][col-k] == player {if row+k < len(b[col]) && col-k >= 0 {if b[row+k][col-k] == player {