我的第一本編程書

我的第一本編程書

《我的第一本編程書》是2016年人民郵電出版社出版的圖書,作者是[日] 平山尚。

基本信息

圖書簡介

本書是編程的入門書,目的在於教會讀者編程的基本思路和方法。書中使用專門的工具Sunaba,向讀者展示如何從零開始一步步做出一個完整的程式。本書講解詳細、連貫,並採用了大量能與現實生活相結合的例子。特別是在對編程思路的介紹上,作者不惜筆墨,進行了詳細的說明。

本書適合初次接觸編程的人閱讀,也適合有一定編程經驗的人查漏補缺。

目錄

第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

相關詞條

熱門詞條

聯絡我們