php井字游戏代码_类Basic卡西欧编程入门(4 矩阵 井字游戏)
矩阵
1、定义
与列表一样,矩阵也用于存储数据序列。有所不同的是,矩阵是二维的数组。
要查看矩阵,请打开计算·矩阵应用程序,然后打开按[F3]选项卡。在某些计算器上,可以从MAT应用程序直接访问矩阵。
?→Mat A[a,b
由于矩阵是二维数组,因此必须输入单元的两个坐标a(水平位置)和b(垂直位置),即行数与列数。
你最多可以使用26个矩阵,从A到Z(用字母表示,与用数字指定的列表不同)。
根据计算器的型号,矩阵的尺寸限制为255 * 255或999 * 999。但是你不能创建这么大的矩阵,因为计算器的内存有限(在24到144 KB之间)。我们谈论的是KB,而我们的计算机甚至手机,都在GB、TB的级别。但也不必为此担心,对于大多数程序来说这么大的内存已经足够了。
2、创建矩阵
以下是创建矩阵的两种方法:
1) [[1,2,3][4,5,6][7,8,9→Mat A
2) {2,4→Dim Mat A
1)要创建矩阵,请使用方括号[]。开头的两个方括号:第一个划定了矩阵的边界;第二个表示矩阵的行。因此矩阵的每一行都由方括号定界。下图显示了通过给定示例所获得的矩阵。显然,所有行的长度必须相同,否则会发生尺寸错误。
2)第二种技巧是使用Dim。大括号{}之间的两个数字是矩阵的尺寸。它的用法如下:{,}→Dim Mat。用Dim初始化的矩阵的所有元素的取值都为0(与列表一样)。
3、矩阵的处理
要查询矩阵中包含的值,其原理与列表相似,但是要告知两个坐标(矩阵是具有二维的表)。
Mat A[2,3 //返回矩阵A第二行第三列的值
要修改矩阵单元格中的值,有以下方法:
9→Mat A[2,3
S→List B[2+Y,3+X
Mat A[1,3→Mat B[1,3
5*Mat A[2,3→Mat B[2,3
要删除矩阵或所有矩阵,请使用功能ClrMat([SHIFT] + [VARS]→[F6]→[F1]→[F4])。ClrMat删除所有矩阵,只删除一个矩阵,我们用ClrMat+指定矩阵的字母。不幸的是,你不能专门从矩阵中删除某个单元格。
ClrMat //删除所有矩阵
ClrMat A //仅删除矩阵A
没有函数可以知道矩阵是否已初始化。我们可以用Dim知道矩阵的维数,但是必须对其进行初始化。否则,计算器将返回错误。
[[1,2,3] [4,5,6] [7,8,9→Mat A
Dim Mat A //结果返回到列表Ans中。这里列出Ans = {2,3}
4、列表与矩阵的相互转化
可以用多个列表创建矩阵。在这种情况下,相关列表必须全部具有相同的维度。我们使用功能List→Mat([OPTN] + [F1] + [F2](L→M))。假设:我们想将列表1、2和3转换为矩阵C。语法如下:List→Mat()。
List→Mat(1,2,3→Mat C
将矩阵转换为一个列表,我们只能得到矩阵中的一列。最大值是列表的最大数量(从6到26,具体取决于你的计算器型号)和剩余的内存。
Mat→List(A,1→List 2
5、合并矩阵
Augment()函数允许合并两个具有相同行数的矩阵。通过[OPTN]键,在矩阵选项卡中选择Augment()即可。
Augment(Mat A,Mat B→Mat C
记住此功能的一件事:它可能非常实用,但同时会占用大量内存。它必须首先为融合创建一个临时矩阵(Mat Ans)。如果临时矩阵非常大,你将会收到一条带有“ Memory Error”的消息。
6、矩阵的用处?
在游戏中,矩阵具有无限可能的应用,例如数据库,角色统计信息,纸牌信息,游戏世界等。通常,列表更多地用于临时计算,它们通常在程序的开头和结尾处被删除以优化内存。对于矩阵,程序员通常保留一个或多个充当备份。
井字游戏
1、使用Getkey
目前,我们只知道的一种方式与用户进行通信:''?''。但是,它既不实用也不美观,因为它会使文本向上移动。幸运的是,可以通过Getkey检测按下哪个键。要插入Getkey,如下操作[SHIFT] + [VARS](PRGM),然后[F6] + [F4](I / O)+ [F2](Getkey)。
Do
Getkey→G
LpWhile Not G
如果未按任何键,则Getkey返回0。下图给出了键值。
请注意,[AC / ON]没有值,因为它会中断程序。例如,如果我按[0],Getkey返回71,而[MENU],Getkey返回48。我强烈建议您将Getkey放在一个循环中,这样可以提高响应速度。我经常在程序中看到这种代码:
Do
Getkey→G
If G=71
Then…
IfEnd
If G=72
Then…
IfEnd
LpWhile G≠47
尽可能将您的Getkey与其余的代码隔离,虽然这样会增加一些字节,但程序的反应能力将大幅提高,以下是示例:
Do
Do
Getkey→G
LpWhile Not G
....... //(你的代码)
LpWhile G≠47
2、双箭头=>
在(PRGM)选项卡中,然后选择(转移)[F3],可以找到所谓的“双箭头”=>。它的作用类似于If,但只能执行一个操作。
以下两个代码具有相同的效果。
If A=1
Then 3→B
IfEnd
A=1=>3→B
3、布尔值
布尔值具有两种状态:“真”(不等于0)或“假”(等于0)。
当您执行“ If A = 2”时,计算器将检查A是否为2,如果是,则返回“ true”(1)。否则,它返回“ false”(0)。
但是,让我们进一步进行推理。运行此程序:
?→ A
A = 2
如果输入“ 2”,则计算器显示“ 1”,对于所有其他值,由于A≠2,计算器显示为“ 0”。现在,让我们以“双箭头”部分中看到的代码为例,然后再次对其进行优化。
//使用If-Then-IfEnd
If A=1
Then 3→B
IfEnd
//使用双箭头
A = 1 => 3→B
//使用布尔值
3 *(A = 1)→ B
这三个代码返回相同的结果,它们严格相同。后者使用布尔值确定作为A的函数的B的值。如果A = 1,则条件为true且等于1。因此3 *(1)= 3,B =3。反之,如果A ≠1(如果希望使用精确值进行推理,则取2),因此A不等于1,条件为false等于0,3 *(0)= 0,所以B =0。布尔值的使用提高了代码的运行速度,但往往使理解程序和查找错误变得困难。特别是对于新手,要学会慢慢掌握它们。
4、Isz和Dsz:递增和递减
最后一个小技巧:Isz和Dsz函数。lsz将变量增加1,Dsz将变量减少1。要找到这两个功能则先找到(PRGM)选项卡,然后再按[F3](转移)。
1→B
While B<100
Isz B
Locate 1,1,B
WhileEnd
请注意:Isz和Dsz具有隐藏功能。如果递增或递减后变量为0,则忽略下一行。请密切注意这种特殊性,这是经常犯的错误!
1→B
Dsz B
”HELLO”
”GOODBYE”
屏幕上不会出现“ HELLO”。现在你应该了解它们为什么在(转移)选项卡中,因为它们允许根据特定条件执行跳转。
现在你可以制作自己的井字棋游戏了!
游戏示例可在此网站下载:井字棋代码
php井字游戏代码_类Basic卡西欧编程入门(4 矩阵 井字游戏)相关推荐
- soul刷屏编程代码_奔涌吧,编程!少儿编程教育在未来会像语文,数学一样重要!...
想必最近你的朋友圈一定被<奔涌吧,后浪>刷屏了,的确,时代在变好,我们能够更自由的学习,读书,很多孩子在年轻时就已经接触到许多的兴趣活动,他们早早的就在发展一项"事业" ...
- python简单游戏编程入门_[翻译]Python游戏编程入门
自己学习翻译,原文链接. 此文为Tutorial Team成员 Julian Meyer, 一个13岁的Python开发者所写. 你可以去Google+或者Twitter找到他. 你有没有想过,一个计 ...
- python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...
在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...
- python儿童入门书_一款儿童编程入门的理想工具——PythonTurtle
今天偶然发现了一款Python入门的理想工具PythonTurtle.非常容易上手,强烈推荐一下.PythonTurtle的灵感来源于早期编程语言Logo,也是通过控制小海龟来完成Python语言的入 ...
- php井字游戏代码_井字游戏 - 做一款回忆童年的游戏
99% of information we read, we forget anyway. The best way to remember is to "DO". 游戏完整的代码 ...
- labview高级编程与虚拟仪器工程应用 代码_用labview自己编程控制专用的声发射仪器...
有些同学有时会问,能不能用labview编程直接控制专用的声发射设备进行数据采集,然后按自己的分析算法编写程序? 现在可以实现了--^_^ 专用的声发射采集卡和通用的数据采集卡有什么区别?1.硬件实时 ...
- 单片机c语言必背代码_最适合单片机编程的高级语言,除了C语言,别无选择!...
单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...
- c++编写手机小游戏代码_手机也能编程?盘点这6个可以用手机编程的App!快收藏!...
传智播客博学谷 加小谷vx:boxueguu 免费领IT各学科资料.课程 Get更多干货直播课 前两天整理了一些边玩游戏边学编程的网站,今天再给大家推荐几个手机上编码的app!学编程,最方便的肯定是电 ...
- 刚学java.一天应该写多少代码_对于刚学编程不久的人,每天码代码是怎么码?...
新手是一边学习新知识一边把自己学的东西码出来. 比如你刚看完C语言关于指针这一块,你是不是得敲一点实例来练习一下? 数个小时的时间肯定不是一直在哪儿敲个不停,你看新东西,思考一些相关问题,这些都算. ...
最新文章
- 贾珈:自然语言处理中9个不可不知的研究热点(附视频)
- 向量空间和计算机科学与技术,向量空间
- [YTU ]_2736指针练习--输出最大值
- 【MPI高性能计算】蒙特卡洛方法计算pi值
- android中的标题栏是什么意思,Android通用标题栏组合控件
- 编码练习——Java-1-基础
- JS正则表达式详解(转)
- Unity 5 中的全局光照技术详解
- appsetting 和connectionString 的区别。
- DHCP服务器 出现的故障
- 【NOI2013】树的计数【树的遍历】【期望】
- java基础 UDP通信 user datagram protocol 用户数据豆协议 TCP transmission control protocol 传输控制协议 多线程TCP...
- android word缺少字体下载,OfficeSuite字体包
- SODB、RBSP和EBSP
- 20款优秀的基于浏览器的在线代码编辑器
- roslyn生成html,通过Roslyn将字符串生成可以执行的C#代码
- 【python+selenium】保留浏览器的自定义设置,不恢复浏览器默认设置
- 详解示波器的三个主要参数:采样率,存储深度,带宽
- 【Ubuntu】普通用户修改了/etc/sudoers文件权限导致的问题
- 科普:QLED和OLED到底有何区别?