
Joshua O'hara 201291390
Dependencies: mbed
Ship/Ship.cpp@2:c2316b659b97, 2020-03-14 (annotated)
- Committer:
- josh_ohara
- Date:
- Sat Mar 14 20:52:07 2020 +0000
- Revision:
- 2:c2316b659b97
- Child:
- 3:8a140aa1ddcd
Created major folders. Brainstormed some ideas and concluded space invaders. Initial set up of .h and .cpp files for Ship bullets and Ship created.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
josh_ohara | 2:c2316b659b97 | 1 | #include Ship.h |
josh_ohara | 2:c2316b659b97 | 2 | |
josh_ohara | 2:c2316b659b97 | 3 | void Ship::init(int y, int height, int width) |
josh_ohara | 2:c2316b659b97 | 4 | { |
josh_ohara | 2:c2316b659b97 | 5 | X = WIDTH/2 + width/2; |
josh_ohara | 2:c2316b659b97 | 6 | Y = y; |
josh_ohara | 2:c2316b659b97 | 7 | Height = height; |
josh_ohara | 2:c2316b659b97 | 8 | Width = width; |
josh_ohara | 2:c2316b659b97 | 9 | Speed = 0.5; |
josh_ohara | 2:c2316b659b97 | 10 | } |
josh_ohara | 2:c2316b659b97 | 11 | |
josh_ohara | 2:c2316b659b97 | 12 | void Ship::draw(N5110 &lcd) |
josh_ohara | 2:c2316b659b97 | 13 | { |
josh_ohara | 2:c2316b659b97 | 14 | lcd.drawRect(X,Y,Width,Height,FILL_BLACK); |
josh_ohara | 2:c2316b659b97 | 15 | } |
josh_ohara | 2:c2316b659b97 | 16 | |
josh_ohara | 2:c2316b659b97 | 17 | void Ship::update(Direction d,float mag) |
josh_ohara | 2:c2316b659b97 | 18 | { |
josh_ohara | 2:c2316b659b97 | 19 | Speed = int(mag*10.0f); |
josh_ohara | 2:c2316b659b97 | 20 | |
josh_ohara | 2:c2316b659b97 | 21 | if (d == E) { |
josh_ohara | 2:c2316b659b97 | 22 | X+=Speed; |
josh_ohara | 2:c2316b659b97 | 23 | } else if (d == NE) { |
josh_ohara | 2:c2316b659b97 | 24 | X+=0.5*Speed; |
josh_ohara | 2:c2316b659b97 | 25 | } else if (d == SE) { |
josh_ohara | 2:c2316b659b97 | 26 | X+=0.5*Speed; |
josh_ohara | 2:c2316b659b97 | 27 | } else if (d == W) { |
josh_ohara | 2:c2316b659b97 | 28 | X-=Speed; |
josh_ohara | 2:c2316b659b97 | 29 | } else if (d == NW) { |
josh_ohara | 2:c2316b659b97 | 30 | X-=0.5*Speed; |
josh_ohara | 2:c2316b659b97 | 31 | } else if (d == SW) { |
josh_ohara | 2:c2316b659b97 | 32 | X-=0.5*Speed; |
josh_ohara | 2:c2316b659b97 | 33 | } |
josh_ohara | 2:c2316b659b97 | 34 | |
josh_ohara | 2:c2316b659b97 | 35 | if (X < 1) { |
josh_ohara | 2:c2316b659b97 | 36 | X = 1; |
josh_ohara | 2:c2316b659b97 | 37 | } |
josh_ohara | 2:c2316b659b97 | 38 | if (X > HEIGHT - Height - 1) { |
josh_ohara | 2:c2316b659b97 | 39 | X = HEIGHT - Height - 1; |
josh_ohara | 2:c2316b659b97 | 40 | } |
josh_ohara | 2:c2316b659b97 | 41 | } |
josh_ohara | 2:c2316b659b97 | 42 | |
josh_ohara | 2:c2316b659b97 | 43 | Vector2D Ship::get_position() { |
josh_ohara | 2:c2316b659b97 | 44 | Vector2D p = {X,Y}; |
josh_ohara | 2:c2316b659b97 | 45 | return p; |
josh_ohara | 2:c2316b659b97 | 46 | } |
josh_ohara | 2:c2316b659b97 | 47 | |
josh_ohara | 2:c2316b659b97 | 48 |