พื้นฐานและตรรกะ

บทความนี้จะแนะนำแนวคิดที่เกี่ยวข้องกับตัวแก้ไขดั้งเดิมและส่วนดั้งเดิมใน CraftLand เป็นหลัก

ภาพรวมของ Metablocks

เมื่อทำการแก้ไขกราฟิก เราจะต้องสังเกตรูปร่างของบล็อกกราฟิกแต่ละบล็อก สิ่งที่เราต้องทำคือ รวบรวมบล็อกเหล่านี้เข้าด้วยกันตามกฎเกณฑ์ที่กำหนดไว้

การดำเนินการขั้นพื้นฐาน

ก่อนที่จะเข้าสู่ตัวแก้ไขดั้งเดิม เราต้องเปิดสคริปต์ก่อน เปิด CraftLand คลิก [More] ที่มุมซ้ายบน จากนั้นคลิก [Block Script] เมื่อเราเข้าสู่ตัวแก้ไขดั้งเดิม เราจะเปิด ‘สคริปต์ทั่วไป’ ตามค่าเริ่มต้น
image-20241031110011453

แนะนำอินเทอร์เฟซ

หลังจากเข้าสู่ตัวแก้ไของค์ประกอบแล้ว จะมี 4 พื้นที่ในอินเทอร์เฟซตัวแก้ไขที่ควรให้ความสนใจ ดังที่แสดงในรูปด้านล่าง SeaTalk_IMG_20241031_113903

หมายเลขซีเรียล รูปภาพ คำอธิบาย
1 image-20241031114641450 ที่มุมซ้ายบนของอินเทอร์เฟซคือช่องค้นหา เนื่องจากมีบล็อกดั้งเดิมจำนวนมาก เราจึงสามารถค้นหาบล็อกดั้งเดิมที่ต้องการได้โดยป้อนคำหลักในกล่องค้นหา
2 image-20241031114811375 ที่มุมขวาบนของอินเทอร์เฟซคือรายการการเลือกสคริปต์ คลิกไอคอนทางด้านขวาเพื่อแสดงตัวเลือกแบบดรอปดาวน์ซึ่งแสดงสคริปต์ที่พร้อมใช้งานในปัจจุบัน สคริปต์ทั่วโลกจะถูกสร้างขึ้นตามค่าเริ่มต้น
3 image-20241031173408111 เราแบ่งกลุ่มพื้นฐานออกเป็น 6 กลุ่ม เราสามารถคลิกไอคอนกลุ่มเพื่อขยายรายการกลุ่มพื้นฐานได้
4 image-20241031114830172 ไอคอนทางด้านซ้ายคือปุ่มย้อนกลับ ซึ่งสามารถย้อนกลับการทำงานครั้งล่าสุดได้ ไอคอนทางด้านขวาคือปุ่มทำซ้ำ ซึ่งสามารถย้อนกลับการทำงานครั้งล่าสุดได้

วางข้อมูลเบื้องต้น

1. ลากบล็อกออก: หลังจากทำความเข้าใจอินเทอร์เฟซแล้ว ขั้นแรกให้เราเปิดหมวดหมู่แรกที่มุมซ้ายล่าง เลือกบล็อกดั้งเดิมจากบล็อกนั้นแล้วลากไปยังช่องว่างเพื่อเป็นจุดเริ่มต้นของตรรกะของเราimage-20241031171419878

2. การเชื่อมต่อบล็อก: เราเลือกบล็อกที่มีรอยบุ๋มอยู่ด้านบนจากรายการบล็อก เราจะพบว่าเมื่อเราลากบล็อกไปที่ด้านล่างของบล็อกเริ่มต้น จะมีพรอมต์ UI สีเหลืองอยู่บนส่วนที่ยกขึ้นด้านล่างบล็อกเริ่มต้น เมื่อเราปล่อยนิ้ว เราจะพบว่าบล็อกทั้งสองจะถูกดูดซับเข้าด้วยกันโดยอัตโนมัติ จากนั้นเราก็ได้เสร็จสิ้นตรรกะง่ายๆ แล้ว image-20241031171627914

3. กรอกข้อมูล: ขั้นแรก เราจะลากข้อมูลในบล็อกดั้งเดิมออกมาหรือลากชนิดข้อมูลที่เหมาะสมในรายการดั้งเดิมออกมา

image-20241031174335831

จากนั้นลากบล็อกข้อมูลไปยังพื้นที่ข้อมูลที่เกี่ยวข้อง กล่องข้อความ UI สีเหลืองจะปรากฏขึ้นในพื้นที่ข้อมูล ซึ่งระบุว่าสามารถวางประเภทบล็อกปัจจุบันได้ เมื่อคุณปล่อยนิ้ว บล็อกข้อมูลจะถูกดูดซับเข้าไปในพื้นที่โดยอัตโนมัติ image-20241031175503431

