Hey it's not working but I wanna sleep
parent
eb3f1163aa
commit
44da525a5e
@ -0,0 +1,19 @@
|
||||
#include "bullet.h"
|
||||
|
||||
Bullet::Bullet() {
|
||||
speed = 1.0;
|
||||
height = 20;
|
||||
width = 5;
|
||||
}
|
||||
|
||||
void Bullet::reset_pos(float x, float y) {
|
||||
x_pos = x;
|
||||
y_pos = y;
|
||||
}
|
||||
|
||||
void Bullet::draw() {
|
||||
al_draw_filled_rectangle(x_pos, y_pos, x_pos + width, y_pos + height, al_map_rgb(0,0,0));
|
||||
}
|
||||
|
||||
void Bullet::move(Direction dir) {
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
#include <allegro5/allegro.h>
|
||||
#include <allegro5/allegro_primitives.h>
|
||||
|
||||
#include "game_element.h"
|
||||
|
||||
class Bullet : public GameElement {
|
||||
public:
|
||||
Bullet();
|
||||
|
||||
void reset_pos(float x, float y);
|
||||
void draw();
|
||||
void move(Direction dir);
|
||||
};
|
@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "enums.h"
|
||||
|
||||
class GameElement {
|
||||
public:
|
||||
float x_pos;
|
||||
float y_pos;
|
||||
float speed;
|
||||
int height;
|
||||
int width;
|
||||
|
||||
virtual void reset_pos(float x, float y) = 0;
|
||||
virtual void move() = 0;
|
||||
virtual void draw(Direction dir) = 0;
|
||||
};
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 4.8 KiB |
@ -0,0 +1,58 @@
|
||||
#include "ship.h"
|
||||
|
||||
Ship::Ship() {
|
||||
speed = 1.0;
|
||||
height = 40;
|
||||
width = 40;
|
||||
}
|
||||
|
||||
void Ship::reset_pos(float x, float y) {
|
||||
x_pos = x;
|
||||
y_pos = y;
|
||||
}
|
||||
|
||||
void Ship::set_sprite(ALLEGRO_BITMAP* _sprite) {
|
||||
sprite = _sprite;
|
||||
}
|
||||
|
||||
void Ship::draw() {
|
||||
al_draw_bitmap(sprite, x_pos, y_pos, NULL);
|
||||
}
|
||||
|
||||
void Ship::move(Direction dir) {
|
||||
float factor = 4 * speed;
|
||||
switch (dir) {
|
||||
case U:
|
||||
y_pos -= factor;
|
||||
break;
|
||||
case D:
|
||||
y_pos += factor;
|
||||
break;
|
||||
case R:
|
||||
x_pos += factor;
|
||||
break;
|
||||
case L:
|
||||
x_pos -= factor;
|
||||
break;
|
||||
case UR:
|
||||
x_pos += factor;
|
||||
y_pos -= factor;
|
||||
break;
|
||||
case UL:
|
||||
x_pos -= factor;
|
||||
y_pos -= factor;
|
||||
break;
|
||||
case DR:
|
||||
x_pos += factor;
|
||||
y_pos += factor;
|
||||
break;
|
||||
case DL:
|
||||
x_pos -= factor;
|
||||
y_pos += factor;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void Ship::fire() {
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
#include <allegro5/allegro.h>
|
||||
|
||||
#include "enums.h"
|
||||
#include "game_element.h"
|
||||
|
||||
class Ship : public GameElement {
|
||||
public:
|
||||
ALLEGRO_BITMAP* sprite;
|
||||
|
||||
Ship();
|
||||
|
||||
void reset_pos(float x, float y);
|
||||
void set_sprite(ALLEGRO_BITMAP* _sprite);
|
||||
void draw();
|
||||
void move(Direction dir);
|
||||
void fire();
|
||||
};
|
Loading…
Reference in New Issue