第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 再多玩一會兒Sunaba 453
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 推薦JavaScript 460
結語 463
· · · · · · (
收起)
評分
☆☆☆☆☆
作者沒有使用現有語言,而是專門開發瞭一種教學語言和運行環境,來講解編程。使得初學者能專注於編程的核心概念而不是與各種細枝末節的語法現象以及編譯問題作鬥爭。
評分
☆☆☆☆☆
解決瞭很多以前看國內教材的問題,說不清的問題,非常值得讀,終於學會編程瞭!!!
評分
☆☆☆☆☆
看上去很不錯。很愛啓發。日本人在編程教育方麵還是想瞭很多辦法啊。
評分
☆☆☆☆☆
作者沒有使用現有語言,而是專門開發瞭一種教學語言和運行環境,來講解編程。使得初學者能專注於編程的核心概念而不是與各種細枝末節的語法現象以及編譯問題作鬥爭。
評分
☆☆☆☆☆
蠻不錯的,通俗易懂,很詳細~
評分
☆☆☆☆☆
首先给出结论:这本书非常好, 如果你对编程一无所知, 或者一直只会语法而不得编程之要领, 均推荐阅读. 纵览市面上的编程入门类教材, 结构大同小异, 无论是Python/Ruby这类的脚本语言还是C/C++/GO这样的编译型语言, 内容结构均为: 变量, 循环, ......第一个项目.....结尾. 看似有...
評分
☆☆☆☆☆
首先给出结论:这本书非常好, 如果你对编程一无所知, 或者一直只会语法而不得编程之要领, 均推荐阅读. 纵览市面上的编程入门类教材, 结构大同小异, 无论是Python/Ruby这类的脚本语言还是C/C++/GO这样的编译型语言, 内容结构均为: 变量, 循环, ......第一个项目.....结尾. 看似有...
評分
☆☆☆☆☆
首先给出结论:这本书非常好, 如果你对编程一无所知, 或者一直只会语法而不得编程之要领, 均推荐阅读. 纵览市面上的编程入门类教材, 结构大同小异, 无论是Python/Ruby这类的脚本语言还是C/C++/GO这样的编译型语言, 内容结构均为: 变量, 循环, ......第一个项目.....结尾. 看似有...
評分
☆☆☆☆☆
首先给出结论:这本书非常好, 如果你对编程一无所知, 或者一直只会语法而不得编程之要领, 均推荐阅读. 纵览市面上的编程入门类教材, 结构大同小异, 无论是Python/Ruby这类的脚本语言还是C/C++/GO这样的编译型语言, 内容结构均为: 变量, 循环, ......第一个项目.....结尾. 看似有...
評分
☆☆☆☆☆
首先给出结论:这本书非常好, 如果你对编程一无所知, 或者一直只会语法而不得编程之要领, 均推荐阅读. 纵览市面上的编程入门类教材, 结构大同小异, 无论是Python/Ruby这类的脚本语言还是C/C++/GO这样的编译型语言, 内容结构均为: 变量, 循环, ......第一个项目.....结尾. 看似有...