Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed MotionSensor
Diff: Entity/Mobs/Snake/Snake.cpp
- Revision:
- 33:4f3948dcd2f7
- Parent:
- 32:fe6359ef9916
- Child:
- 34:1d5b4da3935e
--- a/Entity/Mobs/Snake/Snake.cpp Mon May 06 08:56:48 2019 +0000
+++ b/Entity/Mobs/Snake/Snake.cpp Mon May 06 13:27:26 2019 +0000
@@ -18,8 +18,8 @@
position.y = pos_y;
sprite_size.width = 6;
sprite_size.height = 12;
- sprite_size.offset_x = 1;
- sprite_size.offset_y = 6;
+ sprite_size.offset_x = -1;
+ sprite_size.offset_y = -6;
frame.count = 0;
frame.number = 0;
frame.max = 6;
@@ -74,16 +74,16 @@
// Movement
if (face == 0) {
position.y += velocity;
- update_hitbox(4, 7, 6, 12, 1, 6, 6);
+ update_hitbox(4, 7, 6, 12, -1, -6, 6);
} else if (face == 1) {
position.x += velocity;
- update_hitbox(7, 4, 12, 7, 6, 4, 4);
+ update_hitbox(7, 4, 12, 7, -6, -4, 4);
} else if (face == 2) {
position.y -= velocity;
- update_hitbox(4, 7, 6, 12, 1, 5, 6);
+ update_hitbox(4, 7, 6, 12, -1, -5, 6);
} else if (face == 3) {
position.x -= velocity;
- update_hitbox(7, 4, 12, 7, 0, 4, 4);
+ update_hitbox(7, 4, 12, 7, -0, -4, 4);
}
undo_move_x(entity_to_map_collision_test(position.x, prev_pos.y, map, doorways));
@@ -108,24 +108,24 @@
hp -= damage;
}
-int * Snake::get_frame()
+char * Snake::get_frame()
{
if(face == 0) {
- return (int *) sprite_snake_y[1][frame.number];
+ return (char *) sprite_snake_y[1][frame.number];
} else if(face == 1) {
- return (int *) sprite_snake_x[0][frame.number];
+ return (char *) sprite_snake_x[0][frame.number];
} else if(face == 2) {
- return (int *) sprite_snake_y[0][frame.number];
+ return (char *) sprite_snake_y[0][frame.number];
} else if(face == 3) {
- return (int *) sprite_snake_x[1][frame.number];
+ return (char *) sprite_snake_x[1][frame.number];
}
return 0;
}
void Snake::draw(N5110 &lcd)
{
- lcd.drawSpriteTransparent(position.x-sprite_size.offset_x,
- position.y-sprite_size.offset_y,
+ lcd.drawSpriteTransparent(position.x+sprite_size.offset_x,
+ position.y+sprite_size.offset_y,
sprite_size.height,
sprite_size.width,
get_frame());