นี่คือเกมงู x86 ที่สร้างขึ้นสำหรับ DOS แต่ก็มีเวอร์ชันที่ไม่ต้องใช้ BIOS, bootloader หรือ OS อีกด้วย
เกมดังกล่าวครอบคลุมใน Hackaday
เพื่อทดสอบโค้ด คุณสามารถดูการสาธิตออนไลน์ซึ่งจะอัปเดตสำหรับการเปลี่ยนแปลงทุกครั้งใน Snake.asm (ใช้ปุ่มลูกศรบนพีซีหรือปัดบนมือถือ)
หากคุณต้องการทดสอบโค้ดด้วยตัวเอง คุณจะต้องติดตั้งข้อกำหนดสำหรับกระบวนการสร้างและรันบนคอมพิวเตอร์ของคุณ
ฉันใช้ nasm
และ python3
ซึ่งสามารถติดตั้งได้ด้วย apt install nasm python3 -y
หากต้องการทดสอบ ให้รัน main.sh แล้วเปิด http://localhost:8000
แรงบันดาลใจจาก "คุณสามารถใส่ทั้งเกมลงในโค้ด QR ได้หรือไม่" โดย @itsmattkc ซึ่งนำเสนอบน Hackaday ด้วย
สำหรับคนที่กล่าวถึง Snake64 ของ jinX ฉันทราบว่าโดยไม่ดูหมิ่นความสำเร็จที่ทำโดย jinX การใช้งานของเขาไม่เป็นไปตามข้อจำกัดแบบเดียวกับของฉัน: ในเวอร์ชันของเขา งูสามารถผ่านด้านขวาไปยังด้านซ้ายได้โดยตรง แต่ไม่ใช่จาก จากบนลงล่างรายการอาหารจะสุ่มวางไข่ดังนั้นจึงมี 30 อันพร้อมกัน บางพิกเซลสุ่มกลายเป็นสีขาว คุณต้องใช้ปุ่ม 4, 6, 8, 2 ปุ่มเพื่อย้ายแทนลูกศร คุณต้องเริ่ม เกมที่มีการเคลื่อนที่ลงหรือล่ม คุณต้อง clear
หน้าจอก่อนเริ่มเกม คุณต้องเริ่มต้นโหมดวิดีโอที่ถูกต้องข้างหน้า เมื่อคุณผ่านด้านบนและคาดว่าจะแพ้ คุณก็สามารถกลับลงไปได้ และตามที่ jinX ระบุไว้ "มันจะไม่ทำงานหากคุณรันเกมจากเทอร์มินัล DOSBox มันต้องใช้ค่า 0 (หรือ 50h, 80h, 0D0h...) ในพอร์ต 60h เมื่อเริ่มต้น"
สำหรับคนนับไม่ถ้วนที่บอกว่าฉันไม่ได้ตั้งใจไม่พูดถึง การแข่งขัน Hugi Size Coding Competition (การแข่งขันที่ผู้เข้าแข่งขันต้องทำเกม nibbles ที่เล็กที่สุดจึงจะชนะ) นี่คือคำตอบของฉันต่อความคิดเห็นหนึ่งข้อ (จากเมื่อเกมยังคงมีขนาด 133 ไบต์) ):
ประการแรก ดูเหมือนว่าคุณไม่ได้อ่านกฎของเกม "Nibbles" ด้วยซ้ำ:
ภายในเส้นขอบนี้ "งู" ควรจะเติบโต โดยมีขนาดหนึ่งพิกเซลที่จุดเริ่มต้น หลังจากเริ่มโปรแกรม ขนาดของงูจะเพิ่มขึ้นหนึ่งพิกเซลในการทำซ้ำของลูปหลักของโปรแกรมแต่ละครั้ง
ซึ่งไม่เหมือนกับงูและปฏิบัติได้ยากน้อยกว่า มาก
ประการที่สอง การใช้งานจากการแข่งขันครั้งนี้มีข้อบกพร่อง (ไม่ใช่ว่าไม่ดี แต่ฉันกำลังบอกว่ามันไม่ได้ทำให้เวอร์ชันของฉันแย่) เช่นจากความคิดเห็นในรายการที่ชนะ:
เกมไม่สามารถจัดการคีย์อื่นได้นอกจากปุ่มลูกศรของปุ่มกด คุณต้องเริ่มมันโดยพิมพ์ Pause|nibbles ใน DOS prompt แล้วกดปุ่มลูกศร
และ
เนื่องจากส่วนของหน่วยความจำอันดับต้นๆ ใน PSP นั้นขึ้นอยู่กับสภาพแวดล้อม[sic] คุณจึงต้องมีเวอร์ชันที่เหมาะกับสภาพแวดล้อมของคุณ
และมันใช้ไม่ได้กับ DOSBox เนื่องจากจำเป็นต้องมีการกำหนดค่าพิเศษบางอย่าง
จากการเข้าอันดับที่สอง:
เมื่อเริ่มโปรแกรมนี้ให้กดปุ่ม 2 (ลง) __IMMEDIATELY__
และมันจะไม่ทำงานเช่นกันหากไม่ตั้งค่าจำนวนรอบ และการเปลี่ยนแปลงในบางครั้งอาจทำให้เกมหยุดชะงัก
ส่วนอันดับสามนั้น
กด '8', '4', '6' แต่ไม่ใช่ '2' เมื่อเกมเริ่มต้นทันที
และเกมหยุดในลักษณะเดียวกับอันดับที่สอง (และจำเป็นต้องปรับรอบเดียวกัน) แต่กำแพงก็พังเช่นกัน
ฉันจะดูรายการอันดับที่สี่และหยุดเสียเวลาทำเช่นนี้
คือแค่ดูแล้วก็ไม่สามารถบู๊ตได้
และสุดท้าย คุณจะเข้าร่วมการแข่งขันได้ที่ไหน? ก่อนที่คุณจะวิพากษ์วิจารณ์คนอื่น ให้ตรวจสอบคำวิจารณ์ของคุณว่าถูกต้องเสียก่อน และลองทำด้วยตัวเองก่อนที่จะตัดสิน
ขอบคุณสำหรับข้อเสนอแนะต่อไป :)
ป.ล. ฉันไม่ได้อ้างว่าเวอร์ชันของฉันเหมาะสมที่สุด ประเด็นหลักของโพสต์คือการขอความช่วยเหลือ และความคิดเห็นนี้ทำให้ฉันรู้สึกดีขึ้นจริง ๆ เกี่ยวกับการใช้งานของฉันในทางหนึ่ง เนื่องจากในการแข่งขันเพิ่มประสิทธิภาพขนาดจริงมีคนส่งผลงานเข้ามา 121 ไบต์สำหรับเพียงบรรทัดที่ขยายออกไปบนหน้าจอและเกมงูทั้งหมดของฉัน (ซึ่งเห็นได้ชัดว่ามีฟังก์ชันนี้เหมือนกับส่วนเล็กๆ ของโปรแกรมทั้งหมด) ใช้เวลาเพิ่มขึ้นเพียง 12 ไบต์ในตอนนี้ และหากฉันสามารถแก้ไข PR ได้เพียง 7 ไบต์เพิ่มเติม
AFAIK นี่คือเกมงูที่เล็กที่สุดเท่าที่เคยมีมา
มันเล็กมากจนฉันสามารถใส่ลงใน QR เดียวได้:
มันคือ 58 ไบต์
58 ไบต์มีค่าน้อยแค่ไหน? ข้อความบรรทัดนี้มีน้ำหนักมากกว่า 70 ไบต์
และลำดับอิโมจิตามอำเภอใจก็เช่นกัน: ??❤️?????♀️??❤️???
โปรแกรม C ว่าง ที่สร้างด้วย gcc -Os -w -xc - <<< "main;"
บน linux-x86_64 คือ 15776 ไบต์
c53000b80000cd108b3f8d22e5402
1c3300fbbd0077af5e4606bc00ad4
14d5449801c739dfad10257bd9893
a74de880f83eb5079f95b88277bd8
รุ่นของฉัน | เวอร์ชันของ MattKC | เวอร์ชั่นของอิบาระ | เวอร์ชั่นของเอมะเมอิ | |
---|---|---|---|---|
ไบต์ | 58 | ~1400 (บีบอัด) | 2024 | 2953 |
คิวอาร์ | ||||
ลิงค์ | https://github.com/donno2048/snake | https://mattkc.com/etc/snakeqr/ | https://github.com/ibara/snakeqr | https://github.com/EimaMei/snake-qr |