summaryrefslogtreecommitdiff
path: root/sys/src/games/mines/mines.c
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2018-03-10 14:40:34 +0000
committeraiju <devnull@localhost>2018-03-10 14:40:34 +0000
commit7ca11774a1a78dcfa520f35a60d6ce34c2dc724a (patch)
treeb62491e6e6ecc7005edb21d8e6ac0a0a1838e4b2 /sys/src/games/mines/mines.c
parentb7d31909f6258a36d00cb2bc2ef08687d6817755 (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.c12
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':