|
|
|
Light Up Game Controller
Added on 9/19/1999
|
Arrange rows from left to right and top to bottom. Example with source code is available in the Games Area.
--Copyright 1999 Chuck Neal
--chuck@mediamacros.com
--If you find this code helpful, send me an e-mail and let me know. :-)
property toggleState, spriteNum, myPrefix
global gFirstToggle, gLastToggle, gNumberPerLine, totalTries
on beginSprite me
--change to match the number of items you have per line
-------------------------------------------------
if gNumberPerLine = void then gNumberPerLine = 5
-------------------------------------------------
if totalTries <> 0 then totalTries = 0
if gFirstToggle = void then gFirstToggle = 999
if gLastToggle = void then gLastToggle = 0
toggleState = random(0,1)
the itemDelimiter = "-"
myPrefix = sprite(spriteNum).member.name.item[1]
checkToggleState()
if gFirstToggle > spriteNum then gFirstToggle = spriteNum
if gLastToggle < spriteNum then gLastToggle = spriteNum
end
on mouseUp me
totalTries = totalTries + 1
toggleState = not(toggleState)
--not the last on the right
if ((spriteNum + 1) mod gNumberPerLine) <> (gFirstToggle mod gNumberPerLine) then
sprite(spriteNum + 1).toggleState = not(sprite(spriteNum + 1).toggleState)
end if
--not the last on the left
if ((spriteNum - 1) mod gNumberPerLine) <> (gLastToggle mod gNumberPerLine) then
sprite(spriteNum - 1).toggleState = not(sprite(spriteNum - 1).toggleState)
end if
if (spriteNum + gNumberPerLine) <= gLastToggle then
sprite(spriteNum + gNumberPerLine).toggleState = not( sprite(spriteNum + gNumberPerLine).toggleState)
end if
if (spriteNum - gNumberPerLine) >= gFirstToggle then
sprite(spriteNum - gNumberPerLine).toggleState = not(sprite(spriteNum - gNumberPerLine).toggleState)
end if
sendAllSprites(#checkToggleState)
updateStage
set myList = []
sendAllSprites(#checkForDone, myList)
if myList.getOne(0) < 1 then
go to "done"
end if
end
on checkToggleState me
if sprite(spriteNum).member <> member(myPrefix & "-" & string(toggleState)) then
sprite(spriteNum).member = member(myPrefix & "-" & string(toggleState))
end if
end
on checkForDone me, theList
add theList, the toggleState of me
end
on getBehaviorDescription me
describe = "This behavior controls a simple light up game."
describe = describe & return & "Create 2 graphics, one for the on state, one for the off state, and label them with the same prefix followed by a (-) and either a 0 (off) or a 1 (on)."
describe = describe & return & "For example...Name your graphics light-0 and light-1"
describe = describe & return & "Arrange them in the score from left to right starting with the top row. If the first sprite is 1 then you would place the next graphic on the same row and to the right and in sprite channel 2"
describe = describe & return & "The lights are then set randomly on the beginSprite handler and the lights are turned on."
return describe
end
|
|