ผลต่างระหว่างรุ่นของ "418382 ภาคต้น 2553/การบ้าน 2"
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) |
||
แถว 2: | แถว 2: | ||
ให้ download [http://access.cs.sci.ku.ac.th/~pramook/418341/homework-02/homework-02-starter.zip homework-02-starter.zip] เมื่อขยายไฟล์แล้วให้เิปิดไฟล์ homework-02-starter.sln แล้วทดลองคอมไพล์และรันแล้วจะเห็นผลเป็นดังนี้ | ให้ download [http://access.cs.sci.ku.ac.th/~pramook/418341/homework-02/homework-02-starter.zip homework-02-starter.zip] เมื่อขยายไฟล์แล้วให้เิปิดไฟล์ homework-02-starter.sln แล้วทดลองคอมไพล์และรันแล้วจะเห็นผลเป็นดังนี้ | ||
− | : [[Image: | + | : [[Image:418341-homework-02-starter.jpg]] |
ซึ่งเมื่อคุณกดปุ่มคีย์บอร์ดหรือกดปุ่มเมาส์แล้วภาพก็ยังจะไม่เปลี่ยน | ซึ่งเมื่อคุณกดปุ่มคีย์บอร์ดหรือกดปุ่มเมาส์แล้วภาพก็ยังจะไม่เปลี่ยน | ||
รุ่นแก้ไขปัจจุบันเมื่อ 08:14, 8 สิงหาคม 2553
หมายเหตุ: การบ้านนี้ลอกมาจากการบ้านที่ 4 ของวิชา CSIE 234 ของมหาวิทยาลัย Harvard ดูต้นฉบับได้ที่นี่: Homework 4
ให้ download homework-02-starter.zip เมื่อขยายไฟล์แล้วให้เิปิดไฟล์ homework-02-starter.sln แล้วทดลองคอมไพล์และรันแล้วจะเห็นผลเป็นดังนี้
ซึ่งเมื่อคุณกดปุ่มคีย์บอร์ดหรือกดปุ่มเมาส์แล้วภาพก็ยังจะไม่เปลี่ยน
ข้อ 1 (60 คะแนน)
จงปรับแต่ง main.cpp เพื่อทำให้เมื่อกดปุ่มต่อไปนี้แล้วโปรแกรมมีพฤติกรรมดังนี้ (ข้อละ 10 คะแนน)
- เมื่อกดปุ่ม e แล้วกล้องเคลื่อนที่ไปข้างหน้า โดยไม่เปลี่ยนมุมมอง
- เมื่อกดปุ่ม d แล้วกล้องเคลื่อนที่ไปข้างหลัง โดยไม่เปลี่ยนมุมมอง
- เมื่อกดปุ่ม s แล้วกล้องเคลื่อนที่ไปข้างด้านซ้าย โดยไม่เปลี่ยนมุมมอง
- เมื่อกดปุ่ม f แล้วกล้องเคลื่อนที่ไปข้างด้านขวา โดยไม่เปลี่ยนมุมมอง
- เมื่อกดปุ่ม w แล้วกล้องหันไปทางด้านซ้าย โดยไม่เปลี่ยนตำแหน่ง
- เมื่อกดปุ่ม r แล้วกล้องหันไปทางด้านขวา โดยไม่เปลี่ยนตำแหน่ง
คุณควรจะทำให้การเคลื่อนที่ไม่เร็วหรือช้าเกินไป
ข้อ 2 (20 คะแนน)
โค้ดที่ให้มาได้ทำการเซตค่า field-of-view เท่ากับ 60 องศา (ให้ดูคำสั่ง gluPerspective ในฟังก์ชัน display) จงปรับแต่ง main.cpp ซึ่งทำให้ (ข้อละ 10 คะแนน)
- เมื่อผู้ใช้คลิกเมาส์แล้ว field-of-view จะเปลี่ยนจาก 60 องศาอย่างต่อเนื่องไปเป็น 20 องศา และ
- เมื่อผู้ใช้ปล่อยเมาส์แล้ว field-of-view จะเปลี่ยนจาก 20 องศาอย่างต่อเนื่องไปเป็น 60 องศาตามเดิม
ข้อ 3 (20 คะแนน)
จงปรับแต่ง main.cpp เพื่อทำให้กล้องถ่ายรูป (ผู้เล่น) ไม่สามารถเดินผ่านเสาได้
คุณควรศึกษา DrawWorld เพื่อดูว่าเสาตั้งอยู่ีที่ใดบ้่าง
ผลลัพธ์ที่ควรจะได้
โปรแกรมของคุณควรจะทำงานได้คล้ายโปรแกรมตัวอย่างนี้: homework-02.exe