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.
main1.cpp@3:4bc4e762a906, 2021-05-04 (annotated)
- Committer:
- an_xuanyu
- Date:
- Tue May 04 14:18:28 2021 +0000
- Revision:
- 3:4bc4e762a906
- Parent:
- 2:ce24c50fc0a6
anxuanyu;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cbs27 | 0:a9ef8a5c769a | 1 | #include "mbed.h" |
cbs27 | 0:a9ef8a5c769a | 2 | #include "N5110.h" |
YPA_YPA | 2:ce24c50fc0a6 | 3 | #include "main.h" |
YPA_YPA | 2:ce24c50fc0a6 | 4 | #ifndef bullet_v |
cbs27 | 0:a9ef8a5c769a | 5 | #define bullet_v 3//炮弹的速度为坦克三倍 |
YPA_YPA | 2:ce24c50fc0a6 | 6 | #endif |
YPA_YPA | 2:ce24c50fc0a6 | 7 | #ifndef tank_num |
cbs27 | 0:a9ef8a5c769a | 8 | #define tank_num 4//坦克数量 |
YPA_YPA | 2:ce24c50fc0a6 | 9 | #endif |
cbs27 | 0:a9ef8a5c769a | 10 | |
YPA_YPA | 2:ce24c50fc0a6 | 11 | DigitalIn button_A2(p29); |
YPA_YPA | 2:ce24c50fc0a6 | 12 | DigitalIn button_B2(p28); |
YPA_YPA | 2:ce24c50fc0a6 | 13 | DigitalIn button_C2(p27); |
YPA_YPA | 2:ce24c50fc0a6 | 14 | DigitalIn button_D2(p26); |
YPA_YPA | 2:ce24c50fc0a6 | 15 | |
YPA_YPA | 2:ce24c50fc0a6 | 16 | AnalogIn joy_v2(p20); |
YPA_YPA | 2:ce24c50fc0a6 | 17 | AnalogIn joy_h2(p19); |
YPA_YPA | 2:ce24c50fc0a6 | 18 | AnalogIn joy_button2(p17); // could be DigitalIn, but use AnalogIn so pot can also be used |
an_xuanyu | 1:47967167a3a6 | 19 | |
cbs27 | 0:a9ef8a5c769a | 20 | // JP1 must be in 2/3 position |
YPA_YPA | 2:ce24c50fc0a6 | 21 | N5110 lcd2(p8,p9,p10,p11,p13,p21); |
cbs27 | 0:a9ef8a5c769a | 22 | const int map[9][11] = { |
cbs27 | 0:a9ef8a5c769a | 23 | { 0,0,0,0,0,0,0,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 24 | { 0,1,0,2,1,1,1,2,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 25 | { 0,1,0,2,0,1,0,2,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 26 | { 0,0,0,0,0,0,0,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 27 | { 2,2,0,1,2,2,2,1,0,2,2}, |
cbs27 | 0:a9ef8a5c769a | 28 | { 0,0,0,0,0,0,0,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 29 | { 0,1,0,2,0,1,0,2,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 30 | { 0,1,0,2,1,1,1,2,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 31 | { 0,0,0,0,0,0,0,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 32 | };//9*11大小的地图,1是墙,2是灌木 |
cbs27 | 0:a9ef8a5c769a | 33 | const int wall[5][7] = { |
cbs27 | 0:a9ef8a5c769a | 34 | { 1,1,1,1,1,1,1}, |
cbs27 | 0:a9ef8a5c769a | 35 | { 1,1,0,0,0,1,1}, |
cbs27 | 0:a9ef8a5c769a | 36 | { 1,1,0,0,0,1,1}, |
cbs27 | 0:a9ef8a5c769a | 37 | { 1,1,0,0,0,1,1}, |
cbs27 | 0:a9ef8a5c769a | 38 | { 1,1,1,1,1,1,1}, |
cbs27 | 0:a9ef8a5c769a | 39 | };//5*7的墙,不可破坏 |
cbs27 | 0:a9ef8a5c769a | 40 | const int bush[5][7] = { |
cbs27 | 0:a9ef8a5c769a | 41 | { 1,0,1,0,1,0,1}, |
cbs27 | 0:a9ef8a5c769a | 42 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 43 | { 1,0,1,0,1,0,1}, |
cbs27 | 0:a9ef8a5c769a | 44 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 45 | { 1,0,1,0,1,0,1}, |
cbs27 | 0:a9ef8a5c769a | 46 | |
cbs27 | 0:a9ef8a5c769a | 47 | };//5*7的g灌木,可破坏 |
cbs27 | 0:a9ef8a5c769a | 48 | const int destroyed_bush[5][7] = { |
cbs27 | 0:a9ef8a5c769a | 49 | { 1,0,0,1,0,0,1}, |
cbs27 | 0:a9ef8a5c769a | 50 | { 0,0,1,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 51 | { 0,1,0,0,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 52 | { 1,0,0,1,0,0,1}, |
cbs27 | 0:a9ef8a5c769a | 53 | { 0,0,1,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 54 | |
cbs27 | 0:a9ef8a5c769a | 55 | };//被击中的灌木 |
an_xuanyu | 1:47967167a3a6 | 56 | const int tank[tank_num][4][5][7] = { |
cbs27 | 0:a9ef8a5c769a | 57 | { |
cbs27 | 0:a9ef8a5c769a | 58 | { |
cbs27 | 0:a9ef8a5c769a | 59 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 60 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 61 | { 0,1,1,0,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 62 | { 0,1,1,0,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 63 | { 0,1,0,0,0,1,0} |
cbs27 | 0:a9ef8a5c769a | 64 | }, |
cbs27 | 0:a9ef8a5c769a | 65 | { |
cbs27 | 0:a9ef8a5c769a | 66 | { 0,1,0,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 67 | { 0,1,1,0,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 68 | { 0,1,1,0,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 69 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 70 | { 0,1,0,1,0,1,0} |
cbs27 | 0:a9ef8a5c769a | 71 | }, |
cbs27 | 0:a9ef8a5c769a | 72 | { |
cbs27 | 0:a9ef8a5c769a | 73 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 74 | { 0,0,1,1,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 75 | { 0,1,1,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 76 | { 0,0,1,1,1,0,0}, |
an_xuanyu | 1:47967167a3a6 | 77 | { 0,1,1,1,1,1,0} |
an_xuanyu | 1:47967167a3a6 | 78 | }, |
cbs27 | 0:a9ef8a5c769a | 79 | { |
cbs27 | 0:a9ef8a5c769a | 80 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 81 | { 0,0,1,1,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 82 | { 0,0,0,0,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 83 | { 0,0,1,1,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 84 | { 0,1,1,1,1,1,0} |
cbs27 | 0:a9ef8a5c769a | 85 | } |
an_xuanyu | 1:47967167a3a6 | 86 | },//tank1 |
cbs27 | 0:a9ef8a5c769a | 87 | { |
cbs27 | 0:a9ef8a5c769a | 88 | { |
cbs27 | 0:a9ef8a5c769a | 89 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 90 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 91 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 92 | { 0,1,1,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 93 | { 0,1,0,0,0,1,0} |
an_xuanyu | 1:47967167a3a6 | 94 | |
cbs27 | 0:a9ef8a5c769a | 95 | }, |
cbs27 | 0:a9ef8a5c769a | 96 | { |
cbs27 | 0:a9ef8a5c769a | 97 | { 0,1,0,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 98 | { 0,1,0,0,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 99 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 100 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 101 | { 0,1,0,1,0,1,0} |
cbs27 | 0:a9ef8a5c769a | 102 | }, |
cbs27 | 0:a9ef8a5c769a | 103 | { |
cbs27 | 0:a9ef8a5c769a | 104 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 105 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 106 | { 0,1,1,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 107 | { 0,0,0,1,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 108 | { 0,1,1,1,1,1,0} |
cbs27 | 0:a9ef8a5c769a | 109 | }, |
cbs27 | 0:a9ef8a5c769a | 110 | { |
cbs27 | 0:a9ef8a5c769a | 111 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 112 | { 0,0,1,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 113 | { 0,0,0,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 114 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 115 | { 0,1,1,1,1,1,0} |
cbs27 | 0:a9ef8a5c769a | 116 | } |
cbs27 | 0:a9ef8a5c769a | 117 | },//tank2 |
cbs27 | 0:a9ef8a5c769a | 118 | { |
cbs27 | 0:a9ef8a5c769a | 119 | { |
cbs27 | 0:a9ef8a5c769a | 120 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 121 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 122 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 123 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 124 | { 0,1,0,0,0,1,0} |
an_xuanyu | 1:47967167a3a6 | 125 | |
cbs27 | 0:a9ef8a5c769a | 126 | }, |
cbs27 | 0:a9ef8a5c769a | 127 | { |
cbs27 | 0:a9ef8a5c769a | 128 | { 0,1,0,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 129 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 130 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 131 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 132 | { 0,1,0,1,0,1,0} |
cbs27 | 0:a9ef8a5c769a | 133 | }, |
cbs27 | 0:a9ef8a5c769a | 134 | { |
cbs27 | 0:a9ef8a5c769a | 135 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 136 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 137 | { 0,1,1,1,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 138 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 139 | { 0,1,1,1,1,1,0} |
cbs27 | 0:a9ef8a5c769a | 140 | }, |
cbs27 | 0:a9ef8a5c769a | 141 | { |
cbs27 | 0:a9ef8a5c769a | 142 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 143 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 144 | { 0,0,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 145 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 146 | { 0,1,1,1,1,1,0} |
cbs27 | 0:a9ef8a5c769a | 147 | } |
cbs27 | 0:a9ef8a5c769a | 148 | }, //tank3 |
cbs27 | 0:a9ef8a5c769a | 149 | { |
cbs27 | 0:a9ef8a5c769a | 150 | { |
cbs27 | 0:a9ef8a5c769a | 151 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 152 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 153 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 154 | { 0,1,0,0,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 155 | { 0,1,0,0,0,1,0} |
an_xuanyu | 1:47967167a3a6 | 156 | |
cbs27 | 0:a9ef8a5c769a | 157 | }, |
cbs27 | 0:a9ef8a5c769a | 158 | { |
cbs27 | 0:a9ef8a5c769a | 159 | { 0,1,0,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 160 | { 0,1,1,0,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 161 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 162 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 163 | { 0,1,0,1,0,1,0} |
cbs27 | 0:a9ef8a5c769a | 164 | }, |
cbs27 | 0:a9ef8a5c769a | 165 | { |
cbs27 | 0:a9ef8a5c769a | 166 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 167 | { 0,0,0,1,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 168 | { 0,1,1,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 169 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 170 | { 0,1,1,1,1,1,0} |
cbs27 | 0:a9ef8a5c769a | 171 | }, |
cbs27 | 0:a9ef8a5c769a | 172 | { |
cbs27 | 0:a9ef8a5c769a | 173 | { 0,1,1,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 174 | { 0,0,0,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 175 | { 0,0,0,1,1,1,0}, |
cbs27 | 0:a9ef8a5c769a | 176 | { 0,0,1,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 177 | { 0,1,1,1,1,1,0} |
cbs27 | 0:a9ef8a5c769a | 178 | } |
cbs27 | 0:a9ef8a5c769a | 179 | }//tank4 |
cbs27 | 0:a9ef8a5c769a | 180 | }; |
cbs27 | 0:a9ef8a5c769a | 181 | const int tank_exp[5][7] = { |
cbs27 | 0:a9ef8a5c769a | 182 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 183 | { 0,0,1,0,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 184 | { 1,1,0,0,0,1,1}, |
cbs27 | 0:a9ef8a5c769a | 185 | { 0,0,1,0,1,0,0}, |
cbs27 | 0:a9ef8a5c769a | 186 | { 0,1,0,1,0,1,0}, |
cbs27 | 0:a9ef8a5c769a | 187 | };//击毁的坦克 |
cbs27 | 0:a9ef8a5c769a | 188 | const int bullet[5][7] = { |
cbs27 | 0:a9ef8a5c769a | 189 | { 0,0,0,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 190 | { 0,0,1,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 191 | { 0,0,1,1,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 192 | { 0,0,0,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 193 | { 0,0,0,0,0,0,0}, |
cbs27 | 0:a9ef8a5c769a | 194 | };//炮弹 |
YPA_YPA | 2:ce24c50fc0a6 | 195 | const int hp_ai[2][5][7] = {{ |
YPA_YPA | 2:ce24c50fc0a6 | 196 | { 0,1,1,0,0,0,0}, |
YPA_YPA | 2:ce24c50fc0a6 | 197 | { 1,1,1,1,0,0,0}, |
YPA_YPA | 2:ce24c50fc0a6 | 198 | { 0,1,1,1,0,0,0}, |
YPA_YPA | 2:ce24c50fc0a6 | 199 | { 1,0,1,1,0,0,1}, |
YPA_YPA | 2:ce24c50fc0a6 | 200 | { 1,1,0,1,0,1,1}, |
YPA_YPA | 2:ce24c50fc0a6 | 201 | },{ |
YPA_YPA | 2:ce24c50fc0a6 | 202 | { 0,1,1,0,1,1,0}, |
YPA_YPA | 2:ce24c50fc0a6 | 203 | { 1,1,1,1,1,1,1}, |
YPA_YPA | 2:ce24c50fc0a6 | 204 | { 0,1,1,1,1,1,0}, |
YPA_YPA | 2:ce24c50fc0a6 | 205 | { 1,0,1,1,1,0,1}, |
YPA_YPA | 2:ce24c50fc0a6 | 206 | { 1,1,0,1,0,1,1}, |
YPA_YPA | 2:ce24c50fc0a6 | 207 | } |
YPA_YPA | 2:ce24c50fc0a6 | 208 | };//炮弹 |
cbs27 | 0:a9ef8a5c769a | 209 | const int t_start[tank_num][2] = {{0,5},{8,1},{8,5},{8,9}}; //坦克初始坐标 |
an_xuanyu | 1:47967167a3a6 | 210 | const int ai_mod[3]= {0,1,0}; |
an_xuanyu | 1:47967167a3a6 | 211 | const int ai_changetime[3]= {6,8,5}; |
YPA_YPA | 2:ce24c50fc0a6 | 212 | void map_scan2(int map_adj[9][11]) //扫描地图函数 |
an_xuanyu | 1:47967167a3a6 | 213 | { |
an_xuanyu | 1:47967167a3a6 | 214 | int x = 0; |
an_xuanyu | 1:47967167a3a6 | 215 | int y = 0; //地图扫描坐标 |
YPA_YPA | 2:ce24c50fc0a6 | 216 | lcd2.drawRect(0,0,84,1,FILL_BLACK); |
YPA_YPA | 2:ce24c50fc0a6 | 217 | lcd2.drawRect(0,46,84,2,FILL_BLACK); |
YPA_YPA | 2:ce24c50fc0a6 | 218 | lcd2.drawRect(0,0,3,48,FILL_BLACK); |
YPA_YPA | 2:ce24c50fc0a6 | 219 | lcd2.drawRect(80,0,4,48,FILL_BLACK);//边框 |
an_xuanyu | 1:47967167a3a6 | 220 | |
an_xuanyu | 1:47967167a3a6 | 221 | for (x=0; x<11; x++) { |
an_xuanyu | 1:47967167a3a6 | 222 | for (y=0; y<9; y++) { |
an_xuanyu | 1:47967167a3a6 | 223 | if(map_adj[y][x]==1) { |
YPA_YPA | 2:ce24c50fc0a6 | 224 | lcd2.drawSprite(x*7+3,y*5+1,5,7,(int *)wall); |
an_xuanyu | 1:47967167a3a6 | 225 | } else if(map_adj[y][x]==2) { |
YPA_YPA | 2:ce24c50fc0a6 | 226 | lcd2.drawSprite(x*7+3,y*5+1,5,7,(int *)bush); |
cbs27 | 0:a9ef8a5c769a | 227 | } |
cbs27 | 0:a9ef8a5c769a | 228 | } |
an_xuanyu | 1:47967167a3a6 | 229 | } |
an_xuanyu | 1:47967167a3a6 | 230 | } |
cbs27 | 0:a9ef8a5c769a | 231 | |
YPA_YPA | 2:ce24c50fc0a6 | 232 | void hp_show2(int hp[4],int level) //显示血量函数 |
an_xuanyu | 1:47967167a3a6 | 233 | { |
YPA_YPA | 2:ce24c50fc0a6 | 234 | int heart_num; |
YPA_YPA | 2:ce24c50fc0a6 | 235 | int i; |
an_xuanyu | 1:47967167a3a6 | 236 | for (heart_num=0; heart_num<3; heart_num++) { |
YPA_YPA | 2:ce24c50fc0a6 | 237 | if(heart_num<hp[0]) { |
YPA_YPA | 2:ce24c50fc0a6 | 238 | lcd2.drawSprite(4*7+heart_num*7+3,5*1+1,5,7,(int *)hp_ai[0]); |
YPA_YPA | 2:ce24c50fc0a6 | 239 | for(i=1; i<tank_num-level; i++) { |
YPA_YPA | 2:ce24c50fc0a6 | 240 | if(heart_num<hp[i]) { |
YPA_YPA | 2:ce24c50fc0a6 | 241 | lcd2.drawSprite(4*7+(i-1)*7+3,7*5+1,5,7,(int *)hp_ai[hp[i]-1]); |
YPA_YPA | 2:ce24c50fc0a6 | 242 | } |
YPA_YPA | 2:ce24c50fc0a6 | 243 | } |
an_xuanyu | 1:47967167a3a6 | 244 | } |
YPA_YPA | 2:ce24c50fc0a6 | 245 | |
an_xuanyu | 1:47967167a3a6 | 246 | } |
an_xuanyu | 1:47967167a3a6 | 247 | } |
cbs27 | 0:a9ef8a5c769a | 248 | |
YPA_YPA | 2:ce24c50fc0a6 | 249 | void tank_show2(int tank_state[4],int t[4][2],int hp[4],int level) //显示坦克函数 |
an_xuanyu | 1:47967167a3a6 | 250 | { |
an_xuanyu | 1:47967167a3a6 | 251 | int i; |
YPA_YPA | 2:ce24c50fc0a6 | 252 | for(i=0; i<tank_num-level; i++) { |
YPA_YPA | 2:ce24c50fc0a6 | 253 | if(hp[i]!=0) { |
YPA_YPA | 2:ce24c50fc0a6 | 254 | lcd2.drawSprite(t[i][1]*7+3,t[i][0]*5+1,5,7,(int *)tank[i][tank_state[i]]); |
YPA_YPA | 2:ce24c50fc0a6 | 255 | } |
an_xuanyu | 1:47967167a3a6 | 256 | } |
an_xuanyu | 1:47967167a3a6 | 257 | } |
YPA_YPA | 2:ce24c50fc0a6 | 258 | int body(int level) |
cbs27 | 0:a9ef8a5c769a | 259 | { |
YPA_YPA | 2:ce24c50fc0a6 | 260 | // need to initialise the lcd2 first, do this once outside of the loop |
YPA_YPA | 2:ce24c50fc0a6 | 261 | lcd2.init(); |
cbs27 | 0:a9ef8a5c769a | 262 | //int command[2][4]={{0,0,0,0},{0,0,0,0}};//处理后的指令 |
cbs27 | 0:a9ef8a5c769a | 263 | int command[4]= {0,0,0,0}; |
cbs27 | 0:a9ef8a5c769a | 264 | int turn=0; |
cbs27 | 0:a9ef8a5c769a | 265 | int a; |
cbs27 | 0:a9ef8a5c769a | 266 | int stop;//stop command for ai |
an_xuanyu | 1:47967167a3a6 | 267 | int i; |
cbs27 | 0:a9ef8a5c769a | 268 | int j; //地图复制计数 |
an_xuanyu | 1:47967167a3a6 | 269 | int ii; |
an_xuanyu | 1:47967167a3a6 | 270 | int k; |
an_xuanyu | 1:47967167a3a6 | 271 | int l; |
cbs27 | 0:a9ef8a5c769a | 272 | int n; //炮弹刷新计数 |
an_xuanyu | 3:4bc4e762a906 | 273 | int o; |
cbs27 | 0:a9ef8a5c769a | 274 | int shoot;//开火计数 |
an_xuanyu | 1:47967167a3a6 | 275 | int t[tank_num][2]; //坦克坐标 |
an_xuanyu | 1:47967167a3a6 | 276 | int t_pre[tank_num][2]; //坦克预测坐标(npc) |
an_xuanyu | 1:47967167a3a6 | 277 | int b[tank_num][3][2]; //炮弹坐标 |
cbs27 | 0:a9ef8a5c769a | 278 | int bullet_cont=0;//发射炮弹计数 |
cbs27 | 0:a9ef8a5c769a | 279 | int bullet_direct[tank_num][3];//炮弹的方向 |
cbs27 | 0:a9ef8a5c769a | 280 | int bullet_val[tank_num][3];//炮弹是否被阻挡 |
cbs27 | 0:a9ef8a5c769a | 281 | int tank_state[tank_num]; //坦克的f方向 |
an_xuanyu | 3:4bc4e762a906 | 282 | int hp_set[tank_num]= {3,2,2,2}; //坦克血量预设 |
YPA_YPA | 2:ce24c50fc0a6 | 283 | int hp[tank_num]= {0,0,0,0}; //坦克血量 |
cbs27 | 0:a9ef8a5c769a | 284 | int tank_count;//坦克单位的计数 |
an_xuanyu | 1:47967167a3a6 | 285 | int trace[tank_num-1][3]= {{0,0,0},{0,0,0},{0,0,0}}; |
cbs27 | 0:a9ef8a5c769a | 286 | int map_adj[9][11]; |
cbs27 | 0:a9ef8a5c769a | 287 | int tank_des;//serial number of destoried tank destroy |
cbs27 | 0:a9ef8a5c769a | 288 | int hit; |
cbs27 | 0:a9ef8a5c769a | 289 | int obj_kind; |
YPA_YPA | 2:ce24c50fc0a6 | 290 | for (k=0; k<tank_num-level; k++) { |
cbs27 | 0:a9ef8a5c769a | 291 | hp[k]=hp_set[k]; |
cbs27 | 0:a9ef8a5c769a | 292 | tank_state[k]=0; |
cbs27 | 0:a9ef8a5c769a | 293 | map_adj[t_start[k][0]][t_start[k][1]]=k+3; |
an_xuanyu | 1:47967167a3a6 | 294 | for (l=0; l<bullet_v; l++) { |
cbs27 | 0:a9ef8a5c769a | 295 | bullet_val[k][l]=0; |
an_xuanyu | 3:4bc4e762a906 | 296 | bullet_direct[k][l]=0; |
an_xuanyu | 3:4bc4e762a906 | 297 | for(o=0;o<2;o++){ |
an_xuanyu | 3:4bc4e762a906 | 298 | b[k][l][o]=0; |
an_xuanyu | 3:4bc4e762a906 | 299 | } |
cbs27 | 0:a9ef8a5c769a | 300 | } |
an_xuanyu | 1:47967167a3a6 | 301 | for (ii=0; ii<2; ii++) { |
cbs27 | 0:a9ef8a5c769a | 302 | t[k][ii]=t_start[k][ii]; |
an_xuanyu | 1:47967167a3a6 | 303 | } //复制坦克坐标 |
cbs27 | 0:a9ef8a5c769a | 304 | } |
cbs27 | 0:a9ef8a5c769a | 305 | |
an_xuanyu | 1:47967167a3a6 | 306 | for (i=0; i<11; i++) { |
an_xuanyu | 1:47967167a3a6 | 307 | for (j=0; j<9; j++) { |
an_xuanyu | 1:47967167a3a6 | 308 | map_adj[j][i]=map[j][i]; |
an_xuanyu | 1:47967167a3a6 | 309 | } |
an_xuanyu | 1:47967167a3a6 | 310 | }//复制地图 |
YPA_YPA | 2:ce24c50fc0a6 | 311 | shoot=0; |
YPA_YPA | 2:ce24c50fc0a6 | 312 | tank_count=0; |
cbs27 | 0:a9ef8a5c769a | 313 | while(1) { |
YPA_YPA | 2:ce24c50fc0a6 | 314 | lcd2.clear(); |
YPA_YPA | 2:ce24c50fc0a6 | 315 | map_scan2(map_adj);//地图显示 |
YPA_YPA | 2:ce24c50fc0a6 | 316 | hp_show2(hp,level);//血量显示 |
YPA_YPA | 2:ce24c50fc0a6 | 317 | tank_show2(tank_state,t,hp,level);//坦克显示 |
YPA_YPA | 2:ce24c50fc0a6 | 318 | |
an_xuanyu | 1:47967167a3a6 | 319 | if(shoot==0) { |
YPA_YPA | 2:ce24c50fc0a6 | 320 | command[3] = button_A2.read(); |
YPA_YPA | 2:ce24c50fc0a6 | 321 | command[0] = button_B2.read(); |
YPA_YPA | 2:ce24c50fc0a6 | 322 | command[2] = button_C2.read(); |
YPA_YPA | 2:ce24c50fc0a6 | 323 | command[1] = button_D2.read(); //复制指令 |
an_xuanyu | 1:47967167a3a6 | 324 | turn=turn+1; |
an_xuanyu | 1:47967167a3a6 | 325 | if(turn==15) { |
cbs27 | 0:a9ef8a5c769a | 326 | turn=0; |
cbs27 | 0:a9ef8a5c769a | 327 | }//各种计数 |
cbs27 | 0:a9ef8a5c769a | 328 | bullet_cont++; |
an_xuanyu | 1:47967167a3a6 | 329 | if(bullet_cont==3) { |
cbs27 | 0:a9ef8a5c769a | 330 | bullet_cont=0; |
an_xuanyu | 1:47967167a3a6 | 331 | } |
an_xuanyu | 1:47967167a3a6 | 332 | |
YPA_YPA | 2:ce24c50fc0a6 | 333 | for(tank_count=0; tank_count<tank_num-level; tank_count++) { |
YPA_YPA | 2:ce24c50fc0a6 | 334 | if(tank_count!=0&&hp[tank_count]!=0) { |
an_xuanyu | 1:47967167a3a6 | 335 | stop=0; |
an_xuanyu | 1:47967167a3a6 | 336 | t_pre[tank_count][0]=t[tank_count][0]; |
an_xuanyu | 1:47967167a3a6 | 337 | t_pre[tank_count][1]=t[tank_count][1]; |
an_xuanyu | 1:47967167a3a6 | 338 | trace[tank_count][0]=(ai_changetime[tank_count-1]<turn)^ai_mod[tank_count-1]^(t[tank_count][0]>t[0][0]);//1代表坦克1在坦克2的下方 |
an_xuanyu | 1:47967167a3a6 | 339 | trace[tank_count][1]=(ai_changetime[tank_count-1]<turn)^ai_mod[tank_count-1]^(t[tank_count][1]>t[0][1]);//1代表坦克1在坦克2的右 |
an_xuanyu | 1:47967167a3a6 | 340 | trace[tank_count][2]=(abs(t[0][0]-t[tank_count][0]))>(abs(t[0][1]-t[tank_count][1]));//1代表坦克竖直距离大于水平距离 |
an_xuanyu | 1:47967167a3a6 | 341 | for(a=0; a<4; a++) { |
an_xuanyu | 1:47967167a3a6 | 342 | tank_state[tank_count]=2*(!((a%2)^trace[tank_count][2]))+(!((a>>1)^trace[tank_count][0]))*((a%2)^trace[tank_count][2])+(!((a>>1)^trace[tank_count][1]))*(!((a%2)^trace[tank_count][2])); |
an_xuanyu | 1:47967167a3a6 | 343 | t_pre[tank_count][0]=t[tank_count][0]+(!(tank_state[tank_count]>>1))*(2*(tank_state[tank_count]%2)-1); |
an_xuanyu | 1:47967167a3a6 | 344 | t_pre[tank_count][1]=t[tank_count][1]+(tank_state[tank_count]>>1)*(2*(tank_state[tank_count]%2)-1); |
an_xuanyu | 1:47967167a3a6 | 345 | if((map_adj[t_pre[tank_count][0]][t_pre[tank_count][1]]==0)&&(t_pre[tank_count][1]>=0)&&(t_pre[tank_count][1]<=10)&&(t_pre[tank_count][0]>=0)&&(t_pre[tank_count][0]<=8)) { |
an_xuanyu | 1:47967167a3a6 | 346 | break; |
an_xuanyu | 1:47967167a3a6 | 347 | } |
an_xuanyu | 1:47967167a3a6 | 348 | if(a==3) stop=1; |
cbs27 | 0:a9ef8a5c769a | 349 | } |
an_xuanyu | 1:47967167a3a6 | 350 | map_adj[t[tank_count][0]][t[tank_count][1]]=0; |
an_xuanyu | 1:47967167a3a6 | 351 | if(stop==0) { |
an_xuanyu | 1:47967167a3a6 | 352 | t[tank_count][tank_state[tank_count]>>1]=t[tank_count][tank_state[tank_count]>>1]+2*(tank_state[tank_count]%2)-1; |
an_xuanyu | 1:47967167a3a6 | 353 | } |
an_xuanyu | 1:47967167a3a6 | 354 | map_adj[t[tank_count][0]][t[tank_count][1]]=tank_count+3; |
YPA_YPA | 2:ce24c50fc0a6 | 355 | bullet_val[tank_count][bullet_cont]=1; //坦克发射炮弹技炮弹坐标方向计算 |
YPA_YPA | 2:ce24c50fc0a6 | 356 | bullet_direct[tank_count][bullet_cont]=tank_state[tank_count]; |
YPA_YPA | 2:ce24c50fc0a6 | 357 | b[tank_count][bullet_cont][0]=t[tank_count][0]; |
YPA_YPA | 2:ce24c50fc0a6 | 358 | b[tank_count][bullet_cont][1]=t[tank_count][1]; |
YPA_YPA | 2:ce24c50fc0a6 | 359 | } else if(hp[tank_count]!=0&&tank_count==0) { |
YPA_YPA | 2:ce24c50fc0a6 | 360 | command[3]=(~command[0])&(~command[1])&(~command[2])&command[3]; |
YPA_YPA | 2:ce24c50fc0a6 | 361 | command[2]=(~command[0])&(~command[1])&command[2]; |
YPA_YPA | 2:ce24c50fc0a6 | 362 | command[1]=(~command[0])&command[1]; |
YPA_YPA | 2:ce24c50fc0a6 | 363 | command[0]=command[0]; |
YPA_YPA | 2:ce24c50fc0a6 | 364 | |
an_xuanyu | 1:47967167a3a6 | 365 | map_adj[t[tank_count][0]][t[tank_count][1]]=0; |
an_xuanyu | 1:47967167a3a6 | 366 | t[tank_count][0]=t[tank_count][0]-command[0]+command[1]; |
an_xuanyu | 1:47967167a3a6 | 367 | t[tank_count][1]=t[tank_count][1]-command[2]+command[3];//指令控制坦克 |
an_xuanyu | 1:47967167a3a6 | 368 | |
an_xuanyu | 1:47967167a3a6 | 369 | if(map_adj[t[tank_count][0]][t[tank_count][1]]!=0||t[tank_count][1]<0||t[tank_count][1]>10||t[tank_count][0]<0||t[tank_count][0]>8) { |
an_xuanyu | 1:47967167a3a6 | 370 | t[tank_count][0]=t[tank_count][0]+command[0]-command[1]; |
an_xuanyu | 1:47967167a3a6 | 371 | t[tank_count][1]=t[tank_count][1]+command[2]-command[3]; |
an_xuanyu | 1:47967167a3a6 | 372 | }//障碍物判断,前方有障碍物时指令无效 |
an_xuanyu | 1:47967167a3a6 | 373 | map_adj[t[tank_count][0]][t[tank_count][1]]=tank_count+3; |
an_xuanyu | 1:47967167a3a6 | 374 | if(command[0]||command[1]||command[2]||command[3]) { |
an_xuanyu | 1:47967167a3a6 | 375 | tank_state[tank_count]=command[1]*1+command[2]*2+command[3]*3; |
an_xuanyu | 1:47967167a3a6 | 376 | } //坦克方向计算 |
YPA_YPA | 2:ce24c50fc0a6 | 377 | if (joy_button2.read()==0) { |
YPA_YPA | 2:ce24c50fc0a6 | 378 | bullet_val[tank_count][bullet_cont]=1; //坦克发射炮弹技炮弹坐标方向计算 |
YPA_YPA | 2:ce24c50fc0a6 | 379 | bullet_direct[tank_count][bullet_cont]=tank_state[tank_count]; |
YPA_YPA | 2:ce24c50fc0a6 | 380 | b[tank_count][bullet_cont][0]=t[tank_count][0]; |
YPA_YPA | 2:ce24c50fc0a6 | 381 | b[tank_count][bullet_cont][1]=t[tank_count][1]; |
YPA_YPA | 2:ce24c50fc0a6 | 382 | } |
cbs27 | 0:a9ef8a5c769a | 383 | } |
YPA_YPA | 2:ce24c50fc0a6 | 384 | |
cbs27 | 0:a9ef8a5c769a | 385 | } |
an_xuanyu | 1:47967167a3a6 | 386 | |
an_xuanyu | 1:47967167a3a6 | 387 | } |
YPA_YPA | 2:ce24c50fc0a6 | 388 | for(tank_count=0; tank_count<tank_num-level; tank_count++) { //游戏里坦克依次进行运算 |
YPA_YPA | 2:ce24c50fc0a6 | 389 | if(hp[tank_count]!=0) { |
YPA_YPA | 2:ce24c50fc0a6 | 390 | for(n=0; n<bullet_v; n++) { //炮弹比坦克快三倍运算也快三倍 |
YPA_YPA | 2:ce24c50fc0a6 | 391 | b[tank_count][n][0]=b[tank_count][n][0]+(!(bullet_direct[tank_count][n]>>1))*(-1+2*(bullet_direct[tank_count][n]%2)); |
YPA_YPA | 2:ce24c50fc0a6 | 392 | b[tank_count][n][1]=b[tank_count][n][1]+(bullet_direct[tank_count][n]>>1)*(-1+2*(bullet_direct[tank_count][n]%2));//炮弹坐标刷新 |
YPA_YPA | 2:ce24c50fc0a6 | 393 | if(b[tank_count][n][1]>=0&&b[tank_count][n][1]<=10&&b[tank_count][n][0]>=0&&b[tank_count][n][0]<=8&&bullet_val[tank_count][n]==1) { |
YPA_YPA | 2:ce24c50fc0a6 | 394 | //炮弹有效且未出界 |
YPA_YPA | 2:ce24c50fc0a6 | 395 | obj_kind=map_adj[b[tank_count][n][0]][b[tank_count][n][1]]; |
YPA_YPA | 2:ce24c50fc0a6 | 396 | hit=(((tank_count==0)+(obj_kind<4))%2)&&(obj_kind>=3); |
YPA_YPA | 2:ce24c50fc0a6 | 397 | if(obj_kind==0) { //炮弹无障碍飞行的情况 |
YPA_YPA | 2:ce24c50fc0a6 | 398 | lcd2.drawSprite(b[tank_count][n][1]*7+3,b[tank_count][n][0]*5+1,5,7,(int *)bullet); |
YPA_YPA | 2:ce24c50fc0a6 | 399 | } else if (obj_kind==2) { //炮弹打到灌木的情况 |
YPA_YPA | 2:ce24c50fc0a6 | 400 | lcd2.drawSprite(b[tank_count][n][1]*7+3,b[tank_count][n][0]*5+1,5,7,(int *)destroyed_bush); |
YPA_YPA | 2:ce24c50fc0a6 | 401 | map_adj[b[tank_count][n][0]][b[tank_count][n][1]]=0; |
YPA_YPA | 2:ce24c50fc0a6 | 402 | bullet_val[tank_count][n]=0; |
YPA_YPA | 2:ce24c50fc0a6 | 403 | } else if (obj_kind==1) { //炮弹打墙的情况 |
YPA_YPA | 2:ce24c50fc0a6 | 404 | bullet_val[tank_count][n]=0; |
YPA_YPA | 2:ce24c50fc0a6 | 405 | } else if(obj_kind>=3&&hit) { //炮弹击杀坦克的情况 |
YPA_YPA | 2:ce24c50fc0a6 | 406 | tank_des=map_adj[b[tank_count][n][0]][b[tank_count][n][1]]-3; |
YPA_YPA | 2:ce24c50fc0a6 | 407 | map_adj[b[tank_count][n][0]][b[tank_count][n][1]]=0; |
YPA_YPA | 2:ce24c50fc0a6 | 408 | lcd2.drawSprite(t[tank_des][1]*7+3,t[tank_des][0]*5+1,5,7,(int *)tank_exp); |
YPA_YPA | 2:ce24c50fc0a6 | 409 | t[tank_des][0]=t_start[tank_des][0]; |
YPA_YPA | 2:ce24c50fc0a6 | 410 | t[tank_des][1]=t_start[tank_des][1];//坦克回出生点 |
YPA_YPA | 2:ce24c50fc0a6 | 411 | hp[tank_des]=hp[tank_des]-1;//血量减一 |
YPA_YPA | 2:ce24c50fc0a6 | 412 | bullet_val[tank_count][n]=0;//炮弹失效 |
YPA_YPA | 2:ce24c50fc0a6 | 413 | if(hp[0]==0) { |
YPA_YPA | 2:ce24c50fc0a6 | 414 | return 0; |
YPA_YPA | 2:ce24c50fc0a6 | 415 | } else if((hp[1]+hp[2]+hp[3])==0) { |
YPA_YPA | 2:ce24c50fc0a6 | 416 | return 1; |
YPA_YPA | 2:ce24c50fc0a6 | 417 | } |
YPA_YPA | 2:ce24c50fc0a6 | 418 | } |
YPA_YPA | 2:ce24c50fc0a6 | 419 | } |
cbs27 | 0:a9ef8a5c769a | 420 | } |
an_xuanyu | 1:47967167a3a6 | 421 | } |
an_xuanyu | 1:47967167a3a6 | 422 | } |
cbs27 | 0:a9ef8a5c769a | 423 | shoot=shoot+1; |
an_xuanyu | 1:47967167a3a6 | 424 | if(shoot==bullet_v) { |
cbs27 | 0:a9ef8a5c769a | 425 | shoot=0; |
an_xuanyu | 1:47967167a3a6 | 426 | } |
YPA_YPA | 2:ce24c50fc0a6 | 427 | lcd2.refresh(); // refresh the lcd2 so the pixels appear |
cbs27 | 0:a9ef8a5c769a | 428 | wait_ms(600/bullet_v); // 画面按炮弹移动s时间刷新,600为坦克移动时间 |
cbs27 | 0:a9ef8a5c769a | 429 | } |
cbs27 | 0:a9ef8a5c769a | 430 | } |
YPA_YPA | 2:ce24c50fc0a6 | 431 | void init_buttons2() |
an_xuanyu | 1:47967167a3a6 | 432 | { |
cbs27 | 0:a9ef8a5c769a | 433 | // PCB has external pull-down resistors so turn the internal ones off |
cbs27 | 0:a9ef8a5c769a | 434 | // (default for DigitalIn) |
YPA_YPA | 2:ce24c50fc0a6 | 435 | button_A2.mode(PullNone); |
YPA_YPA | 2:ce24c50fc0a6 | 436 | button_B2.mode(PullNone); |
YPA_YPA | 2:ce24c50fc0a6 | 437 | button_C2.mode(PullNone); |
YPA_YPA | 2:ce24c50fc0a6 | 438 | button_D2.mode(PullNone); |
YPA_YPA | 2:ce24c50fc0a6 | 439 | } |
YPA_YPA | 2:ce24c50fc0a6 | 440 | void main1() |
YPA_YPA | 2:ce24c50fc0a6 | 441 | { |
YPA_YPA | 2:ce24c50fc0a6 | 442 | int result; |
YPA_YPA | 2:ce24c50fc0a6 | 443 | result=body(1); |
YPA_YPA | 2:ce24c50fc0a6 | 444 | if (result==0) { |
YPA_YPA | 2:ce24c50fc0a6 | 445 | lcd2.clear(); |
YPA_YPA | 2:ce24c50fc0a6 | 446 | lcd2.printString("Game Over", 15, 1); |
YPA_YPA | 2:ce24c50fc0a6 | 447 | lcd2.printString("You lose:", 17, 3); |
YPA_YPA | 2:ce24c50fc0a6 | 448 | lcd2.refresh(); |
YPA_YPA | 2:ce24c50fc0a6 | 449 | wait(1); |
YPA_YPA | 2:ce24c50fc0a6 | 450 | while(1) { |
YPA_YPA | 2:ce24c50fc0a6 | 451 | if (button_A2.read() == 1) { |
YPA_YPA | 2:ce24c50fc0a6 | 452 | main(); |
YPA_YPA | 2:ce24c50fc0a6 | 453 | } |
YPA_YPA | 2:ce24c50fc0a6 | 454 | } |
YPA_YPA | 2:ce24c50fc0a6 | 455 | } else if (result==1) { |
YPA_YPA | 2:ce24c50fc0a6 | 456 | lcd2.clear(); |
YPA_YPA | 2:ce24c50fc0a6 | 457 | lcd2.printString("Level 1: win", 10, 1); |
YPA_YPA | 2:ce24c50fc0a6 | 458 | lcd2.printString("A:Next level", 10, 3); |
YPA_YPA | 2:ce24c50fc0a6 | 459 | lcd2.refresh(); |
YPA_YPA | 2:ce24c50fc0a6 | 460 | wait(1); |
YPA_YPA | 2:ce24c50fc0a6 | 461 | while(1) { |
YPA_YPA | 2:ce24c50fc0a6 | 462 | if (button_A2.read() == 1) { |
YPA_YPA | 2:ce24c50fc0a6 | 463 | result=body(0); |
YPA_YPA | 2:ce24c50fc0a6 | 464 | if(result==0) { |
YPA_YPA | 2:ce24c50fc0a6 | 465 | lcd2.clear(); |
YPA_YPA | 2:ce24c50fc0a6 | 466 | lcd2.printString("Game Over", 15, 1); |
YPA_YPA | 2:ce24c50fc0a6 | 467 | lcd2.printString("You lose:", 17, 3); |
YPA_YPA | 2:ce24c50fc0a6 | 468 | lcd2.refresh(); |
YPA_YPA | 2:ce24c50fc0a6 | 469 | } else if (result==1) { |
YPA_YPA | 2:ce24c50fc0a6 | 470 | lcd2.clear(); |
YPA_YPA | 2:ce24c50fc0a6 | 471 | lcd2.printString("You win", 20, 1); |
YPA_YPA | 2:ce24c50fc0a6 | 472 | lcd2.printString("A:Menu", 25, 3); |
YPA_YPA | 2:ce24c50fc0a6 | 473 | lcd2.refresh(); |
YPA_YPA | 2:ce24c50fc0a6 | 474 | |
YPA_YPA | 2:ce24c50fc0a6 | 475 | } |
YPA_YPA | 2:ce24c50fc0a6 | 476 | wait(1); |
YPA_YPA | 2:ce24c50fc0a6 | 477 | while(1) { |
YPA_YPA | 2:ce24c50fc0a6 | 478 | if (button_A2.read() == 1) { |
YPA_YPA | 2:ce24c50fc0a6 | 479 | main(); |
YPA_YPA | 2:ce24c50fc0a6 | 480 | } |
YPA_YPA | 2:ce24c50fc0a6 | 481 | } |
YPA_YPA | 2:ce24c50fc0a6 | 482 | } |
YPA_YPA | 2:ce24c50fc0a6 | 483 | } |
YPA_YPA | 2:ce24c50fc0a6 | 484 | } |
cbs27 | 0:a9ef8a5c769a | 485 | } |