hallo zusammen
bin immer noch mit meinen labyrinth beschäftigt funktioniert bis jetzt einwandfrei nur muss ich jetzt noch die mauern aktivieren...
das labyrinth wird in ein 2d array geladen und mit ascii zeichen gefüllt die spielfigur und das ziel sind auch ascii zeichen die spielfigur darf nicht durch die ascii mauern laufen weiß aber nicht wie ich das machen soll
ich poste euch mal den kompletten quelltext vielleicht weiß ja einer von euch eine lösung würde mich freuen
Main
Labyrinth Klasse
freue mich über eure antworten
mfg tameck
bin immer noch mit meinen labyrinth beschäftigt funktioniert bis jetzt einwandfrei nur muss ich jetzt noch die mauern aktivieren...
das labyrinth wird in ein 2d array geladen und mit ascii zeichen gefüllt die spielfigur und das ziel sind auch ascii zeichen die spielfigur darf nicht durch die ascii mauern laufen weiß aber nicht wie ich das machen soll
ich poste euch mal den kompletten quelltext vielleicht weiß ja einer von euch eine lösung würde mich freuen
Main
Code:
package Schule;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
Labyrinth lab= new Labyrinth();
lab.generiere();
lab.setzespielfigur();
lab.setzeziel();
lab.zeichneFeld();
lab.bewegespielfigur();
}
}
Labyrinth Klasse
Code:
package Schule;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
public class Labyrinth{
private static Random zufallszahl = new Random();
private static int ergebnis;
private static int[] [] array = new int[10][40];
private static int x;
private static int y;
private static int beenden = 0;
private static String input;
private static int k;
private static int j;
private static int u;
private static int i;
private static int kory;
private static int korx;
private static int a;
private static int s;
//Generiere Spielfeld---------------------------------------
public void zeichneFeld(){
for(k=0; k<10; k++){
for(j=0; j<40; j++){
System.out.print((char)array[k][j]);
}
System.out.println();
}
}
//Generiere Labyrinth---------------------------------------
public void generiere(){
System.out.println("Spielfeld");
for( i=0; i<10; i++){
for( u=0; u<40; u++){
ergebnis=Math.abs(zufallszahl.nextInt() % 4)+ 1;
if(ergebnis==1)
array[i][u]= 35;
if(ergebnis==2||ergebnis==3||ergebnis==4)
array[i][u]= 160;
for(kory = 0; kory<=39;kory++){
array[0][kory]=35;
array[9][kory]=35;
}
for(korx = 0; korx<=9;korx++){
array[korx][0]=35;
array[korx][39]=35;
}
}
}
}
//Generiere Spielfigur------------------------------------------------------
public void setzespielfigur(){
x=Math.abs(zufallszahl.nextInt()%10)+1;
y=Math.abs(zufallszahl.nextInt()%10)+1;
array[x][y]=169;
}
//Generiere Ziel------------------------------------------------------------
public void setzeziel(){
array[8][26]=90;
}
//Generiere Steuerung-------------------------------------------------------
public void bewegespielfigur() {
InputStreamReader isr = new InputStreamReader ( System.in );
BufferedReader stdin = new BufferedReader ( isr );
while(beenden==0){
try {
input = stdin.readLine();
} catch (IOException e) {
e.printStackTrace();
}
//Taste zum nach oben laufen-----------------------------------------
if(input.equals("w")){
array[x][y]=32;
x=x-1;
array[x][y]=169;
if(array[x][y]== (char)35){
x=x+1;
}
for(int i=0; i<=8; i++){
System.out.println();
}
for(k=0; k<10; k++){
for(j=0; j<40; j++){
System.out.print((char)array[k][j]);
}
System.out.println();
}
System.out.println("X"+x+"Y"+y);
if(x==8&&y==26){
System.out.println("Sie haben Gewonnen!\n Drücken Sie e zum Beenden! ");
System.out.println("X"+x+"Y"+y);
}
for(kory = 0; kory<=26;kory++){
if(x==0&&y==kory){
array[x][y]=160;
x=x+1;
}
}
array[x][y]=169;
}
//Taste zum links laufen--------------------------------------------
else if(input.equals("a")){
array[x][y]=160;
y=y-1;
array[x][y]=169;
for(int i=0; i<=8; i++){
System.out.println();
}
for(k=0; k<10; k++){
for(j=0; j<40; j++){
System.out.print((char)array[k][j]);
}
System.out.println();
}
System.out.println("X"+x+"Y"+y);
if(x==8&&y==26){
System.out.println("Sie haben Gewonnen!\n Drücken Sie e zum Beenden! ");
System.out.println("X"+x+"Y"+y);
}
for(int korx = 0; korx<=10;korx++){
if(x==korx&&y==0){
array[x][y]=160;
y=y+1;
}
}
}
//Taste zum runter laufen-----------------------------------------------------------
else if(input.equals("s")){
array[x][y]=160;
x=x+1;
array[x][y]=169;
for(int i=0; i<=8; i++){
System.out.println();
}
for(k=0; k<10; k++){
for(j=0; j<40; j++){
System.out.print((char)array[k][j]);
}
System.out.println();
}
System.out.println("X"+x+"Y"+y);
if(x==8&&y==26){
System.out.println("Sie haben Gewonnen!\n Drücken Sie e zum Beenden! ");
System.out.println("X"+x+"Y"+y);
}
for(kory = 0; kory<=26;kory++){
if(x==9&&y==kory){
array[x][y]=160;
x=x-1;
}
}
}
//Taste zum rechts laufen---------------------------------------------------------
else if(input.equals("d")){
array[x][y]=160;
y=y+1;
array[x][y]=169;
for(int i=0; i<=8; i++){
System.out.println();
}
for(k=0; k<10; k++){
for(j=0; j<40; j++){
System.out.print((char)array[k][j]);
}
System.out.println();
}
System.out.println("X"+x+"Y"+y);
if(x==8&&y==26){
System.out.println("Sie haben Gewonnen!\n Drücken Sie e zum Beenden! ");
}
for(int korx = 0; korx<=10;korx++){
if(x==korx&&y==39){
array[x][y]=160;
y=y-1;
}
}
}
//Taste für Ende------------------------------------------------------------------------
else if(input.equals("e")){
System.out.println("ende");
beenden = beenden + 1;
}
}
}
}
freue mich über eure antworten
mfg tameck