Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Function comprueba_linea(n As Integer, jugador As Integer) As Variant[]
- Dim i, j, a As Integer
- Dim ganador As Integer = 0
- Dim num_lineas As Integer = 0
- Dim lineas_posibles As Integer = 8 - n
- Dim cuaterna, cuaterna1, cuaterna2, cuaterna3, cuaterna4 As New Integer[]
- 'buscas linea horizontal
- For i = 0 To 6
- For j = 0 To lineas_posibles - 1
- cuaterna.Clear()
- For a = 0 To n - 1
- cuaterna.Add(Me.casillas[i, j + a])
- Next
- If Me.casillas[i, j] <> 0 And If comparaCuaternaElemento(cuaterna, Me.casillas[i, j], n) Then
- ganador = Me.casillas[i, j]
- If ganador = jugador Then
- num_lineas = num_lineas + 1
- Endif
- Endif
- Next
- Next
- 'buscar linea vertical
- For i = 0 To 6
- For j = 0 To lineas_posibles - 1
- cuaterna.Clear()
- For a = 0 To n - 1
- cuaterna.Add(Me.casillas[j + a, i])
- Next
- If Me.casillas[j, i] <> 0 And comparaCuaternaElemento(cuaterna, Me.casillas[j, i], n) Then
- ganador = Me.casillas[j, i]
- If ganador = jugador Then
- num_lineas = num_lineas + 1
- Endif
- Endif
- Next
- Next
- ' Goto fincomprobacion
- 'buscar linea diagonal
- For i = 0 To 3
- For j = 0 To lineas_posibles - i - 1
- cuaterna1.Clear()
- cuaterna2.Clear()
- cuaterna3.Clear()
- cuaterna4.Clear()
- For a = 0 To n - 1
- cuaterna1.Add(Me.casillas[i + j + a, j + a])
- cuaterna2.Add(Me.casillas[j + a, i + j + a])
- cuaterna3.Add(Me.casillas[i + j + a, 6 - (j + a)])
- cuaterna4.Add(Me.casillas[j + a, 6 - (i + j + a)])
- Next
- If Me.casillas[i + j, j] <> 0 And comparaCuaternaElemento(cuaterna1, cuaterna1[0], n) Then
- ganador = cuaterna1[0]
- If ganador = jugador Then
- num_lineas += 1
- Endif
- Else
- If Me.casillas[j, i + j] <> 0 And If comparaCuaternaElemento(cuaterna2, cuaterna2[0], n) Then
- ganador = cuaterna2[0]
- If ganador = jugador Then
- num_lineas += 1
- Endif
- Else
- If Me.casillas[i + j, 6 - j] <> 0 And If comparaCuaternaElemento(cuaterna3, cuaterna3[0], n) Then
- ganador = cuaterna3[0]
- If ganador = jugador Then
- num_lineas += 1
- Endif
- Else
- If Me.casillas[j, 6 - (i + j)] <> 0 And If comparaCuaternaElemento(cuaterna4, cuaterna4[0], n) Then
- ganador = cuaterna4[0]
- If ganador = jugador Then
- num_lineas += 1
- Endif
- Endif
- Endif
- Endif
- Endif
- Next
- Next
- Return [ganador, num_lineas]
- End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement