Je veux créer un jeu qui commence par 3 points verts sur la gauche et 3 points rouges sur la droite avec un espace entre eux. La fin de partie devrait avoir les couleurs des côtés changés. Les règles du jeu sont que, s'il y a un espace à côté d'un point, il devrait être capable de s'y déplacer, même si une couleur opposée est à côté de lui - il devrait être capable de sauter par-dessus si il y a un espace derrière la couleur opposée.Java Tableau Game - Jeu de logique Concept
Ma question se trouve sous le code.
Voici le code:
//import mind.*;
import javax.swing.*;
import java.util.*;
import java.lang.*;
import java.awt.*;
public class Drive {
String[] middle = new String[7];
public Drive() {
int player1, player2;
boolean gameEnd, checkempty, checkempty2, enemy, enemy2;
// Gamepieces
String gr,rd,tom;
gr="G"; rd="R"; tom=" ";
// beginning of the game, endgame and the updating array
String[] begin = {gr,gr,gr,tom,rd,rd,rd};
String[] mellan = new String[7];
String[] end = {rd,rd,rd,tom,gr,gr,gr};
Scanner in = new Scanner(System.in);
while (mellan!=end) {
mellan=begin;
for(int i=0; i<mellan.length; i++) {
System.out.print(mellan[i]);
}
System.out.print(" Choose 0-6: ");
int digits = in.nextInt();
//BOOLEAN for game rules!!!
checkempty = mellan[digits+1]==tom;
checkempty2 = mellan[digits-1]==tom;
enemy = (mellan[digits]==gr && mellan[digits+1]==rd && mellan[digits+2]==tom);
enemy2 = (mellan[digits]==rd && mellan[digits-1]==gr && mellan[digits-2]==tom);
if(checkempty) {
mellan[digits+1]=mellan[digits];
mellan[digits]=tom;
} else if (checkempty2) {
mellan[digits-1]=mellan[digits];
mellan[digits]=tom;
} else if (enemy) {
mellan[digits+2]=mellan[digits];
mellan[digits]=tom;
} else if (enemy2) {
mellan[digits-2]=mellan[digits];
mellan[digits]=tom;
}
}
System.out.print("Nicely Done");
}
// Test Drive!
public static void main(String args[]) {
new Drive();
}
}
Problème:
En ce moment, il est fait la logique du jeu. Si les points n'étaient pas en mesure de reculer, j'aurais fait la tâche. Mais puisqu'ils sont capables de reculer, cela me donne l'erreur quand le code vérifie en dehors du tableau (compréhensible).
La solution au-dessus de ma tête est de rendre le tableau plus avec des signes insignifiants pour ne pas obtenir l'erreur. Mais je demande s'il y a un autre moyen? Parce que, la façon dont il est maintenant, je ne peux pas déplacer mes premiers et derniers points les chiffres du milieu fonctionnent comme il se doit!
Merci Syntactic! J'ai très bien compris votre explication! Une question secondaire, est-ce la seule façon de déplacer/basculer autour des index dans les tableaux? – Zopyrus