hi,大家好,今天就来将你如何用python制作五子棋

话不多说,直接上代码!

import pygameEMPTY = 0BLACK = 1WHITE = 2black_color = [0, 0, 0]white_color = [255, 255, 255]class RenjuBoard(object):def __init__(self):self._board = [[]] * 15self.reset()def reset(self):for row in range(len(self._board)):self._board[row] = [EMPTY] * 15def move(self, row, col, is_black):if self._board[row][col] == EMPTY:self._board[row][col] = BLACK if is_black else WHITEreturn Truereturn Falsedef draw(self, screen):for index in range(1, 16):pygame.draw.line(screen, black_color,[40, 40 * index], [600, 40 * index], 1)pygame.draw.line(screen, black_color,[40 * index, 40], [40 * index, 600], 1)pygame.draw.rect(screen, black_color, [36, 36, 568, 568], 4)pygame.draw.circle(screen, black_color, [320, 320], 5, 0)pygame.draw.circle(screen, black_color, [160, 160], 5, 0)pygame.draw.circle(screen, black_color, [480, 480], 5, 0)pygame.draw.circle(screen, black_color, [480, 160], 5, 0)pygame.draw.circle(screen, black_color, [160, 480], 5, 0)for row in range(len(self._board)):for col in range(len(self._board[row])):if self._board[row][col] != EMPTY:ccolor = black_color \if self._board[row][col] == BLACK else white_colorpos = [40 * (col + 1), 40 * (row + 1)]pygame.draw.circle(screen, ccolor, pos, 20, 0)def main():board = RenjuBoard()is_black = Truepygame.init()pygame.display.set_caption('五子棋')screen = pygame.display.set_mode([640, 640])screen.fill([255, 255, 0])board.draw(screen)pygame.display.flip()running = Truewhile running:for event in pygame.event.get():if event.type == pygame.QUIT:running = Falseelif event.type == pygame.KEYUP:passelif event.type == pygame.MOUSEBUTTONDOWN\and event.button == 1:x, y = event.posrow = round((y - 40) / 40)col = round((x - 40) / 40)if board.move(row, col, is_black):is_black = not is_blackscreen.fill([255, 255, 0])board.draw(screen)pygame.display.flip()pygame.quit()if __name__ == '__main__':main()

如何用python制作五子棋相关推荐

  1. 如何用python制作五子棋游戏_Python制作打地鼠小游戏

    原文链接 Python制作小游戏(二十一)​mp.weixin.qq.com 效果展示 打地鼠小游戏https://www.zhihu.com/video/1200492442610450432 简介 ...

  2. 如何用python制作动态二维码,提升表白成功率?

    来源:凹凸数据 本文约1000字,建议阅读5分钟. 本文教你用python制作动态二维码,助你表白成功! 关注数据派THU(DatapiTHU)后台回复"20200520"获取完整 ...

  3. 怎么用python制作简单的程序-神级程序员教你如何用python制作一个牛逼的外挂!...

    玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢?(当然用外挂不是那么道义哈,呵呵),那我们就来看一下如何用python来制作一个外挂.... 我打开了4399小游 ...

  4. 如何制作python检查小软件_如何用Python制作整蛊小程序

    原标题:如何用Python制作整蛊小程序 下面的整蛊程序,千万不要发代码,否则就实现不了你整蛊的目的了.完成后一定要打包成一个exe程序,再发给朋友使用 . 1. 使用 pip install pyi ...

  5. 手把手教你如何用Python制作一个电子相册?末附python教程

    这里简单介绍一下python制作电子相册的过程,主要用到tkinter和pillow这2个库,tkinter用于窗口显示照片,pillow用来处理照片,照片切换分为2种方式,一种是自动切换(每隔5秒) ...

  6. python可视化迷宫求解_如何用 Python 制作一个迷宫游戏

    相信大家都玩过迷宫的游戏,对于简单的迷宫,我们可以一眼就看出通路,但是对于复杂的迷宫,可能要仔细寻找好久,甚至耗费数天,然后可能还要分别从入口和出口两头寻找才能找的到通路,甚至也可能找不到通路. 虽然 ...

  7. 教你如何用python制作平面直角坐标系模拟器 python项目小发明 【安安教具】-【数学】-【平面直角坐标系】模拟器

    平面直角坐标系和之前的数轴模拟器有异曲同工之妙,但是作为一个二维的软件,肯定是要难一些的... [安安教具]-[数学]-[数轴]模拟器 教你如何用python制作数轴模拟器 python 小项目创作_ ...

  8. 如何用Python制作简单又好看的词云?来瞅瞅吧~

    今天教大家如何用Python制作简单的词云,文中有非常详细的介绍及代码示例,对于正在学习Python的小伙伴们也能看的懂,需要的小伙伴可以参考下. 一.准备 词云制作所必需的三个包: 安装:pip i ...

  9. 教你如何用python制作三角形模拟器 python项目小发明 【安安教具】-【数学】-【三角形】模拟器

    三角形的三个点互相连接组成了一个平面图形,我们如何用python制作一个可以展示各种三角形的软件呢? 我们先看看效果: 这个东西要如何使用呢?我们看一下视频: 三角形模拟器 可以看到,控制三角形的三个 ...

  10. python制作微信个人二维码_如何用Python制作微信好友个性签名词云图

    前言 上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来. 1.环境说明 Win10 系统下 Python3,编译器是 ...

最新文章

  1. $.ajax上传文件或者上传图片
  2. python | 三种可变参数简述
  3. SpringBoot 对象输出
  4. Gradle task
  5. windows符号服务器地址
  6. WPF实现Android菜单动画
  7. 完美解决xhost +报错: unable to open display 装oracle的时候总是在弹出安装界面的时候出错...
  8. JDK6中synchronized优化之锁升级
  9. 十分钟学后端技术:怎么才能学好分布式系统和相关技术?
  10. 图像处理中的 亮度, 灰度, 对比度等概念
  11. JS生成浏览器唯一标识解决方案
  12. 动态站点:部署论坛系统Discuz!
  13. 中断 git merge 操做
  14. Lichee_RV学习系列--CoreMark-Pro移植
  15. jquery id选择器获取id值含有特殊字符的方法
  16. ITSM平台和CMDB集成的主要场景
  17. 最长对称子串(用各个字符确定对称轴进行判断)
  18. MySQL查询不以某个字符串为开头
  19. [POJ 2176] Folding
  20. Github testerSunshine/12306 Linux系统部署

热门文章

  1. 预测大盘最准确的指标_预测大盘最准确的指标-图讯阅读基地
  2. 微信公众号开发文档,微信小程序开发文档,微信扫码支付文档,微信委托代扣模式开发文档
  3. ARCore学习——软件准备及网站
  4. VMware卸载后再安装提示无法打开注册表项 UNKNOWN\Components\…解决办法
  5. 2021年起重机司机(限桥式起重机)考试题及起重机司机(限桥式起重机)报名考试
  6. 虚拟化技术和容器技术详解
  7. [实践篇]13.9 如何使用gcore(ramdump)排查内存黑洞?
  8. 苹果itunes软件怎么下载安装
  9. 51,AVR,PIC,MSP430,STM32单片机比较
  10. iis 域名无法访问