เขียนโปรแกรมในภาษาที่คุณเลือกซึ่งเล่นเกม tic-tac-toe ที่สมบูรณ์แบบบนกระดาน 3 * 3 กับผู้เล่นคนหนึ่ง อย่างไรก็ตามการย้ายทุกครั้งจะต้องเป็นโปรแกรมที่แตกต่างซึ่งสร้างขึ้นจากการวนซ้ำก่อนหน้านี้
อย่างไรและในรูปแบบใดที่คุณประเมินการป้อนข้อมูลของมนุษย์ขึ้นอยู่กับคุณ แต่จะต้องอ่านจากอินพุตมาตรฐาน ในทำนองเดียวกันคุณมีอิสระที่จะเลือกวิธีที่คุณจะตัดสินว่าผู้เล่นคนใดเริ่มต้น (ตัวอย่างเช่นคุณถามก่อนหรืออนุญาตให้มนุษย์เข้าสู่การเคลื่อนไหวที่ไม่ถูกต้องเพื่อส่งสัญญาณว่าคอมพิวเตอร์เริ่มหรือแนวคิดอื่น ๆ )
การตรวจสอบความเคลื่อนไหวนั้นไม่จำเป็นคุณสามารถถือว่าคู่ต่อสู้ของมนุษย์เล่นได้อย่างเป็นธรรม
โดยทั่วไปคุณมีโปรแกรมที่สอดคล้องกับสถานะของบอร์ด สถานะถูกพิมพ์ด้วยวิธีที่รู้จัก แต่อย่างน้อยคาดว่าจะมีรายละเอียดในระดับต่อไปนี้:
X..
00X
x..
หลังจากผู้เล่นเข้าสู่การเคลื่อนไหวโปรแกรมของคุณจะต้องสร้างการวนซ้ำครั้งต่อไปของตัวเองเป็นไฟล์ต้นฉบับในภาษาเดียวกัน (ไม่ว่าจะเป็นเอาต์พุตมาตรฐานหรือไฟล์) และยุติ คุณไม่ได้รับอนุญาตให้จัดเก็บข้อมูลที่อื่นนอกไฟล์ต้นฉบับ (ไม่จำเป็นสำหรับโปรแกรมของคุณในการสร้างและเรียกใช้โปรแกรมที่สร้างขึ้นผู้ใช้สามารถทำได้ - แต่ไม่ได้ห้ามไว้) เมื่อโปรแกรมที่สร้างขึ้นถูกสร้างขึ้นและรันโปรแกรมจะทำงานในทำนองเดียวกันแสดงสถานะรออินพุตของผู้ใช้ ฯลฯ
ในตอนท้ายของเกมคุณจะต้องพิมพ์ผลการแข่งขัน (ไม่ว่าคุณจะชนะหรือเสมอ) ในรูปแบบที่พิสูจน์ได้อย่างชัดเจน
โดยการเล่นที่สมบูรณ์แบบฉันหมายถึงโปรแกรมจะต้องไม่แพ้และถ้ามีความเป็นไปได้ที่จะบังคับให้ชนะมันควรจะชนะ
รหัสที่สั้นที่สุดชนะผู้ชนะจะถูกเลือกอย่างน้อย 10 วันหลังจากรายการที่ถูกต้องครั้งแรก
คุณจะได้รับคะแนนลดลง 10% หากโปรแกรมของคุณสามารถจัดการสิ่งปลูกสร้างและเริ่มต้นการทำซ้ำครั้งต่อไป (ฉันรู้ว่ามันอาจจะไม่คุ้มค่าที่สุด) แน่นอนว่าตัวโปรแกรมเองต้องถูกยกเลิกเมื่อเวลาที่การทำซ้ำครั้งถัดไปยอมรับการย้ายจากผู้ใช้
หากคุณใช้อุบายแปลก ๆ แปลก ๆ โปรดโพสต์คำอธิบายสั้น ๆ พร้อมรหัสของคุณ