ประดับด้วยเพชรพลอยถัดไปการเลือกอัญมณีที่ดีที่สุด


9

มีเทคนิคการออกแบบเกมที่ฉันสามารถใช้ได้หรือไม่เพื่อให้ฉันลบสถานการณ์ 'ไม่มีการเคลื่อนไหวเหลืออีก' โดยสมบูรณ์ กล่าวคือ เกมไม่ควรมีสถานการณ์ที่เป็นไปไม่ได้

เท่าที่ฉันเดามันทั้งหมดขึ้นอยู่กับอัญมณีและสถานที่ที่คุณให้ผู้ใช้หลังจากกลุ่มอัญมณี 3 หรือ 4 ละลาย

เป็นไปได้ไหม ? An always infinitely solvable Bejewelled game?


2
ทำให้อัญมณีทั้งหมดเป็นสีฟ้า
amb

+1 คำถามที่ยอดเยี่ยม ควรมีวิธีแก้ปัญหาที่ค่อนข้างไม่ซับซ้อนสำหรับเรื่องนี้ขึ้นอยู่กับจำนวนอัญมณีใหม่ที่คุณวางไข่
ashes999

@ ashes999: ขอบคุณ แต่เพียงสองความคิด ณ ตอนนี้ฉันคิดว่าการกำจัดสถานการณ์ที่ผิดกฎหมายนี้เป็นไปได้คือ 1. ) การตรวจสอบกำลังของสัตว์เดรัจฉาน ระเบิดหรือไฮเปอร์คิวบ์ซึ่งโต้ตอบกับอัญมณีรอบ ​​ๆ ทำให้เกิดการหยุดชะงักในรูปแบบกระดาน
พระนารายณ์

คำตอบ:


1

แน่นอนว่ามันเป็นไปได้ที่จะสร้างเกม Bejeweled ไม่รู้จบ PopCap ทำได้ด้วย Bejeweled 3 ล่าสุด (โหมดนี้เรียกว่า "Zen Mode")

ก่อนอื่นคุณต้องแน่ใจว่ามีการเคลื่อนไหวที่ถูกต้องอย่างน้อยหนึ่งครั้งเมื่อคุณสร้างบอร์ด

เมื่อใดก็ตามที่ผู้เล่นทำการเคลื่อนที่คุณจะต้องคำนวณกระดานผลลัพธ์และค้นหาการเคลื่อนไหวที่ถูกต้อง หากไม่พบสิ่งใดคุณจะต้องควบคุมอัญมณีที่จะเกิดใหม่เพื่อกู้คืนบอร์ดที่ถูกต้อง เนื่องจาก (อย่างน้อย) 3 อัญมณีจะถูกลบออกด้วยการย้ายเพียงครั้งเดียวและคุณจะต้องวางไข่อัญมณีทดแทน 3 อันคุณสามารถมั่นใจได้ว่าอัญมณีทดแทนทั้ง 3 ชิ้นนี้จะมีการเคลื่อนที่ที่ถูกต้องอีกครั้งกับบอร์ดปัจจุบัน ประสบความสำเร็จในโหมดไม่มีที่สิ้นสุด

แน่นอนว่ามันไม่เหมาะที่การเคลื่อนไหวใหม่จะปรากฏขึ้นพร้อมกับอัญมณีใหม่ ๆ แต่มันก็เป็นวิธีที่ประหยัดที่จะทำให้มั่นใจได้ว่าบอร์ดที่เล่นได้ และเนื่องจากการสร้างการเคลื่อนไหวที่ถูกต้องจริงหมายถึงการสลับตำแหน่งของอัญมณีมันจะไม่นานก่อนที่การเคลื่อนไหวอื่น ๆ จะเป็นไปได้

ดังที่ได้กล่าวไปแล้วการวางระเบิดและวิธีการอื่นในการล้างส่วนใหญ่ของบอร์ดจะเพิ่มความหลากหลายให้กับการเล่นเกม แต่พวกเขาไม่ต้องการให้โหมดไม่มีที่สิ้นสุด


4

ใช่. ในความเป็นจริงนี้จะเป็นไปได้ นี่ไม่ใช่กรณีของปัญหาการหยุดชะงักเนื่องจากกรณีถูกกำหนดไว้แล้ว ในการตอบคำถามนี้จะต้องตอบสองส่วน อันดับแรกหากพบวิธีแก้ไขปัญหาอยู่และอันดับที่สองจะมีวิธีแก้ไขปัญหาที่ถูกต้องเสมอ

ส่วนแรกของวิธีการหาชุดของไพ่ทดแทน (อัญมณี) ซึ่งจะสร้างบอร์ดที่เล่นได้ สิ่งนี้สามารถทำได้โดยใช้วิธีการเดรัจฉานบังคับเพียงตรวจสอบทุกชุดทดแทนที่เป็นไปได้จนกว่าจะพบที่สามารถเล่นได้

