| Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) |
| Dim sheet As Worksheet |
| If g_gameEnded = True Then |
| Exit Sub |
| End If |
| |
| Set sheet = ThisWorkbook.ActiveSheet |
| If g_Ships Is Nothing Then Code.AddShips Battleship.Range(board1) |
| If Collide(Target, Battleship.Range(board1)) Then |
| If Target.Borders(xlDiagonalUp).Weight <> xlMedium Then |
| SetHit Target |
| Dim Ship |
| Dim isHit As Boolean |
| isHit = False |
| For Each Ship In g_Ships |
| If Ship.isHit(Target.Cells(1, 1), True) Then |
| If CheckWinner(g_Ships) Then |
| MsgBox "You win!", vbOKOnly + vbExclamation, "Battleships" |
| g_gameEnded = True |
| Cancel = True |
| Exit Sub |
| End If |
| isHit = True |
| Exit For |
| End If |
| Next |
| If isHit = False Then |
| Unprotect |
| Battleship.Cells(g_logRow, 2).value = "You get a miss on " & Target.Address |
| Battleship.Names("PlayerMisses").RefersToRange.value = Battleship.Names("PlayerMisses").RefersToRange.value + 1 |
| g_logRow = g_logRow + 1 |
| Protect "" |
| End If |
| ComputerPlay.Move |
| |
| End If |
| End If |
| Cancel = True |
| End Sub |
| Private Sub Worksheet_SelectionChange(ByVal Target As Range) |
| Target.Cells(1, 1).Select |
| End Sub |