第二章完全就是任务驱动的型的内容啦,而且在这一章的开头画了一个好大的饼——你能做出一个超级棒“打战舰”的游戏!至于第二章嘛,咱先来个简化版的,跟着我一步一步来……

游戏的内容就不在读书笔记里详述了,总之这一章的内容围绕着这个简化版游戏的完成而展开,如果你是一个没有编程经验的新手,顺着流程图->伪代码->JavaScript代码这个流程,能完整的体验到一个程序的设计和编写过程,中间最重要的就是要理清逻辑,这一点也是能吸引老手来回味一把的,我就不剧透了,自己慢慢体会吧。

这里只列出一些本章接触到的知识点。

流程图中圆形(圆角矩形)代表开始和结束,箭头代表工作流方向,矩形代表一个动作,菱形代表判断/ 决策,(平行四边形代表输入输出)。

伪代码是一种介于程序语言和自然描述语言之间的用以描述程序逻辑的简单语言。

prompt()用于获取用户输入,它会弹出一个简单的对话框,包含传入该函数的字符串参数并且返回用户输入的字符串值。

prompt('What's you name?');

布尔运算(结果是布尔值)包括两种,一种是比较运算(<,<=,>,>=,==,===,!=,!==),另一种是逻辑运算(&&,||,!)。

3>5;      //false
6<=6:    //true
true&&false;    //false
!true      //false

多重if语句往往可以通过逻辑运算进行简化。

if( a>0 ){
    if( a<10 ){
        //codes
    }
}

简写成:

if( a>0 && a<10 ){
    //codes
}

质量保证(quality assurance,QA)是指对软件进行测试以找出其中的缺陷。

if(bool=true)可以简写成if(bool)。

Math.random()用来生成([0, 1))随机数,Math.floor()用来对一个小数取整(直接舍弃小数位),

var a = Math.floor ( Math.random ( ) * ( n+1 ) );
//a是一个大于等于0,小于等于n的正整数
var b = m + Math.floor ( Math.random () * ( n-m ) ) 
//b是一个大于等于m,小于等于n的正整数

以上是一些所谓硬知识点,然而这一章最重要的还是体验一个程序的设计编写过程,尤其是其中的逻辑问题。