扫雷高级难度技巧(扫雷自定义最高难度怎么玩)

上一篇文章讲了功能块(FB)的封装与调用,功能块是将一段程序打包成块,设定输入和输出变量,方便重复调用。本篇讲一下与功能块类似的功能(FC,三菱叫做FUN,函数),FC也是一段程序和逻辑的封装,也需要设定输入变量,但是他的输出并不需要设置变量,输出的是它本身,或者说FC本身就是一个带着逻辑的变量,因此使用时也无需将FC声明变量。

FC的使用

三菱也同样提供了很多FC可以直接使用,点击部件选择窗口按钮, 在函数下能看到非常多的FC:

三菱ST语言教学(5)——功能(FC)的编辑与使用
系统函数

如果你不清楚他的功能是什么,可以选中后点击F1查看帮助手册。

这里选择一个随机数RND函数,将它拉倒程序中:

三菱ST语言教学(5)——功能(FC)的编辑与使用
随机数

从引脚名称的字面意思来看,括号内要输入一个布尔量的使能变量和一个16位的任何类型的变量,选中RND按F1看下具体怎么使用:

三菱ST语言教学(5)——功能(FC)的编辑与使用
帮助

可以看到,RND是高电平触发,从0到32767随机生成一个数,并存储在D里面。

使能开关直接赋值,建立个word变量存储生成的数字:

三菱ST语言教学(5)——功能(FC)的编辑与使用
 

仿真模拟后,可以看到变量RNDnumber里面的值一直在变化(原谅我不会发动图。。。),而且看上去也没什么规律。如果想要能够控制触发时机,可以将使能开关设置一个bit变量,通过控制变量的值来控制随机数的产生。

FC的建立

仍然举例进行说明。

假设我们现在想要写一个扫雷游戏的程序,先看看扫雷的定义:

三菱ST语言教学(5)——功能(FC)的编辑与使用
扫雷游戏

扫雷最高难度定义16*30的格子中存在99个雷,那么程序的其中一个任务就是生成99个雷的坐标,真正扫雷中的雷我不清楚是如何产生的,但我们的程序可以用随机数来产生,通过两个随机数来定义一个雷的XY坐标,循环99次产生99个雷,并将整个功能写进一个FC中。

三菱同样存在建立FC的位置,并且与FB是在相同的地方,仍然是在左侧导航栏FB/FUN右键-新建数据,在弹出的设置窗口中将数据类型选为函数,

三菱ST语言教学(5)——功能(FC)的编辑与使用
建立FC

下面还要设置返回值,我们想要这个功能反回99组XY坐标,显然基本数据类型的变量并不能满足要求,需要建立一个容量合适的结构体和数组的组合:

三菱ST语言教学(5)——功能(FC)的编辑与使用
存储坐标的结构体。

在结构体ST_MinesXY中声明了100个iX和100个iY(实际上99个就够),然后将结构体名称填入上图的返回值类型,点击确定后在弹出的窗口中编辑FC内部的程序:

三菱ST语言教学(5)——功能(FC)的编辑与使用
 

照着RND的方式,我们也建立一个bit变量Enable用来启动这个功能,使用for循环,每个循环使用两个RND生成两个随机数,存放在tempX和tempY中,由于游戏的格子只有30*16,所以需要通过数学运算将tempX控制在0-29之间,tempX控制在1-15之间,99次后99个雷就完成了。

上面说过,FC输出的是FC本身,因此我们建立的FC名称就是一个变量,变量类型就是上面输入的返回值的类型,也就是刚刚建立结构体。我们将处理完成的两个随机数写进FC返回值中。

上面的程序有一个问题,生成的坐标有可能是相同的,需要一个查重的功能,每次生成的坐标要与前面生成的坐标依次进行对比,如果存在相同的要重新生成:

三菱ST语言教学(5)——功能(FC)的编辑与使用
查重功能

可以用3个步骤理解这段程序:

1.置位一个bit变量Check,Check触发一个while循环;

2.在这个循环中,将当前生成的随机数与之前生成的所有随机数通过for循环进行遍历和判断;

