สารบัญ:

ปล่อยให้ฝนตก: 5 ขั้นตอน
ปล่อยให้ฝนตก: 5 ขั้นตอน

วีดีโอ: ปล่อยให้ฝนตก: 5 ขั้นตอน

วีดีโอ: ปล่อยให้ฝนตก: 5 ขั้นตอน
วีดีโอ: ฟ้าหลังฝน - เนสกาแฟ ศรีนคร【Reproduced 2022】 2024, กรกฎาคม
Anonim
ฝนตก
ฝนตก

นี่คือเกมที่จะเล่นบน Micro:bit

เกมนี้มีชื่อว่า Rain และมีจุดมุ่งหมายเพื่อหลีกเลี่ยงการโดนวัตถุที่ตกลงมา

โดยการเลื่อนไปทางซ้ายของขวาและ/หรือการยิงวัตถุ

เกมนี้ดำเนินการโดยการควบคุมดังต่อไปนี้

Shake – เริ่มเกมใหม่

A – ย้ายตัวละครไปทางซ้าย

B – เลื่อนตัวละครไปทางขวา

A+B – ยิงกระสุนใส่วัตถุที่ตกลงมา

จะได้รับหนึ่งคะแนนสำหรับวัตถุที่ตกลงมาแต่ละชิ้นที่โดนกระสุนปืน

หากตัวละครถูกวัตถุที่ตกลงมาชน พวกเขาจะเสียชีวิตหลังจากสูญเสียสามชีวิต เกมจะจบลง ซึ่งจะแสดงด้วยภาพหน้าเศร้าและคะแนน

แต่ละขั้นตอนของเกมจะแบ่งออกเป็นหลายฟังก์ชันที่อธิบายไว้ในข้อความ

คำอธิบายใช้รหัสบล็อกและจาวาสคริปต์ก็มีให้เช่นกัน

เสบียง

ไมโคร:บิต

MakeCode Editor

ขั้นตอนที่ 1: เริ่มต้น

เริ่มต้น
เริ่มต้น
เริ่มต้น
เริ่มต้น
เริ่มต้น
เริ่มต้น

การกำหนดค่าเริ่มต้นของพารามิเตอร์เกมทำได้โดยการกำหนดชุดค่าผสมของตัวแปรตัวเลขและตัวแปรบูลีน

จัดระเบียบหน้าจอของข้อมูลก่อนหน้า หากมี กำหนดตำแหน่งเริ่มต้นของตัวละครปืน และให้เวลาผู้ใช้ในการจัดตำแหน่ง Micro-bit ให้พร้อมสำหรับการเริ่มต้นเกม

ช่วยให้เข้าใจรหัสได้ง่ายขึ้นหากตัวแปรได้รับชื่อที่ระบุหน้าที่ของตัวแปร

ตัวอย่างเช่น 'ไฟ' เริ่ม 'ปืน' ที่ปล่อย 'ขีปนาวุธ'

ในทำนองเดียวกัน ถ้า endgamecount มากกว่า 3 endgame ก็เป็นจริง

เนื่องจากปืนเคลื่อนที่ในแนวนอนที่แถวล่างเท่านั้น y จะเป็น 4 เสมอ และตัวแปร x จะเปลี่ยนไปเพื่อให้ไฟ LED สว่างขึ้นโดยใช้คำสั่ง plot และ unplot

กระบวนการเริ่มต้นใช้ในสองฟังก์ชัน คือ On Start และ On Shake

ตามชื่อที่ระบุ On Start เรียกใช้ Initialize เมื่อเริ่มต้นโค้ดเพื่อตั้งค่าตัวแปรที่ใช้เป็นค่าที่ต้องการ

On Shake โทรเริ่มต้นเมื่อผู้ใช้เริ่มเกมใหม่

ซึ่งช่วยให้ผู้ใช้สามารถเริ่มเกมใหม่และเริ่มต้นตัวแปรพารามิเตอร์ของเกม ล้างหน้าจอและจัดตำแหน่งตัวละครในเกมในตำแหน่งเริ่มต้น

ขั้นตอนที่ 2: ฝนตกตลอดกาล

ฝนตกตลอดไป
ฝนตกตลอดไป

นี่เป็นส่วนหนึ่งของรหัสเกมที่สุ่มสร้างวัตถุที่ตกลงมาและเริ่มต้นตำแหน่งเริ่มต้นก่อนที่จะย้ายลงหน้าจอ

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

หากตรวจพบการชนกัน เสียชีวิตสูงสุด 3 คน จะมีการแจ้งการสิ้นสุดเกม คะแนนจะแสดงขึ้นและสิ้นสุดการวนซ้ำของวัตถุที่ตกลงมา

Rainstart คือตำแหน่งเริ่มต้น x ของอักขระนี้ ซึ่งจะเพิ่มขึ้นตามหน้าจอโดยการเปลี่ยนลูป 'for' index2 สำหรับตำแหน่ง 'y' จาก 0 ถึง 4 โดยที่ 0 อยู่ด้านบนและ 4 อยู่ที่ด้านล่าง