ส่วนที่สองคือการพิจารณาว่าจะมีชุดทดแทนซึ่งจะสร้างชุดที่เล่นได้หรือไม่ ชุดไพ่ใด ๆ ที่ถูกลบออกในการย้ายครั้งเดียวจะเป็นชุดไพ่สามชุดที่มีจำนวนมากดังนั้นหากในกรณีที่มีการถอดไพ่เพียงเล็กน้อยเท่านั้นในกรณีที่น้อยที่สุดเพียงสามชุดเท่านั้นหากพบชุดที่เล่นได้อยู่เสมอ จะมีชุดที่เล่นได้เนื่องจากมันจะมีโซลูชันทั้งหมดสำหรับชุดไพ่ที่ถูกลบสามชุดซึ่งเป็นชุดย่อยของไพ่ที่ถูกลบแต่ละชุด

ในกรณีที่มีการล้างแผ่นน้อยสามแผ่นในแถว / คอลัมน์ชุดทดแทนที่มีแผ่นย่อยสองชุดที่คั่นด้วยแผ่นกระเบื้องประเภท B (โดยที่ประเภท A คือประเภทของแผ่นกระเบื้องด้านบนหรือด้านล่างชุดที่สามใน กรณีของคอลัมน์สามหรือไปทางซ้ายหรือขวาในกรณีของแถวสาม) สิ่งนี้จะทำให้เกิดการเคลื่อนไหวโดยการสลับจุดกึ่งกลางของแผ่นกระเบื้องทั้งสามนี้ด้วยกระเบื้องที่เหมาะสมข้างมันจะสร้างชุดไพ่สามใบ นี่แสดงให้เห็นว่าชุดไพ่สามารถพบได้ตลอดเวลาซึ่งจะทำให้เกิดการเคลื่อนไหวที่ถูกต้องตามคอลัมน์ / แถวที่มีการล้างไพ่ การ จำกัด การย้ายในอนาคตไปยังคอลัมน์หรือแถวนั้นในขณะที่เป็นวิธีแก้ปัญหาที่ถูกต้องสำหรับเกมที่เล่นได้แบบอินฟินิตี้จะไม่สนุกมาก แต่ใช้กฎทั้งหมดสำหรับเกมสไตล์ประดับด้วยเพชรพลอยทั่วไป มันง่ายที่จะแสดงให้เห็นว่าจะมีทางออกอยู่เสมอซึ่งจะช่วยให้สามารถย้ายออกนอกแถว / คอลัมน์นั้นได้เช่นกัน สมมติว่าเราวางไพ่ประเภท A สามใบโดยที่ A เป็นหนึ่งในไทล์ด้านบนหรือด้านล่าง / ซ้ายหรือขวาของชุดที่ลบออกสามชุด สิ่งนี้จะสร้างไทล์สไตล์“ ระเบิด” ซึ่งจะเคลียร์พื้นที่เมื่อนำออก หากเราทิ้งชุดของการแทนที่อีกชุดหนึ่งซึ่งส่งผลให้เกิดการแข่งขันกับระเบิดนั้นพื้นที่ของกระเบื้องจะถูกล้าง พื้นที่นี้จะมีชุดย่อยไพ่ 3 ชุดภายในแถวอื่น ๆ ซึ่งหมายความว่าการย้ายในอนาคตจะไม่จำเป็นต้อง จำกัด เฉพาะแถว / คอลัมน์เดียว สิ่งนี้จะสร้างไทล์สไตล์“ ระเบิด” ซึ่งจะเคลียร์พื้นที่เมื่อนำออก หากเราทิ้งชุดของการแทนที่อีกชุดหนึ่งซึ่งส่งผลให้เกิดการแข่งขันกับลูกระเบิดนั้นพื้นที่ของกระเบื้องจะถูกล้าง พื้นที่นี้จะมีชุดย่อยไพ่ 3 ชุดภายในแถวอื่น ๆ ซึ่งหมายความว่าการย้ายในอนาคตจะไม่จำเป็นต้อง จำกัด เฉพาะแถว / คอลัมน์เดียว สิ่งนี้จะสร้างไทล์สไตล์“ ระเบิด” ซึ่งจะเคลียร์พื้นที่เมื่อนำออก หากเราทิ้งชุดของการแทนที่อีกชุดหนึ่งซึ่งส่งผลให้เกิดการแข่งขันกับระเบิดนั้นพื้นที่ของกระเบื้องจะถูกล้าง พื้นที่นี้จะมีชุดย่อยไพ่ 3 ชุดภายในแถวอื่น ๆ ซึ่งหมายความว่าการย้ายในอนาคตจะไม่จำเป็นต้อง จำกัด เฉพาะแถว / คอลัมน์เดียว


มันหมุนครั้งเดียว 120 องศาใช่ไหม? ดังนั้นจะเกิดอะไรขึ้นถ้าคุณแสดงบอร์ดที่ (เนื่องจากการเคลื่อนไหวก่อนหน้านี้) มีการแจกแจงคะแนนที่อื่น ๆ ในกระดานต้องการการเคลื่อนไหว 5 ครั้งจากบล็อกที่วางใหม่และผู้เล่นคลิกสิ่งที่ผิดก่อน
Clockwork-Muse

