当前位置:首页 > 游戏 >

scratch五子棋(scratch编程国赛五子棋作品教程)

来源:原点资讯(m.360kss.com)时间:2023-06-15 22:06:16作者:YD166手机阅读>>

scratch五子棋,scratch编程国赛五子棋作品教程(1)

五子棋相信大家都玩过,当黑子或者白子横、竖、斜连成五子,游戏结束,获得胜利,但是如何在编程中根据五子棋的规则实现胜负判定还是很难的,更别说实现与人机对战功能了。作为初学者我们可以先实现一个小目标,等掌握更多编程知识后再向更高难度进发。五子棋可以分为人机对战和人人对战两种形式,人机对战需要用到复杂的算法,我们就先尝试制作人人对战,先完成棋盘的绘制,两个玩家用黑子、白子交替落子。至于判断哪一方的五子先连成一条直线也可以放在以后再来想办法完成。

scratch五子棋,scratch编程国赛五子棋作品教程(2)


1.绘制棋盘

目标明确后,再来分析目标明确需求。需要先完成五子棋盘的绘制,接下来完成黑(白)子跟随鼠标运动,棋子的圆心要落在棋盘的交点上,双方交替落子,一个交叉点只能落一个棋子,不能在棋盘外落子(图1)。

棋盘由黑色的竖线和横线交叉组成。在舞台上找到一个合适的起始点,画一条竖线,通过循环次数控制线的数量,用继续平移X坐标的方法画出剩下的线,画横线只需交换X和Y轴的变量就可完成。

scratch五子棋,scratch编程国赛五子棋作品教程(3)

新建变量“画笔坐标”来控制绘制线条X轴或Y轴的起点,画笔颜色设为黑色。根据舞台大小设置两条线相隔距离为20像素比较合适,这样画16条线就可以铺满舞台。找一个合适的起始点(-198,-160),向上画一条300长的竖线(20×15=300),将“画笔坐标”增加20,下一条线的起点就是在X轴方向平移20。循环16次,画出全部竖线。横线和竖线是一样的画法,只需要调换XY坐标的变量。完成棋盘后广播“黑子”,等待执黑先行落子(图2)。

scratch五子棋,scratch编程国赛五子棋作品教程(4)


2.棋子编程

接下来解决黑子和白子的落子问题。在造型中绘制一黑一白两个圆形棋子作为角色。落子我们使用画笔的图章功能,图章功能是只在当前位置画下一个角色的样子,而没有继承角色的代码,这与克隆不同。这部分的难点是解决落子的位置,落子需要在棋盘交点的中心,因为鼠标不可能精准得落在交点中心,所以需要把这个交点附近的落点经过数学计算处理。在绘制棋盘时已经知道每个交叉点的坐标都是20的整数倍,把两个交点间距离平分则一个交点对应半径为10的圆形区域。这样就转化成一个数学取整的问题。假设交叉点坐标为(X,Y),鼠标的坐标可能是(X a,Y b),且-10<a<10,-10<b<10,用鼠标的坐标除以20后得到的数字四舍五入后,再乘20就是这个交叉点的坐标(图3)。

scratch五子棋,scratch编程国赛五子棋作品教程(5)

比如,假设交叉点为(40,80),鼠标指针为(43,82)按照上述公式计算可以得出最后的落点位置是交叉点为(40,80)。

解决了落子问题,接下来有几个问题需要大家去思考一下,如何保证落子的棋子不会落在棋盘外面呢?可以根据棋盘的坐标做一个范围判断(图4)。

scratch五子棋,scratch编程国赛五子棋作品教程(6)

最后不要忘记了还有最为关键胜负判定,大家可以思考一下,通过什么方式可以实现,这个以后我们再讲。

栏目热文

用scratch做双人竞技赛车(scratch3.0编程双人赛车怎么编)

用scratch做双人竞技赛车(scratch3.0编程双人赛车怎么编)

用Scratch编程设计一款游戏,有时超乎你的想象这是第249期内容一款赛车游戏除了有角色本身,有障碍物,还需要有其他角...

2023-06-15 22:01:02查看全文 >>

scratch 爬坡赛车教程(scratch编程教程赛车)

scratch 爬坡赛车教程(scratch编程教程赛车)

本文教你如何使用麻省理工学院的免费Scratch程序创建一个基本的赛车游戏。这个赛车游戏的主要目的是在尽可能短的时间内完...

2023-06-15 22:01:19查看全文 >>

scratch编程双人竞技赛车(scratch编程小游戏双人枪战)

scratch编程双人竞技赛车(scratch编程小游戏双人枪战)

9月16日,武侯区图书馆在七楼亲子互动体验馆举办童阅堂·趣味编程课堂之“双人竞技赛车”活动。 活动现场,老师以PP...

2023-06-15 22:19:02查看全文 >>

scratch简单赛车教程(scratch双人赛车游戏教程)

scratch简单赛车教程(scratch双人赛车游戏教程)

这是有关如何在Scratch上创建自己的赛车游戏的简单易懂的分步指南。步骤1.创建自己的赛车游戏的第一步是在桌面上打开S...

2023-06-15 21:48:16查看全文 >>

一级运动员和二级运动员的区别(普通人怎么考二级运动员证书)

一级运动员和二级运动员的区别(普通人怎么考二级运动员证书)

一级运动员对于大多数人来说遥不可及,其实在体育院校大学里面比比皆是。一级运动员证和二级运动员证的区别就是在考大学的时候可...

2023-06-15 21:44:53查看全文 >>

scratch赛车漂移教程(scratch编程教程赛车)

scratch赛车漂移教程(scratch编程教程赛车)

用Scratch编程设计一款游戏,有时超乎你的想象这是第247期内容。现实生活中有很多方程式赛车,动画片有闪电麦昆做主角...

2023-06-15 22:20:44查看全文 >>

奥迪雨刷怎么立起来(奥迪a4雨刷怎么立起来)

奥迪雨刷怎么立起来(奥迪a4雨刷怎么立起来)

奥迪a6l雨刷拆装方法。奥迪 a6l如何换雨刷?原车用的雨刷有这两种接口的,接下来分别介绍一下它们的更换方法。·先讲这种...

2023-06-15 21:57:35查看全文 >>

雨刮器对点图解(雨刮器开关使用图解)

雨刮器对点图解(雨刮器开关使用图解)

大家好,我是小李。窄路会车是日常用车过程中经常需要遇到的情况,比如在城市里的小路啊,狭窄的乡村路啊,甚至是国道上施工路段...

2023-06-15 22:18:22查看全文 >>

奥迪雨刮器控制图解(奥迪的雨刮器怎么使用的)

奥迪雨刮器控制图解(奥迪的雨刮器怎么使用的)

​奥迪A6(C7)雨刮不工作殷彬峰车型:A6(C7)公里数:64356KM年份:14年故障频率:一直(当前)现象确认故障...

2023-06-15 21:38:20查看全文 >>

奥迪车如何让雨刮器支起来(奥迪车怎么把雨刮器定在上方)

奥迪车如何让雨刮器支起来(奥迪车怎么把雨刮器定在上方)

一辆进口大众途观2.0T四驱版,就是提车38万5那款。来报修玻璃清洗泵不喷水了。询问车主得知,是去年冬天加过了一次劣质玻...

2023-06-15 21:37:23查看全文 >>

文档排行