1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
Function adjacent(i As Integer, j As Integer) As Boolean
adjacent(i, j) = False
'Recherche d'un pion adjacent de couleur adverse
'Côté gauche
If ((NumJoueur = False) And (i = 1) And (j > 1) And (j < 8)) And ((TableauEtatCase(i, j - 1) = "blanc") Or (TableauEtatCase(i, j + 1) = "blanc") Or (TableauEtatCase(i + 1, j) = "blanc") Or (TableauEtatCase(i + 1, j - 1) = "blanc") Or (TableauEtatCase(i + 1, j + 1) = "blanc")) Then
adjacent(i, j) = True
'Côté droit
ElseIf ((NumJoueur = False) And (i = 8) And (j > 1) And (j < 8)) And ((TableauEtatCase(i, j - 1) = "blanc") Or (TableauEtatCase(i, j + 1) = "blanc") Or (TableauEtatCase(i - 1, j) = "blanc") Or (TableauEtatCase(i - 1, j - 1) = "blanc") Or (TableauEtatCase(i - 1, j + 1) = "blanc")) Then
adjacent(i, j) = True
'Haut
ElseIf ((NumJoueur = False) And (j = 1) And (i > 1) And (i < 8)) And ((TableauEtatCase(i - 1, j) = "blanc") Or (TableauEtatCase(i + 1, j) = "blanc") Or (TableauEtatCase(i, j + 1) = "blanc") Or (TableauEtatCase(i - 1, j + 1) = "blanc") Or (TableauEtatCase(i + 1, j + 1) = "blanc")) Then
adjacent(i, j) = True
'Bas
ElseIf ((NumJoueur = False) And (j = 8) And (i > 1) And (i < 8)) And ((TableauEtatCase(i - 1, j) = "blanc") Or (TableauEtatCase(i + 1, j) = "blanc") Or (TableauEtatCase(i, j - 1) = "blanc") Or (TableauEtatCase(i - 1, j - 1) = "blanc") Or (TableauEtatCase(i + 1, j - 1) = "blanc")) Then
adjacent(i, j) = True
'Coin haut gauche
ElseIf ((NumJoueur = False) And (i = 1) And (j = 1)) And ((TableauEtatCase(2, 1) = "blanc") Or (TableauEtatCase(1, 2) = "blanc") Or (TableauEtatCase(2, 2) = "blanc")) Then
adjacent(i, j) = True
'Coin haut droit
ElseIf ((NumJoueur = False) And (i = 8) And (j = 1)) And ((TableauEtatCase(7, 1) = "blanc") Or (TableauEtatCase(8, 2) = "blanc") Or (TableauEtatCase(7, 2) = "blanc")) Then
adjacent(i, j) = True
'Coin bas gauche
ElseIf ((NumJoueur = False) And (i = 1) And (j = 8)) And ((TableauEtatCase(1, 7) = "blanc") Or (TableauEtatCase(2, 8) = "blanc") Or (TableauEtatCase(2, 7) = "blanc")) Then
adjacent(i, j) = True
'Coin bas droit
ElseIf ((NumJoueur = False) And (i = 8) And (j = 8)) And ((TableauEtatCase(8, 7) = "blanc") Or (TableauEtatCase(7, 8) = "blanc") Or (TableauEtatCase(7, 7) = "blanc")) Then
adjacent(i, j) = True
'Reste de l'othellier
ElseIf ((NumJoueur = False) And (i > 1) And (i < 8) And (j > 1) And (j < 8)) And ((TableauEtatCase(i - 1, j) = "blanc") Or (TableauEtatCase(i + 1, j) = "blanc") Or (TableauEtatCase(i, j - 1) = "blanc") Or (TableauEtatCase(i, j + 1) = "blanc") Or (TableauEtatCase(i - 1, j - 1) = "blanc") Or (TableauEtatCase(i + 1, j - 1) = "blanc") Or (TableauEtatCase(i - 1, j + 1) = "blanc") Or (TableauEtatCase(i + 1, j + 1) = "blanc")) Then
adjacent(i, j) = True
End If
'Côté gauche
If ((NumJoueur = True) And (i = 1) And (j > 1) And (j < 8)) And ((TableauEtatCase(i, j - 1) = "noir") Or (TableauEtatCase(i, j + 1) = "blanc") Or (TableauEtatCase(i + 1, j) = "noir") Or (TableauEtatCase(i + 1, j - 1) = "noir") Or (TableauEtatCase(i + 1, j + 1) = "noir")) Then
adjacent(i, j) = True
'Côté droit
ElseIf ((NumJoueur = True) And (i = 8) And (j > 1) And (j < 8)) And ((TableauEtatCase(i, j - 1) = "noir") Or (TableauEtatCase(i, j + 1) = "noir") Or (TableauEtatCase(i - 1, j) = "noir") Or (TableauEtatCase(i - 1, j - 1) = "noir") Or (TableauEtatCase(i - 1, j + 1) = "noir")) Then
adjacent(i, j) = True
'Haut
ElseIf ((NumJoueur = True) And (j = 1) And (i > 1) And (i < 8)) And ((TableauEtatCase(i - 1, j) = "noir") Or (TableauEtatCase(i + 1, j) = "noir") Or (TableauEtatCase(i, j + 1) = "noir") Or (TableauEtatCase(i - 1, j + 1) = "noir") Or (TableauEtatCase(i + 1, j + 1) = "noir")) Then
adjacent(i, j) = True
'Bas
ElseIf ((NumJoueur = True) And (j = 8) And (i > 1) And (i < 8)) And ((TableauEtatCase(i - 1, j) = "noir") Or (TableauEtatCase(i + 1, j) = "noir") Or (TableauEtatCase(i, j - 1) = "noir") Or (TableauEtatCase(i - 1, j - 1) = "noir") Or (TableauEtatCase(i + 1, j - 1) = "noir")) Then
adjacent(i, j) = True
'Coin haut gauche
ElseIf ((NumJoueur = True) And (i = 1) And (j = 1)) And ((TableauEtatCase(2, 1) = "noir") Or (TableauEtatCase(1, 2) = "noir") Or (TableauEtatCase(2, 2) = "noir")) Then
adjacent(i, j) = True
'Coin haut droit
ElseIf ((NumJoueur = True) And (i = 8) And (j = 1)) And ((TableauEtatCase(7, 1) = "noir") Or (TableauEtatCase(8, 2) = "noir") Or (TableauEtatCase(7, 2) = "noir")) Then
adjacent(i, j) = True
'Coin bas gauche
ElseIf ((NumJoueur = True) And (i = 1) And (j = 8)) And ((TableauEtatCase(1, 7) = "noir") Or (TableauEtatCase(2, 8) = "noir") Or (TableauEtatCase(2, 7) = "noir")) Then
adjacent(i, j) = True
'Coin bas droit
ElseIf ((NumJoueur = True) And (i = 8) And (j = 8)) And ((TableauEtatCase(8, 7) = "noir") Or (TableauEtatCase(7, 8) = "noir") Or (TableauEtatCase(7, 7) = "noir")) Then
adjacent(i, j) = True
'Reste de l'othellier
ElseIf ((NumJoueur = True) And (i > 1) And (i < 8) And (j > 1) And (j < 8)) And ((TableauEtatCase(i - 1, j) = "noir") Or (TableauEtatCase(i + 1, j) = "noir") Or (TableauEtatCase(i, j - 1) = "noir") Or (TableauEtatCase(i, j + 1) = "noir") Or (TableauEtatCase(i - 1, j - 1) = "noir") Or (TableauEtatCase(i + 1, j - 1) = "noir") Or (TableauEtatCase(i - 1, j + 1) = "noir") Or (TableauEtatCase(i + 1, j + 1) = "noir")) Then
adjacent(i, j) = True
End If
End Function |
Partager