Is it possible to make a working deck of cards, using arrays to store the cards and variables to store the cards that have been "picked
up"?
MaDbRiT i can also uderstand what your saaying, but i dont understand how to make it so the cards that have been drawn wont appear again.
'get a new card from the deck
repeat until (%deck[dealt]%=0) {
set numeric <dealt;$rand(1,52)$>
}
set <deck[dealt];99>
' "card engine"
' Writen by Francis Robert Stokes
'The following is to be filled in by the user with his/her info.
'Please send feedback to francis.[email protected].com
'Thanks
define game <card engine>
asl-version <350>
gametype singleplayer
start <gameroom>
game author <>
game version <>
game info <>
end define
define synonyms
end define
define room <cardroom>
look <just a dummy!>
define object <Ace of spades>
end define
define object <2 of spades>
end define
define object <3 of spades>
end define
define object <4 of spades>
end define
define object <5 of spades>
end define
define object <6 of spades>
end define
define object <7 of spades>
end define
define object <8 of spades>
end define
define object <9 of spades>
end define
define object <10 of spades>
end define
define object <Jack of spades>
end define
define object <Queen of spades>
end define
define object <King of spades>
end define
define object <Ace of hearts>
end define
define object <2 of hearts>
end define
define object <3 of hearts>
end define
define object <4 of hearts>
end define
define object <5 of hearts>
end define
define object <6 of hearts>
end define
define object <7 of hearts>
end define
define object <8 of hearts>
end define
define object <9 of hearts>
end define
define object <10 of hearts>
end define
define object <Jack of hearts>
end define
define object <Queen of hearts>
end define
define object <King of hearts>
end define
define object <Ace of clubs>
end define
define object <2 of clubs>
end define
define object <3 of clubs>
end define
define object <4 of clubs>
end define
define object <5 of clubs>
end define
define object <6 of clubs>
end define
define object <7 of clubs>
end define
define object <8 of clubs>
end define
define object <9 of clubs>
end define
define object <10 of clubs>
end define
define object <Jack of clubs>
end define
define object <Queen of clubs>
end define
define object <King of clubs>
end define
define object <Ace of diamonds>
end define
define object <2 of diamonds>
end define
define object <3 of diamonds>
end define
define object <4 of diamonds>
end define
define object <5 of diamonds>
end define
define object <6 of diamonds>
end define
define object <7 of diamonds>
end define
define object <8 of diamonds>
end define
define object <9 of diamonds>
end define
define object <10 of diamonds>
end define
define object <Jack of diamonds>
end define
define object <Queen of diamonds>
end define
define object <King of diamonds>
end define
end define
define room <gameroom>
command <deal> do <dealing>
end define
define procedure <dealing>
if ( $rand(1;52)$ = 1 ) then give <Ace of spades>
if ( $rand(1;52)$ = 2 ) then give <2 of spades>
if ( $rand(1;52)$ = 3 ) then give <3 of spades>
if ( $rand(1;52)$ = 4 ) then give <4 of spades>
if ( $rand(1;52)$ = 5 ) then give <5 of spades>
if ( $rand(1;52)$ = 6 ) then give <6 of spades>
if ( $rand(1;52)$ = 7 ) then give <7 of spades>
if ( $rand(1;52)$ = 8 ) then give <8 of spades>
if ( $rand(1;52)$ = 9 ) then give <9 of spades>
if ( $rand(1;52)$ = 10 ) then give <10 of spades>
if ( $rand(1;52)$ = 11 ) then give <Jack of spades>
if ( $rand(1;52)$ = 12 ) then give <Queen of spades>
if ( $rand(1;52)$ = 13 ) then give <King of spades>
if ( $rand(1;52)$ = 14 ) then give <Ace of diamonds>
if ( $rand(1;52)$ = 15 ) then give <2 of diamonds>
if ( $rand(1;52)$ = 16 ) then give <3 of diamonds>
if ( $rand(1;52)$ = 17 ) then give <4 of diamonds>
if ( $rand(1;52)$ = 18 ) then give <5 of diamonds>
if ( $rand(1;52)$ = 19 ) then give <6 of diamonds>
if ( $rand(1;52)$ = 20 ) then give <7 of diamonds>
if ( $rand(1;52)$ = 21 ) then give <8 of diamonds>
if ( $rand(1;52)$ = 22 ) then give <9 of diamonds>
if ( $rand(1;52)$ = 23 ) then give <10 of diamonds>
if ( $rand(1;52)$ = 24 ) then give <Jack of diamonds>
if ( $rand(1;52)$ = 25 ) then give <Queen of diamonds>
if ( $rand(1;52)$ = 26 ) then give <King of diamonds>
if ( $rand(1;52)$ = 27 ) then give <Ace of hearts>
if ( $rand(1;52)$ = 28 ) then give <2 of hearts>
if ( $rand(1;52)$ = 29 ) then give <3 of hearts>
if ( $rand(1;52)$ = 30 ) then give <4 of hearts>
if ( $rand(1;52)$ = 31 ) then give <5 of hearts>
if ( $rand(1;52)$ = 32 ) then give <6 of hearts>
if ( $rand(1;52)$ = 33 ) then give <7 of hearts>
if ( $rand(1;52)$ = 34 ) then give <8 of hearts>
if ( $rand(1;52)$ = 35 ) then give <9 of hearts>
if ( $rand(1;52)$ = 36 ) then give <10 of hearts>
if ( $rand(1;52)$ = 37 ) then give <Jack of hearts>
if ( $rand(1;52)$ = 38 ) then give <Queen of hearts>
if ( $rand(1;52)$ = 39 ) then give <King of hearts>
if ( $rand(1;52)$ = 40 ) then give <Ace of clubs>
if ( $rand(1;52)$ = 41 ) then give <2 of clubs>
if ( $rand(1;52)$ = 42 ) then give <3 of clubs>
if ( $rand(1;52)$ = 43 ) then give <4 of clubs>
if ( $rand(1;52)$ = 44 ) then give <5 of clubs>
if ( $rand(1;52)$ = 45 ) then give <6 of clubs>
if ( $rand(1;52)$ = 46 ) then give <7 of clubs>
if ( $rand(1;52)$ = 47 ) then give <8 of clubs>
if ( $rand(1;52)$ = 48 ) then give <9 of clubs>
if ( $rand(1;52)$ = 49 ) then give <10 of clubs>
if ( $rand(1;52)$ = 50 ) then give <Jack of clubs>
if ( $rand(1;52)$ = 51 ) then give <Queen of clubs>
if ( $rand(1;52)$ = 52 ) then give <King of clubs>
end define
define text <intro>
end define
define text <win>
end define
define text <lose>
end define
define game <CardRoom>
asl-version <350>
gametype multiplayer
start <Lobby>
game author <[email protected].com>
startscript for each object in <Deck01-Container> {
inc <Deck01-Count>
property <Deck01; %Deck01-Count%=#quest.thing#>
}
player startscript property <player%userid%; alias=$name(%userid%)$>
end define
define options
login off
register on
end define
define synonyms
end define
define room <Lobby>
command <shuffle #@object[userid]#> {
if got <#object[userid]#> then {
if action <#object[userid]#; shuffle> then {
set string <#object[userid]#-Input; player%userid%>
set string <#object[userid]#-Output; #quest.currentroom[userid]#>
doaction <#object[userid]#; shuffle>
}
else msgto <player%userid%; You cannot shuffle that.|n>
}
else msgto <player%userid%; You are not holding that.|n>
}
command <draw #@object[userid]#> {
if got <#object[userid]#> then {
if action <#object[userid]#; draw> then {
set string <#object[userid]#-Input; player%userid%>
set string <#object[userid]#-Output; #quest.currentroom[userid]#>
doaction <#object[userid]#; draw>
}
else msgto <player%userid%; You cannot draw from that.|n>
}
else msgto <player%userid%; You are not holding that.|n>
}
command <look #@object[userid]#> {
if here <#object[userid]#> then {
if action <#object[userid]#; look> then doaction <#object[userid]#; look> else msgto <player%userid%; You notice nothing out of the ordinary about it.|n>
}
else msgto <player%userid%; You cannot see that here.|n>
}
define object <Deck01>
alias <deck of cards>
alt <deck; dec; de; cards; card; car; ca>
take
prefix <a>
article <it>
properties <Count=52>
action <shuffle> {
set numeric <Deck01-Count; $objectproperty(Deck01; Count)$>
for <c; 1; %Deck01-Count%> {
set numeric <Deck01-ShufflePosition; $rand(%c%; %Deck01-Count%)$>
set string <Deck01-ShuffleA; $objectproperty(Deck01; %Deck01-ShufflePosition%)$>
set string <Deck01-ShuffleB; $objectproperty(Deck01; %c%)$>
property <Deck01; %c%=#Deck01-ShuffleA#>
property <Deck01; %Deck01-ShufflePosition%=#Deck01-ShuffleB#>
inc <c>
}
for each object in <#Deck01-Output#> if property <#quest.thing#; netplayer> then {
if ( #quest.thing# <> #Deck01-Input# ) then msgto <#quest.thing#; $displayname(#Deck01-Input#)$ shuffles a deck of cards.|n> else msgto <#quest.thing#; You shuffle the deck of cards.|n>
}
}
action <draw> {
set numeric <Deck01-Count; $objectproperty(Deck01; Count)$>
set string <Deck01-Draw; $objectproperty(Deck01; %Deck01-Count%)$>
move <#Deck01-Draw#; #Deck01-Input#>
property <Deck01; %Deck01-Count%=0>
dec <Deck01-Count>
property <Deck01; Count=%Deck01-Count%>
for each object in <#Deck01-Output#> if property <#quest.thing#; netplayer> then {
if ( #quest.thing# <> #Deck01-Input# ) then msgto <#quest.thing#; $displayname(#Deck01-Input#)$ draws a card from a deck of cards.|n> else msgto <#quest.thing#; You draw $displayname(#Deck01-Draw#)$ from the deck of cards.|n>
}
}
end define
end define
define room <Deck01-Container>
define object <d01>
alias <Ace of Diamonds>
alt <ace; ac>
take
prefix <an>
article <it>
end define
define object <d02>
alias <Two of Diamonds>
alt <two; tw>
take
prefix <a>
article <it>
end define
define object <d03>
alias <Three of Diamonds>
alt <three; thre; thr; th>
take
prefix <a>
article <it>
end define
define object <d04>
alias <Four of Diamonds>
alt <four; fou; fo>
take
prefix <a>
article <it>
end define
define object <d05>
alias <Five of Diamonds>
alt <five; fiv; fi>
take
prefix <a>
article <it>
end define
define object <d06>
alias <Six of Diamonds>
alt <six; si>
take
prefix <a>
article <it>
end define
define object <d07>
alias <Seven of Diamonds>
alt <seven; seve; sev; se>
take
prefix <a>
article <it>
end define
define object <d08>
alias <Eight of Diamonds>
alt <eight; eigh; eig; ei>
take
prefix <a>
article <it>
end define
define object <d09>
alias <Nine of Diamonds>
alt <nine; nin; ni>
take
prefix <a>
article <it>
end define
define object <d10>
alias <Ten of Diamonds>
alt <ten; te>
take
prefix <a>
article <it>
end define
define object <d11>
alias <Jack of Diamonds>
alt <jack; jac; ja>
take
prefix <a>
article <it>
end define
define object <d12>
alias <Queen of Diamonds>
alt <queen; quee; que; qu>
take
prefix <a>
article <it>
end define
define object <d13>
alias <King of Diamonds>
alt <king; kin; ki>
take
prefix <a>
article <it>
end define
define object <c01>
alias <Ace of Clubs>
alt <ace; ac>
take
prefix <an>
article <it>
end define
define object <c02>
alias <Two of Clubs>
alt <two; tw>
take
prefix <a>
article <it>
end define
define object <c03>
alias <Three of Clubs>
alt <three; thre; thr; th>
take
prefix <a>
article <it>
end define
define object <c04>
alias <Four of Clubs>
alt <four; fou; fo>
take
prefix <a>
article <it>
end define
define object <c05>
alias <Five of Clubs>
alt <five; fiv; fi>
take
prefix <a>
article <it>
end define
define object <c06>
alias <Six of Clubs>
alt <six; si>
take
prefix <a>
article <it>
end define
define object <c07>
alias <Seven of Clubs>
alt <seven; seve; sev; se>
take
prefix <a>
article <it>
end define
define object <c08>
alias <Eight of Clubs>
alt <eight; eigh; eig; ei>
take
prefix <a>
article <it>
end define
define object <c09>
alias <Nine of Clubs>
alt <nine; nin; ni>
take
prefix <a>
article <it>
end define
define object <c10>
alias <Ten of Clubs>
alt <ten; te>
take
prefix <a>
article <it>
end define
define object <c11>
alias <Jack of Clubs>
alt <jack; jac; ja>
take
prefix <a>
article <it>
end define
define object <c12>
alias <Queen of Clubs>
alt <queen; quee; que; qu>
take
prefix <a>
article <it>
end define
define object <c13>
alias <King of Clubs>
alt <king; kin; ki>
take
prefix <a>
article <it>
end define
define object <h01>
alias <Ace of Diamonds>
alt <ace; ac>
take
prefix <an>
article <it>
end define
define object <h02>
alias <Two of Hearts>
alt <two; tw>
take
prefix <a>
article <it>
end define
define object <h03>
alias <Three of Hearts>
alt <three; thre; thr; th>
take
prefix <a>
article <it>
end define
define object <h04>
alias <Four of Hearts>
alt <four; fou; fo>
take
prefix <a>
article <it>
end define
define object <h05>
alias <Five of Hearts>
alt <five; fiv; fi>
take
prefix <a>
article <it>
end define
define object <h06>
alias <Six of Hearts>
alt <six; si>
take
prefix <a>
article <it>
end define
define object <h07>
alias <Seven of Hearts>
alt <seven; seve; sev; se>
take
prefix <a>
article <it>
end define
define object <h08>
alias <Eight of Hearts>
alt <eight; eigh; eig; ei>
take
prefix <a>
article <it>
end define
define object <h09>
alias <Nine of Hearts>
alt <nine; nin; ni>
take
prefix <a>
article <it>
end define
define object <h10>
alias <Ten of Hearts>
alt <ten; te>
take
prefix <a>
article <it>
end define
define object <h11>
alias <Jack of Hearts>
alt <jack; jac; ja>
take
prefix <a>
article <it>
end define
define object <h12>
alias <Queen of Hearts>
alt <queen; quee; que; qu>
take
prefix <a>
article <it>
end define
define object <h13>
alias <King of Hearts>
alt <king; kin; ki>
take
prefix <a>
article <it>
end define
define object <s01>
alias <Ace of Spades>
alt <ace; ac>
take
prefix <an>
article <it>
end define
define object <s02>
alias <Two of Spades>
alt <two; tw>
take
prefix <a>
article <it>
end define
define object <s03>
alias <Three of Spades>
alt <three; thre; thr; th>
take
prefix <a>
article <it>
end define
define object <s04>
alias <Four of Spades>
alt <four; fou; fo>
take
prefix <a>
article <it>
end define
define object <s05>
alias <Five of Spades>
alt <five; fiv; fi>
take
prefix <a>
article <it>
end define
define object <s06>
alias <Six of Spades>
alt <six; si>
take
prefix <a>
article <it>
end define
define object <s07>
alias <Seven of Spades>
alt <seven; seve; sev; se>
take
prefix <a>
article <it>
end define
define object <s08>
alias <Eight of Spades>
alt <eight; eigh; eig; ei>
take
prefix <a>
article <it>
end define
define object <s09>
alias <Nine of Spades>
alt <nine; nin; ni>
take
prefix <a>
article <it>
end define
define object <s10>
alias <Ten of Spades>
alt <ten; te>
take
prefix <a>
article <it>
end define
define object <s11>
alias <Jack of Spades>
alt <jack; jac; ja>
take
prefix <a>
article <it>
end define
define object <s12>
alias <Queen of Spades>
alt <queen; quee; que; qu>
take
prefix <a>
article <it>
end define
define object <s13>
alias <King of Spades>
alt <king; kin; ki>
take
prefix <a>
article <it>
end define
end define