Skip to content

Commit f385de8

Browse files
authored
Merge pull request #133 from Saransh-255/master
multiple rounds card reset bug
2 parents ec91bd1 + 0364b19 commit f385de8

File tree

3 files changed

+28
-17
lines changed

3 files changed

+28
-17
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,4 +156,5 @@ cython_debug/
156156

157157
#### BRAINBOT ####
158158

159-
brainbot.ini
159+
brainbot.ini
160+
black.png

black.png

-1.91 KB
Loading

main.py

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -779,16 +779,21 @@ async def _on_chat(msg):
779779

780780
#cards against humanity
781781
async def gameStart():
782+
game['selectionTime'] = False
783+
782784
imgGen = ImageGenerator()
785+
global randomQ
783786
randomQ = random.choice(cah['black'])['text']
784787
imgGen.createImage(randomQ, "black.png")
785788

786789
fileCard = await ryver.upload_file("black", open("black.png", "rb"), "png")
787790

788-
console.log(game)
791+
for player in game['players']:
792+
player['selectedCard'] = ''
793+
789794
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 ))
792797

793798
for player in game['playing']:
794799
playerObj = ryver.get_user(username=player['name'])
@@ -797,7 +802,7 @@ async def gameStart():
797802
for index, card in enumerate(player['cards']):
798803
cardList += f"{str(index+1)}. {card} \n"
799804
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}",
801806
ryver.get_chat(id=playerObj.get_id())
802807
)
803808

@@ -835,7 +840,7 @@ async def gameStart():
835840
game['waitingForJoin'] = True
836841
else:
837842
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>`",
839844
bot_chat
840845
)
841846

@@ -883,9 +888,10 @@ async def gameStart():
883888
if(msg.text.lower().startswith("!card")):
884889
selected = msg.text.lstrip("!card ").strip()
885890
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)
887893

888-
if(userInfo):
894+
if(playerInfo):
889895
selectedCard = userInfo['cards'].pop(int(selected)-1)
890896
userInfo['cards'].append(random.choice(cah['white'])['text'])
891897

@@ -897,14 +903,14 @@ async def gameStart():
897903
f"@{user.get_username()} has selected a card!",
898904
bot_chat
899905
)
900-
userInfo['selectedCard'] = selectedCard
906+
playerInfo['selectedCard'] = selectedCard
901907

902908
if(not next((player for player in game['playing'] if not player['selectedCard']), None)):
903909
allCards = ''
904910
for index, player in enumerate(game['playing']):
905911
allCards += f"{index+1}. {player['selectedCard']} \n"
906912
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}",
908914
bot_chat
909915
)
910916
game['selectionTime'] = True
@@ -946,8 +952,10 @@ async def gameStart():
946952
'running': False,
947953
'waitingForJoin': False,
948954
'readCommands': False,
949-
'selectionTime': False,
950955
'players': [],
956+
'playing': [],
957+
'roundsLeft': 2,
958+
'selectionTime': False,
951959
'cardQueen': '' #username of card queen
952960
}
953961

@@ -965,12 +973,14 @@ async def gameStart():
965973

966974
elif(msg.text.lower().startswith("!end")):
967975
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
974984
}
975985
await send_message(
976986
f"@{user.get_username()} ended the game.",

0 commit comments

Comments
 (0)