Jump to content

  • Log In with Google      Sign In   
  • Create Account

chess game moving briks around problem :( pleas help


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 simondid   Members   -  Reputation: 190

Like
0Likes
Like

Posted 14 August 2012 - 10:34 AM

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 Posted Image 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 Posted Image I know that the current code aren't moving the birks around atm....

i'm using the slick lib

sry for my English Posted Image

Attached Files


Edited by simondid, 14 August 2012 - 10:37 AM.


Sponsor:

#2 Infernal-rk   Members   -  Reputation: 135

Like
0Likes
Like

Posted 14 August 2012 - 07:30 PM

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.

#3 simondid   Members   -  Reputation: 190

Like
0Likes
Like

Posted 15 August 2012 - 10:16 AM

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

#4 The_Neverending_Loop   Members   -  Reputation: 625

Like
0Likes
Like

Posted 15 August 2012 - 12:40 PM

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[i]&&mouseX<trackingposX[i+1])&&(mouseY<trakingposY[i]&&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.

#5 simondid   Members   -  Reputation: 190

Like
0Likes
Like

Posted 15 August 2012 - 01:47 PM

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[i]&&mouseX<trackingposX[i+1])&&(mouseY<trakingposY[i]&&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 :(

#6 The_Neverending_Loop   Members   -  Reputation: 625

Like
0Likes
Like

Posted 15 August 2012 - 02:39 PM

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[i]&&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.

#7 dimitri.adamou   Members   -  Reputation: 329

Like
0Likes
Like

Posted 15 August 2012 - 03:32 PM

is there supposed to be a particular width? Otherwise before this condition will pass, it needs pixel perfect accuracy

	if((mouseX>trackingposX[i]&&mouseX<trackingposX[i]+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

Edited by dimitri.adamou, 15 August 2012 - 03:33 PM.


#8 simondid   Members   -  Reputation: 190

Like
0Likes
Like

Posted 18 August 2012 - 03:33 AM

sry for the long replay time but the click tracking has gotten better but still not even near perfekt any idears??




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS