Game codes for Pokemon Academy Yiu Fai Kwok - 201198802 I have read the University Regulations on Plagiarism and state that the work covered by this declaration is my own and does not contain any unacknowledged work from other sources.
Dependencies: mbed FXOS8700CQ mbed-rtos
Characters/Bulbasaur.cpp@2:464c7e62d97d, 2019-04-03 (annotated)
- Committer:
- yfkwok
- Date:
- Wed Apr 03 03:06:00 2019 +0000
- Revision:
- 2:464c7e62d97d
- Child:
- 10:adff3c804985
Date 3/4/2019 - Mini game one beta complete
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yfkwok | 2:464c7e62d97d | 1 | #include "Bulbasaur.h" |
yfkwok | 2:464c7e62d97d | 2 | |
yfkwok | 2:464c7e62d97d | 3 | Bulbasaur::Bulbasaur() |
yfkwok | 2:464c7e62d97d | 4 | { |
yfkwok | 2:464c7e62d97d | 5 | |
yfkwok | 2:464c7e62d97d | 6 | } |
yfkwok | 2:464c7e62d97d | 7 | |
yfkwok | 2:464c7e62d97d | 8 | Bulbasaur::~Bulbasaur() |
yfkwok | 2:464c7e62d97d | 9 | { |
yfkwok | 2:464c7e62d97d | 10 | |
yfkwok | 2:464c7e62d97d | 11 | } |
yfkwok | 2:464c7e62d97d | 12 | |
yfkwok | 2:464c7e62d97d | 13 | //Enumerate instruction menu from page 1 - 3 |
yfkwok | 2:464c7e62d97d | 14 | enum Page { |
yfkwok | 2:464c7e62d97d | 15 | PAGE_1, PAGE_2, PAGE_3 |
yfkwok | 2:464c7e62d97d | 16 | }; |
yfkwok | 2:464c7e62d97d | 17 | |
yfkwok | 2:464c7e62d97d | 18 | void Bulbasaur::draw_cha1_sprite(int pos_x, int pos_y,N5110 &lcd) |
yfkwok | 2:464c7e62d97d | 19 | { |
yfkwok | 2:464c7e62d97d | 20 | static int bulbasaur_data[] = { |
yfkwok | 2:464c7e62d97d | 21 | 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0, |
yfkwok | 2:464c7e62d97d | 22 | 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0, |
yfkwok | 2:464c7e62d97d | 23 | 0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0,0,0, |
yfkwok | 2:464c7e62d97d | 24 | 0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,1,1,0,0, |
yfkwok | 2:464c7e62d97d | 25 | 0,0,0,1,1,0,1,0,0,0,1,1,0,0,1,0,0,0,1,0, |
yfkwok | 2:464c7e62d97d | 26 | 0,0,1,0,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 27 | 0,0,1,0,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,1, |
yfkwok | 2:464c7e62d97d | 28 | 0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1, |
yfkwok | 2:464c7e62d97d | 29 | 0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,1,0, |
yfkwok | 2:464c7e62d97d | 30 | 1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,0, |
yfkwok | 2:464c7e62d97d | 31 | 1,1,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,1,0, |
yfkwok | 2:464c7e62d97d | 32 | 1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,0, |
yfkwok | 2:464c7e62d97d | 33 | 1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,1,0,0, |
yfkwok | 2:464c7e62d97d | 34 | 0,1,0,0,0,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0, |
yfkwok | 2:464c7e62d97d | 35 | 0,0,1,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0, |
yfkwok | 2:464c7e62d97d | 36 | 0,0,0,0,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0, |
yfkwok | 2:464c7e62d97d | 37 | 0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0 |
yfkwok | 2:464c7e62d97d | 38 | }; |
yfkwok | 2:464c7e62d97d | 39 | |
yfkwok | 2:464c7e62d97d | 40 | _pos_x = pos_x; |
yfkwok | 2:464c7e62d97d | 41 | _pos_y = pos_y; |
yfkwok | 2:464c7e62d97d | 42 | lcd.drawSprite(_pos_x, _pos_y, 17, 20, bulbasaur_data); |
yfkwok | 2:464c7e62d97d | 43 | } |
yfkwok | 2:464c7e62d97d | 44 | |
yfkwok | 2:464c7e62d97d | 45 | void Bulbasaur::description(Gamepad &pad, N5110 &lcd) |
yfkwok | 2:464c7e62d97d | 46 | { |
yfkwok | 2:464c7e62d97d | 47 | Page currentPage = PAGE_1; |
yfkwok | 2:464c7e62d97d | 48 | int fps = 8.0; |
yfkwok | 2:464c7e62d97d | 49 | static int instruct_data[] = { |
yfkwok | 2:464c7e62d97d | 50 | 1,1,1,1,1,1,1, |
yfkwok | 2:464c7e62d97d | 51 | 0,1,1,1,1,1,0, |
yfkwok | 2:464c7e62d97d | 52 | 0,0,1,1,1,0,0, |
yfkwok | 2:464c7e62d97d | 53 | 0,0,0,1,0,0,0 |
yfkwok | 2:464c7e62d97d | 54 | }; |
yfkwok | 2:464c7e62d97d | 55 | |
yfkwok | 2:464c7e62d97d | 56 | while(pad.check_event(Gamepad::B_PRESSED) == false){ |
yfkwok | 2:464c7e62d97d | 57 | switch (currentPage) { |
yfkwok | 2:464c7e62d97d | 58 | case PAGE_1: |
yfkwok | 2:464c7e62d97d | 59 | lcd.clear(); |
yfkwok | 2:464c7e62d97d | 60 | lcd.printString("Bulbasaur",0,0); |
yfkwok | 2:464c7e62d97d | 61 | lcd.printString("is so lazy",0,1); |
yfkwok | 2:464c7e62d97d | 62 | lcd.printString("that he never",0,2); |
yfkwok | 2:464c7e62d97d | 63 | lcd.printString("finds time to",0,3); |
yfkwok | 2:464c7e62d97d | 64 | lcd.printString("do actual work",0,4); |
yfkwok | 2:464c7e62d97d | 65 | lcd.drawSprite(39, 44, 4, 7, instruct_data); |
yfkwok | 2:464c7e62d97d | 66 | lcd.refresh(); |
yfkwok | 2:464c7e62d97d | 67 | if(pad.get_direction() == S){currentPage = PAGE_2;} |
yfkwok | 2:464c7e62d97d | 68 | wait(1.0f/fps); |
yfkwok | 2:464c7e62d97d | 69 | break; |
yfkwok | 2:464c7e62d97d | 70 | case PAGE_2: |
yfkwok | 2:464c7e62d97d | 71 | lcd.clear(); |
yfkwok | 2:464c7e62d97d | 72 | lcd.printString("Easily lured",0,0); |
yfkwok | 2:464c7e62d97d | 73 | lcd.printString("by YouTube",0,1); |
yfkwok | 2:464c7e62d97d | 74 | lcd.printString("and social",0,2); |
yfkwok | 2:464c7e62d97d | 75 | lcd.printString("apps! Motivate",0,3); |
yfkwok | 2:464c7e62d97d | 76 | lcd.printString("him so that he",0,4); |
yfkwok | 2:464c7e62d97d | 77 | lcd.drawSprite(39, 44, 4, 7, instruct_data); |
yfkwok | 2:464c7e62d97d | 78 | lcd.refresh(); |
yfkwok | 2:464c7e62d97d | 79 | if(pad.get_direction() == S){currentPage = PAGE_3;} |
yfkwok | 2:464c7e62d97d | 80 | wait(1.0f/fps); |
yfkwok | 2:464c7e62d97d | 81 | break; |
yfkwok | 2:464c7e62d97d | 82 | case PAGE_3: |
yfkwok | 2:464c7e62d97d | 83 | lcd.clear(); |
yfkwok | 2:464c7e62d97d | 84 | lcd.printString("can graduate!",0,0); |
yfkwok | 2:464c7e62d97d | 85 | lcd.printString("Press B",0,5); |
yfkwok | 2:464c7e62d97d | 86 | lcd.refresh(); |
yfkwok | 2:464c7e62d97d | 87 | wait(1.0f/fps); |
yfkwok | 2:464c7e62d97d | 88 | } |
yfkwok | 2:464c7e62d97d | 89 | } |
yfkwok | 2:464c7e62d97d | 90 | } |