3.如果存在重复,置位Repetiton变量,重新生成随机数,Check的值不变,这样while循环会重复步骤2和3;如果没有重复的则复位Check,跳出while循环,进行最外面的for循环的下一步,生成下一个雷的坐标。

这个程序存在一个风险,那就是每次生成的随机数都与前面的重复,那么Check一直置位,导致while进入死循环,所以我们在赋值的地方随便增加一点计算,减小重复的概率:

三菱ST语言教学(5)——功能(FC)的编辑与使用
增加计算,减小重复概率

保存后就可以在部件列表中找到这个FC,然后按照上面的方法调用,仿真运行一次看看效果:

三菱ST语言教学(5)——功能(FC)的编辑与使用
运行测试

这里的调用方法跟上面调用RND不同的是,FC返回的值并不在括号内赋值,这是FC的标准用法。通过仿真监看赋值后的结构体变量stMines能够看到已经生成了99个XY坐标,由于触发一直置位true,XY坐标也是一直在变化的

本文来自投稿,不代表展天博客立场,如若转载,请注明出处:https://www.me900.com/64088.html

(1)

相关推荐

  • qq申请靓号,QQ靓号申请:获得专属号码,炫耀身份

    大家都知道,伴随着时代的发展,随着腾讯QQ使用人群的逐步增长,QQ位数已经增至到十位了。可能你会经常听到一些人炫耀QQ号,不要说五位、六位的QQ了,就是现在连九位的QQ都不好申请了,去官网申请的话一般都是十位的QQ,而十位的QQ都算靓号了!汗颜。 这时候,重点要来了!点击浏览器上端的“刷新按钮”,刷新下网页,就会出现新的三个靓号,刷到九位靓号为止。笔者测试下…

    2023-05-22
  • 机票预订哪个网站好,订机票哪个网站最好

    作为公司的行政办公室人员,经常会给领导、老板订机票。公司的商务人员,经常会坐飞机去出差,也涉及到预定机票的情况。 那么你知道预定机票的三大途径和利弊么?大飞今天就和你分享一下我的经验。   现在预定机票主要有三大途径,分别是OTA平台、各航空公司官网/APP、旅行社的票务系统。   OTA平台 OTA是在线旅游Online Travel …

    2022-04-22 投稿
  • 一个急需借钱的理由(办贷款的方法)

      办贷款最好的方法是什么?   是找融资咨询公司。   几乎99%的人都知道“房产中介”,10%的人知道贷款中介,可是几乎只有不到1%的人知道“融资咨询公司”。   融资咨询公司是比贷款中介更专业,是对你更好的融资服务机构!   他们不以卖贷款产品为生,他们更不以自己的利益最大化为目的,他们是坚定的站在客户…

    2021-12-30
  • 如何分区硬盘win10,新电脑如何分区硬盘win10

    如何给磁盘分区? 第一步:通过使用键盘快捷键【WIN+X】,点击【磁盘管理】。     然后从当前的一个磁盘分区,拆出一个新的分区(这里小黑拆的是D盘,大家根据需求自行选择)。右击【D盘】选择【压缩卷】。   第二步:设置这个新分区的一个大小,这里注意单位是(MB),一定要根据自己需求的大小去设置。   这样这个新建的…

    2022-03-23 投稿
  • 夏季旅游胜地(夏季旅游胜地排行榜)

    #头条创作挑战赛# 夏季去哪里旅游不热?夏季避暑旅游去哪好?在炎热的夏季,最没有创意的解暑方式是什么?吹空调、吃冰棍呗。太没有创意了!夏天要去哪里找清凉呢?小编送上国内10大绝美避暑胜地,那儿山美水美人更美,绝对帝王待遇!   1、哈尔滨:夏日圣地   哈尔滨市气候属中温带大陆性季风气候,春季山野披绿、满城丁香;夏季酷而不热,清凉宜人;秋季秋高气爽、层林尽染…

    2023-05-30 投稿
  • 汽车电瓶什么牌子好?汽车电池怎么保养

    电动车的电池是一辆车的能量来源,几乎所有买电动车的人首先考虑的就是电池续航和寿命的问题。但是,不少人问电动车的电池这两年越来越不耐用了,原先能用个3年左右的电池,现在根本达不到,那么电动车电池到底能用多长时间呢?今天就来和大家说说。 现在的电动车大多使用的还是铅酸电池,因为价格便宜,安全被电动车主欢迎,虽然近几年锂电池快速发展,但铅酸电池的市场依旧占据主导。…

    2022-05-04 投稿
  • 如何查询宽带是否欠费,宽带故障自查参考

      首先请确认你家宽带不欠费,呵呵。 一、检查路由器 1、路由器指示灯状态 不亮:请检查路由器电源是否开启。 亮红灯:请检查路由器与光猫接线,重新拔插线路并断电重启。 二、宽带上网慢?上网卡? 1、部分网页上网慢? 先打开主流网站测试网络情况,如百度、腾讯视频、优酷视频等。如主流网站使用正常,部分网页打开速度慢,可能是你访问的网站的服务器问题或者访…

    2023-02-14 投稿
  • 今日头条自媒体怎么做(头条自媒体平台注册突破零收益)

    平时喜欢看头条的你,有没有想过有一天自己也会成为创作者中的一员? 随着报纸、杂志等传统纸媒纷纷停刊,网络的自媒体彻底崛起,万众创新,全民创业的时代就这样全民普及开来。 很多人选择了自媒体这个行业,因为投入小回报高,用手机或者电脑就可以,完全可以在家操作。 想入驻展天博客实现收益的你,是不是在为不知如何开始而着急呢? 对于每一个自媒体新手来说,最迫不及待的就是…

    2022-01-20
  • 淘宝不包邮地区一般是哪些地区(淘宝不包邮地区有哪些)

    电商“双十一”刚过不久,17日,阿里研究院公布2017中国淘宝村及淘宝镇初步名单,在全国发现超过2100个淘宝村,超过240个淘宝镇。 广东淘宝村数量全国第二 其中,广东省淘宝村数量位居全国第二。广州、揭阳、汕头、佛山的淘宝村数量位居全省前三位(揭阳与汕头并列第二)。普宁是广东省最大的淘宝村集群。 佛山有7个淘宝镇、58个淘宝村 其中南庄、里水、西樵、北滘、…

    2021-12-27 投稿
  • 征信报告在哪里可以打(长沙征信报告在哪里可以打)

    中国人民银行征信中心官方地址 第一次注册看起来麻烦,实际操作很简单,注册时按页面提示操作就行了! 1、我们只能查看个人版的征信报告,金融机构那边的征信记录比我们这个详细。 2、查询次数不宜过多,控制在一两个月查询一次 3、注册实名认证时建议选择银行卡银联认证 4、生成个人征信报告需要12-24小时,申请后在12-24小时后会收到人行征信中心的身份验证码(有效…

    2023-06-01 投稿
  • 写一封家书的正规格式图片(家书范文写给父母)

    周末早上,笔者闲逛临汾市东关古玩城,找找看有什么稀罕物,在一收藏者的摊位上,发现了一堆过去的信封邮件,随便翻看,一封1969年从青海西宁邮寄到山西临猗县的家信吸引我。 打开这封信,首先吸引我的是最上面一段话,毛主席的最高指示,无产阶级文化大革命的斗、批、改阶段,要认真注意改正。下面才是给家里父母写的内容。 书信内容大致就是问候老人的家事,农村有没有武斗,不要…

    2023-05-27 投稿
  • 武汉521传奇是真的吗,武汉521传奇是真实事件吗

    每个城市都有专属自己的都市传说,比如纽约的蜘蛛侠、东京的奥特曼,再比如,武汉的公交。 已经参加工作多年的张林,回想当年在武昌读书时坐521的情形,仍然感慨不已,“手要紧紧地抓住前座扶手,不能走神,也别想睡觉了,生怕被甩出窗户。屁股常有腾空之感,下车后,手上都是汗。” “那时候的车还是黄色的,穿过整条珞喻路也就15分钟吧,真的是开到飞起啊,车上所有的零件都在响…

    2023-04-23 投稿