ผลต่างระหว่างรุ่นของ "01204223/รายละเอียดเกี่ยวกับงานบอร์ด"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
(ไม่แสดง 5 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
แถว 15: แถว 15:
 
รายละเอียดของ method ที่เขียนนั้น จะระบุใน doctest ของโจทย์แต่ละข้ออยู่แล้ว  สำหรับหน้านี้จะอธิบายภาพรวมคร่าว ๆ เท่านั้น
 
รายละเอียดของ method ที่เขียนนั้น จะระบุใน doctest ของโจทย์แต่ละข้ออยู่แล้ว  สำหรับหน้านี้จะอธิบายภาพรวมคร่าว ๆ เท่านั้น
  
=== b1 ===
+
* '''b1''': ในข้อนี้เราจะเขียนคลาส Board ที่เก็บขนาดของตาราง และแสดงตารางว่าง ๆ ตามขนาดที่กำหนดไว้ตอนเริ่มต้นนั้น
ในข้อนี้เราจะเขียนคลาส Board ที่เก็บขนาดของตาราง และแสดงตารางว่าง ๆ ตามขนาดที่กำหนดไว้ตอนเริ่มต้นนั้น
 
  
=== b2 ===
+
* '''b2''': ในส่วนนี้เราจะเขียนคลาส GamePiece ที่เก็บตำแหน่ง, คืนตำแหน่ง, และสามารถระบุอักขระที่ใช้สำหรับพิมพ์เบี้ยตนเองได้ โดยอักขระที่พิมพ์คือ 'X'
ในส่วนนี้เราจะเขียนคลาส GamePiece ที่เก็บตำแหน่ง, คืนตำแหน่ง, และสามารถระบุอักขระที่ใช้สำหรับพิมพ์เบี้ยตนเองได้ โดยอักขระที่พิมพ์คือ 'X'
 
  
=== b3 ===
+
* '''b3''': ในส่วนนี้เราจะเพิ่มให้คลาส Board สามารถเก็บรายการของ GamePiece ได้
=== b4 ===
 
=== b5 ===
 
=== b6 ===
 
  
ตัวอย่างการเรียกใช้ <tt>__init__</tt> จากคลาสที่เรา inherite มา
+
* '''b4''': เราจะเพิ่มคลาส Player และ Robot โดยให้ inherit มาจากคลาส GamePiece  ในขั้นนี้คลาสทั้งสองต่างจาก GamePiece แค่อักขระที่ใช้พิมพ์
 +
 
 +
* '''b5''': ในส่วนนี้เราจะแก้คลาส Board ให้แสดงเบี้ยบนตารางเกมได้ สังเกตว่าเบี้ยจะแสดงด้วยอักขระที่เบี้ยเองระบุ (สังเกตว่าจะแสดงเป็น *, X, หรือ @ ตามชนิดของเบี้ย)
 +
 
 +
* '''b6''': เราจะแก้ให้ Robot เก็บเป้าหมาย (target) เป็น Player ที่จะพยายามเดินไปหา
 +
 
 +
'''หมายเหตุ:''' ตัวอย่างการเรียกใช้ <tt>__init__</tt> จากคลาสที่เรา inherite มา
  
 
  class Robot(GamePiece):
 
  class Robot(GamePiece):
แถว 33: แถว 34:
 
         # ..... your other initialization code here
 
         # ..... your other initialization code here
  
=== b7 ===
+
* '''b7''': ในส่วนนี้เราจะเขียนเมท็อด action บนคลาส Robot ที่ใช้บังคับให้หุ่นเดินไปในทางที่ใกล็ tager มากที่สุด

รุ่นแก้ไขปัจจุบันเมื่อ 04:20, 1 กรกฎาคม 2556

ในส่วนแบบฝึกหัด b1 - b7 เราจะพัฒนาโปรแกรมสำหรับเกมหนีหุ่น ซึ่งมีรายละเอียดของเกมเป็นดังนี้

เกมหนีหุ่น Robots เป็นเกมคลาสสิก ทดลองเล่นบน browser ได้จาก[1] ในเกมนี้ ผู้เล่นจะเดินหนีหุ่น โดยที่หุ่นจะเคลื่อนที่ไปในทิศต่าง ๆ ที่จะเข้าใกล้ผู้เล่นให้ได้มากที่สุด ถ้าเคลื่อนที่ชนกันหุ่นก็จะตายไป

คลาส

คลาสที่เราจะเขียนคือคลาส Board, GamePiece, Player และ Robot

  • คลาส Board จะเป็นคลาสหลักที่เก็บเบี้ย (GamePiece) ในเกมทั้งหมด และรับผิดชอบการแสดงผลตารางเกม
  • คลาส GamePiece จะเป็นคลาสฐานของเบี้ยในเกม เบี้ยจะทราบตำแหน่งของตัวเอง และสามารถบอกกับ board ได้ว่าจะให้แสดงผลเป็นอะไร
  • คลาส Player และ Robot จะ inherit มาจากคลาส GamePiece โดยมีการแสดงผลเป็น * สำหรับ player และ @ สำหรับ Robot

เป้าหมายของงานย่อยต่าง ๆ

รายละเอียดของ method ที่เขียนนั้น จะระบุใน doctest ของโจทย์แต่ละข้ออยู่แล้ว สำหรับหน้านี้จะอธิบายภาพรวมคร่าว ๆ เท่านั้น

  • b1: ในข้อนี้เราจะเขียนคลาส Board ที่เก็บขนาดของตาราง และแสดงตารางว่าง ๆ ตามขนาดที่กำหนดไว้ตอนเริ่มต้นนั้น
  • b2: ในส่วนนี้เราจะเขียนคลาส GamePiece ที่เก็บตำแหน่ง, คืนตำแหน่ง, และสามารถระบุอักขระที่ใช้สำหรับพิมพ์เบี้ยตนเองได้ โดยอักขระที่พิมพ์คือ 'X'
  • b3: ในส่วนนี้เราจะเพิ่มให้คลาส Board สามารถเก็บรายการของ GamePiece ได้
  • b4: เราจะเพิ่มคลาส Player และ Robot โดยให้ inherit มาจากคลาส GamePiece ในขั้นนี้คลาสทั้งสองต่างจาก GamePiece แค่อักขระที่ใช้พิมพ์
  • b5: ในส่วนนี้เราจะแก้คลาส Board ให้แสดงเบี้ยบนตารางเกมได้ สังเกตว่าเบี้ยจะแสดงด้วยอักขระที่เบี้ยเองระบุ (สังเกตว่าจะแสดงเป็น *, X, หรือ @ ตามชนิดของเบี้ย)
  • b6: เราจะแก้ให้ Robot เก็บเป้าหมาย (target) เป็น Player ที่จะพยายามเดินไปหา

หมายเหตุ: ตัวอย่างการเรียกใช้ __init__ จากคลาสที่เรา inherite มา

class Robot(GamePiece):
    def __init__(self,r,c,target):
        GamePiece.__init__(self,r,c)
        # ..... your other initialization code here
  • b7: ในส่วนนี้เราจะเขียนเมท็อด action บนคลาส Robot ที่ใช้บังคับให้หุ่นเดินไปในทางที่ใกล็ tager มากที่สุด