展开查看
以下是引用我心依旧555在2014-07-04 11:17:55的发言 >5楼:以前在手机上还经常玩这个游戏,玩起还有点上瘾 !
个人愚见哈,改个参数也整得这么复杂(当然也可娱乐哈),如果以后设备卖得比较远而有些参数又不得不在现场更改的时候,而用户也不想玩“数独”的时候 ,是不是很麻烦呀!这个我觉得可以参照SINUMERIK系统的不同的参数不同操作权限来做,更高的权限可以更改低权限的参数。
如果真要做数独程序我的想法是这样的:定义一个9*9的二维数组,编程最好用高级语言来编程,PLC中用SCL ,当然STL也可以偏移量得自己计算 ,HMI上做可以用脚本 。通过一维及二维的变化很容易比较出每行或每列及每个宫格的值是否在充许范围内。
1--9之间的随机值的获得,一般系统都有随机数函数,把得到的随机数求余 MOD 10 不为0的数就是1--9之间的随机值了
81个存储区随机给部分区域赋值(1--9之间的随机值),通过随机值获得0--80的值作为指针来来指向9*9 数组表格,对已赋值的数据区进行标记并入栈到另一个“数据表格”(栈的大小根据你赋值的表格数量来决定,也决定了游戏的难度)用于对已赋值的表格的比较产生另外的随机数 。赋值的过程还得比较所在的行与列及宫格不能有相同的,相当于解题过程了
确实是自己闲的了。但是我发现个问题,就是我以前没有用过指针,今天我看了一些资料,有一个数组寻址块,FC102,看了介绍确实好用。但是在哪儿调用呢?我把标准库翻了一遍也没有找到,照书上的原程序自己写了一下,感觉数据类型不太对。现在还没有试验,过一会儿我使一下再说。还有就是,二维数组是有了,就是不知道怎么赋值让我检验一下,比如9*9的数组,我想在X=4.Y=5的地方赋值,在用我的程序调出检验怎么办?
我附一张我照书上写的程序,临时变量可能不一样,因为我写程序怕麻烦!!
这是各个变量



这是我写的程序

书是我在网上兑的那本编程语言与使用技巧
!