Steven Mahasin / Mbed 2 deprecated DreamDungeon

Dependencies:   mbed MotionSensor

Committer:
el17sm
Date:
Tue May 07 03:47:39 2019 +0000
Revision:
37:a404860171a9
Parent:
35:06cd6be999ad
Child:
38:09832e662803
Child:
40:cbcbf6fc1421
Separated Health from rest of Entities (collectibles array)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17sm 32:fe6359ef9916 1 #include "Bullets.h"
el17sm 32:fe6359ef9916 2
el17sm 32:fe6359ef9916 3 Bullets::Bullets(float pos_x, float pos_y, int dir)
el17sm 32:fe6359ef9916 4 {
el17sm 32:fe6359ef9916 5 moving = true;
el17sm 32:fe6359ef9916 6 face = 0;
el17sm 32:fe6359ef9916 7 hp = 1;
el17sm 32:fe6359ef9916 8 hitbox.width = 3;
el17sm 32:fe6359ef9916 9 hitbox.height = 3;
el17sm 32:fe6359ef9916 10 position.x = pos_x;
el17sm 32:fe6359ef9916 11 position.y = pos_y;
el17sm 32:fe6359ef9916 12 sprite_size.width = 3;
el17sm 32:fe6359ef9916 13 sprite_size.height = 3;
el17sm 32:fe6359ef9916 14 sprite_size.offset_x = 0;
el17sm 35:06cd6be999ad 15 sprite_size.offset_y = -1;
el17sm 32:fe6359ef9916 16 direction = dir;
el17sm 32:fe6359ef9916 17 }
el17sm 32:fe6359ef9916 18
el17sm 34:1d5b4da3935e 19 void Bullets::move(float speed, float unused, char * unused2, bool * unused3)
el17sm 32:fe6359ef9916 20 {
el17sm 32:fe6359ef9916 21 if (direction == 0) {
el17sm 32:fe6359ef9916 22 position.y -= speed;
el17sm 32:fe6359ef9916 23 } else if (direction == 1) {
el17sm 32:fe6359ef9916 24 position.x += speed;
el17sm 32:fe6359ef9916 25 } else if (direction == 2) {
el17sm 32:fe6359ef9916 26 position.y += speed;
el17sm 32:fe6359ef9916 27 } else if (direction == 3) {
el17sm 32:fe6359ef9916 28 position.x -= speed;
el17sm 32:fe6359ef9916 29 }
el17sm 32:fe6359ef9916 30 }
el17sm 32:fe6359ef9916 31
el17sm 32:fe6359ef9916 32 void Bullets::draw(N5110 &lcd)
el17sm 32:fe6359ef9916 33 {
el17sm 35:06cd6be999ad 34 lcd.drawSpriteTransparent(position.x+sprite_size.offset_x,
el17sm 35:06cd6be999ad 35 position.y+sprite_size.offset_y,
el17sm 32:fe6359ef9916 36 sprite_size.height,
el17sm 32:fe6359ef9916 37 sprite_size.width,
el17sm 32:fe6359ef9916 38 get_frame());
el17sm 32:fe6359ef9916 39 }
el17sm 32:fe6359ef9916 40
el17sm 32:fe6359ef9916 41 void Bullets::take_damage(int damage)
el17sm 32:fe6359ef9916 42 {
el17sm 32:fe6359ef9916 43 hp -= damage;
el17sm 32:fe6359ef9916 44 }
el17sm 32:fe6359ef9916 45
el17sm 34:1d5b4da3935e 46 bool Bullets::out_of_bounds_check(char * map, bool * doorways)
el17sm 32:fe6359ef9916 47 {
el17sm 32:fe6359ef9916 48 if (entity_to_map_collision_test(position.x, position.y, map, doorways)) {
el17sm 32:fe6359ef9916 49 return true;
el17sm 32:fe6359ef9916 50 }
el17sm 32:fe6359ef9916 51 if ((0 > position.x) || (position.x > 84) || (0 > position.y) || (position.y > 48)) {
el17sm 32:fe6359ef9916 52 return true;
el17sm 32:fe6359ef9916 53 }
el17sm 32:fe6359ef9916 54 return false;
el17sm 32:fe6359ef9916 55 }
el17sm 32:fe6359ef9916 56
el17sm 33:4f3948dcd2f7 57 char * Bullets::get_frame()
el17sm 32:fe6359ef9916 58 {
el17sm 33:4f3948dcd2f7 59 return (char *) bullets_sprite;
el17sm 32:fe6359ef9916 60 }