3
การออกแบบเชิงวัตถุสำหรับเกมหมากรุก [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันพยายามทำความเข้าใจเกี่ยวกับวิธีการออกแบบและคิดในลักษณะเชิงวัตถุและต้องการรับคำติชมจากชุมชนในหัวข้อนี้ ต่อไปนี้เป็นตัวอย่างเกมหมากรุกที่ฉันต้องการออกแบบในลักษณะ OO นี่เป็นการออกแบบที่กว้างมากและจุดสนใจของฉันในขั้นตอนนี้คือการระบุว่าใครเป็นผู้รับผิดชอบต่อข้อความใดและวัตถุโต้ตอบกันอย่างไรเพื่อจำลองเกม โปรดชี้ให้เห็นว่ามีองค์ประกอบของการออกแบบที่ไม่ดี (ข้อต่อสูงการเชื่อมต่อที่ไม่ดี ฯลฯ ) และจะปรับปรุงได้อย่างไร เกมหมากรุกมีคลาสดังต่อไปนี้ คณะกรรมการ ผู้เล่น ชิ้น สแควร์ เกมหมากรุก คณะกรรมการประกอบด้วยสี่เหลี่ยมดังนั้นคณะกรรมการจึงมีหน้าที่รับผิดชอบในการสร้างและจัดการวัตถุทรงสี่เหลี่ยม แต่ละชิ้นยังอยู่ในรูปสี่เหลี่ยมจัตุรัสดังนั้นแต่ละชิ้นจึงมีการอ้างอิงถึงสี่เหลี่ยมจัตุรัสด้วย (สิ่งนี้สมเหตุสมผลหรือไม่?) จากนั้นแต่ละชิ้นจะต้องรับผิดชอบในการเคลื่อนย้ายตัวเองจากตารางหนึ่งไปยังอีกสี่เหลี่ยมหนึ่ง คลาสผู้เล่นมีการอ้างอิงถึงชิ้นส่วนทั้งหมดที่เขาเป็นเจ้าของและยังรับผิดชอบในการสร้างของพวกเขา (ผู้เล่นควรสร้างชิ้นส่วนหรือไม่) ผู้เล่นมีวิธี TakeTurn ซึ่งจะเรียกวิธีการ movePiece ซึ่งเป็นของคลาสชิ้นส่วนซึ่งเปลี่ยนตำแหน่งของชิ้นส่วนจากตำแหน่งปัจจุบันไปยังตำแหน่งอื่น ตอนนี้ผมสับสนว่าคณะกรรมการต้องรับผิดชอบอะไรกันแน่ ฉันคิดว่าจำเป็นต้องกำหนดสถานะปัจจุบันของเกมและรู้ว่าเมื่อเกมจบลง แต่เมื่อชิ้นส่วนเปลี่ยนมัน ' ตำแหน่งของบอร์ดควรปรับปรุงอย่างไร ควรรักษาอาร์เรย์ของสี่เหลี่ยมที่แยกจากกันซึ่งชิ้นส่วนใดมีอยู่และได้รับการอัปเดตเมื่อชิ้นส่วนเคลื่อนที่หรือไม่ นอกจากนี้ ChessGame ยังสร้างบอร์ดและวัตถุของผู้เล่นอย่างตั้งใจซึ่งจะสร้างสี่เหลี่ยมและชิ้นส่วนตามลำดับและเริ่มการจำลอง สั้น ๆ นี่อาจเป็นลักษณะของโค้ดใน ChessGame Player p1 …