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.
Fork of manworm_ticker_tv by
Revision 5:2859a892497f, committed 2017-11-20
- Comitter:
- bwang
- Date:
- Mon Nov 20 02:32:57 2017 +0000
- Parent:
- 4:02e3ae7a3aea
- Child:
- 6:0a34891a82c7
- Commit message:
- drav now has man, less wavy
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Nov 19 07:05:01 2017 +0000
+++ b/main.cpp Mon Nov 20 02:32:57 2017 +0000
@@ -185,6 +185,16 @@
0,0,0,1,0,0,0,
0,0,0,1,0,0,0,};
+uint8_t sprite_man[] = {
+0,0,0,1,0,0,0,
+0,0,1,1,1,0,0,
+0,0,0,1,0,0,1,
+0,1,1,1,1,1,0,
+1,0,1,1,1,0,0,
+0,0,1,1,1,0,0,
+0,1,0,0,0,1,0,
+0,1,0,0,0,1,0};
+
uint16_t l=0; //current line of scan
uint8_t im_line_s[H_RES]; //image sync buffer
@@ -727,7 +737,7 @@
{
for(int x = SX_MIN + x0; x < SX_MIN + x0 + 7; x++)
{
- im_line_va[H_RES*y + x] = chr[bmi];
+ if (chr[bmi]) im_line_va[H_RES*y + x] = chr[bmi];
bmi++;
}
}
@@ -737,9 +747,9 @@
for (int y = SY_MIN; y < SY_MAX; y++) {
int tunw = 30 * (y) / TUN_LEN;
int yy = SY_MAX-(SY_MAX-y)*3/4;
- for (int x = SX_MIN; x < SX_MIN + tunnel[y - SY_MIN]; x++) im_line_va[H_RES*yy+x] = 1;
+ for (int x = SX_MIN; x < SX_MIN + tunnel[y - SY_MIN]; x++) im_line_va[H_RES*yy+x] = (x&1)^(y&1);
for (int x = SX_MIN + tunnel[y - SY_MIN]; x < SX_MIN + tunnel[y - SY_MIN] + tunw; x++) im_line_va[H_RES*yy+x] = 0;
- for (int x = SX_MIN + tunnel[y - SY_MIN] + tunw; x < SX_MAX; x++) im_line_va[H_RES*yy+x] = 1;
+ for (int x = SX_MIN + tunnel[y - SY_MIN] + tunw; x < SX_MAX; x++) im_line_va[H_RES*yy+x] = (x&1)^(y&1);
}
}
@@ -765,9 +775,9 @@
void update_tunnel() {
for (int j = TUN_LEN-1; j > 0; j--) tunnel[j] = tunnel[j-1];
- int x = rand() % 8;
+ int x = rand() % 48;
if (x == 0) tundir = -tundir;
- tunnel[0] = tunnel[0]+tundir;
+ if (x > 24) tunnel[0] = tunnel[0]+tundir;
if (tunnel[0] < 1) {
tunnel[0] = 1;
@@ -782,13 +792,13 @@
int cmd1 = p1_in.read();
int cmd2 = p2_in.read();
- if (cmd1) tunnp+=1;
- if (cmd2) tunnp-=1;
- if (tunnp<SX_MIN+1) tunnp = SX_MIN+1;
- if (tunnp>SX_MAX-1) tunnp = SX_MAX-1;
- im_line_va[H_RES*SY_MAX+(int)tunnp] = 1;
+ if (cmd1) tunnp+=1.0f;
+ if (cmd2) tunnp-=1.0f;
+ if (tunnp<SX_MIN+8) tunnp = SX_MIN+8;
+ if (tunnp>SX_MAX-8) tunnp = SX_MAX-8;
+ dispsprite((int)(tunnp-SX_MIN), 31, sprite_man);
- wait(0.007);
+ wait(0.01);
}
int main() {
potato:
