เครื่องสถานะจำกัดลำดับชั้นประสิทธิภาพสูง
เฟรมเวิร์ก FSM แบบสืบทอดส่วนหัวเท่านั้นใน C ++ 11 พร้อมโครงสร้างที่กำหนดแบบคงที่อย่างสมบูรณ์ (ไม่มีการจัดสรรแบบไดนามิก) สร้างขึ้นด้วยเทมเพลตที่หลากหลาย
การสนับสนุนคอมไพเลอร์
- วิชวลสตูดิโอ: 2015, 2017, 2019, 2022
- GCC: 8, 9, 10, 11, 12, 13
- GCC (แขน): 9
- เสียงดังกราว: 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
- แอปเปิลเสียงดัง: 14
เริ่มต้นอย่างรวดเร็ว
- ตัวอย่างขั้นต่ำ
- บทช่วยสอนเพิ่มเติม
ดูเพิ่มเติม
- HFSM2 UPlugin : ปลั๊กอิน Unreal Engine สำหรับไลบรารี HFSM2
- FFSM2 : เครื่องสถานะจำกัด แบบแบน ประสิทธิภาพสูง
- FFSM2 UPlugin : ปลั๊กอิน Unreal Engine สำหรับไลบรารี FFSM2
- HFSM Mono : ฟอนต์ Unicode บิตแมปแบบ Monospaced สำหรับไลบรารี HFSM2 และ FFSM2
เอกสารประกอบ
จุดเด่นของคุณสมบัติ
- ใบอนุญาต MIT ที่อนุญาต
- เขียนด้วยภาษา C++11 สมัยใหม่ที่ได้รับการสนับสนุนอย่างกว้างขวาง
- ส่วนหัวเท่านั้น
- สะดวก ง่าย ขั้นต่ำสุด
- คงที่โดยสมบูรณ์ ไม่มีการจัดสรรแบบไดนามิก
- ใช้ความหลากหลายเวลาคอมไพล์ที่เป็นมิตรแบบอินไลน์ ไม่มีการใช้วิธีการเสมือน
- การเปลี่ยนผ่านแบบปลอดภัย:
FSM.changeTo<TargetState>()
พร้อมเพย์โหลดเสริม - การกำหนดค่าที่ยืดหยุ่นโดยใช้มาโคร
HFSM2_ENABLE_*
- ปรับขนาดได้ รองรับการนำสถานะกลับมาใช้ใหม่อย่างมีประสิทธิภาพผ่านการฉีดสถานะ
- แบบลำดับชั้น พร้อมการเลือกขอบเขตคอมโพสิต (เครื่องจักรย่อย) และขอบเขตมุมฉาก
- เป็นมิตรกับ Gamedev รองรับ
State::update()
- ยังรองรับเวิร์กโฟลว์ตามเหตุการณ์แบบดั้งเดิมด้วย
State::react()
- ตรวจสอบอะไรก็ได้: การเปลี่ยนแปลงก่อนหน้าและปัจจุบัน สถานะการเปิดใช้งานสถานะ และอื่นๆ อีกมากมาย!
- เกมที่เป็นมิตรกับ AI พร้อมการสนับสนุน การวางแผนแบบไดนามิก
- การสนับสนุน ทฤษฎีอรรถประโยชน์ (คะแนนสูงสุดและจัดอันดับแบบสุ่มถ่วงน้ำหนัก)
- ต่อเนื่องได้ พร้อมรองรับกิจกรรมและประวัติการเปลี่ยนแปลง
- ช่วยแก้ปัญหา รวมถึงโครงสร้างอัตโนมัติและ API การแสดงภาพกิจกรรมด้วย
#define HFSM_ENABLE_STRUCTURE_REPORT
- รองรับการบันทึกในตัว
ห้องสมุดบุคคลที่สาม
- กรอบการทดสอบหน่วย doctest
- XoShiRo เครื่องกำเนิดตัวเลขสุ่มหลอก
ได้รับการติดต่อ
- ทวิตเตอร์: @andrew_gresyk
- ไม่ลงรอยกัน: HFSM.dev
- ผู้เผยแพร่: แอนดรูว์-เกรซีค/HFSM2
ขอขอบคุณเป็นพิเศษ
- อเล็กซานดรอสค์0
- เคซีย์ ซานเชซ
- จูเอโก
- เควิน กรีน
- เคลด์ มาเธียส ปีเตอร์เซ่น
- เลา บัคแมน
- เมห์ดี ฮูชมานด์
- คุณนาย
- ฟิล แนช
- โรเมน เคมินาด
- ชอปเพนกลาส
- ทริสตัน บรินเดิล
- C++::การพบปะที่ลอนดอน
- ชุมชนการเขียนโปรแกรมที่ Splash Damage