《父與子的程式設計之旅(第3版)》第18章習題答案
本文針對第18章章末的習題提供參考答案。當然,有些習題的正確答案不止一個,特別是“動手試一試”,不過你可以通過這些答案來判斷自己的思路是否正確。
第18章 一種新的輸入——事件
測試題
(1) Pygame程式可以響應的兩種事件分別是鍵盤事件和滑鼠事件。
(2) 處理事件的程式碼稱為事件處理器。
(3) Pygame使用KEYDOWN
事件來檢測按鍵是否按下。
(4) pos
屬性會指出事件發生時滑鼠所在的位置。
(5) 可以使用pygame.USEREVENT
來為使用者事件得到下一個可用的事件編號。
(6) 可以使用pygame.time.set_timer()
來建立定時器。
(7) 可以使用字型物件在Pygame視窗中顯示文字。
(8) 使用字型物件有3個步驟。
- 建立一個字型物件。
- 渲染文字,建立一個表面。
- 把這個表面塊移到顯示錶面。
動手試一試
(1) 這種現象是因為這裡有一個碰撞,所以程式碼嘗試調整球的垂直運動方向(讓它向上而不是向下)。但是因為球是從兩邊(左邊或右邊)過來的,所以即使在反向之後,它仍會與球拍碰撞。在下一次迴圈時(一幀之後),它會再次反向,因此會再次向下,如此繼續。
要解決這個問題,有一種簡單的方法:當球與球拍碰撞時,總是將球設定為向“上”(y-speed
值為負)。這不是一種完美的解決辦法,因為這意味著即使球碰到球拍的左右兩邊,它也會向上反彈——這可不太現實!不過這樣做能解決球在球拍兩邊來回反彈的問題。如果想要一種更真實的解決方案,你可能需要編寫更多的程式碼。也許要增加一些內容,就是在反彈之前,檢查球碰到了球拍的哪一邊。
可以在answers資料夾中的TIO_CH18_1.py檔案中檢視參考答案。
(2) answers資料夾給出了一些參考程式碼,可以增加程式的隨機性,參見TIO_CH18_2.py檔案。
相關文章
- 《父與子的程式設計之旅(第3版)》第1章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第2章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第3章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第4章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第5章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第6章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第7章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第8章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第9章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第11章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第12章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第13章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第14章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第15章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第16章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第17章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第19章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第20章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第21章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第22章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第23章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第24章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第26章習題答案程式設計
- Python核心程式設計v2.0 第11章習題答案Python程式設計
- Python程式設計:從入門到實踐(第2版)第1章習題答案Python程式設計
- Python核心程式設計第2版第六章習題答案Python程式設計
- 李航《統計學習方法》第2版 第2章課後習題答案
- 《Python程式設計(第3版)》[美] 約翰·策勒(John Zelle) 第 3 章 答案Python程式設計
- 第1章 程式設計的方法程式設計
- 《統計學習方法》第11章習題
- 《Java語言程式設計(基礎篇)(原書第10版)》第2~4章部分程式設計練習題程式碼Java程式設計
- 第 18 章 CSS 表格與列表CSS
- JavaScript物件程式設計-第3章JavaScript物件程式設計
- 第12章、網路程式設計程式設計
- 《程式設計珠璣》第2章三個問題程式設計
- 《Python程式設計:從入門到實踐》第2章習題Python程式設計
- JavaScript的BOM程式設計,事件-第4章JavaScript程式設計事件
- Android程式設計權威指南(第2版)—第14章挑戰練習Android程式設計