Fernando hiar

Greenhorn

Posts: 29

posted 7 years ago

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.

Thank you,

Freakjar.

posted 7 years ago

What value does 'i' hold ? I am not able to understand...

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 agree. Here's the better link: Salvin.in

Fernando hiar

Greenhorn

Posts: 29

posted 7 years ago

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.

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.

posted 7 years ago

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:

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:

I agree. Here's the better link: Salvin.in

Raj kanthrm

Greenhorn

Posts: 1

posted 7 years ago

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

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