#python #tkinter #python-imaging-library
#python #tkinter #python-imaging-library
Вопрос:
Я хочу добавить изображения 6 сторон кубика с помощью модуля tkinter и PIL, но я не могу. Как я могу это сделать? всего 4 изображения с кнопкой, чтобы бросить кости с 4 изображениями. Это то, что я хочу. Спасибо за помощь. Мне это нужно в каждом раунде для соответствия. Это игра в кости для 4 игроков.
import random
def main():
player1 = 0
player1wins = 0
player2 = 0
player2wins = 0
player3 = 0
player3wins = 0
player4 = 0
player4wins = 0
rounds = 1
while rounds != 11:
print("Round " str(rounds))
player1 = dice_roll()
player2 = dice_roll()
player3 = dice_roll()
player4 = dice_roll()
print("Player 1 Roll: " str(player1))
print("Player 2 Roll: " str(player2))
print("Player 3 Roll: " str(player3))
print("Player 4 Roll: " str(player4))
if((player1>player2 and player1>player3 and player1>player4) and (player1 != player2 and player1 != player3 and player1 != player4)):
player1wins = player1wins 1
print("Player 1 wins!n")
elif((player2>player1 and player2>player3 and player2>player4) and (player2 != player1 and player2 != player3 and player2 != player3)):
player2wins = player2wins 1
print("Player 2 wins!n")
elif((player3>player1 and player3>player2 and player3>player4) and (player3 != player1 and player3 != player2 and player3 != player4)):
player3wins = player3wins 1
print("Player 3 wins!n")
elif((player4>player1 and player4>player2 and player4>player3) and (player4 != player1 and player4 != player2 and player4 != player3)):
player4wins = player4wins 1
print("Player 4 wins!n")
else:
print("Round Draw! n")
rounds = rounds 1
if((player1wins>player2wins and player1wins>player3wins and player1wins>player4wins) and (player1wins != player2wins and player1wins != player3wins and player1wins != player4wins)):
print("Player 1 Wins The Match nnRounds Won: " str(player1wins))
elif((player2wins>player1wins and player2wins>player3wins and player2wins>player4wins) and (player2wins != player1wins and player2wins != player3wins and player2wins != player3wins)):
print("Player 2 Wins nnRounds Won: " str(player2wins))
elif((player3wins>player1wins and player3wins>player2wins and player3wins>player4wins) and (player3wins != player1wins and player3wins != player2wins and player3wins != player4wins)):
print("Player 3 Wins nnRounds Won: " str(player3wins))
elif((player4wins>player1wins and player4wins>player2wins and player4wins>player3wins) and (player4wins != player1wins and player4wins != player2wins and player4wins != player3wins)):
print("Player 4 Wins nnRounds Won: " str(player4wins))
else:
print("Match Draw!")
def dice_roll():
diceRoll = random.randint(1, 6)
return diceRoll
main()
Комментарии:
1. Сначала исправьте отступ в вашем коде. Кроме того, здесь нет графического кода, вы должны опубликовать то, что вы пробовали при показе изображений.
2. что вы пробовали ? Что это значит
"I am not able to"
? Это самая бесполезная информация. Вы получили сообщение об ошибке? Затем вы должны показать это в вопросе (не в комментарии) в виде текста (не изображения). У вас были какие — то проблемы с его отображением? Затем вы должны описать это с подробностями и кодом, который создает эту проблему. Но я не вижу никакихLabel
PhotoImage
ошибок в вашем коде. Кстати: вы должны знать, что существует ошибка , приPhotoImage
которой изображение удаляется из памяти, когда вы присваиваете его локальной переменной — вы можете увидеть пустое изображение. Вы должны присвоитьPhotoImage
переменной glocal или другому объекту.3. см. Примечание в конце страницы Фотоизображение . В нем описана ошибка
PhotoImage
и способы ее исправления.4. Кстати: если
player1 > player2
затем автоматически, то это тожеplayer1 != player2
так, и вам не нужно проверятьplayer1 != player2
5. вместо
player1
,player2
,player3
,player4
вы могли бы использовать listplayers = [0, 0, 0, 0]
, а затем вы могли бы использоватьfor
-loop для запуска одного и того же кода для каждого игрока — т. е..for number, p in enumerata(players, 1): print("Player", number, "Roll:", p)
— и тогда код будет короче и проще. И то же самое сplayer1wins
,player2wins
, и т.д.