用Python和Kivy玩的小纸牌游戏
我正在用Python和Kivy编写一个程序。我想编程一个游戏,程序从skat牌堆中随机发出一张牌(已经很好了!)。然后,每个卡后面都会出现一个任务。任务始终取决于数字或图片:例如,每7点之后,任务“每个人都应该喝3小口!”来吧 有人能帮我吗?不幸的是,我再也找不到了 谢谢你,并致以最良好的问候 其中一个代码(程序的德语输出):用Python和Kivy玩的小纸牌游戏,python,kivy,Python,Kivy,我正在用Python和Kivy编写一个程序。我想编程一个游戏,程序从skat牌堆中随机发出一张牌(已经很好了!)。然后,每个卡后面都会出现一个任务。任务始终取决于数字或图片:例如,每7点之后,任务“每个人都应该喝3小口!”来吧 有人能帮我吗?不幸的是,我再也找不到了 谢谢你,并致以最良好的问候 其中一个代码(程序的德语输出): 尝试创建一个任务列表,并使用卡片排名作为列表的索引。比如: from random import randint # Global variables cardSuit
尝试创建一个任务列表,并使用卡片排名作为列表的索引。比如:
from random import randint
# Global variables
cardSuits = ['PIK', 'HERZ', 'KARO', 'KREUZ']
courtCards = ['BUBE', 'DAME', 'KÖNIG']
cardRanks = ['ASS'] + ['{}'.format(x) for x in range(7, 11)] + courtCards
cardsDrawn = []
tasks = ["unused", "task1", "task2", "task3", "task4", "task5", "task6", "Everyone should drink 3 sips!", "task8"]
# Functions
def draw_a_card(self, *args):
# a deck of card has 32 playing cards
if len(cardsDrawn) >= 32:
print("\tcards_drawn=", sorted(cardsDrawn))
return 'Alle Karten wurden ausgeteilt!'
# Example set of 32 playing cards; 8 of each suit clubs, diamonds, hearts, and spades
suit = randint(1, 4)
rank = randint(1, 8)
card = '{0}-{1:02d}'.format(suit, rank)
the_task = tasks[rank]
if card not in cardsDrawn:
cardsDrawn.append(card)
return '{1} {0}'.format(cardRanks[rank-1], cardSuits[suit-1])
else:
return draw_a_card(self, args)
也许可以将任务添加到返回字符串。您可以将卡片排名作为任务列表的索引吗?@JohnAnderson我以前尝试过这个方法,但没有成功。你能告诉我怎么做吗?那我再试一次。非常感谢,那帮了大忙!但是,任务尚未显示在输出中。这和Kivy有关吗?或者这仍然是由于Python代码造成的?您可以添加一行:
print(the_任务)
。谢谢!现在,它起作用了。
from random import randint
# Global variables
cardSuits = ['PIK', 'HERZ', 'KARO', 'KREUZ']
courtCards = ['BUBE', 'DAME', 'KÖNIG']
cardRanks = ['ASS'] + ['{}'.format(x) for x in range(7, 11)] + courtCards
cardsDrawn = []
tasks = ["unused", "task1", "task2", "task3", "task4", "task5", "task6", "Everyone should drink 3 sips!", "task8"]
# Functions
def draw_a_card(self, *args):
# a deck of card has 32 playing cards
if len(cardsDrawn) >= 32:
print("\tcards_drawn=", sorted(cardsDrawn))
return 'Alle Karten wurden ausgeteilt!'
# Example set of 32 playing cards; 8 of each suit clubs, diamonds, hearts, and spades
suit = randint(1, 4)
rank = randint(1, 8)
card = '{0}-{1:02d}'.format(suit, rank)
the_task = tasks[rank]
if card not in cardsDrawn:
cardsDrawn.append(card)
return '{1} {0}'.format(cardRanks[rank-1], cardSuits[suit-1])
else:
return draw_a_card(self, args)