All pastes #1242553 Raw Edit

Miscellany

public text v1 · immutable
#1242553 ·published 2008-11-01 19:20 UTC
rendered paste body
menu * {
  ScoreGame: /game
}

alias game {
  if (%game == on) { echo -a [GAME] There is already a game started. | halt }
  else {
    %game = on
    %score = 0
    window -pd @Game -1 -1 400 450
    drawtext @game 12 Tahoma 20 10 10 %score
    %dotsize = 20
    %mouse.x = 200 
    %mouse.y = 200
    drawfill @Game 0 0 1 1
    %matchdot.x = $calc($r(5,35) *10) 
    %matchdot.y = $calc($r(5,35) *10) 
    drawdot @Game 4 %dotsize %matchdot.x %matchdot.y
    drawdot @Game 1 %dotsize %mouse.x %mouse.y
    %timer = 60
  }
}

ON *:KEYDOWN:@Game:*: {

  clear -n @game
  drawfill -n @Game 0 0 1 1
  drawtext -n @game 12 Tahoma 20 10 10 %score
  drawdot -n @Game 4 %dotsize %matchdot.x %matchdot.y
  if ($keyval == 37) { 
    %mouse.x = $calc(%mouse.x - 10) 
    drawdot -n @Game 1 %dotsize %mouse.x %mouse.y 
  } 
  elseif ($keyval == 38) { 
    %mouse.y = $calc(%mouse.y - 10) 
    drawdot -n @Game 1 %dotsize %mouse.x %mouse.y 
  } 
  elseif ($keyval == 39) { 
    %mouse.x = $calc(%mouse.x + 10) 
    drawdot -n @Game 1 %dotsize %mouse.x %mouse.y 
  } 
  elseif ($keyval == 40) { 
    %mouse.y = $calc(%mouse.y + 10) 
    drawdot -n @Game 1 %dotsize %mouse.x %mouse.y 
  } 
  if (%mouse.x == %matchdot.x && %mouse.y == %matchdot.y) {
    clear @game
    %matchdot.x = $calc($r(5,35) *10) 
    %matchdot.y = $calc($r(5,35) *10) 
    drawdot -n @Game 4 %dotsize %matchdot.x %matchdot.y
    inc %score
    drawtext -n @game 12 Tahoma 20 10 10 %score
    %mouse.x = %mouse.x
    %mouse.y = %mouse.y
    drawdot -n @Game 1 %dotsize %mouse.x %mouse.y
  }
  drawdot @Game
}

ON *:CLOSE:@Game: {
  unset %game
  echo -a [SCORE] You scored %score points in this game!
  unset %score
}