diff options
author | aiju <devnull@localhost> | 2018-03-10 14:40:34 +0000 |
---|---|---|
committer | aiju <devnull@localhost> | 2018-03-10 14:40:34 +0000 |
commit | 7ca11774a1a78dcfa520f35a60d6ce34c2dc724a (patch) | |
tree | b62491e6e6ecc7005edb21d8e6ac0a0a1838e4b2 /sys/src/games/mines/mines.c | |
parent | b7d31909f6258a36d00cb2bc2ef08687d6817755 (diff) |
games/mines: build a better ghost trap
Diffstat (limited to 'sys/src/games/mines/mines.c')
-rw-r--r-- | sys/src/games/mines/mines.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/src/games/mines/mines.c b/sys/src/games/mines/mines.c index d9d15ce18..80d3f3e94 100644 --- a/sys/src/games/mines/mines.c +++ b/sys/src/games/mines/mines.c @@ -2,6 +2,7 @@ #include <libc.h> #include <draw.h> #include <event.h> +#include <mp.h> #include "dat.h" #include "fns.h" @@ -533,6 +534,7 @@ void main(int argc, char **argv) { Event Event; Point CurrentCell, Cell = Pt(-1, -1); + GhostInit(); Etimer = etimer(0, UseGhost ? 10 : 1000); LastAction = nsec(); @@ -541,7 +543,7 @@ void main(int argc, char **argv) { if(Key == Etimer) { - if(nsec() - LastAction > 5000000000ULL && LastMouse.buttons == 0) + if(nsec() - LastAction > 1000000000ULL && LastMouse.buttons == 0) GhostMode(); if(++Counter == (UseGhost ? 100 : 1)){ @@ -556,11 +558,11 @@ void main(int argc, char **argv) { if(Key == Emouse) { - if(!eqpt(LastMouse.xy, Event.mouse.xy) || LastMouse.buttons != Event.mouse.buttons){ + if(!GhostCheck(Event.mouse.xy) || LastMouse.buttons != Event.mouse.buttons){ LastAction = nsec(); - GhostReset(); + LastMouse = Event.mouse; + GhostReset(Event.mouse.buttons != 0); } - LastMouse = Event.mouse; /* mouse over button? */ CurrentButton = FALSE; @@ -666,7 +668,7 @@ void main(int argc, char **argv) { if(Key == Ekeyboard) { LastAction = nsec(); - GhostReset(); + GhostReset(1); switch(Event.kbdc) { case 'n': |