测试的项目分别为:1,猜单词 2,发牌游戏 3,猜数字游戏 4,图形版发牌程序 5,拼图游戏
以下为测试代码及其结果:
1:猜单词
代码如下:

# Word Jumble 猜单词游戏
import  random
#   创建单词序列
WORDS = ('python','easy','difficult','answer','continue','jumble','phone','desktop','position','game','quick','find','apple','banana','orange','stream')
print("""欢迎参加猜单词游戏把字母组合成一个正确的单词,"""
)
iscontinue="y"
while iscontinue == "y" or iscontinue == "Y":# 从序列中随机挑选出一个单词word = random.choice(WORDS)# 一个用于判断玩家是否参对的变量correct = word# 创建乱序后的单词jumble = ""while word:   # Word不是空串时循环# 根据word长度,产生word的随机位置position = random.randrange(len(word))# 将position位置字母组合到乱序后单词jumble += word[position]# 通过切片,将position位置字母从原单词中删除word = word[:position] + word[(position + 1):]print("乱序后单词:",jumble)guess = input("\n请你猜:")while guess != correct and guess != "":print("对不起你猜的不正确")guess = input("继续猜:")if guess == correct:print("恭喜你,猜对了!\n")iscontinue = input("\n是否继续(Y/N):")

运行结果:

2,发牌游戏
代码如下:

