Rename checkDiag to checkDiagLR and add checkDiagRL. Add more tests

[?]
Dec 28, 2020, 2:58 PM
TYELLGSAWE3NVWLS32OMORTKT6NCZYQTI4QSRW4LSU5VC32RV3KQC

Dependencies

  • [2] UWVAMBIJ Fix couple of tests, add more
  • [3] G5KXCVIL tictactoe: initial import

Change contents

  • replacement in snippets/tictactoe/evaluate_test.go at line 17
    [3.2460][2.0:363]()
    {"Pl2 col", [][]rune{{Pl2, Pl1, Pl1}, {Pl2, Empty, Empty}, {Pl2, Empty, Empty}}, -10},
    {"Pl1 last col", [][]rune{{Pl2, Pl1, Pl1}, {Pl2, Empty, Pl1}, {Empty, Empty, Pl1}}, 10},
    {"Pl2 diag lr", [][]rune{{Pl2, Pl1, Pl1}, {Empty, Pl2, Empty}, {Pl1, Empty, Pl2}}, -10},
    {"Pl1 diag rl", [][]rune{{Pl2, Pl1, Pl1}, {Empty, Pl1, Empty}, {Pl1, Empty, Empty}}, 10},
    [3.2460]
    [3.2638]
    {"Pl2 col", [][]rune{{Pl2, Empty, Empty}, {Pl2, Empty, Empty}, {Pl2, Empty, Empty}}, -10},
    {"Pl1 last col", [][]rune{{Empty, Empty, Pl1}, {Empty, Empty, Pl1}, {Empty, Empty, Pl1}}, 10},
    {"Pl2 diag lr", [][]rune{{Pl2, Empty, Empty}, {Empty, Pl2, Empty}, {Empty, Empty, Pl2}}, -10},
    {"Pl1 diag rl", [][]rune{{Empty, Empty, Pl1}, {Empty, Pl1, Empty}, {Pl1, Empty, Empty}}, 10},
  • replacement in snippets/tictactoe/evaluate.go at line 18
    [3.3240][3.3240:3300]()
    if checkDiag(board, row, col, WinSize, Pl1) == WinSize {
    [3.3240]
    [3.3300]
    if checkDiagLR(board, row, col, WinSize, Pl1) == WinSize {
    return +10
    } else if checkDiagLR(board, row, col, WinSize, Pl2) == WinSize {
    return -10
    }
    if checkDiagRL(board, row, col, WinSize, Pl1) == WinSize {
  • replacement in snippets/tictactoe/evaluate.go at line 25
    [3.3315][3.3315:3382]()
    } else if checkDiag(board, row, col, WinSize, Pl2) == WinSize {
    [3.3315]
    [3.3382]
    } else if checkDiagRL(board, row, col, WinSize, Pl2) == WinSize {
  • replacement in snippets/tictactoe/evaluate.go at line 59
    [3.3944][3.3944:4028]()
    func checkDiag(board [][]rune, row, col, winsize int, player rune) (goodness int) {
    [3.3944]
    [3.4028]
    func checkDiagLR(board [][]rune, row, col, winsize int, player rune) (goodness int) {
  • edit in snippets/tictactoe/evaluate.go at line 71
    [3.4234]
    func checkDiagRL(board [][]rune, row, col, winsize int, player rune) (goodness int) {
    for k := 0; k < winsize; k++ {
    if row+k < len(board[col]) && col-k >= 0 {
    if board[row+k][col-k] == player {
    goodness++
    } else {
    return goodness
    }
    }
    }
    return goodness
    }