หมายเหตุ: เมื่อชนิดข้อมูลที่กรอกไม่สอดคล้องกับชนิดข้อมูลในช่องว่าง ตัวแก้ไขจะมีการแจ้งเตือนที่ชัดเจนและแสดงบล็อกข้อมูลที่ไม่ตรงกับชนิดโดยอัตโนมัติ

image-20241031183111256

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

image-20241031182555866

5. ลบบล็อค: เมื่อคุณกดและกดบล็อคกราฟิกใดๆ ค้างไว้ ถังขยะจะปรากฏขึ้นทางด้านขวาของอินเทอร์เฟซ เราสามารถลบบล็อคกราฟิกได้โดยการย้ายมันไปที่ถังขยะ

image-20241031182311721

แน่นอนว่าเราสามารถลากบล็อกหลายๆ บล็อกไปที่ถังขยะเพื่อลบบล็อกหลายๆ บล็อกในเวลาเดียวกันได้

image-20241031183322347

รูปร่าง

คำอธิบายบล็อค ไอคอน
เฉพาะบล็อกที่ยกขึ้นด้านล่างเท่านั้นที่เป็นจุดเริ่มต้นของตรรกะ image-20241030185836296
บล็อกที่มีเฉพาะส่วนบนที่จมลงไปมักจะเป็นจุดสิ้นสุดของตรรกะ image-20241030185844004
ถ้าไม่มีรอยบุ๋มที่ด้านบนและไม่มีส่วนที่ยื่นออกมาที่ด้านล่าง แสดงว่าบล็อคนี้เป็นข้อมูลชิ้นหนึ่ง ซึ่งสามารถนำไปใช้กับบล็อคอื่นๆ ได้เป็นพารามิเตอร์ในการดำเนินการเชิงตรรกะบางอย่าง image-20241030185856813
หากบล็อกมีทั้งส่วนบนที่ยกขึ้นและส่วนล่างที่จมลง แสดงว่าบล็อกนั้นสามารถเชื่อมโยงกับบล็อกอื่นที่มีส่วนล่างที่ยกขึ้นได้ และสามารถเชื่อมโยงกับบล็อกอื่น ๆ ที่อยู่ด้านล่างได้อีกด้วย อาจเป็นโหนดของตรรกะ image-20241031101239718
ในการจำแนกประเภทบล็อก เราจะพบบล็อกที่มีรูปร่างพิเศษ บล็อกพิเศษนี้เป็นนิพจน์เงื่อนไขซึ่งแบ่งออกเป็นส่วนนูนภายนอกและพื้นที่เว้า และพื้นที่นูนภายในและพื้นที่เว้า เราสามารถเชื่อมต่อบล็อกอื่นๆ ได้ตามปกติบนพื้นที่นูนภายนอกและพื้นที่เว้าของบล็อกนิพจน์เงื่อนไข เช่นเดียวกับการเชื่อมต่อบล็อกอื่นๆ หรือเราสามารถเชื่อมโยงบล็อกภายในนิพจน์เงื่อนไข และตรรกะที่เขียนไว้ภายในนั้นจะต้องตรงตามตรรกะเงื่อนไขบางประการก่อนจึงจะคำนวณได้ image-20241031101800841

การจำแนกประเภท

เพื่อค้นหาบล็อคที่ต้องการได้อย่างมีประสิทธิภาพมากขึ้นในโปรแกรมแก้ไขดั้งเดิม เราแบ่งบล็อคออกเป็น 7 ประเภท

ดังแสดงในรูปต่อไปนี้:

