array problem

tameck

Erfahrenes Mitglied
hallo zusammen

warum funktioniert diese if abfrage nicht

Code:
if(array[x][y]==array[8][26]){
				System.out.println("Sie haben Gewonnen!");
                         }

freu mich über eure hilfe :)

gruß tameck
 
Zuletzt bearbeitet:
hoffe das euch das mehr hilft

Code:
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();
				}
			
				if(input.equals("w")){
					
					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();
					}
					
				}
				else if(input.equals("a")){
					
					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();
					}
					
				}
				else if(input.equals("s")){
					
					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();
					}
					
				}
				else if(input.equals("d")){
					
					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();
					}
					
				}
				else if(input.equals("e")){
					
					System.out.println("ende");
					beenden = beenden + 1;
				}
			}
			if(array[x][y]==array[8][26]){
				System.out.println("Sie haben Gewonnen!");
			}
		}
 
DAnn lass doch mal jedes mal vor den Abfragen X und Y ausgeben, dann siehst du ob sie die gewünschten Werte jemals annehmen
 
Wie Matze from HwI schon gesagt hat: lass dir einfach mal immer die X und die Y-Werte ausgeben, denn irgendwas scheint dann da ja wohl bei deiner Berechnung der Koordinaten nicht ganz zu stimmen, wenn niemals X = 8 und Y = 26 erreicht wird.

Ansonsten bieten die meisten Programmierumgebungen (Eclipse zum Beispiel) was an, was sich Debugger nennt. Damit kann man sich zur Laufzeit die Inhalte der Variablen anschauen, ohne dass man sie jedes Mal per System.out.println ausgeben muss. Würde dir vermutlich auch schon weiterhelfen, weil du so die Fehler besser findest.
 
Zurück