Game For ECE 2035
Dependencies: mbed wave_player 4DGL-uLCD-SE MMA8452
actions.cpp@9:cbb9cfb1f6c5, 2021-11-30 (annotated)
- Committer:
- nasiromar
- Date:
- Tue Nov 30 00:48:48 2021 +0000
- Revision:
- 9:cbb9cfb1f6c5
- Parent:
- 8:fcc333a8f9e1
- Child:
- 10:e18685911e84
Sound Working;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nasiromar | 6:c9695079521d | 1 | #include "actions.h" |
nasiromar | 6:c9695079521d | 2 | #include "speech.h" |
nasiromar | 6:c9695079521d | 3 | #include "hardware.h" |
nasiromar | 6:c9695079521d | 4 | #include "globals.h" |
nasiromar | 7:862062ffca62 | 5 | #include "map.h" |
nasiromar | 6:c9695079521d | 6 | |
nasiromar | 6:c9695079521d | 7 | |
nasiromar | 9:cbb9cfb1f6c5 | 8 | MapItem*spot = (MapItem*) malloc(sizeof(MapItem)); |
nasiromar | 6:c9695079521d | 9 | |
nasiromar | 9:cbb9cfb1f6c5 | 10 | void set_npc(int i, int j) |
nasiromar | 9:cbb9cfb1f6c5 | 11 | { |
nasiromar | 9:cbb9cfb1f6c5 | 12 | spot->x = i; |
nasiromar | 9:cbb9cfb1f6c5 | 13 | spot->y = j; |
nasiromar | 7:862062ffca62 | 14 | |
nasiromar | 9:cbb9cfb1f6c5 | 15 | add_npc(spot->x,spot->y); |
nasiromar | 7:862062ffca62 | 16 | } |
nasiromar | 7:862062ffca62 | 17 | |
nasiromar | 7:862062ffca62 | 18 | |
nasiromar | 9:cbb9cfb1f6c5 | 19 | |
nasiromar | 9:cbb9cfb1f6c5 | 20 | void fruit() |
nasiromar | 9:cbb9cfb1f6c5 | 21 | { |
nasiromar | 9:cbb9cfb1f6c5 | 22 | char line1[] = "Picked Fruit"; |
nasiromar | 9:cbb9cfb1f6c5 | 23 | char line2[] = "From The Tree"; |
nasiromar | 7:862062ffca62 | 24 | horizontal_speech1(line1,line2); |
nasiromar | 9:cbb9cfb1f6c5 | 25 | |
nasiromar | 9:cbb9cfb1f6c5 | 26 | char line3[] = "Fruit Eaten:"; |
nasiromar | 9:cbb9cfb1f6c5 | 27 | char line4[] = "5 HP gained"; |
nasiromar | 7:862062ffca62 | 28 | horizontal_speech1(line3,line4); |
nasiromar | 9:cbb9cfb1f6c5 | 29 | } |
nasiromar | 9:cbb9cfb1f6c5 | 30 | |
nasiromar | 9:cbb9cfb1f6c5 | 31 | void god_modeOn() |
nasiromar | 9:cbb9cfb1f6c5 | 32 | { |
nasiromar | 9:cbb9cfb1f6c5 | 33 | char line1[] = "God Mode:"; |
nasiromar | 9:cbb9cfb1f6c5 | 34 | char line2[] = "Activated"; |
nasiromar | 9:cbb9cfb1f6c5 | 35 | horizontal_speech1(line1,line2); |
nasiromar | 9:cbb9cfb1f6c5 | 36 | } |
nasiromar | 9:cbb9cfb1f6c5 | 37 | |
nasiromar | 9:cbb9cfb1f6c5 | 38 | void god_modeOff() |
nasiromar | 9:cbb9cfb1f6c5 | 39 | { |
nasiromar | 9:cbb9cfb1f6c5 | 40 | char line1[] = "God Mode:"; |
nasiromar | 9:cbb9cfb1f6c5 | 41 | char line2[] = "Deactivated"; |
nasiromar | 9:cbb9cfb1f6c5 | 42 | horizontal_speech1(line1,line2); |
nasiromar | 8:fcc333a8f9e1 | 43 | } |
nasiromar | 7:862062ffca62 | 44 | |
nasiromar | 9:cbb9cfb1f6c5 | 45 | //void walk() |
nasiromar | 9:cbb9cfb1f6c5 | 46 | //{ |
nasiromar | 9:cbb9cfb1f6c5 | 47 | |
nasiromar | 9:cbb9cfb1f6c5 | 48 | |
nasiromar | 9:cbb9cfb1f6c5 | 49 | |
nasiromar | 9:cbb9cfb1f6c5 | 50 | void no_fruit() { |
nasiromar | 9:cbb9cfb1f6c5 | 51 | char line1[] = "Player Health:"; |
nasiromar | 9:cbb9cfb1f6c5 | 52 | char line2[] = "Full"; |
nasiromar | 9:cbb9cfb1f6c5 | 53 | horizontal_speech1(line1,line2); |
nasiromar | 9:cbb9cfb1f6c5 | 54 | |
nasiromar | 9:cbb9cfb1f6c5 | 55 | char line3[] = "Fruit Dropped:"; |
nasiromar | 9:cbb9cfb1f6c5 | 56 | char line4[] = "0 HP gained"; |
nasiromar | 9:cbb9cfb1f6c5 | 57 | horizontal_speech1(line3,line4); |
nasiromar | 7:862062ffca62 | 58 | } |
nasiromar | 9:cbb9cfb1f6c5 | 59 | |
nasiromar | 9:cbb9cfb1f6c5 | 60 | void npc_speech1() { |
nasiromar | 9:cbb9cfb1f6c5 | 61 | |
nasiromar | 9:cbb9cfb1f6c5 | 62 | char line1[] = "Salutations:"; |
nasiromar | 9:cbb9cfb1f6c5 | 63 | char line2[] = "Traveler!"; |
nasiromar | 9:cbb9cfb1f6c5 | 64 | horizontal_speech1(line1,line2); |
nasiromar | 9:cbb9cfb1f6c5 | 65 | |
nasiromar | 9:cbb9cfb1f6c5 | 66 | char line3[] = "Welcome to"; |
nasiromar | 9:cbb9cfb1f6c5 | 67 | char line4[] = "NasLand"; |
nasiromar | 9:cbb9cfb1f6c5 | 68 | horizontal_speech1(line3,line4); |
nasiromar | 9:cbb9cfb1f6c5 | 69 | |
nasiromar | 9:cbb9cfb1f6c5 | 70 | char line5[] = "I offer a quest"; |
nasiromar | 9:cbb9cfb1f6c5 | 71 | char line6[] = "If thee accept"; |
nasiromar | 9:cbb9cfb1f6c5 | 72 | horizontal_speech1(line5,line6); |
nasiromar | 9:cbb9cfb1f6c5 | 73 | |
nasiromar | 9:cbb9cfb1f6c5 | 74 | char line7[] = "Excellent!"; |
nasiromar | 9:cbb9cfb1f6c5 | 75 | char line8[] = "I need a dragon"; |
nasiromar | 9:cbb9cfb1f6c5 | 76 | horizontal_speech1(line7,line8); |
nasiromar | 9:cbb9cfb1f6c5 | 77 | |
nasiromar | 9:cbb9cfb1f6c5 | 78 | char line9[] = "Well not need"; |
nasiromar | 9:cbb9cfb1f6c5 | 79 | char line10[] = "but want DEAD!"; |
nasiromar | 9:cbb9cfb1f6c5 | 80 | horizontal_speech1(line9,line10); |
nasiromar | 9:cbb9cfb1f6c5 | 81 | |
nasiromar | 9:cbb9cfb1f6c5 | 82 | char line11[] = "so go to the "; |
nasiromar | 9:cbb9cfb1f6c5 | 83 | char line12[] = "portal next.."; |
nasiromar | 9:cbb9cfb1f6c5 | 84 | horizontal_speech1(line11,line12); |
nasiromar | 9:cbb9cfb1f6c5 | 85 | |
nasiromar | 9:cbb9cfb1f6c5 | 86 | char line13[] = "Hint: "; |
nasiromar | 9:cbb9cfb1f6c5 | 87 | char line14[] = "X[20],Y[35]"; |
nasiromar | 9:cbb9cfb1f6c5 | 88 | horizontal_speech1(line13,line14); |
nasiromar | 9:cbb9cfb1f6c5 | 89 | } |
nasiromar | 9:cbb9cfb1f6c5 | 90 | |
nasiromar | 9:cbb9cfb1f6c5 | 91 | void npc_speech2() { |
nasiromar | 9:cbb9cfb1f6c5 | 92 | |
nasiromar | 9:cbb9cfb1f6c5 | 93 | char line1[] = "Welcome Back"; |
nasiromar | 9:cbb9cfb1f6c5 | 94 | char line2[] = "Traveler!"; |
nasiromar | 9:cbb9cfb1f6c5 | 95 | horizontal_speech1(line1,line2); |
nasiromar | 9:cbb9cfb1f6c5 | 96 | |
nasiromar | 9:cbb9cfb1f6c5 | 97 | char line3[] = "The Dragon"; |
nasiromar | 9:cbb9cfb1f6c5 | 98 | char line4[] = "has been slain"; |
nasiromar | 9:cbb9cfb1f6c5 | 99 | horizontal_speech1(line3,line4); |
nasiromar | 9:cbb9cfb1f6c5 | 100 | |
nasiromar | 9:cbb9cfb1f6c5 | 101 | char line5[] = "You have saved"; |
nasiromar | 9:cbb9cfb1f6c5 | 102 | char line6[] = "NasLand"; |
nasiromar | 9:cbb9cfb1f6c5 | 103 | horizontal_speech1(line5,line6); |
nasiromar | 9:cbb9cfb1f6c5 | 104 | |
nasiromar | 9:cbb9cfb1f6c5 | 105 | char line7[] = "Go to Castle"; |
nasiromar | 9:cbb9cfb1f6c5 | 106 | char line8[] = "To collect"; |
nasiromar | 9:cbb9cfb1f6c5 | 107 | horizontal_speech1(line7,line8); |
nasiromar | 7:862062ffca62 | 108 | |
nasiromar | 9:cbb9cfb1f6c5 | 109 | char line9[] = "TREASURE"; |
nasiromar | 9:cbb9cfb1f6c5 | 110 | char line10[] = "TREASURE"; |
nasiromar | 9:cbb9cfb1f6c5 | 111 | horizontal_speech1(line9,line10); |
nasiromar | 9:cbb9cfb1f6c5 | 112 | |
nasiromar | 9:cbb9cfb1f6c5 | 113 | char line11[] = "Farwell Great "; |
nasiromar | 9:cbb9cfb1f6c5 | 114 | char line12[] = "Mage..."; |
nasiromar | 9:cbb9cfb1f6c5 | 115 | horizontal_speech1(line11,line12); |
nasiromar | 9:cbb9cfb1f6c5 | 116 | |
nasiromar | 9:cbb9cfb1f6c5 | 117 | char line13[] = "Hint: "; |
nasiromar | 9:cbb9cfb1f6c5 | 118 | char line14[] = "X[26],Y[12]"; |
nasiromar | 9:cbb9cfb1f6c5 | 119 | horizontal_speech1(line13,line14); |
nasiromar | 9:cbb9cfb1f6c5 | 120 | } |
nasiromar | 9:cbb9cfb1f6c5 | 121 | |
nasiromar | 9:cbb9cfb1f6c5 | 122 | |
nasiromar | 9:cbb9cfb1f6c5 | 123 | void slay_dragon() { |
nasiromar | 9:cbb9cfb1f6c5 | 124 | char line1[] = "Me!?!"; |
nasiromar | 9:cbb9cfb1f6c5 | 125 | char line2[] = "Dying? at the"; |
nasiromar | 9:cbb9cfb1f6c5 | 126 | horizontal_speech1(line1,line2); |
nasiromar | 9:cbb9cfb1f6c5 | 127 | |
nasiromar | 9:cbb9cfb1f6c5 | 128 | char line3[] = "hands of a"; |
nasiromar | 9:cbb9cfb1f6c5 | 129 | char line4[] = "mere MORTAL"; |
nasiromar | 9:cbb9cfb1f6c5 | 130 | horizontal_speech1(line3,line4); |
nasiromar | 9:cbb9cfb1f6c5 | 131 | |
nasiromar | 9:cbb9cfb1f6c5 | 132 | char line5[] = "Ahhhhhhhh!"; |
nasiromar | 9:cbb9cfb1f6c5 | 133 | char line6[] = "DIES:("; |
nasiromar | 9:cbb9cfb1f6c5 | 134 | horizontal_speech1(line5,line6); |
nasiromar | 9:cbb9cfb1f6c5 | 135 | |
nasiromar | 9:cbb9cfb1f6c5 | 136 | char line7[] = "CONGRATULATIONS!"; |
nasiromar | 9:cbb9cfb1f6c5 | 137 | char line8[] = "Dragon Slain"; |
nasiromar | 9:cbb9cfb1f6c5 | 138 | horizontal_speech1(line7,line8); |
nasiromar | 9:cbb9cfb1f6c5 | 139 | |
nasiromar | 9:cbb9cfb1f6c5 | 140 | char line9[] = "Heres the key!"; |
nasiromar | 9:cbb9cfb1f6c5 | 141 | char line10[] = "Well Done!"; |
nasiromar | 9:cbb9cfb1f6c5 | 142 | horizontal_speech1(line9,line10); |
nasiromar | 9:cbb9cfb1f6c5 | 143 | |
nasiromar | 9:cbb9cfb1f6c5 | 144 | } |
nasiromar | 9:cbb9cfb1f6c5 | 145 | |
nasiromar | 9:cbb9cfb1f6c5 | 146 | |
nasiromar | 9:cbb9cfb1f6c5 | 147 | int door_open() { |
nasiromar | 9:cbb9cfb1f6c5 | 148 | return 1; |
nasiromar | 9:cbb9cfb1f6c5 | 149 | } |
nasiromar | 9:cbb9cfb1f6c5 | 150 | |
nasiromar | 9:cbb9cfb1f6c5 | 151 | |
nasiromar | 9:cbb9cfb1f6c5 | 152 | void init_dung() { |
nasiromar | 9:cbb9cfb1f6c5 | 153 | Map* map = set_active_map(1); |
nasiromar | 9:cbb9cfb1f6c5 | 154 | for(int i = map_width() + 7; i < map_area(); i += 39) { |
nasiromar | 9:cbb9cfb1f6c5 | 155 | add_chest(i % map_width(), i / map_width()); |
nasiromar | 9:cbb9cfb1f6c5 | 156 | } |
nasiromar | 9:cbb9cfb1f6c5 | 157 | pc.printf("plants\r\n"); |
nasiromar | 9:cbb9cfb1f6c5 | 158 | |
nasiromar | 9:cbb9cfb1f6c5 | 159 | pc.printf("Adding walls!\r\n"); |
nasiromar | 9:cbb9cfb1f6c5 | 160 | add_castle(0, 0, HORIZONTAL, map_width()); |
nasiromar | 9:cbb9cfb1f6c5 | 161 | add_castle(0, map_height()-1, HORIZONTAL, map_width()); |
nasiromar | 9:cbb9cfb1f6c5 | 162 | add_castle(0, 0, VERTICAL, map_height()); |
nasiromar | 9:cbb9cfb1f6c5 | 163 | add_castle(map_width()-1, 0, VERTICAL, map_height()); |
nasiromar | 9:cbb9cfb1f6c5 | 164 | pc.printf("Walls done!\r\n"); |
nasiromar | 9:cbb9cfb1f6c5 | 165 | |
nasiromar | 9:cbb9cfb1f6c5 | 166 | |
nasiromar | 9:cbb9cfb1f6c5 | 167 | add_portal2(15,21); |
nasiromar | 9:cbb9cfb1f6c5 | 168 | |
nasiromar | 9:cbb9cfb1f6c5 | 169 | add_dragon(18,9); |
nasiromar | 9:cbb9cfb1f6c5 | 170 | |
nasiromar | 9:cbb9cfb1f6c5 | 171 | |
nasiromar | 9:cbb9cfb1f6c5 | 172 | print_map(); |
nasiromar | 9:cbb9cfb1f6c5 | 173 | |
nasiromar | 9:cbb9cfb1f6c5 | 174 | } |