ประเภท แผนภาพ ภาพรวม
เหตุการณ์ SeaTalk_IMG_20241030_143100 ประเภทเหตุการณ์: โดยทั่วไป เมื่อถึงจุดเวลาที่ตรรกะเริ่มต้น เมื่อเราเขียนตรรกะดั้งเดิม เราจะต้องชี้แจงก่อนว่าเราต้องการให้ตรรกะนี้ทำงานเมื่อใด ตัวอย่างเช่น เมื่อผู้เล่นฟื้นคืนชีพ เราต้องการให้ปืนแก่เขา หรือเมื่อรอบเริ่มต้น เราต้องการวางกล่องเสบียงทางอากาศไว้ตรงกลางแผนที่ จากนั้น ‘เมื่อผู้เล่นฟื้นคืนชีพ’ และ ‘เมื่อรอบเริ่มต้น’ คือโหนดเวลาที่จำเป็นสำหรับตรรกะนี้
เอนทิตี้ SeaTalk_IMG_20241030_143101 ประเภทเอนทิตี้: เป็นแนวคิดที่สำคัญใน CraftLand (ดูรายละเอียดใน ‘แนวคิดที่สำคัญ’) ในกระบวนการแก้ไขแบบดั้งเดิม เรามักจะเรียกหรือเปลี่ยนแปลงคุณสมบัติของเอนทิตี้
เกม SeaTalk_IMG_20241030_143105 ประเภทเกม: ในประเภทเกม เราจัดเตรียมฟังก์ชันที่ใช้กันทั่วไปมากมายสำหรับผู้สร้าง CL ฟังก์ชันเหล่านี้มักเป็นการตั้งค่าที่มักต้องปรับเปลี่ยนในบางเกม ฟังก์ชันเหล่านี้ยังเกี่ยวข้องกับการเล่นเกมอย่างมาก เช่น การสร้างมอนสเตอร์ การเปลี่ยนสกายบ็อกซ์ หรือการเข้าร่วมช่องเสียง
ข้อมูล SeaTalk_IMG_20241030_143106 ประเภทข้อมูล: บล็อกข้อมูลอาจเป็นพารามิเตอร์ที่จำเป็นสำหรับการดำเนินการเชิงตรรกะส่วนใหญ่ อาจเป็นข้อมูลชิ้นหนึ่งที่ใช้ในบล็อกอื่น หรือเป็นการดำเนินการเพื่อคำนวณค่า
ตรรกะ SeaTalk_IMG_20241030_143109 ประเภทตรรกะ: ในประเภทตรรกะ เราจัดเตรียมการดำเนินการตรรกะที่ซับซ้อนหลายอย่าง การดำเนินการตรรกะประเภทนี้มักใช้เมื่อประมวลผลข้อมูล สามารถกรอง ตัดสิน หรือตัดสินใจตามเงื่อนไขเฉพาะ เช่น กำหนดว่าตัวเลขหนึ่งมากกว่าตัวเลขอื่นหรือไม่ จากนั้นจึงตัดสินใจดำเนินการอื่น
ตัวแปร SeaTalk_IMG_20241030_143111 ประเภทตัวแปร: ในประเภทตัวแปร เราสามารถสร้างตัวแปรได้ด้วยตัวเอง ตัวแปรที่สร้างขึ้นในลักษณะนี้คือตัวแปรสคริปต์ ซึ่งใช้สำหรับการประมวลผลข้อมูลสคริปต์ปัจจุบัน ในสคริปต์อื่น ตัวแปรสามารถรับและตั้งค่าได้โดยการอ้างอิงภายนอก
ฟังก์ชัน SeaTalk_IMG_20241030_143113 ประเภทฟังก์ชัน: ในประเภทฟังก์ชัน คุณสามารถสร้างเหตุการณ์ที่กำหนดเองได้ เหตุการณ์ที่กำหนดเองที่เราสร้างสามารถรวมเอาส่วนหนึ่งของตรรกะไว้ด้วยกัน ทำให้ตรรกะชัดเจนขึ้น เข้าใจง่ายขึ้น และบำรุงรักษาง่ายขึ้น

คำอธิบายบล็อกองค์ประกอบตรรกะ

คำนามบล็อก แผนภาพ คำอธิบาย
คำสั่งเงื่อนไข (คำสั่ง if) image-20241104111959461 หากตรงตามเงื่อนไข โหนดภายใต้ IF จะถูกดำเนินการ
คำสั่งเงื่อนไข…else(if…else statement) image-20241104112010284 หากตรงตามเงื่อนไข โหนดภายใต้ IF จะถูกดำเนินการ หากไม่ตรงตามเงื่อนไข โหนดภายใต้ ELSE จะถูกดำเนินการ
ลูปเงื่อนไข (คำสั่ง while) image-20241104112023063 ตราบใดที่ตรงตามเงื่อนไข โหนดด้านล่างจะทำงานในลูป
ลูปของความโกรธจำนวนเต็ม (สำหรับคำสั่งดัชนี) image-20241104112033968 พารามิเตอร์ i เริ่มต้นจากค่าต่ำสุด และทุกครั้งที่มีการเรียกใช้โหนดที่ต่ำกว่า i จะเพิ่มค่าขั้นบันไดจนกระทั่ง i มากกว่าหรือเท่ากับค่าสูงสุด
วนซ้ำทุกองค์ประกอบ (สำหรับแต่ละคำสั่ง) image-20241104112043683 สำหรับแต่ละ KEY ในรายการ/พจนานุกรมพารามิเตอร์ ให้ดำเนินการโหนดด้านล่างหนึ่งครั้ง
ตรวจสอบค่า null image-20241104112050652 ตรวจสอบว่าเป็นค่า null หรือไม่ และจัดการค่า null อย่างเหมาะสมเพื่อหลีกเลี่ยงข้อผิดพลาด
ดำเนินการต่อในตอนถัดไป image-20241104112056253 ข้ามลูปนี้และเข้าสู่ลูปถัดไปของตัวลูป
ตัดวงจร image-20241104112103316 ตัดวงจรและดำเนินการโหนดต่อหลังเนื้อหาของวงจร

