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