ปริศนาตรรกะแบทเทิลชิป
(lukerissacher.com)- เป็นปริศนาตรรกะแบบ Battleship Solitaire ที่เหมาะกับการเล่นเบา ๆ ระหว่างฟังพอดแคสต์หรือเพลง โดยใช้การอนุมานเพื่อเติมตำแหน่งเรือและช่องน้ำที่ซ่อนอยู่บนกระดาน
- ตัวเลขของแต่ละแถวและคอลัมน์หมายถึง จำนวนช่องเรือ ที่อยู่ในเส้นนั้น และรายการเรือด้านบนของปริศนาจะบอกขนาดเรือที่ต้องหา
- เรือห้ามติดกัน และ ห้ามสัมผัสกันในแนวทแยง จึงสามารถใช้การอนุมานแบบกำหนดช่องรอบเรือที่ยืนยันแล้วให้เป็นน้ำได้
- เมื่อแก้ไม่ออก สามารถใช้กฎอย่าง ตำแหน่งที่เหลือ, ที่เหลือเป็นน้ำ, การจัดการน้ำที่มุม, การล้อมเรือที่เสร็จสมบูรณ์, และการหาตำแหน่งเดียวที่เป็นไปได้ของเรือลำที่ใหญ่ที่สุด
- เล่นได้บนมือถือ และมีฟังก์ชันคลิกตัวเลขเพื่อเติมน้ำอัตโนมัติ ช่วยลดภาระการกรอกซ้ำ ๆ
วิธีเล่นปริศนา
- Battleship Solitaire เป็นหนึ่งในเวอร์ชันของ Battleship Logic Puzzle) และยังถูกเรียกว่า Battleship Solitaire, Bimaru, Yubotu
- บนกระดานมีเรือหลายขนาดซ่อนอยู่ และด้านบนของปริศนาจะแสดง รายการขนาดเรือ ที่ต้องหา
- ผู้ใช้คลิกแต่ละช่องเพื่อกำหนดว่าตรงไหนเป็นเรือและตรงไหนเป็นน้ำ
- ตัวเลขของแต่ละแถวและคอลัมน์แสดง จำนวนช่องเรือ ที่อยู่ในแถวหรือคอลัมน์นั้น
- เมื่อเติมทุกช่องได้อย่างถูกต้อง ก็จะถือว่าแก้ปริศนาเสร็จ
- เรือห้ามแตะกัน และห้ามสัมผัสกันแม้ในแนวทแยง
กฎการแก้และฟังก์ชันอำนวยความสะดวก
- กฎตำแหน่งที่เหลือ: ถ้าแถวหนึ่งต้องมีช่องเรือ 3 ช่อง และเหลือช่องที่ยังไม่ใช่น้ำอยู่พอดี 3 ช่อง ช่องทั้ง 3 นั้นจะต้องเป็นเรือทั้งหมด
- กฎที่เหลือเป็นน้ำ: ถ้าแถวหนึ่งมีจำนวนช่องเรือตามที่ต้องการครบแล้ว ช่องที่เหลือทั้งหมดในแถวนั้นจะเป็นน้ำ
- แถวที่มีจำนวนช่องเรือที่ต้องการเป็น 0 ก็สามารถทำเป็นน้ำทั้งหมดได้ด้วยวิธีเดียวกัน
- คลิกตัวเลขเพื่อเติมน้ำอัตโนมัติได้
- กฎน้ำที่มุม: เนื่องจากเรือห้ามแตะกันในแนวทแยง ช่องมุมทแยงรอบช่องเรือจึงเป็นน้ำได้เสมอ
- กฎล้อมเรือที่สมบูรณ์: เมื่อทราบตำแหน่งของเรือทั้งลำแล้ว สามารถล้อมรอบเรือลำนั้นด้วยน้ำได้ทั้งหมด
- กฎตำแหน่งเดียวที่ลงได้: บางครั้งจะเหลือตำแหน่งบนกระดานเพียงจุดเดียวที่เรือลำที่ใหญ่ที่สุดสามารถวางได้
- เล่นได้บนอุปกรณ์พกพาด้วย
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ถ้าชอบปริศนาแบบนี้ Puzzles ของ Simon Tatham ผู้สร้าง PuTTY ก็น่าดูมากเช่นกัน: https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
เวอร์ชันพอร์ตบน Android และ iPhone ก็ยอดเยี่ยม แถมฟรีโดยไม่มีโฆษณาหรือสิ่งรก ๆ
แต่ต้องไปหากฎของแต่ละปริศนาเอง
จุดที่น่าสนใจคือ ปริศนา Battleships เป็น NP-complete: http://www.mountainvistasoft.com/docs/BattleshipsAsDecidabil...
ยังไม่มีอัลกอริทึมแก้ที่เป็นที่รู้จักซึ่งสามารถแก้ได้ในเวลาแบบพหุนามเมื่อปริศนาหรือขนาดกระดานใหญ่ขึ้น
ดีที่ทำให้เป็นมิตรกับมือถือ เว็บไซต์ที่ผมเล่นประจำแทบใช้งานไม่ได้เลย และแอปที่หาเจอใน Play Store ส่วนใหญ่ก็พยายามขายชุดปริศนา 50 ข้อในราคา $1.99 ทั้งที่ดูไม่ได้ทุ่มแรงอะไรกับการสร้างปริศนาเลย จนเกือบจะทำเวอร์ชัน Android เองอยู่แล้ว
ถึงขั้นทำเหมือนว่าการให้ปริศนาฟรีสัปดาห์ละ 1 ข้อเป็นความใจกว้างมหาศาล อย่างไรก็ตาม ถ้ามีตั้งค่าสลับพฤติกรรมเริ่มต้นของคลิกซ้าย/ขวาได้ก็คงดี สำหรับปริศนาแบบนี้ ผมชอบวิธี “คลิกช่องที่มี และทำเครื่องหมายช่องที่ไม่มีด้วยคลิกขวา”
ถ้ามีคนขอเยอะ ก็คงควรทำเป็นการตั้งค่าที่บันทึกได้
ถ้ามีประสบการณ์แก้เยอะ โดยทั่วไปก็แยกปริศนาที่สร้างโดยระบบกับปริศนาที่คนทำได้ ผมก็สงสัยเหมือนกันว่าคุณกำลังมองหาปริศนา Battleship อยู่ หรือมองหา Sudoku ดัดแปลงโดยรวมกันแน่
อันนี้เหมือน Nonogram ดัดแปลง ที่สนุกดี ถ้าชอบปริศนานี้ ก็น่าจะชอบ Nonogram ด้วย: https://en.wikipedia.org/wiki/Nonogram
บางส่วนในนั้นถูกทำเป็น SGT puzzles แล้ว: https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
แปลกดีที่โดยรวมแล้ว ปริศนา 15x15 รู้สึกง่ายกว่า 6x6 อาจเป็นเพราะ 15x15 ไม่แน่นเท่า เลยไม่ต้องใช้ตรรกะชั้นที่สองมากนัก
ถ้าจะเสนออย่างหนึ่ง อยากให้คลิกกลางเพื่อทำเครื่องหมายช่องนั้นว่าเป็นตำแหน่งที่เป็นไปได้ได้
ใช้เวลาสักพักกว่าจะลืม กฎ Nonogram ที่เผลอคิดว่าตัวเลขด้านข้างหมายถึงเรือที่ต่อเนื่องกันได้ หลังจากนั้นก็สนุกมาก
เกมปริศนาที่คล้ายกันคือ Dungeons & Diagrams ใน Last Call BBS ของ Zachtronics โดยต้องกำหนดว่าช่องไหนเป็นกำแพงบนกริด 8x8 เพื่อสร้างดันเจี้ยน และต้องทำตามเงื่อนไขอย่าง “ทางตันต้องมีมอนสเตอร์เสมอ และในทางกลับกันก็เช่นกัน”
เกมนี้ก็บอกผลรวมที่แต่ละแถวและคอลัมน์ต้องตรงให้ด้วย มีโคลนฟรีด้วย: https://netchips.dev/
Bimaru เป็นปริศนาที่สนุก จำได้ว่าเคยอัปแอป Android ที่มีคำว่า Battleships อยู่ใน Store แล้ว Hasbro ยื่นเคลมลิขสิทธิ์ จากนั้น Google ก็ถอดแอปออกจาก Store ทันที
เลยทำใหม่เป็นเวอร์ชันเว็บ และน่าจะยังดูได้ที่นี่: https://www.kleemans.ch/static/bimaru-web/
บน Firefox Mobile ของ Android ใช้งานไม่ได้เมื่อเป็น 10x10 ขึ้นไป ดูเหมือนเป้าหมายสำหรับแตะจะเล็กเกินไปจนเลือกไม่ได้
ตัวเลขแตะให้กลายเป็นสีแดงได้ แต่ดูเหมือนจะเลือกช่องใด ๆ ไม่ได้ ขนาดที่เล็กกว่านี้หรือ Chrome บนอุปกรณ์เดียวกันทำงานได้ดี
แก้ด้วยการเพิ่มทริกกำหนดตำแหน่งแบบ absolute เข้าไป
เมื่อเทียบกับเอนจินที่คล้ายกัน การทำงานของการลาก ค่อนข้างน่ารำคาญ วิธีที่คุ้นเคยคือหลังคลิกแล้วลาก จะทำงานได้เฉพาะในแนวนอนหรือแนวตั้งแถวเดียว และจะทำงานแบบเดียวกันเท่านั้นโดยพิจารณาจากสถานะเดิมและสถานะใหม่
โดยเฉพาะเมื่อทำเครื่องหมายน้ำเว้นช่องไว้แล้ว ในโหมด “เรือ” การลากควรเติมเฉพาะช่องว่าง ไม่ควรเขียนทับเครื่องหมายน้ำ ควรมี undo ผ่าน Ctrl-Z, U และปุ่มด้วย ถ้าอยากดึงความรู้สึกแบบแก้บนกระดาษกลับมาบางส่วน กล่องข้อความสำหรับจดโน้ตใกล้ ๆ ที่ถูกล้างเมื่อเริ่มปริศนาใหม่ก็น่าจะมีประโยชน์
แต่ถ้าทำให้เป็นการกระทำแบบเดียวกันเท่านั้นก็น่าจะดีกว่า