Tetris ™โคลนที่สร้างขึ้นใน C ++ และ SDL โครงการได้รับการออกแบบมาเพื่อรวบรวมด้วย emscripten ไปยัง Webasm และนำไปใช้งานออนไลน์
| เริ่มเกมใหม่ |
|---|

| สำคัญ | การกระทำ |
|---|---|
left_arrow | ย้ายไปทางซ้าย |
right_arrow | ย้ายไปทางขวา |
z หรือ up_arrow | หมุนตามเข็มนาฬิกา |
x หรือ left-ctrl | หมุนตามเข็มนาฬิกา |
space | หยดอย่างหนัก |
down_arrow | ลดลง |
p | เกมหยุดชั่วคราว |
r | รีเซ็ตเกม |
(ส่วนนี้หรือ readme.md ยังอยู่ระหว่างการก่อสร้างคุณอาจช่วยปรับปรุงสิ่งนี้โดยการเปิด PR/ปัญหาเกี่ยวกับเรื่องเดียวกัน)
ดำเนินการตามขั้นตอนต่อไปนี้เพื่อสร้างโครงการบนเครื่องจักรของคุณ:
โคลน/ดาวน์โหลดที่เก็บข้อมูล
นำทางไปยังไดเรกทอรี src ของที่เก็บ
ตอนนี้รวบรวมโปรแกรม (ขึ้นอยู่กับว่าคุณต้องการสร้างเวอร์ชันที่ปรับใช้ออนไลน์หรือบิลด์ดั้งเดิมให้ทำตามขั้นตอนต่อไปนี้)
CAVEAT: ปัจจุบันที่เก็บข้อมูลไม่มีระบบบิลด์/สคริปต์เพื่อทำให้กระบวนการสร้างอัตโนมัติดังนั้นตอนนี้การสร้างด้วยตนเองเป็นวิธีเดียวที่จะทำให้โครงการทำงานบนระบบ (หากคุณสนใจที่จะตั้งค่าโครงการหนึ่งสำหรับโครงการ
3.1. Webasm build โดยใช้ emscripten :
ในการสร้างเกมเวอร์ชันที่ปรับใช้ออนไลน์ได้เราจะใช้ emscripten เพื่อรวบรวมโปรแกรมไปยัง Webasm
$ em++ -std=c++17 renderer.cpp game.cpp app.cpp main.cpp -O2 -s TOTAL_MEMORY=67108864 -s USE_SDL=2 -s USE_SDL_TTF=2 -s USE_SDL_MIXER=2 --preload-file assets -o ../build/index.jsTODO: อธิบายสิ่งที่คำสั่งข้างต้นทำโดยละเอียด
build ไดเรกทอรีย่อยของที่เก็บemrun เพื่อเรียกใช้หน้า HTML ผ่านเว็บเซิร์ฟเวอร์ที่เปิดตัวในเครื่อง $ emrun index.htmlFWIW: คุณอาจต้องการเยี่ยมชมเอกสาร Emscripten เกี่ยวกับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างโครงการด้วย emscripten หากคุณน่าสนใจที่จะรู้เพิ่มเติมเกี่ยวกับเรื่องเดียวกัน
3.2. บิลด์ดั้งเดิมโดยใช้คอมไพเลอร์ดั้งเดิม C ++ :
เพียงใช้คอมไพเลอร์ C ++ ดั้งเดิมของคุณเพื่อสร้างและเรียกใช้งานได้จากไฟล์ต้นฉบับทั้งหมด (คำสั่งซื้อที่ควรให้กับคำสั่งไม่ควรสำคัญในกรณีส่วนใหญ่)
ตรวจสอบให้แน่ใจว่าเชื่อมโยง SDL2 , SDL2_ttf และ SDL2_mixer อย่างถูกต้อง
$ g++ -std=c++17 renderer.cpp game.cpp app.cpp main.cpp -O2 -lSDL2_ttf -lSDL2_mixer -lSDL2คำแนะนำเหล่านี้มีความหมายที่จะเข้าใจโดยนักพัฒนาในทุกระดับดังนั้นหากคุณไม่สามารถเข้าใจอะไรหรือเผชิญกับความยากลำบากในการสร้างโครงการให้แน่ใจว่าได้ร้องเรียนเกี่ยวกับเรื่องเดียวกันโดยการเปิดปัญหาหรือในส่วนที่หารือ
พื้นที่เก็บข้อมูลนี้มีส่วนร่วมใน Hacktoberfest ดังนั้นการมีส่วนร่วมใด ๆ ที่ทำในโครงการนี้ในช่วงเดือนตุลาคมควรถูกนับเป็น Hacktoberfest
การมีส่วนร่วมทุกชนิด (รหัส, รหัสที่ไม่ใช่รหัส, ต่ำสุด) เป็น appriciated
หากคุณต้องการมีส่วนร่วมในโครงการให้แน่ใจว่าได้อ่านแนวทางการสนับสนุนก่อนที่จะทำการร้องขอการดึงใหม่
หากคุณต้องการรายงานข้อผิดพลาดหรือต้องการแบ่งปันความคิด/มีส่วนร่วมในโครงการดังนั้นอย่าลังเลที่จะเปิดปัญหา/ประชาสัมพันธ์เกี่ยวกับสิ่งเดียวกัน
นอกจากนี้อย่าลังเลที่จะเปิดปัญหาสำหรับการถามคำถาม
หากคุณชอบโครงการให้แน่ใจว่าได้สนับสนุนนักพัฒนาโดยให้ดาวหรือไม่?