Program ini adalah permainan Sudoku berbasis teks yang memungkinkan pemain untuk:
- Memilih tingkat kesulitan (Mudah, Menengah, Sulit).
- Mengisi angka kosong pada papan Sudoku sesuai aturan.
- Memantau waktu bermain dan sisa nyawa.
- Menyimpan riwayat permainan (MENANG/KALAH) ke dalam file log.
Program ini dikembangkan sebagai bagian dari tugas oleh:
- Dzakir Tsabit Asy Syafiq / 241511071
- Muhammad Raihan Abubakar / 241511084
- Isi papan Sudoku 9x9:
- Setiap baris harus berisi angka 1-9 tanpa duplikat.
- Setiap kolom harus berisi angka 1-9 tanpa duplikat.
- Setiap kotak kecil 3x3 harus berisi angka 1-9 tanpa duplikat.
- Anda memiliki sejumlah nyawa (kesempatan) untuk memasukkan angka yang benar. Setiap kesalahan akan mengurangi nyawa.
- Permainan akan berakhir jika Anda:
- Berhasil menyelesaikan papan Sudoku (MENANG).
- Kehabisan nyawa (KALAH).
Pastikan Anda memiliki file berikut:
utils.c
history.c
timer.c
game.c
header.h
Kompilasi semua file menggunakan perintah berikut (pada terminal atau cmd):
gcc -o sudoku game.c utils.c history.c timer.c
Jalankan program dengan:
./sudoku
Setelah program dijalankan, Anda akan diminta memilih tingkat kesulitan:
- 1 = Mudah
- 2 = Menengah
- 3 = Sulit
Contoh:
Pilih tingkat kesulitan:
1. Mudah
2. Menengah
3. Sulit
Pilih (1-3): 2
Setelah papan ditampilkan, Anda diminta memasukkan angka dengan format berikut:
Masukkan baris, kolom, dan angka (contoh: 3 5 7):
- Baris: Nomor baris (1-9).
- Kolom: Nomor kolom (1-9).
- Angka: Angka yang ingin dimasukkan (1-9).
Jika langkah tidak valid, program akan memberi tahu alasannya (misalnya angka sudah ada di baris, kolom, atau kotak 3x3).
Contoh input:
Masukkan baris, kolom, dan angka (contoh: 3 5 7): 3 5 7
- Program akan menampilkan waktu bermain dalam format HH:MM:SS.
- Jika Anda salah memasukkan angka, nyawa akan berkurang.
Contoh:
Nyawa Anda tersisa 2
- Anda menang jika berhasil mengisi semua sel dengan angka yang benar.
- Anda kalah jika kehabisan nyawa.
Pesan kemenangan atau kekalahan akan ditampilkan beserta durasi permainan:
Selamat, Anda menang! Waktu bermain: 00:10:45
atau
Game Over! Anda bermain selama 00:15:30
Setiap sesi permainan akan dicatat dalam file player_history.dat
. Riwayat mencakup:
- Durasi permainan (HH:MM:SS).
- Status (MENANG/KALAH).
Untuk melihat riwayat permainan, jalankan program ini:
./sudoku_history
- Compiler GCC untuk menjalankan program C.
- Sistem operasi Windows atau Linux.
- Dzakir Tsabit Asy Syafiq / 241511071
- Muhammad Raihan Abubakar / 241511084
Selamat bermain dan semoga menyelesaikan papan Sudoku dengan sukses!