《python-大作业之五子棋游戏(附代码)》由会员分享,可在线阅读,更多相关《python-大作业之五子棋游戏(附代码)(6页珍藏版)》请在金锄头文库上搜索。

1、Python 大作业大作业五子棋游戏五子棋游戏姓名:吴欣 学号:姓名:张雨清 学号: 一一 游戏介绍:游戏介绍:我们设计的是五子棋游戏,支持两人一个鼠标对下,黑方用左键单击,白方用右键单击,谁先下均可,落子无悔,下过的棋子对方点击后不会变色,程序可自行判断输赢并在五子连珠时弹出结果对话框,游戏双方需遵守不在空地点击和一次下一子的规则。二二 游戏代码设计:游戏代码设计:代码均为原创,没有借鉴和抄袭,首先是用户 GUI 界面设计,点击 start 进入游戏界面,点击 quit 则退出程序,为了方便判断和记录,我们按从左到右,从上到下的顺序给 15x15=225 颗棋子编号225,左键绑定函数 ca。

2、llback1,点击后可算出它位于哪颗棋子上再画出来黑子,并把对应编号计入 record 这个列表,之后进入判断函数。右键绑定函数 callback2,点击后画出白子,对应编号计入 recor 这个列表,之后进入判断函数,其中总列表 rec 的作用是使棋子不被下第二遍。三三 作业感想作业感想这个游戏虽然很小但是可以供室友们晚上娱乐之用,我们倾注了很多心血,之前采用模块化编程失败了很多次,有事件响应问题,参数传递问题,到第七个程序才成功,感谢张同珍老师指点了很多,我们学会了使用类,受益匪浅,对 Python 产生了浓厚的兴趣。四四 过程截图过程截图五、实验代码from Tkinter impor。

3、t * from tkMessageBox import * class Game:def __init__(self):self.A=self.B=self.record=set()self.recor=set()self.rec=self.record|self.recorself.root=Tk()self.root.geometry(“180x250“)self.root.title(“Wu Zi Qi Game“)self.r=Canvas(self.root,width=180,height=210,bg=“purple“)pic=PhotoImage(file=“beijing.。

4、gif“)self.r.create_image(90,100,image=pic)self.r.place(x=0,y=15)Label(self.root,text=“*Wu Zi Qi Game*“,fg=“red“).place(x=20,y=0)Button(self.root,text=“start“,command=self.start).place(x=30,y=230)Button(self.root,text=“quit “,command=self.root.destroy).place(x=100,y=230)self.r.mainloop()def start(sel。

5、f):self.root.destroy()self.top=Tk()self.top.title(“Game Start“)self.c=Canvas(self.top,width=480,height=480,bg=“white“)self.c.pack()self.c.create_rectangle(25,25,455,455,fill=“gray“)for i in range(30,451,30):for j in range(30,451,30):self.c.create_oval(i-2,j-2,i+2,j+2,fill=“blue“)for i in range(1,16)。

6、:self.c.create_line(30,30*i,450,30*i)self.c.create_line(30*i,30,30*i,450)self.c.create_oval(234,234,246,246,fill=“black“)self.c.create_oval(115,115,125,125,fill=“black“)self.c.create_oval(355,115,365,125,fill=“black“)self.c.create_oval(115,355,125,365,fill=“black“)self.c.create_oval(355,355,365,365,。

7、fill=“black“)self.c.bind(“,self.callback1)self.c.bind(“,self.callback2)self.c.mainloop() def callback1(self,event):u,v=event.x,event.ys=u/15if s%2=1:self.x=(s+1)/2else:self.x=s/2l=v/15if l%2=1:self.y=(l+1)/2else:self.y=l/2g=(self.y-1)*15+self.xwhile g not in self.rec:self.c.create_oval(self.x*30-12,。

8、self.y*30- 12,self.x*30+12,self.y*30+12,fill=“black“)self.A.append(g)self.record=set(self.A)self.rec=self.record|self.recorjudge=panduan(g,self.record)if judge=1:answer=showinfo(“Game over“,“Black wins!“)self.top.destroy()def callback2(self,event):u,v=event.x,event.ys=u/15if s%2=1:self.m=(s+1)/2else。

9、:self.m=s/2l=v/15if l%2=1:self.n=(l+1)/2else:self.n=l/2k=(self.n-1)*15+self.mwhile k not in self.rec:self.c.create_oval(self.m*30-12,self.n*30- 12,self.m*30+12,self.n*30+12,fill=“white“)self.B.append(k)self.recor=set(self.B)self.rec=self.record|self.recorjudge=panduan(k,self.recor)if judge=1:answer=。

10、showinfo(“Game over“,“White wins!“)self.top.destroy()def panduan(g,record):#判断横排是否出现赢的情况if g-4,g-3,g-2,g-1=record:return 1elif g-3,g-2,g-1,g+1=record:return 1elif g-2,g-1,g+1,g+2=record:return 1 elif g-1,g+1,g+2,g+3=record:return 1 elif g+1,g+2,g+3,g+4=record:return 1 #判断竖列是否出现赢的情况elif g-60,g-45,g-3。

11、0,g-15=record:return 1 elif g-45,g-30,g-15,g+15=record:return 1 elif g-30,g-15,g+15,g+30=record:return 1 elif g-15,g+15,g+30,g+45=record:return 1 elif g+15,g+30,g+45,g+60=record:return 1#判断列是否出现赢的情况elif g-16,g-32,g-48,g-64=record:return 1 elif g-48,g-32,g-16,g+16=record:return 1 elif g-32,g-16,g+16,。

12、g+32=record:return 1 elif g-16,g+16,g+32,g+48=record:return 1 elif g+16,g+32,g+48,g+60=record:return 1#判断/列是否出现赢的情况elif g-14,g-28,g-42,g-56=record:return 1 elif g-14,g-28,g-42,g+14=record:return 1elif g-14,g-28,g+14,g+28=record:return 1elif g-14,g+14,g+28,g+42=record:return 1elif g+14,g+28,g+42,g+56=record:return 1else:return 0def main():print “欢迎来到五子棋战场!黑方用左键,白方用右键,谁先下都可以,落子无悔,不 要在棋盘周围空地点击。Are you ready?“game=Game() main(。

python五子棋游戏大作业_python-大作业之五子棋游戏(附代码)相关推荐

  1. 我用Python爬取了难下载的电子教材(内附代码)

    我用Python爬取了难下载的电子教材(内附代码) 第一次在CSDN上面分享经历,有点激动.本大二狗最近这段时间去不了学校又想看教材,不巧学习通上面的部分内容老师设置了不可下载啊.好在最近学习了一点P ...

  2. 一周成python大神_python大神进阶路线

    学习路线: 1.硬件: 1.操作系统简介 2.第二篇:操作系统 2.linux基础: 1.初始Linux 2.基本使用 3.Linux进阶 3.python基础 : 1.python基础大纲 2.变量 ...

  3. python选课系统作业_Python 大作业4:选课系统

    # 作业详细要求见: # 景女神的blog https://www.cnblogs.com/Eva-J/articles/9235899.html import pickle import sys c ...

  4. python 贪吃蛇大作战_python实现简单贪吃蛇游戏

    本文实例为大家分享了python实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 代码: from turtle import * from random import randrange from ...

  5. python作业_python小作业

    1.简述变量命名规范 变量由数字,字母,下划线组成 不能以数字开头 不能使用python中关键字 不能使用中文和拼音 区分大小写 变量名要具有描述性 推荐写法 ​7.1驼峰体AgeOfOldboy = ...

  6. python怎么提交作业_python分析作业提交情况

    这次做一个比较贴近我实际的东西:python分析作业提交情况. 要求: 将服务器中交作业的学生(根据文件的名字进行提取)和统计成绩的表格中的学生的信息进行比对,输出所有没有交作业的同学的信息(学号和姓 ...

  7. python如何提交作业_python分析作业提交情况

    这次做一个比较贴近我实际的东西: 要求: 将服务器中交作业的学生(根据文件的名字进行提取)和统计成绩的表格中的学生的信息进行比对,输出所有没有交作业的同学的信息(学号和姓名),并输出所交的作业中命名格 ...

  8. python为什么叫大蟒蛇_Python(大蟒蛇)与云计算

    初看起来,大蟒蛇(Python)与云计算,两者"风.牛.马"不相及,根本扯不上关系.本文却想讲一个小故事,把这两者联系起来. 当今,在我们国内,云计算可以说是一个比较热门的&quo ...

  9. python自学作业_python学习作业(一)

    python学习作业(一) 1.使用while循环输出12345 68910 2.求1-100所有数的和 3.输出1-100所有数的奇数 4.输出1-100所有数的偶数 5.求1-2+3-4+5--- ...

  10. python大数据_python大数据

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. 深入浅出之个性化推荐系统实践
  2. mongoDB 介绍(特点、优点、原理)
  3. UDP实现全双工聊天(聊天工具进阶)pyhton
  4. Spring基于配置方式实现自定义条件装配
  5. BUUCTF-misc另外一个世界 8个二进制数为一组转ASC码
  6. Django框架(9.Django中的配置使用MySQL数据库以及页面重定向)
  7. windowsXP下安装Qt4.8
  8. 嵌入式Linux基础学习笔记-文件IO编程-文件锁(1)
  9. php+loaction+框架,【集锦】nginx【php,location,alias,504】
  10. Javascript 随机数函数 学习之一:产生服从均匀分布随机数
  11. ES Filebeat 使用 Pipeline 处理日志中的 @timestamp
  12. Deep Learning经典论文列表(Reading List)
  13. oracle12兼容ojdbc6,oracle ojdbc6 使用 报错
  14. os系统配置putty服务器,Mac 电脑安装putty
  15. layui 表单 验证整数
  16. 牛逼,在浏览器中解锁加密的音乐文件
  17. 膜拜高手!Python竟然开发命令行版网易云音乐!
  18. python实现汉诺塔递归算法超详细过程
  19. 【已失效】创维DT741-csf光猫管理员/root超级密码获取方法
  20. 在PGConf.Asia-中文技术论坛,聆听腾讯云专家对数据库技术的深度理解

热门文章

  1. C语言练手项目--C 语言制作简单计算器
  2. 地铁逃生的服务器正在维护吗,LifeKeeper为北京地铁保护维护系统
  3. 企业管理应具备哪些软件
  4. 雨林木风linux如何安装教程,雨林木风桌面操作系统Ylmf OS 4.0安装演示
  5. 推荐个OCP视频,51cto网站尚观的资料还不错,支持下载
  6. R语言--ELM极限学习机(elmNNRcpp包)
  7. 通过VN1630/VN7640的I/O功能来确认电源设置电压的时间精确度
  8. 在SpringBoot项目中使用Ureport2报表工具
  9. 如何下载离线地图金字塔瓦片数据
  10. Opportunity