JavaRanch » Java Forums »
Java »
Game Development
| Author |
Games in java
|
Fernando hiar
Greenhorn
Joined: Jan 11, 2008
Posts: 27
|
|
I want to know, I have a game in java about the snake, I have snake with 40 Points and I put all points in a variable called MAX_POINT who is the body the snake and the tail I´ll put inside the variable i = tail of snake. I want to know What´s this expression does: i = (i+1) % MAX_POINTS in the JPanel I know i will increment the tail point and one, but why need to take a rest of division in the body of snake, I have this doubt.
Thank you,
Freakjar.
|
 |
salvin francis
Ranch Hand
Joined: Jan 12, 2009
Posts: 904
|
|
Fernando hiar wrote: I´ll put inside the variable i = tail of snake.
What value does 'i' hold ? I am not able to understand...
|
I came, I saw, I set a new standard.
[Salvin.in]- The way websites should now be.
|
 |
Fernando hiar
Greenhorn
Joined: Jan 11, 2008
Posts: 27
|
|
Fernando hiar wrote:I want to know, I have a game in java about the snake, I have snake with 40 Points and I put all points in a variable called MAX_POINT who is the body the snake and the tail I´ll put inside the variable i = tail of snake. I want to know What´s this expression does: i = (i+1) % MAX_POINTS in the JPanel I know i will increment the tail point and one, but why need to take a rest of division in the body of snake, I have this doubt.
Thank you,
Freakjar.
The value is an int, i´ll put a body snake inside of array e I have a variable tail and the head the rest is the body I´ll put a variable tail in i and I did the expression, I want to know what´s this expression does: i = (i+1) % MAX_POINTS, the max points is the body snake and i is the tail snake..... i want to know because I get the rest of division, but what´s behave in the JPanel this expression.
|
 |
salvin francis
Ranch Hand
Joined: Jan 12, 2009
Posts: 904
|
|
lets take a simple example:
output
as you might understand, the i value increments itself... but when it crosses MAX_POINTS - 1, it returns to 0
a similar output is seen when changing the expression to:
output:
|
 |
Raj kanthrm
Greenhorn
Joined: May 11, 2010
Posts: 1
|
|
Actually % symbol returns the remainder value. That is, if you put 5%2 means it will return 1. Because the quotient is 2 here and the remainder is 1.
Same way, if you put 2%5 means, you will get 2 as the answer. Because here the quotient is 0 & the remainder is 2. So your (i+1)%MAX_VALUE always return i+1 upto i=38. When i=39, the expression (i+1)%MAX_VALUE becomes (39+1)%40 which is equal to 0. Also when i=40, the result is 41%40=1
Thank you
|
 |
Maneesh Godbole
Saloon Keeper
Joined: Jul 26, 2007
Posts: 7602
|
|
Raj AbigQuestion wrote:
Please check your private messages for an important administrative matter
|
[Donate a pint, save a life!] [How to ask questions]
|
 |
 |
|
|
subject: Games in java
|
|
|
|