ECA คืออะไร?

ในบริบทของโค้ด ECA (Event-Condition-Action) มักจะหมายถึงวิธีการแสดงกฎ

I. ส่วนประกอบ

  1. กิจกรรม
  • สถานการณ์หรือเหตุการณ์เฉพาะที่กระตุ้นให้มีการดำเนินการตามกฎ เช่น ผู้เล่นเข้าสู่เกม ผู้เล่นทำการฆ่า หรือผู้เล่นออกจากเกม

ตัวอย่าง: ผู้เล่นทำให้เกิดการฆ่า และหลังจากที่กระตุ้นเหตุการณ์นี้ ผู้เล่นได้รับเหรียญทอง 100 เหรียญ

พูดคุยสนทนา

  1. เงื่อนไข
  • นิพจน์ตรรกะที่กำหนดว่าจะดำเนินการต่อเนื่องหรือไม่หลังจากเหตุการณ์เกิดขึ้น การดำเนินการที่เกี่ยวข้องจะดำเนินการเฉพาะเมื่อเงื่อนไขเป็นจริงเท่านั้น ตัวอย่างเช่น หากจำนวนซอมบี้มีน้อยกว่า 10 ตัว ให้สร้างซอมบี้ หากจำนวนผู้เล่นเท่ากับ 1 ให้รับปืนกล Gatling หรือหากพิกัดของผู้เล่นเท่ากับค่าที่กำหนด ให้เทเลพอร์ตผู้เล่นไปยังพิกัดอื่น

ตัวอย่าง: เมื่อผู้เล่นเข้าร่วมเกมและมีไมโครโฟนเปิดอยู่ ชื่อของเขาจะกลายเป็น "ฉันมีไมโครโฟน"SeaTalk_IMG_20241101_143623

  1. การกระทำ
  • หากเหตุการณ์เกิดขึ้นและเป็นไปตามเงื่อนไขที่กำหนด จะมีการดำเนินการเฉพาะเจาะจง ซึ่งอาจเป็นการแก้ไขข้อมูล เรียกใช้ฟังก์ชัน ส่งข้อความ ทริกเกอร์เหตุการณ์อื่น เป็นต้น

ตัวอย่าง: มอบปืน AK47 ให้กับผู้เล่นในตอนเริ่มรอบ และตั้งค่าพลังชีวิตของผู้เล่นเป็น 500

SeaTalk_IMG_20241101_145943

แนวคิดที่สำคัญใน ECA

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

เหตุการณ์ที่กำหนดเองและตัวแปรที่กำหนดเอง

กิจกรรมที่กำหนดเอง

ที่มุมล่างซ้ายของตัวแก้ไของค์ประกอบ เราจะพบรายการองค์ประกอบทั้งหมดเจ็ดประเภท ในประเภทฟังก์ชัน เราสามารถคลิก [สร้างฟังก์ชัน] เพื่อสร้างเหตุการณ์ที่กำหนดเองได้SeaTalk_IMG_20241101_150402

SeaTalk_IMG_20241101_150359

ภาพรวมของอินเทอร์เฟซเหตุการณ์ที่กำหนดเอง

หมายเลขซีเรียล รูปภาพ คำอธิบาย
1 image-20241101151951739 ที่นี่เราสามารถกรอกชื่อของเหตุการณ์ที่กำหนดเองได้
2 image-20241101151917848 คลิกเครื่องหมายบวกเพื่อเพิ่มพารามิเตอร์ภายในให้กับเหตุการณ์ที่กำหนดเอง พารามิเตอร์นี้ใช้ได้เฉพาะในเหตุการณ์ที่กำหนดเองที่พารามิเตอร์นี้เกี่ยวข้องเท่านั้น
3 image-20241101151927435 คลิกเครื่องหมายบวกที่มุมขวาล่างเพื่อเพิ่มค่าส่งคืนให้กับเหตุการณ์ที่กำหนดเองของเรา เมื่อเราเรียกเหตุการณ์นี้ในตรรกะอัลกอริทึมอื่น เราจะได้ข้อมูลที่ต้องการ

