✔ 最佳答案
turbo pascal 不是 event driven,即係由程式開始跑,全權由編程員去決定每一刻在做什麼。
readln 和 read 會令程完全停頓等待用家輸入,而且無法同時決定其他工作,或者只簡單的決定time out而退出。
keypressed()和 readkey()兩個function可以讀取用家的即時按鍵,而且可以讀入如方向鍵等控制鍵。keypressed()可以檢查用家有否按鍵。
繪畫程式可以是自定一個cursor,即畫筆位置,讀取用家方向鍵決定移動,而按鍵,例如P,決定pen up或pen down,pen down時,cursor移動會留下筆跡,否則只移動cursor。數字鍵可以改變畫筆顏色。
流程大約是
(1) 畫出 cursor
(2) 檢查按鍵 keypresed
沒有,回(1),否則繼續
(3) 讀入 readkey
(4)方向鍵,移動cursor,如PenDown舊cursor位置畫點
(5) P鍵,設定 pen up/down (PenDown := not PenDown);
(6) 數字鍵,設定顏色
(7) ESC鍵,退出,否則回(1)
good luck