使用python制作简单的游戏案例
编辑环境:python3.7
编译工具:vscode
案例目录:
1.序列应用——猜单词游戏
2.面向对象设计应用——发牌游戏
3.图形界面设计——猜数字游戏
4.Tkinter图形绘制——图形版发牌程序
5.Python图像处理——人物拼图游戏
一、序列应用——猜单词游戏
运行结果:
WORDS中定义需要被猜的词库,默认游戏自动开始,使用random函数从WORDS中随机选择一个单词,之后将单词随机打乱输出。猜测时,如果答案不对会一直循环,若答案正确则让用户输入yes or no 选择是否继续。
完整代码:
import random
WORDS = ("python", "jumble", "easy", "code", "sleep",
"flask", "django", "game", "break", "phone")
print(
'''欢迎参加猜单词游戏
请将字母组合成一个正确的单词
'''
)
iscontinue = "y"
while iscontinue == "Y" or iscontinue == "y":
word = random.choice(WORDS)
correct = word
jumble = ""
while word:
position = random.randrange(len(word))
jumble += word[position]
word = word[:position]+word[(position+1):]
print("打乱顺序之后的单词为:", jumble)
guess = input("请输入猜测的单词:")
while guess != correct and guess != "":
print("猜测错误,请再来一次!")
guess = input("请输入:")
if guess == correct:
print("真棒!你猜对了")
iscontinue = input("请问是否继续?(Y/N)")
二、面向对象设计应用——发牌游戏
由于扑克有52张(出去大小王),每一种都有四种花色,方块,梅花,黑桃,红桃。为了区分牌和牌的花色,令梅花A——K为序号1-13,方块A——K为14-26,红桃A——K为27-39,黑桃A——K为40-52。使用随机数函数分别选出牌。
运行结果:
完整代码:
class Card:
'''A playing card.card'''
RANKS = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
SUITS = ['梅花', '方片', '红桃', '黑桃']
def __init__(self, rank, suit, face_up=True):
self.rank = rank
self.suit = suit
self.is_face_up = face_up
def __str__(self):
if self.is_face_up:
rep = self.suit + self.rank
else:
rep = 'XX'
return rep
def pic_order(self):
if self.rank == 'A':
FaceNum = 1
elif self.rank == 'J':
FaceNum = 11
elif self.rank == 'Q':
FaceNum = 12
elif self.rank ==