หมุน 120 องศา? Bejeweledไม่เกี่ยวข้องกับการหมุน คุณกำลังคิดเรื่องBejeweled Twist อยู่หรือเปล่า?
Matthew R

ขออภัยไม่มีฉันคิดของHexic แต่ด้วยอัญมณีที่แตกต่างกันเพียงพอมันเป็นไปได้ที่จะเข้าสู่สถานการณ์ที่เครื่องยนต์จะต้องสร้างทรีโอที่ตรงกันทุกครั้งเพื่อให้สามารถเล่นต่อเนื่องได้ (เพราะไม่มีสิ่งใดจะทำคะแนน) ซึ่งอาจจะดูน่าสนใจ แต่ไม่สามารถเล่นได้มาก
Clockwork-Muse

คุณจะสามารถสร้างชุดการแทนที่ของไพ่สามใบที่เหมือนกันซึ่งมีประเภทเดียวกันเป็นไพ่ทางซ้าย / ขวาหรือด้านบน / ล่างของชุดนั้นซึ่งจะสร้างชุดที่มีขนาดใหญ่กว่าซึ่งจะถูกลบออก ซึ่งหมายความว่าสามารถลบไทล์ทั้งหมดในแถวหรือคอลัมน์ของไทล์ต้นฉบับได้ในที่สุด ในเกมที่มีรูปแบบของประดับด้วยเพชรพลอยส่วนใหญ่ชุดที่ใหญ่กว่าจะนำไปสู่กระเบื้องพิเศษที่ล้างพื้นที่หรือทุกประเภทของกระเบื้องที่กำหนด สิ่งนี้สามารถเรียงซ้อนได้ตามความจำเป็นเพื่อล้างแผ่นพอที่จะสร้างบอร์ดที่เล่นได้โดยไม่คำนึงถึงสถานะเริ่มต้นของบอร์ด
Matthew R

3

คุณได้สัมผัสกับปัญหาการหยุดชะงักในวิทยาการคอมพิวเตอร์

ให้คำอธิบายของโปรแกรมคอมพิวเตอร์โดยพลการเราสามารถอนุมานได้ว่ามันจะหยุดในบางจุดหรือทำงานตลอดไป? มีสาเหตุที่เรียกว่า "ปัญหา"

คำตอบสั้น ๆ คือ: ไม่คุณไม่สามารถรับประกันได้ว่าเกม Bejeweled จะไม่มีวันผิดกฎหมายใด ๆ เนื่องจากการรับประกันจะใช้เวลาในการคำนวณไม่สิ้นสุด


4
เพียงแค่ FYI ปัญหาการหยุดชะงักระบุว่ามีปัญหาที่เป็นไปไม่ได้ที่จะแก้ไขไม่ใช่ทุกปัญหา สำหรับปัญหาเฉพาะนี้ฉันคิดว่าคุณไม่สามารถทำได้ (หรือเกมจะง่ายอย่างน่าขันเช่น 2 สีและ 3 * 3 ตารางเป็นต้น) มีเส้นทางที่เป็นไปได้มากเกินไปในเกม 'ขนาดปกติ' เช่นนี้ .
Valmond

1
เช่นกัน FYI: เกม Bejeweled รุ่นปัจจุบัน (จาก PopCap) มีโหมดไม่มีที่สิ้นสุด ... ดังนั้นพวกเขาดูเหมือนจะแก้ไขปัญหาได้สำเร็จ :) พวกเขามั่นใจว่ามีการเคลื่อนไหวที่ถูกต้องเสมอโดยการวางไข่อัญมณีใหม่ที่จะรับประกันการเคลื่อนไหวที่ถูกต้อง ( ใช้เฉพาะเมื่อไม่มีในขณะนี้)
bummzack

1
@ bummzack: ขอโทษที่บอกว่าคุณผิด bummzack แต่ใน popcap bejeweled (ซึ่งฉันภูมิใจในการบอกว่าฉันเป็นผู้ทำประตูสูงสุดในทั้งคลาสสิกและความเร็ว) รุ่นคลาสสิกหยุดพูดว่าไม่มีการย้ายซ้ายและให้เกมโอเวอร์
พระนารายณ์

@ knight666: อืมฉันไม่คิดว่าเป็นไปไม่ได้เช่นเดียวกับโพสต์อื่นโดย Mathew R เขาให้ความคิดที่ดีในการใช้ระเบิดเมื่อ ai เล็งเห็นว่าสถานการณ์ผิดกฎหมายอาจเกิดขึ้นได้
พระวิษณุ

@Vishnu ดีฉันเขียนรุ่นปัจจุบันซึ่งจะเป็น Bejeweled 3 และสิ่งนี้ใช้ได้เฉพาะกับโหมดไม่มีที่สิ้นสุด (หรือโหมด Zen หรืออะไรก็ตาม) ฉันรู้ว่านี่ไม่ใช่กรณีในรุ่นคลาสสิก ...
bummzack
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.