Skip to content
/ tetris Public

Game Tetris sederhana berbasis HTML, CSS, dan JavaScript. Dikembangkan sebagai materi latihan ekskul coding untuk memahami logika pemrograman dasar, manipulasi DOM, dan animasi web interaktif. ๐Ÿš€

License

Notifications You must be signed in to change notification settings

ahliweb/tetris

๐ŸŽฎ Game Tetris by AhliWeb - Tetris Statis (Basic Edition)

Versi dasar Game Tetris klasik menggunakan HTML, CSS, dan JavaScript tanpa framework. Dikembangkan oleh PT Ahli Web Internasional untuk program Ekskul Coding & AI Terpadu.


๐Ÿ’ก Tujuan Proyek

Proyek ini bertujuan untuk:

  1. Mengenalkan logika dasar pemrograman melalui permainan interaktif.
  2. Melatih pemahaman DOM, loop, dan event listener.
  3. Menjadi dasar sebelum masuk ke versi advance (Dart + Serverpod + Jaspr).

๐Ÿ—‚๏ธ Struktur Folder

tetris/
โ”œโ”€โ”€ statis/
โ”‚   โ””โ”€โ”€ tetris.html
โ”œโ”€โ”€ CODE_OF_CONDUCT.md
โ”œโ”€โ”€ CONTRIBUTING.md
โ”œโ”€โ”€ LICENSE
โ””โ”€โ”€ readme.md

๐Ÿ“š Deskripsi Proyek

Game Tetris Improved Edition berbasis HTML, CSS, dan JavaScript. Dikembangkan sebagai materi latihan ekskul coding untuk memahami logika pemrograman dasar, manipulasi DOM, dan animasi web interaktif. ๐Ÿš€

โœจ Fitur Utama (v2.0):

Gameplay

  • โœ… Tampilan grid 10x20 klasik
  • โœ… Hold Piece - Simpan piece untuk digunakan nanti (tekan C)
  • โœ… Ghost Piece - Bayangan menunjukkan dimana piece akan jatuh
  • โœ… Wall Kick - Rotasi otomatis saat dekat dinding (SRS system)
  • โœ… Sistem skor otomatis dengan combo
  • โœ… Level dan kecepatan meningkat progresif

UI/UX

  • โœ… Welcome screen dengan instruksi lengkap
  • โœ… Touch Controls untuk mobile/tablet
  • โœ… Settings Panel (on/off: sound, ghost piece, grid lines)
  • โœ… Game Statistics (waktu bermain, total pieces, pieces per minute)
  • โœ… Desain responsif 3-kolom (desktop) dan adaptive (mobile)
  • โœ… Animasi smooth dan visual feedback
  • โœ… Tombol UI interaktif dengan hover effects

Keamanan & Kode

  • โœ… Validasi localStorage dengan sanitization
  • โœ… Error handling untuk audio context
  • โœ… Komentar lengkap untuk maintainability
  • โœ… Code organization dengan sections
  • โœ… Data-testid attributes untuk automated testing
  • โœ… 100% Vanilla JavaScript (tanpa library eksternal)

๐Ÿ› ๏ธ Cara Menjalankan

  1. Clone repositori ini:

    git clone https://github.com/ahliweb/tetris.git
  2. Buka folder proyek:

    cd tetris/statis
  3. Jalankan file tetris.html di browser favoritmu (cukup klik dua kali file tersebut).


๐ŸŽฎ Cara Bermain

Kontrol Keyboard

  • โ† โ†’ : Geser kiri/kanan
  • โ†‘ : Rotasi piece
  • โ†“ : Soft drop (turun cepat)
  • Space : Hard drop (langsung jatuh)
  • C : Hold piece (simpan untuk nanti)
  • P : Pause/Resume

Kontrol UI

  • Gunakan tombol pada panel samping
  • Touch controls tersedia di mobile

Tips

  • Gunakan ghost piece untuk melihat landing position
  • Hold piece strategi untuk kombo lebih baik
  • Perhatikan next piece untuk planning

๐Ÿ“š Dokumentasi

Dokumentasi lengkap tersedia:

Total Documentation: 48KB+ comprehensive docs!


๐Ÿ”ง Rencana Pengembangan Lanjutan

Tahap berikutnya akan mencakup:

  • Porting ke Dart + Serverpod + Jaspr + Flutter Web.
  • Penambahan sistem login & leaderboard.
  • Mode multiplayer.
  • UI/UX modern dengan animasi halus.

๐Ÿ‘จโ€๐Ÿ’ป Author

Unggul Cahya Saputra Direktur Operasional โ€” PT Ahli Web Internasional


๐Ÿ“ Lisensi

MIT License ยฉ 2025 AhliWeb.co.id


๐Ÿ›ก๏ธ Code of Conduct

Proyek ini mengikuti pedoman etika terbuka dan profesional sesuai dokumen: ๐Ÿ›ก๏ธ CODE_OF_CONDUCT.md


๐Ÿ› ๏ธ Panduan Kontribusi

Panduan lengkap kontribusi tersedia di: ๐Ÿ‘จโ€๐Ÿ’ป CONTRIBUTING.md


๐Ÿฅ‰ Bagian dari ekosistem edukasi digital AhliWeb.co.id โ€” โ€œBerkarya dengan Ilmu, Amanah, dan Akhlak Mulia.โ€

About

Game Tetris sederhana berbasis HTML, CSS, dan JavaScript. Dikembangkan sebagai materi latihan ekskul coding untuk memahami logika pemrograman dasar, manipulasi DOM, dan animasi web interaktif. ๐Ÿš€

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages