summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-05-07 15:19:41 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2016-05-07 15:19:41 +0200
commit45e2b4dfe9570aefe3e5f2a8b7af956b7365f522 (patch)
tree85bc2e274f4200c6e29995a00d53fbac39d59f6b /sys
parent8ac8b3e064f26a1e490accd16d1da30f9d6bb926 (diff)
games/mahjongg: off by one in bmatch(), fix hint() redraw (thanks Kenji)
Diffstat (limited to 'sys')
-rw-r--r--sys/src/games/mahjongg/graphics.c28
-rw-r--r--sys/src/games/mahjongg/logic.c2
2 files changed, 19 insertions, 11 deletions
diff --git a/sys/src/games/mahjongg/graphics.c b/sys/src/games/mahjongg/graphics.c
index f93811d4a..c406f7953 100644
--- a/sys/src/games/mahjongg/graphics.c
+++ b/sys/src/games/mahjongg/graphics.c
@@ -135,7 +135,7 @@ void
hint(void)
{
int d = 0, x = 0, y = 0;
- Brick *b = nil;
+ Brick *a, *b = nil;
if(level.c.d != -1) {
if((b = bmatch(level.c)) != nil) {
@@ -154,24 +154,32 @@ hint(void)
Matched:
if (b == nil)
return;
- level.board[d][x][y].clicked = 1;
+
+ a = &level.board[d][x][y];
+ a->clicked = 1;
+ a->redraw = 1;
b->clicked = 1;
b->redraw = 1;
updatelevel();
- sleep(500);
- if(level.c.d == -1)
- level.board[d][x][y].clicked = 0;
+ sleep(100);
+ if(level.c.d == -1){
+ a->clicked = 0;
+ a->redraw = 1;
+ }
b->clicked = 0;
b->redraw = 1;
updatelevel();
- sleep(500);
- level.board[d][x][y].clicked = 1;
+ sleep(100);
+ a->clicked = 1;
+ a->redraw = 1;
b->clicked = 1;
b->redraw = 1;
updatelevel();
- sleep(500);
- if(level.c.d == -1)
- level.board[d][x][y].clicked = 0;
+ sleep(100);
+ if(level.c.d == -1){
+ a->clicked = 0;
+ a->redraw = 1;
+ }
b->clicked = 0;
b->redraw = 1;
updatelevel();
diff --git a/sys/src/games/mahjongg/logic.c b/sys/src/games/mahjongg/logic.c
index ff65d457a..be4d23687 100644
--- a/sys/src/games/mahjongg/logic.c
+++ b/sys/src/games/mahjongg/logic.c
@@ -77,7 +77,7 @@ bmatch(Click c)
{
Click lc;
- lc = cmatch(c, Depth);
+ lc = cmatch(c, Depth - 1);
if(lc.d == -1)
return nil;
else