Bitwise AND uses the “&” symbol. It checks if the two inputs are numbers and if so then it gives back a 1.
For example if we have an int set to 12 and an int set to 6 if we preform a bitwise & operation on them the result would be a 0100. 12 in binary is 1100 and 6 in binary is 0110.
12 | 6 | 6&12 |
---|---|---|
1 | 0 | 0 |
1 | 1 | 1 |
0 | 1 | 0 |
0 | 0 | 0 |
In this example of bitwise & gives us the result as 4. You can test this out yourself in code.
int num1 = 12; // Binary: 1100 int num2 = 6; // Binary: 0110 int result = num1 & num2; // Perform bitwise AND operation printf("num1: %d\n", num1); printf("num2: %d\n", num2); printf("result: %d\n", result);
it prints out the result as follows:
num1: 12 num2: 6 result: 4
Bitwise OR uses the “|” symbol. It checks if the either of the two inputs are not zero and gives a 1.
12 | 6 | 6 or 12 |
---|---|---|
1 | 0 | 1 |
1 | 1 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
In this example the result of 12 or 6 is 14.
Bitwise XOR uses the “^” symbol. Returns 1 only if the 2 bits are different.
12 | 6 | 6 or 12 |
---|---|---|
1 | 0 | 1 |
1 | 1 | 0 |
0 | 1 | 1 |
0 | 0 | 0 |
Bitwise NOT uses the “~” symbol. It inverts all the bits in a single number.
12 | ~12 |
---|---|
1 | 0 |
1 | 0 |
0 | 1 |
0 | 1 |
To make a larger paddle, all you'd have to so is extend your paddle collision to double the length of your paddle and draw a second paddle where the first one ends, or alternatively use a different paddle sprite
You can use the same select region to draw both paddles, like so
select_region( Paddle ); draw_region_at( PaddleX, PaddleY) draw_region_at( PaddleX + [paddle length], PaddleY)
Where [paddle length] is the length of the paddle
To code in multiple hit points for bricks, your brick struct should include an integer member for HP and visibility.
Within your calculations for ball-brick collision, make a check to see if the current brick is visible (if not, do not process collision detection). If collision is detected, decrement the brick's HP. If HP is 0 after it is decremented, then toggle the brick's visibility.