menu * { .cross the street:{ /new } } alias new { window -pdk0 +fxnbt @Cross clear @cross /drawdot @cross 03 1000 1 1 /drawline @cross 15 120 1 132 850 132 /drawline @cross 15 120 1 347 850 347 /drawline @cross 8 10 1 132 850 132 /drawline @cross 8 10 1 347 850 347 /drawdot @cross 12 20 380 500 set %.x 380 set %.y 500 } menu @cross { mouse: echo mouse moved to $mouse.x $mouse.y sclick { if (%gameover) { /new } } } on *:keydown:@cross:37,38,39,40:{ if (%gameover) { window -c @cross //echo -a The game was over nub halt } if ($keyval == 37) { $iif(%col,drawreplace -r @cross $color(12) %col %.x %.y, drawreplace @cross 12 03 %.x %.y) Set %.x $calc(%x - 15) set %col $getdot(@cross,%.x,%.y) drawdot @cross 12 20 %.x %.y } if ($keyval == 38) { $iif(%col,drawreplace -r @cross $color(12) %col, drawreplace @cross 12 03) set %.y $calc(%.y - 15) set %col $getdot(@cross,%.x,%.y) drawdot @cross 12 20 %.x %.y } if ($keyval == 39) { $iif(%col,drawreplace -r @cross $color(12) %col, drawreplace @cross 12 03) set %.x $calc(%x + 15) set %col $getdot(@cross,%.x,%.y) drawdot @cross 12 20 %.x %.y } if ($keyval == 40) { $iif(%col,drawreplace -r @cross $color(12) %col, drawreplace @cross 12 03) set %.y $calc(%.y + 15) set %col $getdot(@cross,%.x,%.y) drawdot @cross 12 20 %.x %.y } if (%col == 225) { /drawtext @cross 4 370 250 20 20 Game over, Click to play again! set %gameover yes unset %col } } on *:close:@cross:{ unset %col unset %gameover }