global reserve, foundation, waste, pootimer, points, win, stock, basecard
on getlist arg
if (arg >= 20) and (arg <= 24) then
return reserve[sprite(arg).row].getlastcard()
else
if arg = 42 then
return waste.getlastcard()
else
if (arg >= 25) and (arg <= 28) then
return foundation[sprite(arg).row].getlastcard()
end if
end if
end if
end
on checkwin
if points = (51 * 10) then
pootimer = timeout("uuu").new(150, #gotoit)
win = "yes"
else
checklose()
end if
end
on checklose
if stock.cards.count = 0 then
repeat with shit = 42 to 42
if sprite(shit).member.name = "empty" then
next repeat
end if
repeat with cakes = 25 to 28
if sprite(cakes).member.name = "empty" then
if getValue(sprite(shit).member.name) = getOff(basecard) then
abort()
end if
next repeat
end if
if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) + 1)) and (getSuit(sprite(shit).member.name) = getSuit(sprite(cakes).member.name)) then
abort()
end if
end repeat
repeat with cakes = 20 to 24
if sprite(cakes).member.name = "empty" then
next repeat
end if
if ((getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) - 1)) or ((sprite(shit).member.name contains "king") and (sprite(cakes).member.name contains "ace"))) and not getduplicate() then
abort()
end if
end repeat
end repeat
repeat with shit = 20 to 24
if sprite(shit).member.name = "empty" then
next repeat
end if
repeat with cakes = 25 to 28
if sprite(cakes).member.name = "empty" then
if getValue(sprite(shit).member.name) = getOff(basecard) then
abort()
end if
next repeat
end if
if (getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) + 1)) and (getSuit(sprite(shit).member.name) = getSuit(sprite(cakes).member.name)) then
abort()
end if
end repeat
repeat with cakes = 20 to 24
if shit = cakes then
next repeat
end if
if sprite(cakes).member.name = "empty" then
next repeat
end if
if ((getValue(sprite(shit).member.name) = (getValue(sprite(cakes).member.name) - 1)) or ((sprite(shit).member.name contains "king") and (sprite(cakes).member.name contains "ace"))) and not getduplicate() then
abort()
end if
end repeat
end repeat
win = "no"
pootimer = timeout("fucked").new(130, #gotoit)
end if
end
on getValue arg
if (arg contains "hearts") or (arg contains "spades") then
return getOff(chars(arg, 1, arg.length - 7))
else
if arg contains "diamonds" then
return getOff(chars(arg, 1, arg.length - 9))
else
if arg contains "clubs" then
return getOff(chars(arg, 1, arg.length - 6))
end if
end if
end if
end
on getOff numba
if numba = "ace" then
return 1
else
if numba = "two" then
return 2
else
if numba = "three" then
return 3
else
if numba = "four" then
return 4
else
if numba = "five" then
return 5
else
if numba = "six" then
return 6
else
if numba = "seven" then
return 7
else
if numba = "eight" then
return 8
else
if numba = "nine" then
return 9
else
if numba = "ten" then
return 10
else
if numba = "jack" then
return 11
else
if numba = "queen" then
return 12
else
if numba = "king" then
return 13
end if
end if
end if
end if
end if
end if
end if
end if
end if
end if
end if
end if
end if
end
on getSuit arg
if arg contains "hearts" then
return #hearts
else
if arg contains "diamonds" then
return #diamonds
else
if arg contains "clubs" then
return #clubs
else
if arg contains "spades" then
return #spades
end if
end if
end if
end if
end
on getSuitCo arg
if arg contains "hearts" then
return #red
else
if arg contains "diamonds" then
return #red
else
if arg contains "clubs" then
return #black
else
if arg contains "spades" then
return #black
end if
end if
end if
end if
end
on getduplicate
ass = 0
repeat with hell = 1 to reserve.count
if reserve[hell].cards.count = 0 then
next repeat
end if
repeat with bell = 1 to reserve.count
if reserve[bell].cards.count = 0 then
next repeat
end if
if reserve[bell].cards.count >= 2 then
if reserve[hell].getlastcard().rank = reserve[bell].cards[reserve[bell].cards.count - 1].rank then