我的编程启蒙书就是日本平山尚写的《我的第一本编程书》。这本书主要教你的是编程的思路,因为书中介绍的语言是专为这本书准备的,而且并不能算是一门很实用的语言,但对于培养编程思路还是很有用的。
Sunaba这门语言可以用英语、中文或日语编程,在手机上也可以下载,不过只能使用日语。它通过操纵存储区来执行操作。大多数的存储区都很普通,功能仅限于存储数值(没法存储字符串!!!),而存储区[50004]、存储区[50005]、存储区[50006]、存储区[50007]这几个存储区则是用来判断键盘的,他们分别对应↑键,→键,←键和↓键。
除此之外,存储区[60000]到存储区[69999]则可以在编译器的绘制区进行绘制。在使用时可以像这样:存储区[60000] → 99。这一个语句的作用是:把数值99赋值给存储区[60000]。因为这个存储区很特殊,所以你这样做后,会看到绘制区的左上角出现了一个蓝色的小方块。
事实上,通过这种方式,我们甚至可以绘制出黑白或彩色的图片,所需要的只是一万行的代码。
同时,我们也可以画出一个方块,有两种方式可以做到:
第一种:
存储区[60000] → 99
存储区[60001] → 99
存储区[60002] → 99
存储区[60100] → 99
存储区[60101] → 99
存储区[60102] → 99
存储区[60200] → 99
存储区[60201] → 99
存储区[60202] → 99
这样虽然可以画出来,但是代码很多对不对?我们还可以换一种方式,更快捷的绘制:
存储区[1] → 0
只要 存储区[1]
存储区[0] → 0
只要 存储区[0]
存储区[60000 + 存储区[0] + (存储区[1] × 100)] → 999999
存储区[0] → 存储区[0] + 1
存储区[1] → 存储区[1] + 1
这样就可以进行绘制了。
在sunaba里,如果相当于if,而只要则相当于:
while 1:
if x == True:
~~~
if x == False:
break
也就是说,只要是在某个条件为真时,不断重复一段代码。如果你想实现死循环的话,只要像这样做就行:
只要 1 = 1
~~~
因为1是一个常量,1永远等于1(或者说1=1永远正确),所以~~~的部分将会永远运行。
在写代码的时候,如果想让代码简洁些,可以用函数的方法,假如我们创建一个绘制方块的函数,函数名叫方块的话,应该像下面这样:
方块() 是
存储区[1] → 0
只要 存储区[1]
存储区[0] → 0
只要 存储区[0]
存储区[60000 + 存储区[0] + (存储区[1] × 100)] → 999999
存储区[0] → 存储区[0] + 1
存储区[1] → 存储区[1] + 1
只要 1 = 1
方块()
这样就可以让主循环简洁许多。
我们在文章开头讲到了键盘存储区,键盘存储区有两个值,1和0。1代表按下,0代表没有按下。
所以,问题来了:你能通过刚刚我所讲的知识,写一个程序,只要按下↑键,→键,←键和↓键之中的一个键,就在一个任意的地方绘制方块吗?写好代码之后可以在留言区里回复我,我会告诉你sunaba的下载地址和一些sunaba的程序源代码作为奖励哦~~~
sunaba运行俄罗斯方块源代码
领取专属 10元无门槛券
私享最新 技术干货