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

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

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

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


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

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

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

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

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

e37d335b35eaac0ea08b1289cbb4970b.png

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

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

再看一下apple的取值。

dc0350006d610a9a1339a1e9b9b31429.png

其随机取值范围为,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。

517b052dd899819f5028cda99442711c.png

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

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


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

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

祝节日快乐哦!

全文完,你不点个赞吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于java SSM springboot学生信息管理系统设计和实现2.0

java毕业设计项目《100套》推荐 主要功能设计:登陆、学生管理、班级管理、教师管理、课程、选课管理、考勤管理、请假管理、成绩管理、统计、修改密码等 登录包含学生,教师,管理员 项目基于springboot2.1.x实现的管理系统:主要技…

基于java springboot+mybatis OA办公自动化系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅文末获取源码联系方式📝 java sp…

moel vue 自定义v_vue组件,自定义v-model方法

在使用my-component组件时,为了实现双向绑定。Vue.component(my-component, {props: {obj: Object,},model: {prop: obj,event: change},methods: {onchange: function() {this.$emit(change, this.obj);}}});上面代码中1.props对象中,需要定义一个能够从…

python面向对象类创建人物类包含姓名、职业_python面向对象类

面向对象变成介绍面向过程编程核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。主要应用在一旦完成很少修改的地方,如linux内核、git、apache服务器等优…

基于java Springmvc+mybatis 电影院售票管理系统设计和实现以及文档

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 临近学期结束&#xff…

基于java SSM校园兼职平台系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 临近学期结束&#xff…

printdocument python_python学习笔记之wxpython打印预览

主要学习wxPython in action 和Demo程序,做点学习笔记wxPython 通过使用设备上下文和绘制操作来实现打印,wxPython中实现打印的一个重要的类:wx.PrintOut它管理实际的图片部分。打印输出实例可以由一个代表打印机的wx.Printer对象或用于打印预…

基于Java SSM springboot健身管理系统设计和实现

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 临近学期结束&#xff…

输入法画面_仙剑奇侠传X百度输入法联名纪念版皮肤今日上线

听说我们的键盘里藏着属于你的独家记忆值#仙剑25周年#之际百度输入法联名《仙剑奇侠传》 特别推出官方纪念版皮肤【仙剑廿五相守】让浓情回忆在指尖跳动当李逍遥、赵灵儿、林月如、阿奴齐聚你的键盘那些恍如昨日的画面是否又在你的心头浮现全新的Q版形象在保留人物原有特征的基…

基于java ssm springboot宠物用品商城系统

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 临近学期结束&#xff…

椭圆极点极线性质_又见阿氏圆——适合作椭圆大题的小题

如下图:过椭圆内一点作的直线交椭圆于,两点.是椭圆上相异的两点,满足分别平分,,求外接圆半径的最小值.解:作的外角角平分线与的延长线交于,的外角平分线与的延长线交于,根据内外角平…

基于javaweb jsp+servlet学生宿舍管理系统

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 临近学期结束&#xff…

先天性脑部发育异常_儿童脑发育不良的3大“诱因”,若孩子出现这5种异常,要警惕...

儿童脑发育不良主要是指脑组织减少,脑神经发育不健全,如果不及时治疗,会给患儿的正常生活带来严重影响。所以出现脑发育不良的症状时必须要及时找出病因,接受规范化的治疗,与此同时还应该注重对患儿的护理,…

FB混合C语言编译

这是群友分享的方法,这里只是作为记录和分享。 有了这个功能,可以很方便的拷贝一下C或者C代码直接用到FB上。 既然是混合C语言编译,当然得有C的代码。比如随便去网上找两个排序:冒泡排序和选择排序,代码如下&#xf…

基于Java SSM springboot+VUE+redis实现的前后端分类版网上商城项目

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、【java李杨勇】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 临近学期结束&#xff…

@value 注入静态属性_TP6依赖注入是如何实现的

TP6依赖注入是如何实现的先看下app/provider容器文件,此文件会在thinkAPP实例化的时候直接从新绑定类到的容器上。复制原有容器中的类可以先看下thinkAPP 构造方法中的处理逻辑/** * 架构方法 * access public * param string $rootPath 应用根目录 */ public f…

信捷触摸屏c语言脚本_信捷触摸屏TG系列产品型号说明及功能介绍

产品介绍全新外观设计,比普通款更薄1677万色,画质细腻无痕,显示效果媲美液晶显示器下载、启动、运行,三位一体的超高速响应支持C语言脚本功能,运算、自由协议编写、绘图,提高编程自由度支持BMP、JPEG格式图…

mysql搜索引擎_常见的 mysql 搜索引擎

简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式。存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分。不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据…

基于java SSM springboot+redis网上水果超市商城设计和实现以及文档

作者主页:Java李杨勇 简介:Java领域优质创作者、【Java李杨勇】公号作者 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 文末获取源码 主要技术实现:spring、 springmvc、 redis、 springboot、 mybatis 、sessio…

mysql 组合索引 or_mysql索引优化实例(单列索引与组合索引)

索引一般用于在数据规模大时对查询进行优化的一种机制,对于一般的查询来说,mysql会去遍历整个表,来查询符合要求的结果;如果借助于mysql索引,mysql会将要索引的字段按照一定的算法进行处理,并生成一个类似于…