「EV3进阶课」制作小游戏:数据取值体系要统一(三)

「EV3进阶课」制作小游戏:数据取值体系要统一(三)

首页休闲益智像素积木更新时间:2024-07-31

不要着急,这部分教学内容要一步步来,如果我堆出一大堆文字,反而不利于大家接收,到时候又变成“照抄”了。

为了大家更方便吸收,后面的课程内容,我将会把发课内容减少,发课频率提高一点。这样可能会解决很多人关于“看文字看晕”的现象……

今天我们再重申一下这部分问题,同时也是一个很重要的key point。


上一次的程序完成后,我们最后部分提到了一个问题。

被控制的点snake和apple碰不上(吃不到),是不是?

这里涉及到了一个“数据体系”的问题。(数据的取值方式)

首先,我们来看一下snake的取值方式。

snake初始坐标为(90,60),每按键一次,移动一格,也就是10个像素。

所以它只会取到横纵坐标的10的倍数值。

比如(60,30)或者(70,100)这样的坐标点。

再看一下apple的取值。

其随机取值范围为,0~170和0~120,换言之,它的取值范围更广。

程序一开始,它的坐标可能就随机生成在(21,36)这样的位置。

这就导致了两个点可能一开始就“注定无缘”了……

我们要解决这个问题,就要让apple的横纵坐标取值方法和snake一致。


大家不要小看这一步,其实这是一个很关键的环节。

涉及到了一个很简单的算法。(再简单也叫算法!)

170个像素点,只取其中10、20、30……的数列,

那么其实就是取10的倍数值。

我们把applex和appley的随机取值改为取:0~17和0~12。

然后随机取值乘以10,这个问题才能解决。

apple和snake的取值都会是10的倍数产生的坐标,换句话说,就是会重合差生横纵坐标同时相等的情况了。

这里,我们要进一步理解下这个知识点。

广告

半小时漫画中国史1 中国史2 中国史3 世界史(套装共4册,作者签章版)

作者:陈磊(笔名:二混子) 著 / 读客文化 出品

当当


我们的程序特意使用10*10的点,这是为了方便计算。

并且,标准坐标是以(0,0)为基本点的。

如果使用7*7的大小,另外标准坐标为(2,2)这样的位置呢?

请这样理解这个问题。

我们现在是以坐标(0,0)到目标为(170,120)的坐标点圈出的一个范围内出现这个随机的apple。

而事实上这不是一个很好的显示范围。因为太靠屏幕边缘了。

如果以(2、2)~(172,122)作为取值范围,可能效果会更好。

但这个问题会马上变复杂一些。

数据要取7、14、21、28……

所以,取值我们可以理解为是7的倍数,这个操作类似于上面的10的取值。

而标准坐标点,还要再加上去。

换言之,这个取值公式就会变为7n 2。

今天的内容不多,大家可以先自行思考一下。

因为这个涉及到我们后面一步的操作。


十一还是要以休息为主,老丁有时间也会发课。

鉴于微信马上要改版了,喜欢本号的朋友,劳烦点一下收藏本公众号,这样才会更方便的看到我的文章。

祝节日快乐哦!

全文完,你不点个赞吗?

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved