查看: 743|回复: 0

快速的学习小游戏服务端编程方法,一款俄罗斯方块来教你...

[复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-3-25 14:01:43 | 显示全部楼层 |阅读模式
快速的学习小游戏服务端编程方法,一款俄罗斯方块来教你入门 https://www.gmbbs.net/


在80后和90后的童年记忆中,俄罗斯方块是必不可少的消遣游戏服务端。它的演奏方法非常简单,基本上大家都知道。然而,恐怕很少有学生知道如何使用编程语言来开发一个童年版本的”俄罗斯方块。
本周,班主任给我们带来了新的课程《零基础入门经典小游戏服务端开发---俄罗斯方块》,这样学生们可以找到一些童年的乐趣,用另一种方式学习编程,同时学习枯燥的正统编程。
定位遮罩和旋转遮罩
游戏服务端中的网格通常是10列20行(10*20),我们称之为世界地图。
10*20的空间用于保持方块,设置方块落后不能改变位置。这一次它将被保存到地图状态。我们将为地图状态设计一个二维数组。
方块由7种样式组成,最大长度和宽度为4个正方形。为了在逻辑上处理好所有类型方块,我们构建了一个4x4逻辑区域,以统一的方式描述所有类型方块,包括显示、旋转等。这个区域成为了它自己的空间整体,并且方块作为一个整体被添加到世界地图中。
我们定义了方块四个属性,即方向、颜色、类型和世界地图中的坐标。
方块可以旋转,每旋转四圈,它就会回到原来的状态。0123用于表示方块的四个方向,新生成的方块被设置为默认方向。
下图中的值表示哪些网格有方块,哪些不在自己的空间中。这是一个二进制16位显示掩码,0x4444表示第一行的第三列、第二行的第三列、第三行的第三列和第四行的第三列。
旋转掩码由16位数据表示,每个旋转掩码后面是16位显示掩码。
让我们以S型方块为参考。当方向为零时,它占据第一行的第二列和第三列以及第二行的第四列和第三列。当它旋转时,它的旋转将扫过这些位置,并在从0到1的过程中变为方向1的状态。在旋转过程中,如果它扫过的位置被其他人占据方块,则它不能旋转。
此外,如果方块到达边缘,并且旋转超出了世界地图的范围,这也是一个失败,并且将继续保持当前状态。
旋转掩模和显示掩模被组合在一起,并且旋转掩模意味着当旋转到当前方向值下的下一个方向值时需要参考什么障碍区域方块。以上是位置遮罩和旋转遮罩的介绍。

【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表