ฉันมีเกม Sudoku ที่ขายดีที่สุดใน iOS app store นี่คือวิธีที่ฉันสร้างปริศนา
ก่อนอื่นฉันมีแอปพลิเคชั่นตัวสร้างปริศนา แต่มันไม่ได้เป็นส่วนหนึ่งของรหัสของเกม มันเป็นแอพแบบสแตนด์อะโลนที่ฉันใช้ในการทำจิ๊กซอร์ มันได้รับการดัดแปลงอย่างมากดังนั้นฉันจึงสามารถตั้งให้สร้างรูปแบบที่แตกต่างการจัดอันดับความยากจำนวน givens ฯลฯ การสร้างตัวต่อและการรับระดับความยากที่สอดคล้องกันนั้นทำได้ยากและใช้เวลามากกว่าที่ผู้เล่นต้องการรอ ดังนั้นฉันจึงสร้างสิ่งที่ฉันเรียกว่า "ปริศนาไขปริศนา" และนั่นคือสิ่งที่ใช้ในรหัสของเกมเพื่อสร้างปริศนาที่ผู้คนเล่น
ฉันไม่ตอบวิธีเขียนรหัสเครื่องกำเนิดไฟฟ้าที่นี่ คุณสามารถ google และค้นหารหัสเครื่องกำเนิดไฟฟ้าปริศนาออนไลน์ได้ เริ่มที่นั่น แต่เพื่อให้เป็นเกมที่ดีคุณต้องสร้างเกมที่ดี เกมของฉันไม่ได้สร้างจิ๊กซอว์ได้ทันที
วิธีการทำงานของแอพตัวสร้างปริศนาของฉันคือมันสร้างปริศนาหลายพันชิ้นต่อนาที แต่มันไม่ได้ดีเลยและมันก็ไม่ตรงกับระดับความยากที่ระบุ เครื่องกำเนิดสร้างตัวต่อแล้วไขปริศนาและจัดอันดับความยากและให้คะแนนตัวต่อบนพื้นฐานของเทคนิคที่จำเป็นในการไขตัวต่อและพิจารณาว่าต้องเดาการแก้ปัญหา มันโยนปริศนาที่ไม่ตรงกับเกณฑ์ สำหรับปริศนาที่ยาก แต่เป็นไปไม่ได้บนเครื่องจักรที่เร็วมันอาจใช้เวลาหนึ่งชั่วโมงในการสร้าง 100 ปริศนาที่ตรงกับข้อกำหนดที่แน่นอนของฉัน นี่คือเหตุผลที่ฉันไม่ได้ทำในแอพ การสร้างตัวต่อได้อย่างรวดเร็วด้วยสเปคที่แข็งแกร่งเหล่านั้นจะไม่สามารถใช้งานได้กับคุณภาพของตัวต่อที่ฉันมีในแอพของฉัน
ปริศนาคือสตริงยาว 162 ตัวอักษร 81 ตัวอักษรที่มีตัวเลขและขีดกลางหรือจุดที่ช่องว่างจะเป็นแล้วอีก 81 ด้วยการแก้ปัญหา จากนั้นคอลัมน์สำหรับแต่ละสถิติเช่นจำนวนซิงเกิ้ล, ทวีคูณ, ฯลฯ
เอาต์พุตของฉันจากเซสชันการสร้างทั้งหมดเป็นเส้นคั่นด้วยเครื่องหมายจุลภาคพร้อมสถิติเป็นคอลัมน์ ฉันจะไขปริศนา 10,000 เรื่องนำพวกมันไปสู่ Excel และจัดเรียงมันด้วยความยากลำบาก จากนั้นนำมาไว้ในแอพเพื่อดูพวกเขาบนกระดานเกม ฉันมองไปที่พวกเขาเพื่อดึงดูดสายตาและรูปแบบที่มองเห็นได้ของปริศนา จากนั้นฉันเลือกจากมือ
ฉันเรียกพวกเขาว่าปริศนาไขปริศนาและนี่คือสิ่งที่ฉันหมายถึง ตัวเลขในเกมซูโดกุเป็นเพียงสัญลักษณ์เท่านั้น แทนที่จะเป็นตัวเลข 1-9 พวกเขาอาจเป็นสีหรือสัญลักษณ์หรือตัวอักษร ดังนั้นตัวต่อเมล็ดพันธุ์ของฉันจึงไม่ใช่ตัวเลขพวกมันคือตัวอักษรไอ ปริศนาตัวต่อแต่ละตัวจะได้รับการเปลี่ยนแปลงทันทีเพื่อให้ไขปริศนาที่เล่นได้
- สุ่มตัวเลข / โทเค็น เมื่อฉันเปลี่ยนตัวอักษร ai กลับไปเป็นตัวเลข 1-9 ตารางการค้นหาจะถูกสุ่ม ความหมายที่ไม่ได้เป็นเสมอไป 1 เพียงอย่างเดียวสร้างประมาณ 300,000 รูปแบบในแต่ละปริศนา
- หมุนตัวต่อ 90, 180 หรือ 270 องศา ที่เพิ่ม 4 รูปแบบเพิ่มเติม
- ปัดปริศนาแนวนอนแนวตั้งหรือทั้งสองอย่าง ที่เพิ่ม 4 รูปแบบเพิ่มเติม
ปริศนาแต่ละเม็ดจึงสามารถสร้างรูปแบบ 5,806,080 รูปแบบ ฉันได้ทำการทดสอบในสนามกับผู้เล่นตัวจริง ผู้คนไม่รู้ว่าพวกเขากำลังเล่นตัวต่อแบบเดียวกัน มันเป็นไปไม่ได้จริง เฉพาะในกรณีที่พวกเขาสังเกตเห็นว่ารูปแบบที่ givens อยู่ในแต่ละครั้งเหมือนกัน แต่ด้วย 100 เมล็ดที่แตกต่างกันจะไม่มีใครสังเกตเห็น ผู้ใช้เกมของฉันนับล้านยังไม่ได้ ฉันยังทดสอบด้วยแอพตัวแก้ แอปแก้ปัญหาจะไม่แก้ปริศนาในลักษณะเดียวกันเมื่อมันหมุนหรือลอย บางครั้งมันจะวิเคราะห์ว่าเป็นการให้คะแนนความยากต่างกันถึงแม้ว่ามันจะเป็นปริศนาแบบเดียวกันก็ตาม
อย่างไรก็ตาม Big Bad Sudoku Book มีปริศนาตัวต่อ 10 ถึง 1,000 ใน 5 ระดับความยากและหลายรูปแบบตัวต่อ ซึ่งหมายความว่ามีเกมปริศนานับพันล้านรายการในเกมของฉัน ทุก 10,000 ปริศนามี 58,060,800,000 ปริศนาที่แตกต่างกัน
ใน Sudoku Book เวอร์ชั่น 4 (ครบกำหนดปี 2559) ฉันหาวิธีที่จะสามารถระบุปริศนาที่แน่นอนจาก 58 พันล้านดอลลาร์และได้รับตัวต่อเดียวกันบนอุปกรณ์ของผู้เล่นแต่ละคน