Project membuat game gunting kertas batu dalam bahasa c++
Daftar Menu:
- Mulai Permainan
- Skor Saat Ini
- Reset Skor
- Keluar
Daftar Mode Permainan:
- Pemain VS Komputer
- Pemain 1 VS Pemain 2
- Kembali ke Menu Utama
-
Inisialisasi variabel skorP1, skorP2, dan skorKomputer menjadi 0.
-
Inisialisasi variabel p1, p2, ketP1, ketP2, dan ketK sebagai string kosong.
-
Tampilkan keterangan kelompok
-
Mulai perulangan utama:
- Tampilkan pesan "Selamat Datang di Game Gunting Kertas Batu".
- Tampilkan daftar menu:
- "Mulai Bermain"
- "Skor Saat Ini"
- "Reset Skor"
- "Keluar"
- Meminta pengguna untuk memilih menu.
- Jika menu adalah 1:
- Memulai perulangan mode permainan:
- "Pemain 1 vs Komputer"
- "Pemain 1 vs Pemain 2"
- "Kembali ke Menu Utama"
- Meminta pengguna untuk memilih mode.
- Jika mode adalah 1:
- Memanggil fungsi vsKomputer().
- Jika mode adalah 2:
- Memanggil fungsi vsPemain().
- Jika mode adalah 3, keluar dari perulangan mode.
- Memulai perulangan mode permainan:
- Jika menu adalah 2:
- Memanggil fungsi skorSaatIni().
- Jika menu adalah 3:
- Memanggil fungsi resetSkor().
- Jika menu adalah 4, keluar dari program.
- Jika menu tidak valid, tampilkan pesan error.
-
Fungsi vsKomputer():
- Meminta nama pemain.
- Memulai perulangan permainan:
- Meminta pemain untuk memilih (Gunting, Kertas, Batu, atau Acak).
- Komputer memilih secara acak (Gunting, Kertas, atau Batu).
- Menampilkan hasil pilihan pemain dan komputer.
- Memeriksa hasil dan memperbarui skor.
- Menampilkan skor saat ini.
- Meminta pengguna apakah ingin melanjutkan permainan.
-
Fungsi vsPemain():
- Meminta nama pemain 1 dan nama pemain 2.
- Memulai perulangan permainan:
- Meminta pemain 1 untuk memilih (Gunting, Kertas, Batu, atau Acak).
- Meminta pemain 2 untuk memilih (Gunting, Kertas, Batu, atau Acak).
- Menampilkan hasil pilihan pemain 1 dan pemain 2.
- Memeriksa hasil dan memperbarui skor.
- Menampilkan skor saat ini.
- Meminta pengguna apakah ingin melanjutkan permainan.
-
Fungsi skorSaatIni():
- Menampilkan skor saat ini untuk pemain 1, pemain 2, dan komputer, diurutkan berdasarkan skor tertinggi.
-
Fungsi resetSkor():
- Meminta konfirmasi untuk mereset skor.
- Jika dikonfirmasi, mengatur skorP1, skorP2, dan skorKomputer menjadi 0.
-
Program selesai.
Pseudocode
- Start
- Print menu
- Input menu
- If menu = 1 then Submodul Mulai Permainan
- Else if menu = 2 then Submodul Skor Saat Ini
- Else if menu = 3 then Submodul Reset Skor
- Else if menu = 4 then End
- Else Print "Menu yang dipilih tidak valid"
- Repeat
Pseudocode Submodul Mulai Permainan
- Start
- Print mode
- Input mode
- If mode = 1 then Submodul Pemain VS Komputer
- Else if mode = 2 then Submodul Pemain 1 VS Pemain 2
- Else if mode = 3 then End submodul
- Else Print "Pilihan tidak valid"
- Repeat
Pseudocode Submodul Pemain VS Komputer
- Start
- Input namaPemain1
- Print pilihan
- Input pilPemain1
- pilKomputer = random (1/2/3)
- If pilPemain1 = 4 Then pilPemain1 = random (1/2/3)
- If pilPemain = 1 & pilKomputer = 2 then Print "Anda menang" skorP1 + 1
- Else if pilPemain = 2 & pilKomputer = 3 then Print "Anda menang" skorP1 + 1
- Else if pilPemain = 3 & pilKomputer = 1 then Print "Anda menang" skorP1 + 1
- Else Print "Anda kalah" skorKom + 1
- Print skorP1, skorKom
- Print "Apakah anda ingin melanjutkan permainan?"
- Input jawab
- If jawab = y Then Repeat
- Else End Submodul Pemain VS Komputer
Pseudocode Submodul Pemain 1 VS Pemain 2
- Start
- Input namaPemain1
- Input namaPemain2
- Print pilihan
- Input pilPemain1
- Input pilPemain2
- If pilPemain1 = 4 Then pilPemain1 = random (1/2/3)
- If pilPemain2 = 4 Then pilPemain2 = random (1/2/3)
- If pilPemain1 = 1 & pilPemain1 = 2 Then Print "Pemain 1 menang" skorP1 + 1
- Else if pilPemain1 = 2 & pilPemain2 = 3 Then Print "Pemain 1 menang" skorP1 + 1
- Else if pilPemain1 = 3 & pilPemain2 = 1 Then Print "Pemain 1 menang" skorP1 + 1
- Else Print "Pemain 2 menang" skorP2 + 1
- Print skorP1, skorP2
- Print "Apakah anda ingin melanjutkan permainan?"
- If jawab = y Then Repeat
- Else End Submodul Pemain1 VS Pemain 2
Pseudocode Submodul Skor Saat Ini
- Start
- Sort skor
- Print skorP1, skorP2, skorKom
- End Submodul
Pseudocode Submodul Reset Skor
- Start
- Print "Apakah anda yakin ingin mereset skor (y/n)"
- Input pilihan
- If pilihan = y Then Set skorP1=0, skorP2=0, skorKom=0 Print "Skor Telah Direset"
- Else Print "Skor Batal Direset"
- End Submodul