คำอธิบายเหตุการณ์ที่กำหนดเอง

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

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

2. ลดความซับซ้อนของโครงสร้างดั้งเดิม: การห่อหุ้มการคำนวณที่ซับซ้อนในเหตุการณ์ที่กำหนดเองสามารถทำให้ตรรกะของโครงสร้างหลักกระชับและชัดเจนมากขึ้น ลดความซับซ้อนของโครงสร้างดั้งเดิม และปรับปรุงการอ่านได้

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

ตัวแปรที่กำหนดเอง

ภาพรวมของอินเทอร์เฟซตัวแปรที่กำหนดเอง

ในรายการประเภทองค์ประกอบ เลือกประเภท [VARIABLE] จากนั้นคลิก [CREATE VARIABLE] เพื่อสร้างตัวแปรที่กำหนดเองimage-20241101162644288

เมื่อสร้างตัวแปรที่กำหนดเอง เราสามารถตั้งชื่อตัวแปรและชนิดข้อมูลตัวแปรได้

image-20241101162620704

คำอธิบายตัวแปรที่กำหนดเอง

เมื่อเราเขียนลอจิกกราฟิก บางครั้งเราอาจจำเป็นต้องกำหนดตัวแปรพารามิเตอร์ของประเภทข้อมูลตามความต้องการเฉพาะ ฟังก์ชันตัวแปรแบบกำหนดเองจะช่วยแก้ปัญหานี้

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

ตัวอย่างเหตุการณ์/ตัวแปรที่กำหนดเอง

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

ตัวอย่างตรรกะ: เมื่อผู้เล่นฆ่าใครสักคน ขีดจำกัดสุขภาพของผู้เล่นจะลดลง 10 แต้ม และขั้นต่ำจะลดลงเหลือ 20 แต้ม

  1. ขั้นแรก เราสร้างตัวแปรแบบกำหนดเองชื่อ ‘CurrentMaxHp’ และตั้งค่าประเภทข้อมูลเป็น ‘int’ ในเวลาเดียวกัน เราสร้างเหตุการณ์แบบกำหนดเองชื่อ ‘DecreaseMaxHp’ เพื่อเตรียมการเบื้องต้นSeaTalk_IMG_20241101_175037

SeaTalk_IMG_20241101_175059

  1. ค้นหาและลากเหตุการณ์ ‘เมื่อผู้เล่นทำให้ฆ่า’ ออกมา แล้วเชื่อมต่อกับเหตุการณ์ที่กำหนดเอง ‘DecreaseMaxHp’ ที่เราเพิ่งสร้างขึ้น หลังจากเชื่อมต่อแล้ว เราก็ได้เสร็จสิ้นพื้นฐานเชิงตรรกะสำหรับการลดขีดจำกัดสุขภาพของผู้เล่นเมื่อผู้เล่นฆ่าSeaTalk_IMG_20241101_183151

  2. หลังจากเสร็จสิ้นตรรกะพื้นฐานแล้ว เราสามารถเริ่มเขียนโครงสร้างพื้นฐานของเหตุการณ์ที่กำหนดเองได้ ขั้นแรก เราจะกำหนดค่าของตัวแปรที่เราเพิ่งสร้างขึ้นSeaTalk_IMG_20241101_183704

  3. จากนั้นเชื่อมต่ออัลกอริทึมเพื่อตั้งค่าตัวแปรเป็น -10 ทุกครั้งที่มีการเรียกใช้เหตุการณ์SeaTalk_IMG_20241101_183713

  4. เพิ่มขีดจำกัดสุขภาพขั้นต่ำ เพิ่มการตรวจสอบว่าขีดจำกัดสุขภาพปัจจุบันน้อยกว่าหรือเท่ากับ 20 หมายความว่าขีดจำกัดสุขภาพปัจจุบันเท่ากับ 20SeaTalk_IMG_20241101_183808

  5. กำหนดค่าตัวแปรที่คำนวณใหม่ให้กับแอตทริบิวต์ขีดจำกัดชีวิตของผู้เล่น จนถึงตอนนี้ เราได้ทำตามตรรกะที่จำเป็นทั้งหมดแล้ว SeaTalk_IMG_20241101_183902

  6. ตรวจสอบSeaTalk_IMG_20241101_184513

ขีดจำกัดสุขภาพลดลงอย่างถูกต้องและตรวจสอบอย่างถูกต้อง image-20241101184737595