hello大家好,今天我又发现了个有趣的小玩意。我是专写有趣小玩意的老诗。

相信大家对于井字棋都并不陌生。现在也能找到各种各样的井字棋小游戏玩。那么你们自己是否会编写呢?接下来老诗用python教大家编写井字棋小游戏。

老规矩,先上效果图

井字棋,英文名叫Tic-Tac-Toe,是一种在3 * 3格子上进行的连珠游戏,和五子棋类似,由于棋盘一般不画边框,格线排成井字故得名。游戏需要的工具仅为纸和笔,然后由分别代表O和X的两个游戏者轮流在格子里留下标记(一般来说先手者为X),任意三个标记形成一条直线,则为获胜。

先画格子

def grid():"Draw tic-tac-toe grid."line(-67, 200, -67, -200)line(67, 200, 67, -200)line(-200, -67, 200, -67)line(-200, 67, 200, 67)复制代码

先是画出四条线。范围是-200~200

画x函数

def drawx(x, y):"Draw X player."line(x, y, x + 133, y + 133)line(x, y + 133, x + 133, y)
复制代码

这个x其实就是两条线,传入x,y只要计算好位置就可以画出来。

画圆函数

def drawo(x, y):"Draw O player."up()goto(x + 67, y + 5)down()circle(62)
复制代码

o就是画圆,传入x,y后以x + 67, y + 5为圆心,62为半径画出圆。

随意点击,计算位置

def floor(value):"Round value down to grid with square size 133."return ((value + 200) // 133) * 133 - 200state = {'player': 0}
players = [drawx, drawo]复制代码

我们要知道,我们用鼠标人工点击的时候,鼠标的位置都是并非标准的。然后我们不制定一个标准画图位置,那么我们点击之后画图的位置就会变歪了。所以我们需要通过我们点击的位置,再计算一个标准的传入位置。

检查点击动作

def tap(x, y):"Draw X or O in tapped square."x = floor(x)y = floor(y)player = state['player']draw = players[player]draw(x, y)update()state['player'] = not player
复制代码

这是在检查点击动作,然后响应,调用画图。

整体而言,游戏并不是太难,也很容易就可以学会。上面的思想还是说的比较清楚的。有需要拿完整源码的话后台私信666获取哦!

python小游戏系列井字棋,儿时的回忆相关推荐

  1. python小游戏系列记忆宫殿,儿时的回忆

    今天我又发现了个有趣的小玩意.我是专写有趣小玩意的老诗. 相信很多人都玩过翻拍记忆的游戏,当两张牌的数字是相同的,那么牌就显示出来,否则牌会隐藏了. 老规矩,先上效果图 Memory翻译过来是记忆,该 ...

  2. python小游戏开发——井字棋

    一家懂得用细节留住客户的3年潮牌老店我必须支持!➕

  3. python入门游戏之井字棋实例代码

    井字棋简介 井字棋又称三子棋,英文名为Tic Tac Toe.具体玩法为在一个3x3的棋盘上,一个玩家用X做棋子,另一个玩家用O做棋子,谁先在棋盘上的一行.一列或对角线上画满三个棋子,即可获胜,如果棋 ...

  4. [HTML5实现人工智能]小游戏《井字棋》发布,据说IQ上200才能赢

    一,什么是TicTacToe(井字棋) 本游戏为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿童欢迎. ...

  5. 『HTML5实现人工智能』小游戏《井字棋》发布,据说IQ上200才能赢【算法代码讲解+资源打包下载】...

    一,什么是TicTacToe(井字棋) 本游戏为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿童欢迎. ...

  6. 『HTML5实现人工智能』小游戏《井字棋》发布,据说IQ上200才能赢【算法代码讲解+资源打包下载】

    一,什么是TicTacToe(井字棋) 本游戏为在下用lufylegend开发的第二款小游戏.此游戏是大家想必大家小时候都玩过,因为玩它很简单,只需要一张草稿纸和一只笔就能开始游戏,所以广受儿童欢迎. ...

  7. C语言小游戏->井字棋

    井字棋想必大家都玩过,今天教大家一个用C语言写一个井字棋小游戏 这个游戏大致可以分为两个部分:游戏菜单和游戏过程. 首先就是创建一个menu()函数来写菜单页面 这里出现了不同指令对应的结果,即输入1 ...

  8. C语言实现小游戏之井字棋

    目录 前言 一.井字棋游戏的主流程 二.游戏部分 1.游戏函数 2.初始化棋盘 3.打印棋盘 4.玩家下棋 5.电脑下棋(两个难度等级) 6.判断游戏是否结束 三. 源码展示 总结 前言 这是我在学习 ...

  9. C语言小游戏之井字棋

    目录 1.游戏菜单 2.实现游戏函数 2.1.初始化棋盘 2.2.打印棋盘 2.3.实现玩家下棋 2.3.实现电脑下棋 ​ 2.4.判断输赢 2.5.判断棋盘是否满 2.6.游戏函数 3.完整代码 3 ...

最新文章

  1. C++数组(一维、二维、三维)的动态分配new、初始化memset和释放delete
  2. java检查两个字符串是否包含,java判断一个字符串是否包含另外一个字符串,java另外一个,要检查一个字符串是否包含...
  3. java集合继承_java集合继承关系
  4. python-MYSQL(包括ORM)交互
  5. Data Lake Analytics: 基于OSS文件自动推断建表
  6. Ref_cursor
  7. 【从 0 开始机学习】正则化技术原理与编程!
  8. 新手小白学JAVA API手册使用方式说明
  9. Java微信支付APIV3密钥生成全过程
  10. H3C V7控制器无线优化关闭低速率
  11. SQL Server中Id自增列的最大Id是多少
  12. Unity3D中unitypackage文件的图标显示及打开方式异常问题的解决方法(值得收藏)
  13. Could not fetch URL https://pypi.org/simple/selenium/: There was a problem confirming the ssl cer...
  14. 基于Jenkins和Kubernetes流水线实现应用的自动发版
  15. win11 自带远程桌面使用(包含非局域网使用以及win11升级为专业版)
  16. “不确定性问题”(Nondeterministic Problem,NP)与哥德尔不完全定理“
  17. 【合天网安】CONN.ASP暴库漏洞实验
  18. 安全测试之SQL注入攻击
  19. 视频教程-ajax教程 在线视频培训教程(含课程源代码)-JavaScript
  20. Python构图小实例

热门文章

  1. 可持续农业生态系统中的核心微生物组
  2. R语言使用GGally包的ggpairs函数可视化变量相关性分析图:包含散点图、密度图、柱状图、箱图等、并自定义数据点的大小
  3. R语言构建回归模型并进行模型诊断(线性关系不满足时)、进行变量变换(Transforming variables)、使用car包中的boxTidwell函数对预测变量进行Box–Tidwell变换
  4. R语言ggplot2可视化:计算dataframe中每个数据列缺失值的个数、使用堆叠的条形图(Stacked Barplot)可视化每个数据列的缺失值的情况(自定义堆叠条形图的形式)
  5. 随机梯度下降、批量梯度下降、小批量梯度下降分类是什么?有什么区别?batch_size的选择如何实施、有什么影响?
  6. 请你介绍下Logistic回归模型?
  7. 基于Keras Application和Densenet迁移学习(transfer learning)的乳腺癌图像分类模型(良性、恶性)
  8. python 南京大学_南京大学python课程系列笔记之python基础之第一周:走进python
  9. 人类基因测序被重新定义,时间减半创世界纪录
  10. RNA-Seq入门  如何跑通一个Rna-Seq流程