418587 ภาคปลาย 2552/การบ้าน 1

จาก Theory Wiki
รุ่นแก้ไขเมื่อ 14:28, 5 ธันวาคม 2552 โดย Cardcaptor (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย 'การบ้านนี้เป็นงานกลุ่ม กลุ่มละไม่เกิน 4 คน กลุ่มใ…')
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)
ไปยังการนำทาง ไปยังการค้นหา

การบ้านนี้เป็นงานกลุ่ม กลุ่มละไม่เกิน 4 คน กลุ่มใดจะมีแค่คนเดียวก็ได้

ให้ไว้ ณ วันจันทร์ที่ 1 ธ.ค. 2551 ส่งวันจันทร์ที่ 12 ม.ค. 2552 เวลา 23.59 น. โดย zip ไฟล์ในไดเรกทอรี homework-01 ส่งมาที่ pramook at gmail dot com

เริ่มต้น

ให้ดาวน์โหลดซอร์สโค้ดของโปรแกรมเกม Tetris จาก http://access.cs.sci.ku.ac.th/~pramook/418383/homework-01/homework-01.zip (ผมเพิ่ง upload การบ้านใหม่เมื่อวัีนที่ 14 ธันวาคม 2551 ใครที่ download ไปแล้วกรุณามา download ไฟล์เดิมใหม่ด้วย)

คุณสามารถดู document ของระบบได้ที่นี่ http://access.cs.sci.ku.ac.th/~pramook/418383/homework-01/doc

งานของคุณ

1. เพิ่มระดับความยาก

จงแก้ไขเกมให้ tetromino ตกลงมาเร็วขึ้นเมื่อผู้เล่นทำแถวเติมได้ 20 แถวแต่ละครั้ง พร้อมทั้งเพิ่มส่วนแสดงผลว่าตอนนี้ผู้เล่นอยู่้ที่ระดับความยากอะไร โดยให้ระดับความยากแรก (ตกช้า) เป็นระดับความยากที่ 1 แล้วระดับความยากถัดๆ ไปเป็นระดับความยากที่ 2, 3, 4, ฯลฯ

2. Pause Mode

จงแก้ไขโปรแกรมให้เมื่อผู้ใช้อยู่ใน Play Mode หรือ Full Row Mode แล้วกด ESC แล้วเกมจะหยุดเล่นแล้วแสดงเมนูให้ผู้ใช้เลือก (1) เล่นต่อ (2) กลับไปไตเติ้ล หรือ (3) เลิกการทำงานของโปรแกรม โดยถ้าผู้ใช้เลือกเล่นต่อก็ให้กลับไปยัง mode เดิมก่อนผู้ใช้กด ESC

3. High Scores

จงแ้ก้ไขโปรแกรมให้เก็บคะแนนสูงสุดของการเล่นที่ผ่านๆ มาเอาไว้ 10 คะแนน โดยเก็บข้อมูลใส่ในไฟล์ชื่อ high-scores.txt และให้นำคะแนนสูงสุดมาแสดงทุกครั้งเมื่อ Game Over และให้เพิ่มตัวเลือกในเมนูที่ Title Mode ให้สามารถดูคะแนนสูงสุดที่ผ่านมาได้ด้วย

4. Time Attack Mode

ให้เพิ่ม Time Attack Mode โดยเป็น mode ที่ผู้เล่นสามารถเล่นเกมได้เรื่อยๆ จนทำแถวเติมได้ครบ 50 แถว (หรือจะกี่แถวก็ได้) โดยความยากไม่เพิ่มขึ้น ให้เกมจับเวลาที่ผู้เล่นเริ่มเล่นจนกระทั่งทำแถวเต็มได้ครบตามกำหนด และให้มี

  1. นาฬิกาแสดงเวลาที่ผู้เล่นใช้ไปแล้วอยู่ด้วยตอนเล่นเกม
  2. การเก็บเวลาที่น้อยที่สุด 10 อันดับแรกใส่ใน high-scores.txt
  3. เอาเวลาที่ดีที่สุดมาแสดงหลังจากผู้ใช้ทำแถวไ้ด้ครบหรือ Game Over ไปก่อนทำได้ครบ
  4. เพิ่มเมนูใน Title Mode ให้สามารถเรียกดูเวลาที่ดีที่สุดได้

5. ทำให้เกมสวยงาม

เปลี่ยนหน้า Title, หน้า Game Over, หน้าจอระหว่างเล่นเกม, และวิธีแสดงแถวที่เต็มให้สวยงาม โดยอาจใช้รูปภาพแทน block ฯลฯ

ขอให้คุณใช้ความสามารถทางศิลปะให้เต็มที่