home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / Triad.dxr / Internal_5.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  6.7 KB  |  241 lines

  1. global points, pootimer, win, stock, tableau
  2.  
  3. on checkwin
  4.   if points = (52 * 10) then
  5.     win = "yes"
  6.     pootimer = timeout("poo").new(150, #gotoit)
  7.   else
  8.     if stock.cards.count = 0 then
  9.       checklose()
  10.     end if
  11.   end if
  12. end
  13.  
  14. on gotoit
  15.   pootimer.forget()
  16.   go("gameover")
  17. end
  18.  
  19. on checklose
  20.   if stock.cards.count = 0 then
  21.     repeat with shit = 12 to 12
  22.       if sprite(shit).member.name = "empty" then
  23.         next repeat
  24.       end if
  25.       repeat with cakes = 13 to 13
  26.         if sprite(cakes).member.name = "empty" then
  27.           if getValue(sprite(shit).member.name) = 11 then
  28.             abort()
  29.           end if
  30.         end if
  31.       end repeat
  32.       repeat with cakes = 14 to 14
  33.         if sprite(cakes).member.name = "empty" then
  34.           if getValue(sprite(shit).member.name) = 12 then
  35.             abort()
  36.           end if
  37.         end if
  38.       end repeat
  39.       repeat with cakes = 15 to 15
  40.         if sprite(cakes).member.name = "empty" then
  41.           if getValue(sprite(shit).member.name) = 13 then
  42.             abort()
  43.           end if
  44.         end if
  45.       end repeat
  46.       repeat with cakes = 23 to 26
  47.         if sprite(cakes).member.name = "empty" then
  48.           if getValue(sprite(shit).member.name) = 1 then
  49.             abort()
  50.           end if
  51.           next repeat
  52.         end if
  53.         if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) + 1)) and (getSuit(sprite(shit).member.name) = getSuit(sprite(cakes).member.name)) then
  54.           abort()
  55.         end if
  56.       end repeat
  57.       repeat with apes = 1 to tableau.count
  58.         if tableau[apes].getcardcount() = 0 then
  59.           abort()
  60.         end if
  61.         cakes = tableau[apes].getlastcard().spnum
  62.         if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) - 1)) and not getduplicate(shit - 1, cakes) then
  63.           abort()
  64.         end if
  65.       end repeat
  66.     end repeat
  67.     repeat with shit = 13 to 15
  68.       if sprite(shit).member.name = "empty" then
  69.         next repeat
  70.       end if
  71.       repeat with cakes = 23 to 26
  72.         if sprite(cakes).member.name = "empty" then
  73.           if getValue(sprite(shit).member.name) = 1 then
  74.             abort()
  75.           end if
  76.           next repeat
  77.         end if
  78.         if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) + 1)) and (getSuit(sprite(shit).member.name) = getSuit(sprite(cakes).member.name)) then
  79.           abort()
  80.         end if
  81.       end repeat
  82.       repeat with apes = 1 to tableau.count
  83.         if tableau[apes].getcardcount() = 0 then
  84.           abort()
  85.         end if
  86.         cakes = tableau[apes].getlastcard().spnum
  87.         if getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) - 1) then
  88.           abort()
  89.         end if
  90.       end repeat
  91.     end repeat
  92.     repeat with it = 1 to tableau.count
  93.       if tableau[it].getcardcount() = 0 then
  94.         abort()
  95.       end if
  96.       shit = tableau[it].getlastcard().spnum
  97.       repeat with cakes = 13 to 13
  98.         if sprite(cakes).member.name = "empty" then
  99.           if getValue(sprite(shit).member.name) = 11 then
  100.             abort()
  101.           end if
  102.         end if
  103.       end repeat
  104.       repeat with cakes = 14 to 14
  105.         if sprite(cakes).member.name = "empty" then
  106.           if getValue(sprite(shit).member.name) = 12 then
  107.             abort()
  108.           end if
  109.         end if
  110.       end repeat
  111.       repeat with cakes = 15 to 15
  112.         if sprite(cakes).member.name = "empty" then
  113.           if getValue(sprite(shit).member.name) = 13 then
  114.             abort()
  115.           end if
  116.         end if
  117.       end repeat
  118.       repeat with cakes = 23 to 26
  119.         if sprite(cakes).member.name = "empty" then
  120.           if getValue(sprite(shit).member.name) = 1 then
  121.             abort()
  122.           end if
  123.           next repeat
  124.         end if
  125.         if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) + 1)) and (getSuit(sprite(shit).member.name) = getSuit(sprite(cakes).member.name)) then
  126.           abort()
  127.         end if
  128.       end repeat
  129.       repeat with apes = 1 to tableau.count
  130.         if tableau[apes].getcardcount() = 0 then
  131.           abort()
  132.         end if
  133.         cakes = tableau[apes].getlastcard().spnum
  134.         if shit = cakes then
  135.           next repeat
  136.         end if
  137.         if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) - 1)) and not getduplicate(shit - 1, cakes) then
  138.           abort()
  139.         end if
  140.       end repeat
  141.     end repeat
  142.     win = "no"
  143.     pootimer = timeout("LLKKJ").new(130, #gotoit)
  144.   end if
  145. end
  146.  
  147. on getValue arg
  148.   if (arg contains "hearts") or (arg contains "spades") then
  149.     return getOff(chars(arg, 1, arg.length - 7))
  150.   else
  151.     if arg contains "diamonds" then
  152.       return getOff(chars(arg, 1, arg.length - 9))
  153.     else
  154.       if arg contains "clubs" then
  155.         return getOff(chars(arg, 1, arg.length - 6))
  156.       end if
  157.     end if
  158.   end if
  159. end
  160.  
  161. on getOff numba
  162.   if numba = "ace" then
  163.     return 1
  164.   else
  165.     if numba = "two" then
  166.       return 2
  167.     else
  168.       if numba = "three" then
  169.         return 3
  170.       else
  171.         if numba = "four" then
  172.           return 4
  173.         else
  174.           if numba = "five" then
  175.             return 5
  176.           else
  177.             if numba = "six" then
  178.               return 6
  179.             else
  180.               if numba = "seven" then
  181.                 return 7
  182.               else
  183.                 if numba = "eight" then
  184.                   return 8
  185.                 else
  186.                   if numba = "nine" then
  187.                     return 9
  188.                   else
  189.                     if numba = "ten" then
  190.                       return 10
  191.                     else
  192.                       if numba = "jack" then
  193.                         return 11
  194.                       else
  195.                         if numba = "queen" then
  196.                           return 12
  197.                         else
  198.                           if numba = "king" then
  199.                             return 13
  200.                           end if
  201.                         end if
  202.                       end if
  203.                     end if
  204.                   end if
  205.                 end if
  206.               end if
  207.             end if
  208.           end if
  209.         end if
  210.       end if
  211.     end if
  212.   end if
  213. end
  214.  
  215. on getSuit arg
  216.   if arg contains "hearts" then
  217.     return #hearts
  218.   else
  219.     if arg contains "diamonds" then
  220.       return #diamonds
  221.     else
  222.       if arg contains "clubs" then
  223.         return #clubs
  224.       else
  225.         if arg contains "spades" then
  226.           return #spades
  227.         end if
  228.       end if
  229.     end if
  230.   end if
  231. end
  232.  
  233. on getduplicate arch, argu
  234.   if (sprite(arch).member.name <> "empty") and (sprite(arch).member.name <> "backofcard") then
  235.     if getValue(sprite(arch).member.name) = getValue(sprite(argu).member.name) then
  236.       return 1
  237.     end if
  238.   end if
  239.   return 0
  240. end
  241.