@@ -779,16 +779,21 @@ async def _on_chat(msg):
779
779
780
780
#cards against humanity
781
781
async def gameStart ():
782
+ game ['selectionTime' ] = False
783
+
782
784
imgGen = ImageGenerator ()
785
+ global randomQ
783
786
randomQ = random .choice (cah ['black' ])['text' ]
784
787
imgGen .createImage (randomQ , "black.png" )
785
788
786
789
fileCard = await ryver .upload_file ("black" , open ("black.png" , "rb" ), "png" )
787
790
788
- console .log (game )
791
+ for player in game ['players' ]:
792
+ player ['selectedCard' ] = ''
793
+
789
794
game ['playing' ] = list (game ['players' ])
790
- queen = game [ 'playing' ]. pop ( random . randint ( 0 , len ( game [ 'playing' ]) - 1 ))
791
- console . log ( game )
795
+
796
+ queen = game [ 'playing' ]. pop ( random . randint ( 0 , len ( game [ 'playing' ]) - 1 ) )
792
797
793
798
for player in game ['playing' ]:
794
799
playerObj = ryver .get_user (username = player ['name' ])
@@ -797,7 +802,7 @@ async def gameStart():
797
802
for index , card in enumerate (player ['cards' ]):
798
803
cardList += f"{ str (index + 1 )} . { card } \n "
799
804
await send_message (
800
- f"**This is your current set of cards:**\n { cardList } " ,
805
+ f"**This is your current set of cards:**\n *Send `!card <card number>` in the game chat to select a card.* \n \n { cardList } " ,
801
806
ryver .get_chat (id = playerObj .get_id ())
802
807
)
803
808
@@ -835,7 +840,7 @@ async def gameStart():
835
840
game ['waitingForJoin' ] = True
836
841
else :
837
842
await send_message (
838
- "Missing Arguments: Must add the number of rounds after command" ,
843
+ "Missing Arguments: Must add the number of rounds after command. `!cah <number of rounds>` " ,
839
844
bot_chat
840
845
)
841
846
@@ -883,9 +888,10 @@ async def gameStart():
883
888
if (msg .text .lower ().startswith ("!card" )):
884
889
selected = msg .text .lstrip ("!card " ).strip ()
885
890
thisUser = ryver .get_user (jid = msg .from_jid )
886
- userInfo = next ((player for player in game ['playing' ] if player ['name' ] == user .get_username ()), None )
891
+ userInfo = next ((player for player in game ['players' ] if player ['name' ] == user .get_username ()), None )
892
+ playerInfo = next ((player for player in game ['playing' ] if player ['name' ] == user .get_username ()), None )
887
893
888
- if (userInfo ):
894
+ if (playerInfo ):
889
895
selectedCard = userInfo ['cards' ].pop (int (selected )- 1 )
890
896
userInfo ['cards' ].append (random .choice (cah ['white' ])['text' ])
891
897
@@ -897,14 +903,14 @@ async def gameStart():
897
903
f"@{ user .get_username ()} has selected a card!" ,
898
904
bot_chat
899
905
)
900
- userInfo ['selectedCard' ] = selectedCard
906
+ playerInfo ['selectedCard' ] = selectedCard
901
907
902
908
if (not next ((player for player in game ['playing' ] if not player ['selectedCard' ]), None )):
903
909
allCards = ''
904
910
for index , player in enumerate (game ['playing' ]):
905
911
allCards += f"{ index + 1 } . { player ['selectedCard' ]} \n "
906
912
await send_message (
907
- f"@{ game ['cardQueen' ]['name' ]} , Pick a winning card: (!pick <number>) \n { allCards } " ,
913
+ f"@{ game ['cardQueen' ]['name' ]} , Pick a winning card: (!pick <number>) \n ** { randomQ } ** \n { allCards } " ,
908
914
bot_chat
909
915
)
910
916
game ['selectionTime' ] = True
@@ -946,8 +952,10 @@ async def gameStart():
946
952
'running' : False ,
947
953
'waitingForJoin' : False ,
948
954
'readCommands' : False ,
949
- 'selectionTime' : False ,
950
955
'players' : [],
956
+ 'playing' : [],
957
+ 'roundsLeft' : 2 ,
958
+ 'selectionTime' : False ,
951
959
'cardQueen' : '' #username of card queen
952
960
}
953
961
@@ -965,12 +973,14 @@ async def gameStart():
965
973
966
974
elif (msg .text .lower ().startswith ("!end" )):
967
975
game = {
968
- 'running' : False ,
969
- 'waitingForJoin' : False ,
970
- 'readCommands' : False ,
971
- 'selectionTime' : False ,
972
- 'players' : [],
973
- 'cardQueen' : '' #username of card queen
976
+ 'running' : False ,
977
+ 'waitingForJoin' : False ,
978
+ 'readCommands' : False ,
979
+ 'players' : [],
980
+ 'playing' : [],
981
+ 'roundsLeft' : 2 ,
982
+ 'selectionTime' : False ,
983
+ 'cardQueen' : '' #username of card queen
974
984
}
975
985
await send_message (
976
986
f"@{ user .get_username ()} ended the game." ,
0 commit comments