|  | 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 |