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

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