Erreur java.lang.ArrayIndexOutOfBoundsException: 5
Fermé
arthur
-
Modifié le 2 juin 2020 à 11:57
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 4 juin 2020 à 09:20
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 4 juin 2020 à 09:20
A voir également:
- Erreur java.lang.ArrayIndexOutOfBoundsException: 5
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Instagram une erreur s'est produite ✓ - Forum Instagram
- Erreur 3000 - Forum Lecteurs et supports vidéo
1 réponse
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
2 juin 2020 à 13:39
2 juin 2020 à 13:39
Bonjour,
Il faut empêcher d'appeler [i+1] si i vaut 4. Par exemple avec if (i < 4).
De même pour [j+1] avec j < 4, [i-1] avec i > 0 et [j-1] avec j > 0.
Il faut empêcher d'appeler [i+1] si i vaut 4. Par exemple avec if (i < 4).
De même pour [j+1] avec j < 4, [i-1] avec i > 0 et [j-1] avec j > 0.
if (playerPlacement[i][j] == 1) { switch (choice) { case 1: if (i > 0) { playerPlacement[i - 1][j] = 1; playerPlacement[i][j] = 0; } break; case 2: if (j > 0) { playerPlacement[i][j - 1] = 1; playerPlacement[i][j] = 0; } break; case 3: if (j < 4) { playerPlacement[i][j + 1] = 1; playerPlacement[i][j] = 0; } break; case 4: if (i < 4) { playerPlacement[i + 1][j] = 1; playerPlacement[i][j] = 0; } break; } }
2 juin 2020 à 16:44
2 juin 2020 à 16:45
2 juin 2020 à 17:40
Exemple : tu as playerPlacement[0][0] == 1 et choice == 4.
Pour i = 0 tu vas faire playerPlacement[0][0] == 0 et playerPlacement[1][0] == 1
Puis tu auras i = 1 et tu vas faire playerPlacement[1][0] == 0 et playerPlacement[2][0] == 1
Et encore pareil avec i=2, i=3, et i=4 pour finalement avoir playerPlacement[4][0] == 1
Le mieux serait d'enregistrer la position du joueur et ne pas avoir à parcourir toute une grille pour savoir où il est.
Remarque : au final, je pense que la grille playerPlacement ne servira plus à rien.
3 juin 2020 à 18:17
Main :
Méthode move :
4 juin 2020 à 09:20
est faux, il faudrait mettre playerPlacementX, pas deux fois playerPlacementY. De plus, les deux boucles ne servent à rien si c'est pour faire ça.
Si les instructions ne sont faites que dans le cas où (i == playerPlacementX && j == playerPlacementY) alors enlèves tes boucles et remplaces i par playerPlacementX et j par playerPlacementY.