有哪些方法可以用 javascript 在屏幕上画出一个正方形

JavaScript027

有哪些方法可以用 javascript 在屏幕上画出一个正方形,第1张

简单回答一下吧。

Blockly是Google开源出来的一个图形化编程框架,它的出现使得拖拖拽拽就能够把大部分的编程逻辑描述出来,这合适非程序员和小孩。Blockly作为一个框架只提供了基本的封装,而大部分的函数(功能)得根据具体的情况再进行封装,如你说到的绘制一个矩形的功能也是需要根据具体情况来封装来,再比如我之前用到的Espruino Web IDE就是封装了很多单片机硬件操作功能(我也是通过它认识的Blockly,所以提一下)。

回到Blockly画一个正方形,这里有一个Blockly的在线小游戏Blockly Games : Turtle Graphics,不知道奥玩的是否是这个游戏,这个游戏的第一关就是用Blockly代码画一个正方形。

打开游戏界面之后就是下图了,中间的Turle和Loops是功能模块选择,从中选择一个循环设置为循环4次、再选择一个直行操作和一个拐弯操作,做出如下图所示的组合,点击左边的Run Programe执行游戏:

图片描述

如果正常的话你可以看到左边的游戏界面上画出了一个正方形,同时在右边可以看到你的所有Blockly生成的js代码(没错就是四行),

图片描述

当然,除了用循环的方式来做你也可以老老实实的直走、右转90度、直走、右转90度、直走、右转90度、直走来完成第一关(可能大部分非程序员就是这种逻辑了)。

在刚刚生成的Blockly代码里面,"直走moveForward"和"右转turnRight"都是这个游戏对Blockly进行的封装。我也只玩了第一关,说句实在的,这种方式对程序员来讲还是太low了,突然间觉得比奥厉害很多了有没有。

转载,仅供参考。

<SCRIPT LANGUAGE="JavaScript">var arInt=new Array()var N=parseInt(window.prompt("请输入一个数","")) for (i=0i<N i++ ) { arInt[i]=new Array()for (j=0j<N j++ ) { arInt[i][j]=0} } for (m=1m<=Math.ceil(N/2) m++ ) { for (i=m-1i<N-m+1 i++ ) { for (j=m-1j<N-m+1 j++ ) { arInt[i][j]=m} } } for(c in arInt) document.write(arInt[c].join(" ")+"<br>") </SCRIPT>