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