งานของคุณคือการจำลองเกมที่สมบูรณ์แบบทางคณิตศาสตร์ของ 2048 ความคิดคือการหาขีด จำกัด บนทางทฤษฎีของวิธีการที่เกม 2048 สามารถไปได้ไกลเท่าไหร่และหาวิธีไปที่นั่น
หากต้องการทราบว่าลักษณะนี้เป็นอย่างไรให้เล่นกับโคลน 2x2 นี้แล้วลองทำคะแนน 68 คะแนน ถ้าคุณทำคุณจะจบลงด้วยกระเบื้อง 2, 4, 8 และ 16 เป็นไปไม่ได้ที่จะผ่านจุดนั้นไป
งานของคุณทำได้ง่ายขึ้นเพราะคุณสามารถเลือกที่จะวางไข่ไทล์และค่าของมันคืออะไรเช่นเดียวกับโคลนนี้
คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่รับบอร์ด 2048 เป็นอินพุตและส่งเอาต์พุตบอร์ดด้วยแผ่นต่อที่เกิดและบอร์ดหลังจากยุบแผ่น ตัวอย่างเช่น:
Input:
-------
0 0 0 0
0 0 0 0
0 0 0 0
0 0 8 8
Output:
-------
0 0 0 0
0 0 0 0
0 0 0 0
0 4 8 8
0 0 0 0
0 0 0 0
0 0 0 0
0 0 4 16
โปรแกรมของคุณจะถูกป้อนข้อมูลซ้ำไปซ้ำมาเพื่อจำลองเกมทั้งหมดในปี 2048 อินพุตแรกของโปรแกรมจะเป็นบอร์ดเปล่า คุณต้องวางไข่หนึ่งไทล์บนมันซึ่งต่างจากสองไทล์ของเกมดั้งเดิม ในขั้นตอนสุดท้ายของเกมคุณจะไม่สามารถเคลื่อนไหวได้ดังนั้นบอร์ดเอาต์พุตทั้งสองของคุณจึงเหมือนกัน
แน่นอนว่าคุณจะต้องออกตามกฎหมายเท่านั้น สามารถวางไข่ได้เพียง 2 หรือ 4 ชิ้นเท่านั้นคุณต้องย้ายหรือยุบอย่างน้อยหนึ่งไทล์ในการย้าย ฯลฯ
ฉันตั้งใจทำให้ข้อกำหนดอินพุตและเอาต์พุตคลุมเครือ คุณมีอิสระในการเลือกรูปแบบของอินพุตและเอาต์พุต คุณสามารถใช้เมทริกซ์อาร์เรย์สตริงหรืออะไรก็ได้ที่คุณต้องการ ตราบใดที่คุณสามารถจำลองเกม 2048 กับพวกเขาอินพุทและเอาท์พุทของคุณได้ดี
ผู้ชนะจะเป็นผู้ที่จบเกมด้วยจำนวนไพ่สูงสุดบนกระดานจากนั้นตามด้วยจำนวนไบต์ต่ำที่สุดในซอร์สโค้ด คะแนนจากเกมต้นฉบับจะไม่นำมาพิจารณา (คำแนะนำ: ใช้ 4 ของ)