[Java] CPU Auslastunf 100% bei Kollisions abfrage :(

NudelMC

Well-known member
ID: 46722
L
16 Juni 2006
178
5
Hoi,

ich hab wieder ein problemchen :p
Ich bau ja grad son jump`n run Spiel in java.
Hab mich nu bissel an der Kollisonsabfrage probiert etc und das läuft auch ganz gut soweit.

Allerdings hab ich das Problem das wenn nu die Kollision true ist die CPU last auf 100% hochgeht und ein laufen in die andere richtung ist nicht mehr möglich 

Wenn ich die Kollision rausnheme läuft es perfekt 

Ich hab ein 2 Dimensonales Array
Movearray[10][10]
Da steht entweder 1 oder 0 drin 0= luft 1=stein bei luft gehen bei stein stehen :p

Es wird auch 100% cpu last erzeugt wenn ich am stein stehe und nicht mehr auf die laufen taste drücke was es für mich noch etwas schwerer zu verstehen macht 

So sieht mein code aus:



// spieler läuft nach rechts
class stepright implements Runnable {
public void run(){
int i=0;
try{
Thread.sleep(20);
while(i<=1){
if(canmove("rechts")==true){
playerx+=1;
testx="koords x:"+playerx;
repaint();
i+=1;
}
}
}catch(Exception e){
System.out.println("Fehler");
}
System.out.println("x:"+playerx);
}}

//Kollison?
boolean canmove(String richtung){
int x= playerx;
if(richtung=="rechts"){
x =(x+(pb+1))/b;
testfeldx="feldx:"+x;
if(movearray[7][x].equals("1")){
return false;
}else{
return true;
}
 
Ist nur eine Vermutung:
Code:
while(i<=1)
{
	if(canmove("rechts")==true)
	{
		playerx+=1;
		testx="koords x:"+playerx;
		repaint();
		i+=1;
	}
}

Wenn canmove("rechts") auf false steht hast du eine Endlosschleife. Kein Wunder dass da deine CPU abgeht.
 
der wald vor lauter bäumen ....

danke...

Ich mach seit montag nix anderes auser das java zeug 13hardcore stunden am tag wird zeiut das wochenende wird ^^