# Card Moudule
# Basic classes for a game with playing cards
class Card():""" A Playing 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 = rankself.suit = suitself.is_face_up = face_updef __str__(self):if self.is_face_up:rep = self.suit + self.rankelse:rep = "XX"return repdef flip(self):self.is_face_up = not self.is_face_updef pic_order(self):if self.rank == "A":FaceNum = 1elif self.rank == "J":FaceNum = 11elif self.rank == "Q":FaceNum = 12elif self.rank == "K":FaceNum = 13else:FaceNum = int(self.rank)if self.suit == "梅":Suit = 1elif self.suit == "方":Suit = 2elif self.suit == "红":Suit = 3else:Suit = 4return (Suit - 1) * 13 + FaceNum
class Hand():"""A hand of plating card"""def __init__(self):self.cards = []def __str__(self):if self.cards:rep = ""for card in self.cards:rep += str(card) + "\t"else:rep = "无牌"return  repdef clear(self):self.cards = []def add(self, card):self.cards.append(card)def give(self,card,other_hand):self.cards.remove(card)other_hand.add(card)class Poke(Hand):"""A deck of playing cards"""def populate(self):for suit in Card.SUITS:for rank in Card.RANKS:self.add(Card(rank,suit))def shuffle(self):import randomrandom.shuffle(self.cards)def deal(self, hands, per_hand = 13):for rounds in range(per_hand):for hand in hands:top_card = self.cards[0]self.cards.remove(top_card)hand.add(top_card)if __name__ == "__main__":print("This is a module with classes for playing cards.")players = [Hand(),Hand(),Hand(),Hand()]poke1 = Poke()poke1.populate()poke1.shuffle()poke1.deal(players,13)n=1for hand in players:print("牌手",n,end=":")print(hand)n=n+1input("\nPress the enter key to exit.")

运行结果:

3,猜数字游戏
代码如下:

import tkinter as tk
import sys
import random
import  renumber=random.randint(0,1024)
running=True
num=0
nmaxn=1024
nmin=0def eBtnClose(event):root.destroy()
def eBtnGuess(event):global nmaxnglobal nminglobal numglobal runningif running:val_a=int(entry_a.get())if val_a==number:labelqval("恭喜答对了!")num+=1running=FalsenumGuess()elif val_a<number:if val_a>nmin:nmin=val_anum+=1label_tip_min.config(label_tip_min,text=nmin)labelqval("小了哦")else:if val_a <nmaxn:nmaxn = val_anum += 1label_tip_max.config(label_tip_max, text=nmaxn)labelqval("大了哦")else:labelqval("你已经答对了")
def numGuess():if num==1:labelqval("你已经答对了!")elif num<10:labelqval("==十次以内就答对了牛。。。尝试次数:"+str(num))elif num<50:labelqval("还行哦尝试次数:"+str(num))else:labelqval("好吧。。。你都超过50次了。。。尝试次数:"+str(num))
def labelqval(vText):label_val_q.config(label_val_q,text=vText)
root= tk.Tk(className="猜数字游戏")
root.geometry("400x90+200+200")line_a_tip=tk.Frame(root)
label_tip_max=tk.Label(line_a_tip,text=nmaxn)
label_tip_min=tk.Label(line_a_tip,text=nmin)
label_tip_max.pack(side="top",fill="x")
label_tip_min.pack(side="bottom",fill="y")
line_a_tip.pack(side="left",fill="y")line_question=tk.Frame(root)
label_val_q=tk.Label(line_question,width="80")
label_val_q.pack(side="left")
line_question.pack(side="top",fill="x")line_input=tk.Frame(root)
entry_a=tk.Entry(line_input,width="40")
btnguess=tk.Button(line_input,text="猜")
entry_a.pack(side="left")
entry_a.bind('<Return>',eBtnGuess)
btnguess.bind('<Button-1>',eBtnGuess)
btnguess.pack(side="left")
line_input.pack(side="top",fill="x")line_btn=tk.Frame(root)
btnClose=tk.Button(line_btn,text="关闭")
btnClose.bind('<Button-1>',eBtnClose)
btnClose.pack(side="left")
line_btn.pack(side="top")labelqval("请输入0-1024之间任意整数:")
entry_a.focus_set()
print(number)
root.mainloop()

运行结果:




4,图片发牌程序
代码如下:

from tkinter import *
import random
n=52
def gen_pocker(n):x=100while(x>0):x=x-1p1=random.randint(0,n-1)p2=random.randint(0,n-1)t=pocker[p1]pocker[p1]=pocker[p2]pocker[p2]=treturn pocker
pocker=[i for i in range(n)]
pocker=gen_pocker(n)
print(pocker)(player1,player2,player3,player4)=([],[],[],[])
(p1,p2,p3,p4)=([],[],[],[])
root=Tk()
# 创建一个Canvas,设置其背景色为白色
cv=Canvas(root,bg='white',width=700,height=600)
imgs=[]
for i in range(1,5):for j in range(1,14):imgs.insert((i-1)*13+(j-1),PhotoImage(file='D:\images\\'+str(i)+'-'+str(j)+'.gif'))
for x in range(13):          #13轮m=x*4p1.append(pocker[m])p2.append(pocker[m+1])p3.append(pocker[m+2])p4.append(pocker[m+3])
p1.sort()
p2.sort()
p3.sort()
p4.sort()
for x in range(0,13):img=imgs[p1[x]]player1.append(cv.create_image((200+20*x,80),image=img))img = imgs[p2[x]]player1.append(cv.create_image((100,150+20*x), image=img))img = imgs[p3[x]]player1.append(cv.create_image((200 + 20 * x, 500), image=img))img = imgs[p4[x]]player1.append(cv.create_image((560,150+20*x), image=img))
print("player1:",player1)
print("player2:",player2)
print("player3:",player3)
print("player4:",player4)
cv.pack()
root.mainloop()

运行结果:

5,拼图游戏
代码如下:

from tkinter import *
from tkinter.messagebox import *
import randomroot=Tk('拼图游戏')
root.title("拼图")
#  载入外部图像
Pics=[]
for i in range(9):filename='t_p\\mao_'+str(i+1)+'.png'Pics.append(PhotoImage(file=filename))
#  定义常量
#   画布的尺寸
WIDTH=980
HEIGHT=545
# 图像块的边长
IMAGE_WIDTH=WIDTH//3
IMAGE_HEIGHT=HEIGHT//3#   棋盘行列数
ROWS=3
COLS=3
#   移动步数
steps=0
#  保存所有图像块的列表
board=[[0, 1, 2],[3, 4, 5],[6, 7, 8]]
#   图像块类
class Square:def __init__(self,orderID):self.orderID=orderIDdef draw(self,canvas,board_pos):img=Pics[self.orderID]canvas.create_image(board_pos,image=img)
#  初始化拼图板
def init_board():#   打乱图像块坐标L=list(range(8))L.append(None)random.shuffle(L)#  填充拼图板for i in range(ROWS):for j in range(COLS):idx=i*ROWS+jorderID=L[idx]if orderID is None:board[i][j]=Noneelse:board[i][j]=Square(orderID)
#  重置游戏
def play_game():global stepssteps=0init_board()#   绘制游戏界面各元素
def drawBoard(canvas):#  画黑框canvas.create_polygon((0,0,WIDTH,0,WIDTH,HEIGHT,0,HEIGHT),width=1,outline='Black',fill='green')#   画图像块#   代码写在这里for i in range(ROWS):for j in range(COLS):if board[i][j] is not None:board[i][j].draw(canvas,(IMAGE_WIDTH*(j+0.5),IMAGE_HEIGHT*(i+0.5)))
def mouseclick(pos):global  steps#   将点击位置换算成拼图板上的坐标r=int(pos.y//IMAGE_HEIGHT)c=int(pos.x//IMAGE_WIDTH)print(r,c)if r<3 and c<3:if board[r][c] is None:returnelse:current_square=board[r][c]if r-1>=0 and board[r-1][c] is None:board[r][c]=Noneboard[r-1][c]=current_squaresteps+=1elif c+1<=2 and board[r][c+1] is None:board[r][c] = Noneboard[r][c+1] = current_squaresteps += 1elif r+1<=2 and board[r+1][c] is None:board[r][c] = Noneboard[r+1][c] = current_squaresteps += 1elif c-1>=0 and board[r][c-1] is None:board[r][c] = Noneboard[r][c-1] = current_squaresteps += 1#print(board)label1["text"]=str(steps)cv.delete('all')drawBoard(cv)if win():showinfo(title="恭喜",message="你成功了!")def win():for i in range(ROWS):for j in range(COLS):if board[i][j] is not None and  board[i][j].orderID!=i*ROWS+j:return Falsereturn  Truedef callBack2():print("重新开始")play_game()cv.delete('all')drawBoard(cv)#   设置窗口
cv=Canvas(root,bg='white',width=WIDTH,height=HEIGHT)
b1=Button(root,text="重新开始",command=callBack2,width=20)
label1=Label(root,text="0",fg="red",width=20)
label1.pack()
cv.bind("<Button-1>",mouseclick)cv.pack()
b1.pack()
play_game()
drawBoard(cv)
root.mainloop()

运行结果:


至此五项小游戏测试完成!期待以后测试更多的页游,手游等等!

五项python小游戏代码测试相关推荐

  1. python适合开发游戏吗_【学习python小游戏代码,你就可以做python滑雪游戏了】- 环球网校...

    [摘要]很多人开始学习编程都会选择python,并且也会将python用在实际生活中,不过有很多伙伴也打算用python做游戏,所以小编建议大家可以学习python小游戏代码,今天环球网校的小编就来和 ...

  2. python小游戏代码200行左右,python编程小游戏代码

    大家好,本文将围绕python小游戏代码200行左右展开说明,小游戏程序代码python是一个很多人都想弄明白的事情,想搞清楚python编程小游戏代码需要先了解以下几个事情. 1.python简单小 ...

  3. python小游戏代码大全-Python编写的点灯小游戏代码

    Python语言编写的点灯小游戏代码及思路如下: 点灯游戏及其求解的方法, 点灯游戏的游戏规则: (1)有个N行N列的灯板,当你开关其中一盏灯: (2)它和上下左右的灯的状态全部反转,目标是将全部的灯 ...

  4. python小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

  5. python小游戏代码大全-Python实现打砖块小游戏代码实例

    这次用Python实现的是一个接球打砖块的小游戏,需要导入pygame模块,有以下两条经验总结: 1.多父类的继承2.碰撞检测的数学模型 知识点稍后再说,我们先看看游戏的效果和实现: 一.游戏效果 二 ...

  6. python小游戏代码大全-python贪吃蛇游戏代码

    本文实例为大家分享了python贪吃蛇游戏的具体代码,供大家参考,具体内容如下 贪吃蛇游戏截图: 首先安装pygame,可以使用pip安装pygame: pip install pygame 运行以下 ...

  7. python小游戏代码大全-20行python代码的入门级小游戏的详解

    背景: 作为一个python小白,今天从菜鸟教程上看了一些python的教程,看到了python的一些语法,对比起来(有其他语言功底),感觉还是非常有趣,就随手添了一点内容,改了一个小例程,当着练练手 ...

  8. python小游戏代码 py_教自己学Python(三)练手小游戏:不

    不要猜中的小游戏 背景 和朋友闲待着两个人无聊,都想吃苹果又都不想洗,想起玩过的一个酒桌上猜数字的游戏,然后在手机上写了出来,三局两胜输了去洗苹果-- 游戏介绍 零到99(包括边界),随机一个数两人( ...

  9. python小游戏代码大全打枪-python实现微信小游戏打飞机代码

    以前版本的微信小游戏有一个打飞机的游戏,学完python之后我试着写了下程序去基本实现打飞机的功能,下面是小游戏打飞机的python代码 注:python中部分代码转自crossin编程教室 impo ...

  10. python小游戏代码大全-【程序源代码】python贪吃蛇小游戏

    关键字:python 游戏 贪吃蛇 正文 | 内容 在网络还不发达,没有平板电脑和手机的童年;电视机里的动画片和小游戏曾经陪伴我们度过了欢乐的时光.扫雷.贪吃蛇.俄罗斯方块.58坦克大战.超级玛丽.魂 ...

最新文章

  1. Expo 快速开启之旅
  2. springboot后台弹出前台对话框_基于springboot的精品小说网站
  3. 一文理解拉格朗日对偶和KKT条件
  4. font face如何导入自定义字体
  5. 十问十答 CDDL 许可证
  6. Windows/Android/iOS 等常见 User-Agent 大全
  7. LeetCode 636. 函数的独占时间(栈)
  8. oracle ora32771,Oracle的文件号、相对文件号及其他(续)
  9. C++_类和对象_C++继承_继承中的对象模型_占内存大小---C++语言工作笔记063
  10. 增强的PolyBase SQL 2019-外部表SQL Server,目录视图和下推式
  11. 数据库架构 - 数据库设计是否要使用外键(转)
  12. 260.只出现一次的数字III
  13. go模板引擎生成html,goweb-模板引擎
  14. 【数学建模】CUMCM-2014A 嫦娥三号软着陆过程 避障阶段图像处理
  15. python爬取糗百第一页的笑话
  16. windows中批量修改文件后缀名
  17. 【超级不爽】腾讯居然在我不知情未授权的情况下偷偷的转载我的博客文章
  18. CF 1016C Vasya And The Mushrooms (DP)
  19. 往届毕业生档案去向查询网_往届毕业生档案在哪里可以查吗
  20. Linux找回删除文件

热门文章

  1. 文件未找到mathpage.wll_解决MathPage.wll文件找不到的问题(找了好久的良心之作)...
  2. 木瓜奇迹洗服务器维护,木瓜奇迹各种职业+点法
  3. 【Mysql】留存率指标计算
  4. jQWidgets的TreeGrid 心得:
  5. 笔记本电脑 编程_如何选择笔记本电脑进行编程
  6. silverlight ajax调用,基于RIA的AJAX和Silverlight研究与应用
  7. W3C 发布 EME 标准,EFF 退出 W3C
  8. Python 第三方模块 科学计算 SymPy模块
  9. javascript实现日历功能
  10. 人工智能学习笔记 - 预备篇之高中数学快速复习