เราไม่ต้องการให้ฝนตกเร็วเกินไปจนมองไม่เห็น เราจึงเพิ่มการหน่วงเวลาด้วยการหยุดชั่วคราว

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

หากไฟ LED อยู่ข้างหน้าฝน แสดงว่าเป็นการชนและสูญเสียชีวิตหรือเกมจะจบลง

เพื่อให้ทุกอย่างเป็นระเบียบเรียบร้อย เราต้องถอด LED ที่ติดไฟไว้ก่อนหน้านี้ออก เพื่อให้มีเม็ดฝนตกลงมาอย่างต่อเนื่องโดยไม่ทิ้งร่องรอย

ขั้นตอนที่ 3: การย้ายตัวละครปืน

การเคลื่อนย้ายตัวละครปืน
การเคลื่อนย้ายตัวละครปืน
การเคลื่อนย้ายตัวละครปืน
การเคลื่อนย้ายตัวละครปืน

มีฟังก์ชั่นอินพุตสองแบบที่ใช้เพื่อย้ายตัวละครปืน

เหล่านี้เป็นปุ่มเปิด A กดและปุ่มเปิด B กด

บนปุ่ม A กด

ฟังก์ชันนี้จะย้ายตัวละครในเกมไปทางซ้ายเมื่อกดปุ่ม A

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

หากค่าปืนน้อยกว่า 0 แสดงว่าปืนถูกวางแผนที่ x=0, y=4

บนปุ่ม B กด

ฟังก์ชันนี้จะย้ายตัวละครในเกมไปทางขวาเมื่อกดปุ่ม B

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

หากค่าปืนมากกว่า 4 ปืนจะถูกพล็อตที่ x=4, y=4

ขั้นตอนที่ 4: เปิดตัว Projectile

ปล่อยโพรเจกไทล์
ปล่อยโพรเจกไทล์

เราสามารถขยับตัวละครปืนไปทางซ้ายและขวาได้ และตอนนี้ก็ต้องสามารถยิงกระสุนปืนไปที่วัตถุที่ตกลงมา

นี่เป็นส่วนหนึ่งของรหัสเกมที่มากกว่าการสร้างโพรเจกไทล์และเริ่มต้นตำแหน่งเริ่มต้นก่อนที่จะย้ายขึ้นหน้าจอ

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

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

หากการสิ้นสุดเกมเป็นเท็จ ให้ยิง = จริง และขีปนาวุธ = 4 สำหรับตำแหน่งเริ่มต้น

การสร้าง while loop ทำให้สามารถยิงขีปนาวุธเดี่ยวหรือต่อเนื่องได้ในขณะที่ไฟ = จริง

ตัวแปรมิสไซล์ลดลงจาก 4 (ล่าง) เป็น 0 (บนสุด) ถึง

ในแต่ละจุดที่ขีปนาวุธขึ้นไปบนจอแสดงผล จะตรวจสอบการชนกับวัตถุฝน หากตรวจไม่พบการชนกัน กระสุนจะพุ่งขึ้นและออกจากหน้าจอ

หากตรวจพบการชนกัน วัตถุฝนจะไม่ถูกวางแผน เนื่องจากตอนนี้ถูกทำลาย ตัวแปรจะรีเซ็ตและตัวนับการชนเพิ่มขึ้น 1

ขีปนาวุธไม่ได้วางแผนเพื่อให้รู้สึกว่าถูกทำลาย

ตัวแปรสำหรับ Rain, Missile และ Fire ถูกรีเซ็ต

ขั้นตอนที่ 5: Endofgame

Endofgame
Endofgame
Endofgame
Endofgame
Endofgame
Endofgame

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

ฟังก์ชัน endofgame จะเรียกใช้สองครั้งเมื่อผู้ใช้เสียชีวิตและเมื่อทั้งสามชีวิตหมดอายุสัญญาณการสิ้นสุดของเกม

แต่ละครั้งที่เรียกใช้ฟังก์ชัน endofgame ค่า endgamecount จะเพิ่มขึ้น ถ้าน้อยกว่า 3 ฟังก์ชัน blast ถูกเรียก ซึ่งจะทำให้ตัวละครปืนถูกทำลาย แอนิเมชั่นระเบิดเป็นลำดับของการเปลี่ยนตำแหน่ง LED ซึ่งระบุด้วยแอนิเมชั่นถึงผลกระทบของคลื่นกระแทก

ในขณะเดียวกันก็ล้างหน้าจอ ให้รีเซ็ตตัวแปรปืนเป็นตำแหน่งเริ่มต้นเริ่มต้นและหยุดชั่วคราวก่อนแสดงความคิดเห็นเกมอีกครั้ง

ถ้า endgamecount = 3 ฟังก์ชัน blast ถูกเรียกและตามนี้ หน้าเศร้าจะแสดงขึ้นเพื่อระบุจุดสิ้นสุดของเกมตามด้วยคะแนนที่ได้รับ เมื่อเคลียร์คะแนนแล้ว คุณก็พร้อมที่จะเริ่มเกมใหม่โดยเขย่า Micro:bit

แนะนำ: