Daniel Nguyen
Dependencies: 4DGL-uLCD-SE mbed
AlienJun.cpp@0:7d7f6032c719, 2017-11-02 (annotated)
- Committer:
- dnguyen314
- Date:
- Thu Nov 02 19:15:07 2017 +0000
- Revision:
- 0:7d7f6032c719
hi
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dnguyen314 | 0:7d7f6032c719 | 1 | #include "AlienJun.h" |
dnguyen314 | 0:7d7f6032c719 | 2 | #define ALIEN_HEIGHT 8 |
dnguyen314 | 0:7d7f6032c719 | 3 | #define ALIEN_WIDTH 11 |
dnguyen314 | 0:7d7f6032c719 | 4 | #define _ 0x000000 //BLACK |
dnguyen314 | 0:7d7f6032c719 | 5 | #define X 0xFFFFFF //WHITE |
dnguyen314 | 0:7d7f6032c719 | 6 | #include "uLCD_4DGL.h" |
dnguyen314 | 0:7d7f6032c719 | 7 | #include <iostream> |
dnguyen314 | 0:7d7f6032c719 | 8 | using namespace std; |
dnguyen314 | 0:7d7f6032c719 | 9 | int alienJunDown_sprite[ALIEN_HEIGHT * ALIEN_WIDTH] = { |
dnguyen314 | 0:7d7f6032c719 | 10 | _,_,X,_,_,_,_,_,X,_,_, |
dnguyen314 | 0:7d7f6032c719 | 11 | _,_,_,X,_,_,_,X,_,_,_, |
dnguyen314 | 0:7d7f6032c719 | 12 | _,_,X,X,X,X,X,X,X,_,_, |
dnguyen314 | 0:7d7f6032c719 | 13 | _,X,X,_,X,X,X,_,X,X,_, |
dnguyen314 | 0:7d7f6032c719 | 14 | X,X,X,X,_,_,_,X,X,X,X, |
dnguyen314 | 0:7d7f6032c719 | 15 | _,X,X,_,_,_,_,_,X,X,_, |
dnguyen314 | 0:7d7f6032c719 | 16 | _,_,X,_,_,_,_,_,X,_,_, |
dnguyen314 | 0:7d7f6032c719 | 17 | _,_,_,X,X,_,X,X,_,_,_, |
dnguyen314 | 0:7d7f6032c719 | 18 | }; |
dnguyen314 | 0:7d7f6032c719 | 19 | |
dnguyen314 | 0:7d7f6032c719 | 20 | int alienJunUp_sprite[ALIEN_HEIGHT * ALIEN_WIDTH] = { |
dnguyen314 | 0:7d7f6032c719 | 21 | _,_,X,_,_,_,_,_,X,_,_, |
dnguyen314 | 0:7d7f6032c719 | 22 | _,_,_,X,_,_,_,X,_,_,_, |
dnguyen314 | 0:7d7f6032c719 | 23 | _,_,X,X,X,X,X,X,X,_,_, |
dnguyen314 | 0:7d7f6032c719 | 24 | X,X,X,_,X,X,X,_,X,X,X, |
dnguyen314 | 0:7d7f6032c719 | 25 | X,X,X,X,_,X,_,X,X,X,X, |
dnguyen314 | 0:7d7f6032c719 | 26 | _,_,X,X,X,X,X,X,X,_,_, |
dnguyen314 | 0:7d7f6032c719 | 27 | X,_,X,_,_,X,_,_,X,_,X, |
dnguyen314 | 0:7d7f6032c719 | 28 | _,_,_,X,X,_,X,X,_,_,_, |
dnguyen314 | 0:7d7f6032c719 | 29 | }; |
dnguyen314 | 0:7d7f6032c719 | 30 | |
dnguyen314 | 0:7d7f6032c719 | 31 | |
dnguyen314 | 0:7d7f6032c719 | 32 | AlienJun::AlienJun(int x, int y) |
dnguyen314 | 0:7d7f6032c719 | 33 | { |
dnguyen314 | 0:7d7f6032c719 | 34 | change = 0; |
dnguyen314 | 0:7d7f6032c719 | 35 | pos_x = x; |
dnguyen314 | 0:7d7f6032c719 | 36 | pos_y = y; |
dnguyen314 | 0:7d7f6032c719 | 37 | speed = 6; |
dnguyen314 | 0:7d7f6032c719 | 38 | } |
dnguyen314 | 0:7d7f6032c719 | 39 | |
dnguyen314 | 0:7d7f6032c719 | 40 | AlienJun::~AlienJun() |
dnguyen314 | 0:7d7f6032c719 | 41 | { |
dnguyen314 | 0:7d7f6032c719 | 42 | |
dnguyen314 | 0:7d7f6032c719 | 43 | } |
dnguyen314 | 0:7d7f6032c719 | 44 | |
dnguyen314 | 0:7d7f6032c719 | 45 | void AlienJun::draw() |
dnguyen314 | 0:7d7f6032c719 | 46 | { |
dnguyen314 | 0:7d7f6032c719 | 47 | // Draw is called everytime the alien moves, so every time it moves |
dnguyen314 | 0:7d7f6032c719 | 48 | // the sprite changes |
dnguyen314 | 0:7d7f6032c719 | 49 | if(change) |
dnguyen314 | 0:7d7f6032c719 | 50 | { |
dnguyen314 | 0:7d7f6032c719 | 51 | uLCD.BLIT(pos_x, pos_y, ALIEN_WIDTH, ALIEN_HEIGHT, alienJunDown_sprite); |
dnguyen314 | 0:7d7f6032c719 | 52 | change = 0; |
dnguyen314 | 0:7d7f6032c719 | 53 | } |
dnguyen314 | 0:7d7f6032c719 | 54 | else |
dnguyen314 | 0:7d7f6032c719 | 55 | { |
dnguyen314 | 0:7d7f6032c719 | 56 | uLCD.BLIT(pos_x, pos_y, ALIEN_WIDTH, ALIEN_HEIGHT, alienJunUp_sprite); |
dnguyen314 | 0:7d7f6032c719 | 57 | change = 1; |
dnguyen314 | 0:7d7f6032c719 | 58 | } |
dnguyen314 | 0:7d7f6032c719 | 59 | } |
dnguyen314 | 0:7d7f6032c719 | 60 | |
dnguyen314 | 0:7d7f6032c719 | 61 | void AlienJun::update() |
dnguyen314 | 0:7d7f6032c719 | 62 | { |
dnguyen314 | 0:7d7f6032c719 | 63 | if (move) |
dnguyen314 | 0:7d7f6032c719 | 64 | { |
dnguyen314 | 0:7d7f6032c719 | 65 | uLCD.filled_rectangle(pos_x, pos_y, pos_x + ALIEN_WIDTH, pos_y + ALIEN_HEIGHT, BLACK); |
dnguyen314 | 0:7d7f6032c719 | 66 | if (moveLeft == 0) |
dnguyen314 | 0:7d7f6032c719 | 67 | { |
dnguyen314 | 0:7d7f6032c719 | 68 | pos_x += speed; |
dnguyen314 | 0:7d7f6032c719 | 69 | if (pos_x > 110) |
dnguyen314 | 0:7d7f6032c719 | 70 | { |
dnguyen314 | 0:7d7f6032c719 | 71 | moveLeft = 1; |
dnguyen314 | 0:7d7f6032c719 | 72 | } |
dnguyen314 | 0:7d7f6032c719 | 73 | } |
dnguyen314 | 0:7d7f6032c719 | 74 | else if (moveLeft == 1) |
dnguyen314 | 0:7d7f6032c719 | 75 | { |
dnguyen314 | 0:7d7f6032c719 | 76 | pos_x -= speed; |
dnguyen314 | 0:7d7f6032c719 | 77 | if (pos_x < 10) |
dnguyen314 | 0:7d7f6032c719 | 78 | { |
dnguyen314 | 0:7d7f6032c719 | 79 | moveLeft = 0; |
dnguyen314 | 0:7d7f6032c719 | 80 | } |
dnguyen314 | 0:7d7f6032c719 | 81 | } |
dnguyen314 | 0:7d7f6032c719 | 82 | draw(); |
dnguyen314 | 0:7d7f6032c719 | 83 | } |
dnguyen314 | 0:7d7f6032c719 | 84 | else |
dnguyen314 | 0:7d7f6032c719 | 85 | { |
dnguyen314 | 0:7d7f6032c719 | 86 | uLCD.filled_rectangle(pos_x, pos_y, pos_x + ALIEN_WIDTH, pos_y + ALIEN_HEIGHT, BLACK); |
dnguyen314 | 0:7d7f6032c719 | 87 | } |
dnguyen314 | 0:7d7f6032c719 | 88 | } |
dnguyen314 | 0:7d7f6032c719 | 89 |