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
GraphicEngine/GraphicEngine.cpp@43:2cd1cfe07770, 2020-05-18 (annotated)
- Committer:
- el19tb
- Date:
- Mon May 18 06:34:53 2020 +0000
- Revision:
- 43:2cd1cfe07770
- Parent:
- 42:04e326dcf09b
- Child:
- 44:f02510eeb165
fixed bugs throughout program, fixed array size issue, fixed functions
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el19tb | 35:db257b7bdefc | 1 | #include "GraphicEngine.h" |
el19tb | 35:db257b7bdefc | 2 | |
el19tb | 43:2cd1cfe07770 | 3 | GraphicEngine::GraphicEngine(Frog *frogptr){ |
el19tb | 43:2cd1cfe07770 | 4 | this->frog = frogptr; |
el19tb | 43:2cd1cfe07770 | 5 | |
el19tb | 43:2cd1cfe07770 | 6 | } |
el19tb | 35:db257b7bdefc | 7 | |
el19tb | 42:04e326dcf09b | 8 | void GraphicEngine::init() |
el19tb | 42:04e326dcf09b | 9 | { |
el19tb | 35:db257b7bdefc | 10 | lcd.init(); |
el19tb | 35:db257b7bdefc | 11 | } |
el19tb | 35:db257b7bdefc | 12 | |
el19tb | 42:04e326dcf09b | 13 | /* TO-DO: ADD CONTROLS FOR BACKLIGHT */ |
el19tb | 42:04e326dcf09b | 14 | void GraphicEngine::contrast() |
el19tb | 42:04e326dcf09b | 15 | { |
el19tb | 42:04e326dcf09b | 16 | lcd.setContrast(0.4); |
el19tb | 42:04e326dcf09b | 17 | } |
el19tb | 42:04e326dcf09b | 18 | |
el19tb | 42:04e326dcf09b | 19 | void GraphicEngine::clear() |
el19tb | 42:04e326dcf09b | 20 | { |
el19tb | 42:04e326dcf09b | 21 | lcd.clear(); |
el19tb | 35:db257b7bdefc | 22 | } |
el19tb | 35:db257b7bdefc | 23 | |
el19tb | 42:04e326dcf09b | 24 | void GraphicEngine::refresh() |
el19tb | 42:04e326dcf09b | 25 | { |
el19tb | 42:04e326dcf09b | 26 | lcd.refresh(); |
el19tb | 42:04e326dcf09b | 27 | } |
el19tb | 42:04e326dcf09b | 28 | |
el19tb | 42:04e326dcf09b | 29 | void GraphicEngine::backLightOn() |
el19tb | 35:db257b7bdefc | 30 | { |
el19tb | 42:04e326dcf09b | 31 | lcd.backLightOn(); |
el19tb | 42:04e326dcf09b | 32 | } |
el19tb | 42:04e326dcf09b | 33 | |
el19tb | 42:04e326dcf09b | 34 | void GraphicEngine::showObj(Object &obj) |
el19tb | 42:04e326dcf09b | 35 | { |
el19tb | 43:2cd1cfe07770 | 36 | if(obj.object.c == 'G' || obj.object.c == 'M' || obj.object.c == 'T') { |
el19tb | 42:04e326dcf09b | 37 | displayLog(obj.object.x, obj.object.y, obj.object.c); |
el19tb | 42:04e326dcf09b | 38 | } else { |
el19tb | 42:04e326dcf09b | 39 | displayVehicle(obj.object.x, obj.object.y, obj.object.c); |
el19tb | 35:db257b7bdefc | 40 | } |
el19tb | 35:db257b7bdefc | 41 | } |
el19tb | 35:db257b7bdefc | 42 | |
el19tb | 42:04e326dcf09b | 43 | void GraphicEngine::displayVehicle(int x, int y, char c) |
el19tb | 35:db257b7bdefc | 44 | { |
el19tb | 42:04e326dcf09b | 45 | switch(c) |
el19tb | 35:db257b7bdefc | 46 | { |
el19tb | 42:04e326dcf09b | 47 | case 'L': lcd.drawSprite(x, y, 4, 6, (int *)left_racer); |
el19tb | 42:04e326dcf09b | 48 | break; |
el19tb | 42:04e326dcf09b | 49 | case 'R' : lcd.drawSprite(x, y, 4, 6, (int *)right_racer); |
el19tb | 42:04e326dcf09b | 50 | break; |
el19tb | 42:04e326dcf09b | 51 | case 'B': lcd.drawSprite(x, y, 4, 7, (int *)bus); |
el19tb | 35:db257b7bdefc | 52 | break; |
el19tb | 42:04e326dcf09b | 53 | case 'N': lcd.drawSprite(x, y, 4, 5, (int *)right_normal); |
el19tb | 42:04e326dcf09b | 54 | break; |
el19tb | 42:04e326dcf09b | 55 | case 'X': lcd.drawSprite(x, y, 4, 5, (int *)left_normal); |
el19tb | 42:04e326dcf09b | 56 | break; |
el19tb | 42:04e326dcf09b | 57 | } |
el19tb | 35:db257b7bdefc | 58 | } |
el19tb | 35:db257b7bdefc | 59 | |
el19tb | 42:04e326dcf09b | 60 | void GraphicEngine::displayLog(int x, int y, char c) |
el19tb | 35:db257b7bdefc | 61 | { |
el19tb | 42:04e326dcf09b | 62 | switch(c) |
el19tb | 42:04e326dcf09b | 63 | { |
el19tb | 42:04e326dcf09b | 64 | case 'G': |
el19tb | 43:2cd1cfe07770 | 65 | lcd.drawSprite(x, y, 4, 12, (int *)log_big); |
el19tb | 42:04e326dcf09b | 66 | break; |
el19tb | 42:04e326dcf09b | 67 | |
el19tb | 42:04e326dcf09b | 68 | case 'M': |
el19tb | 43:2cd1cfe07770 | 69 | lcd.drawSprite(x, y, 4, 8, (int *)medium_log); |
el19tb | 42:04e326dcf09b | 70 | break; |
el19tb | 42:04e326dcf09b | 71 | |
el19tb | 42:04e326dcf09b | 72 | case 'T': |
el19tb | 43:2cd1cfe07770 | 73 | lcd.drawSprite(x, y, 4, 12, (int *)turtles); |
el19tb | 42:04e326dcf09b | 74 | break; |
el19tb | 42:04e326dcf09b | 75 | } |
el19tb | 35:db257b7bdefc | 76 | } |
el19tb | 35:db257b7bdefc | 77 | |
el19tb | 42:04e326dcf09b | 78 | /* TO-DO: ADD SPRITES AND SPRITE STATE */ |
el19tb | 43:2cd1cfe07770 | 79 | void GraphicEngine::showFrog(float x, int y, int width, int height) |
el19tb | 35:db257b7bdefc | 80 | { |
el19tb | 43:2cd1cfe07770 | 81 | lcd.drawRect(x, y, width, height, FILL_BLACK); |
el19tb | 42:04e326dcf09b | 82 | } |
el19tb | 35:db257b7bdefc | 83 | |
el19tb | 35:db257b7bdefc | 84 | void GraphicEngine::drawGoal(int x, int row) |
el19tb | 35:db257b7bdefc | 85 | { |
el19tb | 43:2cd1cfe07770 | 86 | //lcd.drawSprite(x, row, 8, 8, (int *)end_post); |
el19tb | 35:db257b7bdefc | 87 | } |
el19tb | 35:db257b7bdefc | 88 | |
el19tb | 42:04e326dcf09b | 89 | void GraphicEngine::drawSafetyLanes() |
el19tb | 42:04e326dcf09b | 90 | { |
el19tb | 42:04e326dcf09b | 91 | lcd.drawRect(0, 48 - 4, 84, 4, FILL_TRANSPARENT); // row 0 -> bottom |
el19tb | 42:04e326dcf09b | 92 | lcd.drawRect(0, 48 - 4*6, 84, 4, FILL_TRANSPARENT); // row 6 -> middle(ish) |
el19tb | 35:db257b7bdefc | 93 | } |
el19tb | 35:db257b7bdefc | 94 | |
el19tb | 35:db257b7bdefc | 95 | void GraphicEngine::printTest(){ |
el19tb | 35:db257b7bdefc | 96 | lcd.printString("SQUISHED", 1, 1); |
el19tb | 35:db257b7bdefc | 97 | } |
el19tb | 35:db257b7bdefc | 98 | |
el19tb | 35:db257b7bdefc | 99 | void GraphicEngine::print(){ |
el19tb | 35:db257b7bdefc | 100 | lcd.printString("DROWNED",1,1); |
el19tb | 35:db257b7bdefc | 101 | } |
el19tb | 43:2cd1cfe07770 | 102 |