作品介绍
五子棋起源于中国,双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。英文则称之为FIR(Five In A Row的缩写)。
许多国家的人对五子棋都有不同的爱称,例如,韩国人把五子棋称为“情侣棋”,表示情人之间下五子棋有利于增加情感的交流;欧洲人称其为“绅士棋”,代表下五子棋的君子风度胜似绅士;日本人则称其为“中老年棋”,说明五子棋适合中老年人的生理特点和思维方式。
今天为大家分享的Scratch作品是《五子棋双人对战版》,这是一款益智棋类游戏,游戏模拟了黑白双方下五子棋并判断胜负的场景。
点击绿旗,运行程序,进入游戏,舞台左侧是一个 12 * 12的棋盘,右侧则是放置棋子和显示提示信息的地方,上方的碗里装的是白色棋子,下方装的是黑色棋子,中间的小黑板是用于显示相关信息。一般都是黑棋先下,因此,一开始就有一枚黑色棋子随着鼠标移动,玩家将鼠标移到棋盘相应的位置,按下鼠标键,就可以落子,然后点击白色棋子所在的碗,拾取一枚白色棋子,白色棋子就会跟随鼠标移动,再选择合适的位置落子即可,如此不停的交替落子,一旦有一方形成五子连珠,就提示获得胜利。
作品效果
Scratch五子棋双人对战版的运行效果如视频所示:
作品解读
Scratch五子棋作品的角色并不多,实际上只要一个核心角色,那就是棋子,角色列表如图所示:
本作品的实现过程还是有点复杂的,不过,只要你明白了其原理和思路,编起程来就容易多了。这里的棋盘是作为舞台背景来呈现的,关键就在于棋子角色,也就是上图中的stone角色,它有白棋和黑棋两个造型。
下棋的过程,其实就不停的在某个位置放置一枚棋子,为了记录每一枚棋子的信息,这里使用了三个列表“xlocation”、“ylocation”、“stonecolour”,分别表示该棋子的x坐标、y坐标以及棋子的颜色,如图所示:
每次落子的时候,都需要判断该位置是否落子了,如果为空,则可以落子,同时向列表中插入相关数据记录该棋子的信息,具体落子是通过图章功能来实现的。一旦落子,就立刻判断在4个方向上是否形成了五子连珠,如果有五子连珠,则获胜,否则就需要发送广播,切换到对方落子了。
如果需要人机对战,可以参考五子棋AI版-Scratch五子棋益智游戏。
暂无评论内容