写这本书之前,作者一直在摸索一种最有利于入门者学编程的方法,并应用到教学当中。经过两年的教学实践,他确信他的方法是有效的,于是便有了这本书。这本书面向的是完全没有接触过编程的读者。作者将门槛设置得非常低,读者不需要懂得变量、函数这些名词(这些名词在书中也不会出现),不需要会英语,完全不需要查阅其他书籍,只需要小学算术水平即可。这本书给初学者非常平缓的学习曲线,有利于为之后的进阶学习打下坚实的基础。
第1章 编写程序之前1
1.1 想要做出“那个游戏”应该怎么办2
1.1.1 做那个游戏时需要什么编程技术2
1.1.2 那个游戏到底是什么3
1.1.3 程序是什么8
1.1.4 这个奇妙的文章到底是什么9
1.1.5 你的目标有多高10
1.2 从哪儿开始着手14
1.2.1 编程语言的学习方法15
1.2.2 从哪里开始编程15
1.2.3 找出易于着手的要素16
1.3 本章想传达的内容16
第2章 接触存储区~绘制方块~17
2.1 运行写下的程序17
2.2 绘制方块21
2.2.1 绘制方块的最基本规则21
2.2.2 这一行代码究竟是什么意思22
2.2.3 存储区是什么24
2.2.4 操纵存储区后为什么会出现白点27
2.2.5 计算机是怎样的设备27
2.2.6 画面中的点和几号存储区相关联29
2.2.7 存储区中保存的数值与颜色的关系33
2.3 在指定位置绘制方块35
2.3.1 在画面正中央画红色方块35
2.3.2 加1减1真是麻烦39
2.3.3 为何从0开始41
2.3.4 这样就可以绘制那个游戏的画面了吗45
2.4 本章想传达的内容46
第3章 循环~让程序变短~49
3.1 减少行数50
3.1.1 在1行中操纵多个存储区51
3.1.2 为什么是循环52
3.2 循环的使用方法53
3.2.1 循环的语法53
3.2.2 什么可以用于绘制方块54
3.2.3 不固定数字55
3.2.4 运行1次后就结束57
3.2.5 运行2次后就结束58
3.2.6 想让程序运行16次后结束应该怎么做61
3.2.7 循环任意次数的方法62
3.2.8 怎么实现每次循环时对不同像素进行涂色62
3.3 使用循环绘制方块66
3.3.1 然而事情并没有那么简单67
3.3.2 怎么对循环使用循环69
3.3.3 这个程序的问题在哪里71
3.3.4 在脑中运行72
3.3.5 从结果出发进行思考74
3.3.6 程序不按预期运行时应该怎么办79
3.3.7 使用循环的价值在哪里80
3.3.8 要在画面中央绘制方块该怎么办81
3.4 本章想传达的内容83
第4章 程序的变形~绘制大量的方块~85
4.1 使用循环绘制墙壁86
4.1.1 循环绘制方块86
4.1.2 绘制20个88
4.1.3 照此绘制出右侧和下方的墙壁91
4.1.4 注释95
4.2 还想继续缩短97
4.2.1 将循环合并98
4.2.2 已经到头了吗102
4.2.3 能不能把底部也合并进来103
4.2.4 这就是容易理解的程序吗108
4.3 本章想传达的内容109
第5章 将程序分离~更轻松地绘制大量的方块~111
5.1 除循环以外,能重复使用同一行的方法112
5.1.1 使用引用会怎么样112
5.1.2 引用的易理解性115
5.2 Sunaba中的“引用”117
5.2.1 关于运行119
5.2.2 如何有效利用局部程序120
5.2.3 每次引用时对不同的点进行涂色120
5.3 使用局部程序绘制墙壁和底部121
5.3.1 使用局部程序绘制左右两侧的墙壁123
5.3.2 局部程序的价值在哪里128
5.4 改得更易懂些130
5.4.1 注释的必要性131
5.4.2 注意“特殊的数字”132
5.5 本章想传达的内容138
第6章 会动的程序~让方块下落~141
6.1 接下来该做什么142
6.2 使方块下落143
6.2.1 试着让点下落144
6.2.2 让方块下落146
6.2.3 修正错误150
6.2.4 修正问题155
6.3 绘制得更快158
6.3.1 如何关闭调控功能159
6.3.2 调控是什么160
6.3.3 寄信162
6.4 将目前的成果组合在一起164
6.4.1 首先是简单地拼在一起164
6.4.2 绘制墙壁和底部167
6.4.3 关闭调控168
6.4.4 将下落的方块移到中间169
6.5 本章想传达的内容170
第7章 为存储区起名~更多中文~173
7.1 现在的程序有什么问题174
7.1.1 需要什么样的工具176
7.1.2 不用自己编号178
7.2 在Sunaba中为存储区取名181
7.2.1 先试用一下182
7.2.2 不需要考虑存储区编号183
7.3 命名存储区的规则185
7.3.1 什么时候生成的命名存储区185
7.3.2 命名存储区只作用于其所在的局部程序186
7.3.3 从循环的外部无法看到189
7.4 本章想传达的内容190
第8章 可以操作的程序~操作方块~191
8.1 操作是怎么一回事192
8.1.1 对键盘做出响应192
8.1.2 程序是这样了解到外部的内容的193
8.2 实现可以操作196
8.2.1 来不及按按键,就算按下也看不出来196
8.2.2 在程序运行中按下按键198
8.2.3 移动点200
8.2.4 关闭调控201
8.2.5 向其他方向移动201
8.2.6 移动方块203
8.3 避免过快地移动205
8.3.1 先从小处着眼205
8.3.2 “不能持续移动”代表什么意思206
8.3.3 怎么知道“上次没有按下”207
8.3.4 查看完白板后决定做什么209
8.3.5 想到式子211
8.3.6 上下左右移动214
8.3.7 回到方块216
8.4 移动下落中的方块217
8.4.1 绘制两壁和底部,完成现在可以进行的改造218
8.4.2 使方块下落220
8.5 本章想传达的内容220
第9章 “计算”本来的意思~缓慢下落~223
9.1 什么是缓慢下落224
9.1.1 不会每次都发生移动的程序225
9.1.2 之前移动了的话这次不移动226
9.1.3 使用除法228
9.1.4 另一个方法230
9.2 有条件运行231
9.2.1 有选择地运行某一行231
9.2.2 仅循环1次就停止233
9.2.3 有条件运行是否有用235
9.3 Sunaba中的有条件运行237
9.3.1 之前的例子会变成什么样237
9.3.2 缓慢画线238
9.3.3 将目前的成果组合起来240
9.3.4 整理针对持续按下的对策242
9.4 计算的本质245
9.4.1 什么是条件表达式成立245
9.4.2 “<”到底是什么?247
9.4.3 Sunaba 的计算符号248
9.4.4 那么使用一下249
9.4.5 尝试使用251
9.5 本章想传达的内容254
第10章 批量使用存储区~堆积方块~257
10.1 碰撞是什么意思258
10.1.1 碰撞到底部是什么意思258
10.1.2 试着碰撞墙壁263
10.1.3 思考接下来会发生的事情266
10.2 批量使用存储区267
10.2.1 将问题转换268
10.2.2 按照堆积顺序记忆269
10.2.3 记住所有格子的状态272
10.2.4 比较两种方法275
10.3 堆积277
10.3.1 整理一下具体做法277
10.3.2 出发点278
10.3.3 碰撞到底部后,就堆积到那里279
10.3.4 让新的方块出现280
10.3.5 在底部以外也堆积起来283
10.3.6 想要改得更短286
10.3.7 重新引入墙壁和左右移动的内容289
10.3.8 对程序进行整理292
10.3.9 “使之堆积”的局部程序295
10.3.10 下落速度和长按时的对策297
10.4 本章想传达的内容300
第11章 为存储区起名进阶版~消除横行~303
11.1 首先单单考虑消除304
11.1.1 大致顺序304
11.1.2 消除程序305
11.1.3 进行组合310
11.1.4 更轻松地进行确认312
11.1.5 确认是否无法下落314
11.2 对程序加以改良315
11.2.1 指定编号的存储区不能起名315
11.2.2 在局部程序中使用局部程序时318
11.2.3 为局部程序传递信息的新方法320
11.2.4 使用“输入”323
11.2.5 引入“输入”后问题是否得以解决325
11.2.6 在整个程序中使用输入327
11.3 落下330
11.3.1 最简单的例子330
11.3.2 写成程序332
11.3.3 上方堆积有大量方块时的情况335
11.3.4 让上方堆积着的方块全部下落337
11.3.5 另一种做法340
11.3.6 哪一个更好些342
11.4 本章想传达的内容343
第12章 将所有内容组合起来~旋转方块~345
12.1 增加为2个347
12.1.1 降落中的方块是怎样表示出来的呢347
12.1.2 绘制出2个红色方块的单纯方法348
12.2 旋转是怎么回事352
12.2.1 忘掉旋转以外的内容352
12.2.2 从结果开始思考354
12.2.3 旋转共分4种356
12.2.4 更聪明的写法359
12.3 添加旋转之前362
12.3.1 回想起2个方块并排排列的程序362
12.3.2 将程序整理得小一些364
12.3.3 重新考虑查看能否正常运行的方法367
12.3.4 其他做法369
12.3.5 停止保存2个格子的位置375
12.3.6 充分利用局部程序377
12.3.7 局部程序的输出379
12.3.8 已经整理得差不多了吧380
12.4 添加旋转功能382
12.4.1 添加旋转后会发生的变化382
12.4.2 大致写出来384
12.4.3 追加输入的局部程序386
12.4.4 计算格子的位置388
12.4.5 真正进行旋转389
12.5 可以正常运行吗392
12.5.1 果然有问题392
12.5.2 应该是怎样的问题394
12.5.3 修正395
12.6 本章想传达的内容400
第13章 “表格”这个思考方式~完成游戏~403
13.1 3 个3个下落403
13.1.1 在程序中,2和3的不同之处404
13.1.2 3个格子的连接方式并非只有1种406
13.1.3 编写程序408
13.1.4 绘制出2 种形状409
13.1.5 加入旋转413
13.1.6 “表格”这个思考方式415
13.1.7 事先做出表格420
13.2 4 个4个下落422
13.2.1 3格与4格有什么不同422
13.2.2 变成4格后会有多少种类425
13.2.3 确定基准格子和旋转前的形状427
13.2.4 编写程序428
13.2.5 到此为止合适吗431
13.2.6 为了省事432
13.2.7 那个表格中记录着怎样的内容433
13.2.8 缩减有关旋转的表格434
13.2.9 进一步缩减有关旋转的表格438
13.3 本章想传达的内容445
第14章 走出沙地~一个开端的结束~447
14.1 目前为止使用过的思考方式447
14.1.1 从结果出发进行思考448
14.1.2 提问的方法448
14.1.3 目标和手段450
14.1.4 准备多个选项451
14.1.5 总结452
14.2 为了更进一步452
14.2.1 再多玩一会儿Sunaba453
14.2.2 转向实用语言454
14.3 实用语言的难点455
14.3.1 想要进入能够使用的状态很麻烦455
14.3.2 运行的工序455
14.3.3 语法复杂456
14.3.4 要绘制图形或发出声音并不容易456
14.3.5 面向对象程序设计457
14.3.6 需要英语能力458
14.3.7 看不到存储区459
14.3.8 推荐JavaScript460
结语463
随着Ajax技术的不断风靡,其核心技术JavaScript越来越受到人们的关注,各种JavaScript的框架层出不穷。jQuery作为JavaScript框架
《时光不再,惊羡你温柔如初》内容简介:《时光不再,惊羡你温柔如初》收录了朱自清的散文名篇,共分三部分,写生活中平凡的景色与
《数据可视化之美》内容简介:可视化是数据描述的图形表示,旨在一目了然地揭示数据中的复杂信息。可视化的典型如纽约地铁图和人
《数字信号处理:使用MATLAB》系Brooks/Cole出版公司(ThomsonLearning出版集团的下属子公司)2000年推出的BookWare系列丛书...
本书在全面概述电子商务模式与应用、网络平台建设、电子商务的案例与支付、物流、网络营销与CRM、管理和法律环境的理论基础上,覆
本书系统地讨论了数字信号处理的基本理论、基本算法和基本实现方法,注重基本概念、基本方法的讲解,压缩了繁琐的理论推导;注重
《中国关中—天水经济区发展报告(2013)》内容简介:《中国关中—天水经济区发展报告》系教育部重点支持的研究报告之一,由 陕西师
《官渡杀人事件》内容简介:作品改编自马伯庸短篇小说集《三国配角演义》中的《官渡杀人事件》。建安六年,“官渡之战”主公曹操大
《老福州》内容简介:老福州三山两塔一座楼、船与海的特异文化、名人与故居、近代福州不屈的英雄气、老手艺、习俗与美食、轶闻旧事
《普通高等教育十一五国家级规划教材•通信软件设计基础》针对通信软件和通信协议的特点,从通信协议的分析、设计和描述人手,系统
《中国佛教信仰与生活史》内容简介:本书从制度史、社会史、文化史的视角,以忏法、素食、慈善、讲经、放生、菩萨信仰、名山信仰等
《凡世与神界》内容简介:从“日月崇拜”“四方四神”“动物有灵”“权力信仰”“祖先崇拜”“造神运动”六个角度,环绕日月、天地
神经系统建模与控制工程 本书特色 《神经系统建模与控制工程》以作者相关研究工作为基础,结合神经计算与神经控制领域的*新发展编写。内容深入浅出,在介绍中枢神经系统...
《当代中国农村》内容简介:全面展示中国农村发展成就中国农业现代化建设;创新农业经营体制,转变农业发展方式农业供给侧结构性改
《学习脑:像训练肌肉一样训练大脑》内容简介:你知道吗:做总结、做标记、图形记忆、重复阅读—这些我们从小就在使用的学习方法都
作为网络程序员,你是否发现自己的应用程序远远不够健壮?那么,你需要了解编写高效TCP/IP程序所需的各种知识。本书正是这么一本
《鲁迅自编文集:汉文学史纲要》内容简介:该书原系鲁迅于1923年厦门大学讲授中国文学史课程时编写的讲义,题为《中国文学史略》;
本书主要讲解如何将集成开发环境、设计模式、极限编程、测试驱动开发、重构、持续集成这些现代编程方法应用到C语言的嵌入式开发中
精通Git-第2版 本书特色 Git仅用了几年时间就一跃成为了几乎一统商业及开源领域的版本控制系统。本书全面介绍Git进行版本管理的基础和进阶知识。全书共10章...
本书由地理信息系统(GIS)领域的四位资深学者编写,全面系统地讲解地理信息系统的基本原理与应用,是该领域的优秀教材。本书的主要