CONST true
= -1, false
= 0
boardX = 0
block
(i
).w
= _WIDTH(canvas
) \
2
i = 0
i = i + 1: block(i).x = 0: block(i).y = 0
block(i).note = "o3c" 'green
block
(i
).high
= _RGB32(0, 155, 0)block
(i
).low
= _RGB32(0, 78, 0)
i
= i
+ 1: block
(i
).x
= 0: block
(i
).y
= _HEIGHT(canvas
) \
2block(i).note = "o2e" 'red
block
(i
).high
= _RGB32(227, 0, 0)block
(i
).low
= _RGB32(78, 0, 0)
i
= i
+ 1: block
(i
).x
= _WIDTH(canvas
) \
2: block
(i
).y
= 0block(i).note = "o2g" 'yellow
block
(i
).high
= _RGB32(194, 194, 0)block
(i
).low
= _RGB32(161, 116, 0)
i
= i
+ 1: block
(i
).x
= _WIDTH(canvas
) \
2: block
(i
).y
= _HEIGHT(canvas
) \
2block(i).note = "o2b" 'blue
block
(i
).high
= _RGB32(0, 105, 233)block
(i
).low
= _RGB32(0, 0, 78)
goal = initialGoal
gameOver = false
inGame = false
goal = initialGoal
resetSequence
goal = goal + 2
addNote
playSequence
getSequence
IF gameOver
THEN resetSequence
showMenu
DIM AS _BYTE mouseIsDown
, mouseDownOnStart
, startButtonHovered
m$ = "< Start >"
drawBoard
mouseIsDown = true
mouseDownOnStart = false
IF startButtonHovered
THEN mouseDownOnStart
= true
IF mouseDownOnStart
AND startButtonHovered
THEN inGame = true
mouseIsDown = false
DIM AS LONG i
, index
, mouseDownOn
, mx
, my
, check
index = 0
mouseIsDown = false
mouseDownOn = 0
IF timeElapsedSince
(start!
) > 3 THEN gameOver = true
drawBoard
mouseIsDown = true
IF mx
>= block
(i
).x
AND mx
<= block
(i
).x
+ block
(i
).w
AND my
>= block
(i
).y
AND my
<= block
(i
).y
+ block
(i
).h
THEN mouseDownOn = i
IF mx
>= block
(i
).x
AND mx
<= block
(i
).x
+ block
(i
).w
AND my
>= block
(i
).y
AND my
<= block
(i
).y
+ block
(i
).h
THEN IF mouseDownOn
= i
THEN drawSquare mouseDownOn
, 2 IF mx
>= block
(i
).x
AND mx
<= block
(i
).x
+ block
(i
).w
AND my
>= block
(i
).y
AND my
<= block
(i
).y
+ block
(i
).h
THEN 'click
index = index + 1
check
= CVI(MID$(sequence$
, index
* 2 - 1, 2)) drawBoard
drawSquare i, 2
PLAY "l16" + block
(i
).note
+ "l4" drawBoard
'error - restart
gameOver = true
'hover
'FOR i = 1 TO 4
' IF mx >= block(i).x AND mx <= block(i).x + block(i).w AND my >= block(i).y AND my <= block(i).y + block(i).h THEN
' LINE (boardX + block(i).x, boardY + block(i).y)-STEP(block(i).w - 1, block(i).h - 1), _RGB32(255, 50), BF
' EXIT FOR
' END IF
'NEXT
mouseIsDown = false
sequence$
= sequence$
+ MKI$(i
)
drawBoard
i
= CVI(MID$(sequence$
, j
* 2 - 1, 2)) drawSquare i, 2
sequence$ = ""
PLAY "mbT240l16aebcbedfcaebl4" 'animation
i = i + 1
drawBoard
drawSquare i, 2
drawSquare i, 2
drawBoard
drawSquare i, 1
IF c
= 1 THEN thisColor
= block
(this
).low
ELSE thisColor
= block
(this
).high
LINE (boardX
+ block
(this
).x
, boardY
+ block
(this
).y
)-STEP(block
(this
).w
- 1, block
(this
).h
- 1), thisColor
, BF
IF startTime!
> TIMER THEN startTime!
= startTime!
- 86400 timeElapsedSince!
= TIMER - startTime!