home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / TowerHanoy.dxr / 00014_tableau.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  3.8 KB  |  83 lines

  1. on beginSprite me
  2.   global tableau, scount, tcount, stock, grabsprite
  3.   puppetSound(3, "deal1")
  4.   sprite(me.spriteNum).visible = 1
  5.   if scount = 1 then
  6.     if tcount = 1 then
  7.       grabsprite = [:]
  8.       tableau = [:]
  9.     else
  10.       nothing()
  11.     end if
  12.     grabsprite.addProp(symbol(string(sprite(me.spriteNum).startFrame)), me.spriteNum)
  13.     tableau.addProp(symbol(string(sprite(me.spriteNum).startFrame)), new(script("tableauobj"), []))
  14.   else
  15.     sprite(me.spriteNum).loc = sprite(me.spriteNum - 1).loc + point(0, sprite(me.spriteNum).height / 3)
  16.   end if
  17.   if scount <= 3 then
  18.     sprite(me.spriteNum).member = stock[random(stock.count)]
  19.     stock.deleteAt(stock.findPos(member(sprite(me.spriteNum).memberNum).name))
  20.     tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.append(new(script("card"), me.spriteNum))
  21.   else
  22.     sprite(me.spriteNum).visible = 0
  23.   end if
  24.   scount = scount + 1
  25.   if scount = 10 then
  26.     scount = 1
  27.     tcount = tcount + 1
  28.   end if
  29. end
  30.  
  31. on mouseDown me
  32.   global tableau
  33.   puppetSound(3, "pickcard")
  34.   if sprite(me.spriteNum).visible = 1 then
  35.     if me.spriteNum = tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards[tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.count].spnum then
  36.       sprite(me.spriteNum).locZ = me.spriteNum + 1000
  37.       sprite(me.spriteNum).moveableSprite = 1
  38.       sprite(me.spriteNum).loc = the mouseLoc
  39.     end if
  40.   end if
  41. end
  42.  
  43. on mouseUp me
  44.   global tableau, equalvalue, hotcard
  45.   if me.spriteNum = the clickOn then
  46.     if me.spriteNum = tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards[tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.count].spnum then
  47.       if (equalvalue = 1) and (hotcard <> 0) then
  48.         puppetSound(3, "pickcard")
  49.         if tableau[symbol(string(sprite(hotcard).startFrame))].cards.count > 0 then
  50.           sprite(me.spriteNum).visible = 0
  51.           sprite(me.spriteNum).loc = tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards[tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.count].location
  52.           sprite(me.spriteNum).locZ = me.spriteNum
  53.           sprite(me.spriteNum).moveableSprite = 0
  54.           sprite(hotcard + 1).member = sprite(the clickOn).member
  55.           sprite(hotcard + 1).visible = 1
  56.           tableau[symbol(string(sprite(hotcard + 1).startFrame))].cards.append(new(script("card"), hotcard + 1))
  57.           tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.deleteAt(tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.count)
  58.           repeat with i = 37 to 39
  59.             if tableau[symbol(string(sprite(i).startFrame))].cards.count = 0 then
  60.               next repeat
  61.             end if
  62.             sprite(i).loc = tableau[symbol(string(sprite(i).startFrame))].cards[tableau[symbol(string(sprite(i).startFrame))].cards.count].location
  63.           end repeat
  64.         else
  65.           sprite(me.spriteNum).visible = 0
  66.           sprite(me.spriteNum).loc = tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards[tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.count].location
  67.           sprite(me.spriteNum).locZ = me.spriteNum
  68.           sprite(me.spriteNum).moveableSprite = 0
  69.           sprite(hotcard).member = sprite(the clickOn).member
  70.           sprite(hotcard).visible = 1
  71.           tableau[symbol(string(sprite(hotcard).startFrame))].cards.add(new(script("card"), hotcard))
  72.           tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.deleteAt(tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.count)
  73.         end if
  74.       else
  75.         puppetSound(3, "dropcard")
  76.         sprite(me.spriteNum).loc = tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards[tableau[symbol(string(sprite(me.spriteNum).startFrame))].cards.count].location
  77.         sprite(me.spriteNum).locZ = me.spriteNum
  78.         sprite(me.spriteNum).moveableSprite = 0
  79.       end if
  80.     end if
  81.   end if
  82. end
  83.