From 0403e99362b2a88adec5e3454b831e9f1e57bdac Mon Sep 17 00:00:00 2001 From: Thammi Date: Thu, 11 Aug 2011 17:35:17 +0200 Subject: [PATCH 1/5] Adding a very small tron/snake like game --- firmware/l0dable/tron.c | 98 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 firmware/l0dable/tron.c diff --git a/firmware/l0dable/tron.c b/firmware/l0dable/tron.c new file mode 100644 index 0000000..4fb8428 --- /dev/null +++ b/firmware/l0dable/tron.c @@ -0,0 +1,98 @@ +#include +#include + +#include "basic/basic.h" +#include "basic/random.h" +#include "lcd/display.h" +#include "usetable.h" + +void randomizeCoin(int* x, int* y); + +void ram() { + int key; + + int d = 0; + int x = RESX / 2; + int y = RESY / 2; + + int p = 0; + int q, r; + + randomizeCoin(&q, &r); + + lcdClear(); + + while (1) { + // display + lcdSetPixel(q, r, p % 3); + lcdSetPixel(x, y, 1); + lcdDisplay(); + + // wait + + delayms(20); + + // input + + key=getInputRaw(); + + switch(key) { + case BTN_RIGHT: + d = 3; + break; + case BTN_LEFT: + d = 2; + break; + case BTN_UP: + d = 0; + break; + case BTN_DOWN: + d = 1; + break; + case BTN_ENTER: + return; + } + + // step + + if(d > 1) { + x = (RESX + x + (d & 1) * 2 - 1) % RESX; + } else { + y = (RESY + y + d * 2 - 1) % RESY; + } + + p += 1; + + // collision + + if(x == q && y == r) { + p += 99; + randomizeCoin(&q, &r); + } else if(lcdGetPixel(x, y)) { + lcdClear(); + lcdPrintln("You lost!"); + lcdNl(); + lcdPrintInt(p); + lcdPrintln(" points"); + lcdDisplay(); + + while(getInputRaw() != BTN_ENTER); + + return; + } + } + return; +} + +void randomizeCoin(int* x, int* y) { + // WARNING: if you are really got at this the game freezes :D + for(;;) { + *x = getRandom() % RESX; + *y = getRandom() % RESY; + + if(!lcdGetPixel(*x, *y)) { + return; + } + } +} + From efbb72a31de80080a4e61805ff218279c8f387c0 Mon Sep 17 00:00:00 2001 From: Thammi Date: Thu, 11 Aug 2011 17:42:30 +0200 Subject: [PATCH 2/5] Adding author and license information to tron --- firmware/l0dable/tron.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/firmware/l0dable/tron.c b/firmware/l0dable/tron.c index 4fb8428..52a6978 100644 --- a/firmware/l0dable/tron.c +++ b/firmware/l0dable/tron.c @@ -1,3 +1,7 @@ +/* + * Pizzaware by Thammi from Pentaville + */ + #include #include From e3b1ff3a22ea0608f5ecc56dcde47149cf92a381 Mon Sep 17 00:00:00 2001 From: Thammi Date: Fri, 12 Aug 2011 21:41:06 +0200 Subject: [PATCH 3/5] Getting personal when losing tron --- firmware/l0dable/tron.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/firmware/l0dable/tron.c b/firmware/l0dable/tron.c index 52a6978..419a1a9 100644 --- a/firmware/l0dable/tron.c +++ b/firmware/l0dable/tron.c @@ -74,7 +74,11 @@ void ram() { randomizeCoin(&q, &r); } else if(lcdGetPixel(x, y)) { lcdClear(); - lcdPrintln("You lost!"); + lcdPrint("You failed,"); + lcdNl(); + lcdPrint(nickname); + lcdPrint("!"); + lcdNl(); lcdNl(); lcdPrintInt(p); lcdPrintln(" points"); From e0ad56aebc3608f10392e469d4a99c98a3862e82 Mon Sep 17 00:00:00 2001 From: Thammi Date: Fri, 12 Aug 2011 21:42:13 +0200 Subject: [PATCH 4/5] Removing pizzaware licence to use bsd --- firmware/l0dable/tron.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/l0dable/tron.c b/firmware/l0dable/tron.c index 419a1a9..78d6364 100644 --- a/firmware/l0dable/tron.c +++ b/firmware/l0dable/tron.c @@ -1,5 +1,5 @@ /* - * Pizzaware by Thammi from Pentaville + * coded by Thammi from Pentaville */ #include From 7f15ac9a4cc4ad747e8eb29e6b823d3927fe4c9b Mon Sep 17 00:00:00 2001 From: Thammi Date: Fri, 12 Aug 2011 23:08:45 +0200 Subject: [PATCH 5/5] Fixing village name --- firmware/l0dable/tron.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/l0dable/tron.c b/firmware/l0dable/tron.c index 78d6364..c238fd5 100644 --- a/firmware/l0dable/tron.c +++ b/firmware/l0dable/tron.c @@ -1,5 +1,5 @@ /* - * coded by Thammi from Pentaville + * coded by Thammi from Pentagon Village */ #include