ฉันต้องการสร้างเครื่องมือแยกวิเคราะห์กฎทั่วไปสำหรับระบบ RPG แบบปากกาและกระดาษ กฎสามารถเกี่ยวข้องโดยปกติ 1 ถึง N เอนทิตี 1 ถึง N บทบาทของลูกเต๋าและการคำนวณค่าตามหลายคุณลักษณะของเอนทิตี
ตัวอย่างเช่น:
ผู้เล่นมี STR 18 อาวุธที่ติดตั้งในปัจจุบันของเขาให้โบนัสแก่ +1 STR แต่ malus ของ DEX -1 เขาโจมตีมอนสเตอร์เอนทิตี้ของและตอนนี้เกมลอจิกจำเป็นต้องเรียกใช้ชุดของกฎหรือการกระทำ:
ผู้เล่นทอยลูกเต๋าถ้าเขาได้รับตัวอย่างที่ 8 ขึ้นไป (ค่าการโจมตีพื้นฐานที่เขาต้องผ่านคือหนึ่งในคุณสมบัติพื้นฐานของเขา!) การโจมตีของเขาสำเร็จแล้ว จากนั้นสัตว์ประหลาดจะทอยลูกเต๋าเพื่อคำนวณว่าการโจมตีผ่านเกราะหรือไม่ ถ้าใช่ความเสียหายจะเกิดขึ้นหากไม่ได้ถูกโจมตี
นอกจากกฎทางคณิตศาสตร์อย่างง่ายยังสามารถมีข้อ จำกัด เช่นการใช้เฉพาะกับผู้ใช้ระดับหนึ่ง (ตัวอย่างนักรบ vs ตัวช่วยสร้าง) หรือคุณลักษณะอื่น ๆ ดังนั้นนี่ไม่ได้ จำกัด เฉพาะการดำเนินการทางคณิตศาสตร์
หากคุณคุ้นเคยกับระบบสวมบทบาทอย่างเช่นดันเจี้ยนและมังกรคุณจะรู้ว่าฉันทำอะไรอยู่
ปัญหาของฉันคือตอนนี้ฉันไม่มีเงื่อนงำวิธีการสร้างสิ่งนี้อย่างถูกวิธีที่สุด ฉันต้องการให้ผู้คนสามารถตั้งกฎชนิดใดก็ได้และต่อมาก็ทำการกระทำเช่นการเลือกผู้เล่นและสัตว์ประหลาดและทำการกระทำ (ชุดของกฎเช่นการโจมตี)
ฉันขอความช่วยเหลือจากด้านฐานข้อมูลของสิ่งต่าง ๆ น้อยลง แต่เพิ่มเติมเกี่ยวกับวิธีสร้างโครงสร้างและตัวแยกวิเคราะห์เพื่อให้กฎของฉันมีความยืดหยุ่น ภาษาของตัวเลือกสำหรับสิ่งนี้คือ php
แก้ไขฉัน:
ให้ฉันปรับแต่งเป้าหมายของฉัน: ฉันต้องการสร้างส่วนติดต่อผู้ใช้ที่เป็นมิตร (ที่ไม่ต้องการใครสักคนที่จะเรียนรู้ภาษาการเขียนโปรแกรม) เพื่อสร้างกฎเกมที่ซับซ้อนมากขึ้นหรือน้อยลง เหตุผลง่ายๆ: การใช้งานส่วนตัวเพื่อไม่จำเป็นต้องจำกฎทั้งหมดตลอดเวลาเราก็ไม่ได้เล่นมันบ่อยครั้งและมันเป็นตัวอุดเพื่อค้นหาพวกเขาในแต่ละครั้ง นอกจากนี้ดูเหมือนว่างานที่สนุกที่จะทำและเรียนรู้บางสิ่งบางอย่าง :)
สิ่งที่ฉันลองมาแล้ว:แค่คิดถึงแนวคิดแทนที่จะเสียเวลาในการสร้างสถาปัตยกรรมที่ผิด จนถึงตอนนี้ฉันมีความคิดที่จะอนุญาตให้ผู้ใช้สร้างคุณลักษณะได้มากเท่าที่พวกเขาต้องการจากนั้นกำหนดคุณลักษณะให้มากที่สุดเท่าที่พวกเขาต้องการให้กับเอนทิตีประเภทใดก็ได้ เอนทิตีสามารถเป็นผู้เล่นมอนสเตอร์ไอเท็มหรืออะไรก็ได้ ทีนี้เมื่อทำการคำนวณบางอย่างข้อมูลจะมีให้แก่ตัวแยกวิเคราะห์กฎเพื่อให้ตัวแยกวิเคราะห์กฎสามารถทำสิ่งต่าง ๆ ได้เช่นถ้า Player.base_attack + ลูกเต๋า (1x6)> Monster.armor_check จากนั้น Monster.health - 1; คำถามที่นี่เป็นเรื่องเกี่ยวกับวิธีการสร้างโปรแกรมแยกวิเคราะห์
แก้ไขครั้งที่สอง:
นี่คือตัวอย่างของค่าพื้นฐานที่น่าสนใจ แต่การคำนวณอย่างถูกต้องมีสิ่งต่าง ๆ มากมายและตัวแปรที่ต้องคำนึงถึง:
Base Attack Bonus (Term) โบนัสการโจมตีพื้นฐานของคุณ (โดยทั่วไปเรียกว่า BAB โดยชุมชน d20) เป็นโบนัสการโจมตีที่ได้มาจากคลาสตัวละครและเลเวล โบนัสโจมตีพื้นฐานเพิ่มขึ้นในอัตราที่แตกต่างกันสำหรับคลาสตัวละครที่แตกต่างกัน ตัวละครจะได้รับการโจมตีครั้งที่สองต่อรอบเมื่อโบนัสการโจมตีพื้นฐานของเขาถึง +6 หนึ่งในสามที่มีโบนัสการโจมตีพื้นฐานที่ +11 หรือสูงกว่าและหนึ่งในสี่ที่มีโบนัสการโจมตีพื้นฐานจาก +16 หรือสูงกว่า โบนัสการโจมตีพื้นฐานที่ได้รับจากคลาสที่แตกต่างกันเช่นสำหรับตัวละครมัลติคลาส โบนัสการโจมตีพื้นฐานของตัวละครไม่อนุญาตให้มีการโจมตีอีกต่อไปหลังจากที่มาถึง +16 จะต้องไม่น้อยกว่า +0 และไม่เพิ่มขึ้นเนื่องจากระดับคลาสหลังจากระดับตัวละครถึงระดับที่ 20 โบนัสการโจมตีขั้นต่ำเป็นสิ่งจำเป็นสำหรับบาง feats
คุณสามารถอ่านได้ที่นี่http://www.dandwiki.com/wiki/Base_Attack_Bonus_(Term)รวมถึงลิงก์ไปยังคลาสและ feats ซึ่งมีกฎของตัวเองอีกครั้งเพื่อคำนวณค่าที่จำเป็นสำหรับการโจมตีฐาน
ฉันเริ่มคิดว่าการทำให้เป็นเรื่องธรรมดาที่สุดเท่าที่จะทำได้ก็ยากที่จะทำให้ตัวแยกวิเคราะห์กฎที่ดีทำได้
Func
s ซึ่งกำหนดค่าเริ่มต้นสถานะของโปรแกรมตามอาร์กิวเมนต์เป็นคีย์สำหรับพจนานุกรม ประหลาดใจฉันไม่เคยพบโพสต์จาก Yegge มาก่อนเจ๋งมากขอบคุณที่ชี้ให้เห็น