Batch Script เป็นภาษาสคริปต์พื้นฐานที่ทำงานบนระบบปฏิบัติการ Windows หรือ MS DOS ฟังก์ชันต่างๆ จะขึ้นอยู่กับคำสั่งสำหรับบรรทัดคำสั่งในระบบปฏิบัติการเหล่านี้ ยังสวยเย็น! การสร้างเกมด้วยสคริปต์นี้ไม่ใช่เรื่องยาก ใช้เวลาและความคิดสร้างสรรค์เพียงเล็กน้อย โปรดทราบ: เพื่อให้โครงการนี้ทำงานได้อย่างถูกต้อง คุณจะต้องใช้ Windows 2000 หรือสูงกว่า เนื่องจากจะไม่ทำงานใน Windows หรือ MS DOS เวอร์ชันก่อนหน้า เนื่องจาก MS DOS เข้ากันไม่ได้กับแบตช์สคริปต์สมัยใหม่
ขั้นตอน
ขั้นตอนที่ 1. ตัดสินใจเกี่ยวกับเกม
ก่อนตัดสินใจสร้างเกม Shoot-em-up หรือเกมชี้แล้วคลิก แม้แต่ใน MS DOS 8 สคริปต์แบตช์ก็มีข้อจำกัดด้านความสามารถของมันอย่างมาก คุณจะไม่สามารถสร้างเกมได้มากกว่าเกมแบบข้อความ อาจเป็นแบบทดสอบหรือเกมสถานการณ์ แต่คุณจะมีเฉพาะข้อความเท่านั้น คุณต้องการให้กราฟิก ASCII หรือไม่นั้นขึ้นอยู่กับคุณ แต่เกมจะยังคงใช้การป้อนข้อความทั้งหมด
ขั้นตอนที่ 2 เรียนรู้สคริปต์
สคริปต์ไม่ยากที่จะเรียนรู้ คุณอาจเรียนรู้เพียงแค่ดูโปรแกรม หากต้องการทราบภาษาสคริปต์ คุณอาจต้องทราบคำสั่งพื้นฐานในบรรทัดคำสั่งของคอมพิวเตอร์ สำหรับบรรทัดคำสั่งนี้ คำสั่งพื้นฐานที่คุณต้องการคือ:
-
เสียงก้อง
-
สี
-
ชื่อ
-
ไปที่
-
ถ้า
-
ชุด
-
การติดฉลาก (ไม่ใช่คำสั่ง แต่เป็นวิธีการติดฉลาก)
ขั้นตอนที่ 3 เรียนรู้วิธีใช้คำสั่งข้างต้น
-
คำสั่ง echo ใช้เพื่อพิมพ์ข้อความไปยังคอนโซล ด้านล่างคำสั่ง echo พิมพ์ว่า "สวัสดีชาวโลก!":
-
คำสั่งสีใช้เพื่อเปลี่ยนสีของข้อความในบรรทัดคำสั่ง สิ่งนี้ไม่มีประโยชน์มากนัก และอาจไม่ควรเน้นจนกว่าคุณจะเล่นเกมจบ แต่ผลลัพธ์ของการเปลี่ยนสีนั้นค่อนข้างน่าสนใจ สีในบรรทัดคำสั่งของ DOS จะถูกกำหนดหมายเลข โดยมีตารางสีอยู่ที่ท้ายบทความนี้ คำสั่งต่อไปนี้จะเปลี่ยนสีของข้อความเป็นพื้นหลังสีดำที่มีข้อความสีเขียว:
-
คำสั่ง title จะเปลี่ยนชื่อหน้าต่างบนแถบชื่อเรื่องและแถบงาน และไม่มีประโยชน์อะไร อย่างไรก็ตาม มันสามารถทำให้โปรแกรมของคุณดูเป็นมืออาชีพได้ การใช้เช่นนั้นจะเปลี่ยนชื่อหน้าต่างเป็น "โปรแกรมสนุก":
-
คำสั่ง goto ใช้เพื่อไปยังบางส่วนของโปรแกรม คุณจะใช้มันเพื่อกำหนดว่าจะเกิดอะไรขึ้นเมื่อเลือกคำตอบจากคำถาม ในการใช้คำสั่ง goto เพื่อไปที่ป้ายกำกับ "WRONG":
-
คำสั่ง if ใช้เพื่อกำหนดว่าจะเกิดอะไรขึ้นหากเกิดเหตุการณ์บางอย่างขึ้น หลังจากคำสั่ง if (if [something]) คำสั่งจะตามมา ที่คำสั่ง if หากเหตุการณ์ใดเหตุการณ์หนึ่งเป็นจริง คำสั่งในคำสั่งจะถูกดำเนินการ คุณจะใช้คำสั่งนี้เพื่อกำหนดว่าจะใช้คำสั่ง goto ใด สิ่งนี้ if คำสั่งจะเป็นจริงหากอินพุตเท่ากับ 12:
-
คำสั่ง set นั้นค่อนข้างซับซ้อน เนื่องจากมันสามารถใช้ได้หลายวิธี สำหรับตอนนี้ สิ่งที่คุณต้องใช้ก็คือให้คอมพิวเตอร์รับข้อมูลเข้า เพื่อทำสิ่งนี้:
- ในที่สุดการติดฉลาก การติดฉลากสามารถตั้งชื่อบางส่วนของโปรแกรมเพื่อให้คุณใช้คำสั่ง goto ได้ คุณสามารถตั้งชื่อบางส่วนของโปรแกรมอะไรก็ได้ ตราบใดที่ชื่อนั้นไม่ใช่คำสั่ง หากต้องการติดป้ายกำกับส่วน "หลัก" ให้พิมพ์ดังต่อไปนี้:
:หลัก
- ส่วนที่ติดป้ายกำกับจะรวมถึงป้ายกำกับและโค้ดทั้งหมดที่ตามมาจนกว่าจะมีป้ายกำกับอื่นหรือไฟล์ถึงจุดสิ้นสุด! อย่าลืมติดฉลาก ก่อน ส่วนที่ถูกติดฉลากและฉลากอื่นตามมาเพื่อให้คอมพิวเตอร์เข้าใจว่าส่วนใดติดป้ายกำกับ! ตัวอย่างด้านล่าง:
@echo off:LABEL1 echo นี้เป็นการทดสอบข้อความ set/p input=THIS IS A TEST INPUT_ ถ้า %input%==1 ไปที่ LABEL1 ไปที่ LABEL2:LABEL2 echo TEST
ขั้นตอนที่ 4 เริ่มเขียนสคริปต์เกมของคุณ
ขอแนะนำให้ผู้เริ่มต้นใช้แผ่นจดบันทึก แต่ถ้าคุณต้องการใช้ MS DOS EDIT ก็ไม่เป็นไรเช่นกัน นอกจากนี้ยังแนะนำสำหรับผู้เริ่มต้นเพื่อเริ่มต้นด้วยเกมตอบคำถามพื้นฐาน ดังนั้นบทความนี้จะแสดงให้คุณเห็นว่าต้องทำอย่างไร อย่าลืมเริ่มต้นด้วยการปิดเสียงสะท้อน จากนั้นแนะนำเกมของคุณด้วยข้อความบางส่วนผ่านคำสั่ง echo จากนั้นใช้ set เพื่ออนุญาตการป้อนข้อมูลด้วยคำสั่ง goto อาจฟังดูสับสน ดังนั้นโปรดดูด้านบน (หมายเหตุ: คำสั่ง REM สร้างความคิดเห็น เช่น บันทึกสำหรับนักพัฒนาที่ไม่แสดงในผลลัพธ์สุดท้าย):
ขั้นตอนที่ 5. ทำงานบนหน้าคำแนะนำ
ณ จุดนี้ คุณควรบันทึกไฟล์ของคุณ (บันทึกเป็น something.bat) และใส่ไว้ในโฟลเดอร์ที่คุณสร้างขึ้นสำหรับเกม หลังจากบันทึกแล้ว ให้เรียกใช้และตรวจสอบว่าใช้งานได้
-
จากจุดนี้ไป คุณจะมีไฟล์หลายไฟล์ต่อเกม (โดยเฉพาะถ้าคุณต้องการมีกราฟิก ASCII) คุณสามารถเรียกใช้แบตช์สคริปต์เพื่อพิมพ์เนื้อหาของไฟล์ใด ๆ บนหน้าจอด้วยคำสั่ง type ด้านล่างจะพิมพ์เนื้อหาของ TEST.txt:
อย่าลืมรวมนามสกุลไฟล์ด้วย มิฉะนั้นคำสั่งอาจทำงานไม่ถูกต้อง
-
สร้างหน้าคำแนะนำในแผ่นจดบันทึก ควรพูดบางอย่างเช่น:
-
บันทึกเป็น INST.txt ในโฟลเดอร์ของแบตช์ไฟล์ จากนั้นทำให้เกมของคุณพิมพ์ข้อความไปยังคอนโซลในหน้าคำแนะนำ:
-
เรียกใช้โปรแกรมและตรวจสอบให้แน่ใจว่าใช้งานได้
ขั้นตอนที่ 6 ทำงานกับเนื้อหาของเกมเอง
นี่คือที่ที่ความคิดสร้างสรรค์/การวิจัย งาน และเวลาส่วนใหญ่ของคุณถูกใช้ไปกับการเล่นเกม เช่นเดียวกับที่ที่สคริปต์ของเกมส่วนใหญ่ควรจะเป็น ควรมีที่ที่คุณไปเมื่อคุณได้รับคำตอบที่ผิด และจะมีทางที่จะไปยังคำถามถัดไปเมื่อคุณได้คำตอบที่ถูกต้อง ข้างต้นจะมีคำถามพื้นฐานเกี่ยวกับภายนอกของรถ คุณสามารถแทนที่ด้วยสิ่งที่คุณชอบ
เรียกใช้โปรแกรมและตรวจสอบให้แน่ใจว่าใช้งานได้
ขั้นตอนที่ 7 สร้างหน้าจอที่ชนะ
การสร้างหน้าจอที่ชนะนั้นง่ายพอๆ กับหน้าจอคำแนะนำ สร้างเอกสารข้อความพร้อมคำชมสำหรับการชนะและบันทึกเป็น WIN.txt ในโฟลเดอร์แบตช์ เพิ่มบรรทัดต่อไปนี้ที่ท้ายเกมของคุณสำหรับหน้าจอที่ชนะ:
ขั้นตอนที่ 8 ตอนนี้เกมของคุณควรมีลักษณะเหมือนโค้ดด้านบน:
เรียกใช้โปรแกรมและตรวจสอบให้แน่ใจว่าใช้งานได้
ขั้นตอนที่ 9 แตะไฟล์ของคุณ
เริ่มต้นด้วยการไปที่แต่ละเลเบลแล้ววางคำสั่ง cls หลังจากนั้น การดำเนินการนี้จะล้างหน้าจอที่ป้ายกำกับแต่ละป้าย ดังนั้นคุณจึงไม่มีหน้าจอที่เต็มไปด้วยข้อมูลที่ไม่จำเป็น
ขั้นตอนที่ 10. แก้ไขไวยากรณ์ตามความเหมาะสม
ถ้าคุณต้องการ ทำคำตอบทั้งหมดในรายการประโยคให้สมบูรณ์ โปรดทราบว่าคุณควรหลีกเลี่ยงการหดตัวในคำสั่ง ECHO สคริปต์แบทช์!
คุณควรหลีกเลี่ยงเครื่องหมายทับและมากกว่า/น้อยกว่าสัญลักษณ์ ดาว สัญลักษณ์เปอร์เซ็นต์ และสัญลักษณ์ที่ผิดปกติอื่นๆ สัญลักษณ์เหล่านี้จะสร้างข้อผิดพลาดทางไวยากรณ์ที่ทำให้โปรแกรมหยุดทำงาน ล่าช้า หรือหยุดทำงาน
ขั้นตอนที่ 11 สร้างกราฟิกสำหรับเกมหากคุณต้องการ
สร้าง ASCII art ในเอกสารข้อความแยกต่างหากและใช้คำสั่ง type เพื่อแสดงในโปรแกรม:
ขั้นตอนที่ 12 แก้ไขข้อผิดพลาดในการพิมพ์ที่คุณพบ
คิดแต่เรื่องของตัวเองเพื่อแก้ไข จากนั้นเพิ่มสีของคุณด้วยคำสั่งสี ขอแนะนำให้คุณวางไว้ที่จุดเริ่มต้นของโปรแกรมเพื่อให้ทั้งโปรแกรมเป็นสีนี้ นี่คือคำอธิบายวิธีใช้งานโดยตรงจากบรรทัดคำสั่ง:
ตั้งค่าสีพื้นหน้าและพื้นหลังของคอนโซลเริ่มต้น
COLOR [สี]
attr ระบุแอตทริบิวต์สีของคอนโซลเอาท์พุต
แอตทริบิวต์สีระบุด้วยเลขฐานสิบหกสองหลัก - อันแรกตรงกับพื้นหลัง ที่สองเบื้องหน้า ตัวเลขแต่ละตัวสามารถเป็นค่าใดก็ได้ดังต่อไปนี้:
0 = สีดำ 8 = สีเทา 1 = สีน้ำเงิน 9 = สีฟ้าอ่อน 2 = สีเขียว A = สีเขียวอ่อน 3 = Aqua B = Light Aqua 4 = สีแดง C = สีแดงอ่อน 5 = สีม่วง D = สีม่วงอ่อน 6 = สีเหลือง E = สีเหลืองอ่อน 7 = ขาว F = ขาวสว่าง
หากไม่มีการระบุอาร์กิวเมนต์ คำสั่งนี้จะคืนค่าสีเป็นตอนที่ CMD. EXE เริ่มทำงาน ค่านี้อาจมาจากหน้าต่างคอนโซลปัจจุบัน สวิตช์บรรทัดคำสั่ง /T หรือจากค่ารีจิสทรีสีเริ่มต้น
- กล่าวอีกนัยหนึ่ง ถ้าคุณต้องการพื้นหลังสีขาวสว่างและข้อความสีดำ:
@echo ปิดสี f0:MAIN cls echo
ขั้นตอนที่ 13 ขอแสดงความยินดี คุณเพิ่งสร้างเกมคอมพิวเตอร์พื้นฐานด้วยสคริปต์ชุดงาน
เคล็ดลับ
- หากคุณต้องการบันทึกบางอย่างเป็นแบตช์ไฟล์แต่ยังไม่ต้องการทำให้เสร็จ คุณสามารถแก้ไขไฟล์อีกครั้งโดยคลิกขวาและเลือก "แก้ไข"
- Batch เป็นวิธีที่สนุกในการเริ่มเขียนโปรแกรม หากต้องการย้ายไปยังบางสิ่งที่ยากขึ้นเล็กน้อย แต่มีประสิทธิภาพมากกว่านั้น ให้ลองใช้ภาษาโปรแกรม python
คุณสามารถค้นหาวิดีโอฟรีบน youtube เพื่อเรียนรู้ภาษาการเขียนโปรแกรมใดๆ
- เมื่อบันทึก ตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนเมนูแบบเลื่อนลงใต้ช่องป้อนชื่อไฟล์จาก "เอกสารข้อความ (txt)" เป็น "ไฟล์ทั้งหมด" หลังจากทำเช่นนั้น ตรวจสอบให้แน่ใจว่าชื่อไฟล์ของคุณลงท้ายด้วย.bat เสมอ
- บันทึกบ่อยๆ คุณอาจจะเสียใจถ้าคุณไม่ทำ
- หากคุณมีหลายโปรแกรมที่ทำงานร่วมกัน คุณสามารถใช้คำสั่ง "โทร" เพื่อเริ่มแบตช์ไฟล์อื่นจากภายในไฟล์ที่คุณกำลังเรียกใช้
- ลองสร้างเกมหลายๆ เวอร์ชันในขณะใช้งาน เพื่อเปรียบเทียบและดูว่ามีข้อผิดพลาดหรือไม่ ไม่ต้องกังวลว่าจะต้องใช้พื้นที่เท่าไร เพราะแบตช์ไฟล์มีขนาดเล็กมาก
- คุณสามารถตั้งค่าตัวแปรโดยใส่ "set variable name=value" หรือให้ผู้ใช้ตั้งค่าตัวแปรโดยใส่ "set /p input=Input text:" "ข้อความที่ป้อน" สามารถแทนที่ด้วยสิ่งที่คุณต้องการให้พวกเขาเห็นเมื่อตั้งค่าตัวแปรนี้
คำเตือน
- บ่อยครั้งมีการกล่าวกันว่าการส่งไฟล์แบตช์ทางอินเทอร์เน็ตเป็นสิ่งผิดกฎหมาย สิ่งนี้ไม่เป็นความจริง แต่โปรดทราบว่าคุณอาจประสบปัญหาในการส่งไฟล์แบตช์ที่เป็นอันตรายทางอินเทอร์เน็ต (เช่น ไฟล์แบตช์ที่คอมพิวเตอร์ขัดข้อง ลบไฟล์ระบบที่สำคัญ ฯลฯ…) พวกมันไม่ได้ถูกเรียกว่าไวรัส แต่พวกมันยังคงเป็นอันตราย และคุณอาจประสบปัญหาร้ายแรงสำหรับพวกมัน
- อย่าใส่คำสั่ง MS DOS ใด ๆ ในคำสั่ง echo เนื่องจากจะดำเนินการ จำไว้ว่าทุกอย่างที่แสดงโดยบรรทัดคำสั่งคือเสียงสะท้อน!
- อย่าใส่คำสั่ง MS DOS ใด ๆ ในไฟล์ข้อความที่พิมพ์ลงในคอนโซล ไฟล์ข้อความช่วยแก้ปัญหาบางอย่างได้ เช่น เครื่องหมายทับและเครื่องหมายดาว แต่ระบบจะยังคงใช้คำสั่งในไฟล์ดังกล่าว
- ระวังคำสั่ง "เดล" แม้ว่าจะใช้เพื่อลบได้ ตัวอย่างเช่น ผู้ใช้สำหรับเกมที่ยาวขึ้น แต่ก็ไม่จำกัดและสามารถใช้เพื่อลบอะไรก็ได้ รวมถึงไฟล์สำคัญ อย่าใช้คำสั่งนี้จนกว่าคุณจะรู้ว่าคุณกำลังทำอะไรกับมันอยู่