1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python小游戏系列井字棋 儿时的回忆

python小游戏系列井字棋 儿时的回忆

时间:2021-04-28 05:08:17

相关推荐

python小游戏系列井字棋 儿时的回忆

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获取哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。