chess game moving briks around problem :( pleas help

Started by
6 comments, last by simondid 11 years, 8 months ago
hey


so I'm working on a chess game and I'm struggling with getting the briks to move right and I can't figure out how to get them moving right sad.png if someone cut pleas take a look at it have packed the hole eclipse save folder in to a rar and link it with the post smile.png I know that the current code aren't moving the birks around atm....

i'm using the slick lib

sry for my English sad.png
Advertisement
You may get more advice/help if you isolate your problem to a specific area of code and paste that in your query instead of asking someone to go through nearly 4mb of files.
INFERNAL-RK ya i know most off the 4 mb is grafiks and othere stuff not relavent to the questions the only file ppl has to look at is chessGame ;) it's kinda hard to seperate becouse the code is spread out over the hole file
I took a look at the code briefly, this particular function puzzles me a bit



public void update(GameContainer gc,StateBasedGame sgb ,int delta)throws SlickException{
Input input = gc.getInput();
float mouseX = Mouse.getX();
float mouseY = Mouse.getY();

for(int i =0;i<trackingposX.length-1;i++){

if((mouseX>trackingposX&&mouseX<trackingposX[i+1])&&(mouseY<trakingposY&&mouseY>trakingposY[i+1])){

if(input.isMousePressed(0)){

brik[i-8] = 3;

}
}
}


}



it looks like you are only looping through the trackingposX, but the thing is you are using the same index, so I'm considered that some of your logic is flawed here, as it is only checking the diagonal pieces of the board.
ya thats the funktion i'm having trubel with....

i'm traying with the for loop to look true every singel position on x axis with is the same length as the y array

this
[source lang="java"] if((mouseX>trackingposX&&mouseX<trackingposX[i+1])&&(mouseY<trakingposY&&mouseY>trakingposY[i+1])){[/source]
it is for desiden if the mouse is with in exampel trackingposX[0] and trackingposX[1] and if it is also with in trackingposY[0] and trackingposY[1]


the
[source lang="java"]if(input.isMousePressed(0)){

brik[i-8] = 3;

}[/source]
is for checking if the mouse is clicked and placing a brik on the position the reason for the i+8 is that for some reason it has been placing the brik 8 position ahead off the clicked position


hope this helped you a littel understanding the code :)

sry for my english :(
thats the thing, since your using the same "i" to check both the x & y pos, it is only checking for

trackingposX[0] && trackingposY[0],
trackingposX[1] && trackingposY[1],
trackingposX[2] && trackingposY[2],
trackingposX[3] && trackingposY[3] etc...

you would have to change the loop to include



for(int i =0;i<trackingposX.length-1;i++)
for(int k =0;k<trackingposY.length-1;k++){

if((mouseX>trackingposX&&mouseX<trackingposX[i+1])&&(mouseY<trakingposY[k]&&mouseY>trakingposY[k+1])){

if(input.isMousePressed(0)){

brik[k*8+i] = 3;

}
}
}


this code probably wont fix everything though as I suspect there might be more issues, but it is part of the problem.
is there supposed to be a particular width? Otherwise before this condition will pass, it needs pixel perfect accuracy


if((mouseX>trackingposX&&mouseX<trackingposX+WIDTH)&&(mouseY>trakingposY[k]&&mouseY<trakingposY[k]+HEIGHT))


*edited to add: I just noticed Neverending_Loop has k+1 for the second traack, my bad
sry for the long replay time but the click tracking has gotten better but still not even near perfekt any idears??

This topic is closed to new replies.

Advertisement