418587 ภาคปลาย 2552/การบ้าน 1
ให้ไว้ ณ วันอาทิตย์ที่ 7 ธ.ค. 2552 ส่งวันอาทิตย์ที่ 21 ธ.ค. 2552 เวลา 23.59 น. โดย zip ไฟล์ในไดเรกทอรี homework-01 ส่งมาที่ pramook at gmail dot com
เนื้อหา
เริ่มต้น
ให้ดาวน์โหลดซอร์สโค้ดของโปรแกรมเกม Tetris จาก http://theory.cpe.ku.ac.th/~pramook/418383/homework-01/Tetris.zip
ในเกมมีการใช้ font ชื่อ Bit Stream Vera Mono ซึ่งคุณสามารถ download ได้จากลิงค์นี้ http://theory.cpe.ku.ac.th/~pramook/418383/homework-01/VeraMono.ttf
คุณสามารถดู documentation ของระบบได้ที่นี่ http://theory.cpe.ku.ac.th/~pramook/418383/homework-01/doc/html
งานของคุณ
1. เพิ่มระดับความยาก
จงแก้ไขเกมให้ tetromino ตกลงมาเร็วขึ้นเมื่อผู้เล่นทำแถวเติมได้ 20 แถวแต่ละครั้ง พร้อมทั้งเพิ่มส่วนแสดงผลว่าตอนนี้ผู้เล่นอยู่้ที่ระดับความยากอะไร โดยให้ระดับความยากแรก (ตกช้า) เป็นระดับความยากที่ 1 แล้วระดับความยากถัดๆ ไปเป็นระดับความยากที่ 2, 3, 4, ฯลฯ
2. Pause Mode
จงแก้ไขโปรแกรมให้เมื่อผู้ใช้อยู่ใน Play Scene แล้วกด ESC แล้วเกมจะหยุดเล่นแล้วแสดงเมนูให้ผู้ใช้เลือก (1) เล่นต่อ (2) กลับไปไตเติ้ล หรือ (3) เลิกการทำงานของโปรแกรม โดยถ้าผู้ใช้เลือกเล่นต่อก็ให้กลับไปยัง mode เดิมก่อนผู้ใช้กด ESC
3. High Scores
จงแ้ก้ไขโปรแกรมให้เก็บคะแนนสูงสุดของการเล่นที่ผ่านๆ มาเอาไว้ 10 คะแนน โดยเก็บข้อมูลใส่ในไฟล์ชื่อ high-scores.txt และให้นำคะแนนสูงสุดมาแสดงทุกครั้งเมื่อ Game Over และให้เพิ่มตัวเลือกในเมนูที่ Title Scene ให้สามารถดูคะแนนสูงสุดที่ผ่านมาได้ด้วย
4. Time Attack Mode
ให้เพิ่ม Time Attack Mode โดยเป็น mode ที่ผู้เล่นสามารถเล่นเกมได้เรื่อยๆ จนทำแถวเติมได้ครบ 50 แถว (หรือจะกี่แถวก็ได้) โดยความยากไม่เพิ่มขึ้น ให้เกมจับเวลาที่ผู้เล่นเริ่มเล่นจนกระทั่งทำแถวเต็มได้ครบตามกำหนด และให้มี
- นาฬิกาแสดงเวลาที่ผู้เล่นใช้ไปแล้วอยู่ด้วยตอนเล่นเกม
- การเก็บเวลาที่น้อยที่สุด 10 อันดับแรกใส่ใน high-scores.txt
- เอาเวลาที่ดีที่สุดมาแสดงหลังจากผู้ใช้ทำแถวไ้ด้ครบหรือ Game Over ไปก่อนทำได้ครบ
- เพิ่มเมนูใน Title Scene ให้สามารถเรียกดูเวลาที่ดีที่สุดได้
5. ทำให้เกมสวยงาม
เปลี่ยนหน้า Title, หน้า Game Over, หน้าจอระหว่างเล่นเกม, และวิธีแสดงแถวที่เต็มให้สวยงาม โดยอาจใช้รูปภาพแทน block ฯลฯ
ขอให้คุณใช้ความสามารถทางศิลปะให้เต็มที่