Gunting Kertas Batu
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#define SKORMENANG 3
char AmbilPilihanAcak (void);
int FungsiMenang(char A, char B);
int main() {
char kamu, aku;
int poinku = 0;
int poinmu = 0;
int pemenang;
do {
cout << "\n\nMasukkan: g, b, atau k";
cout << "\ngunting(g), batu(b), kertas(k): ";
cin >> kamu;
aku = AmbilPilihanAcak();
cout << "PC memilih " << aku << "\n";
pemenang = FungsiMenang(kamu, aku);
if (pemenang == 0) cout << "Draw!\n";
else if (pemenang == 1) {
cout << "Anda menang!\n";
poinmu++;
}
else if (pemenang == 2) {
cout << "PC menang!\n";
poinku++;
}
else cout << "Maaf Anda memasukkan pilihan ilegal!\n";
cout << "Poin Anda: " << poinmu;
cout << " Poin PC: " << poinku;
}
while (poinmu < SKORMENANG && poinku < SKORMENANG);
if (poinmu > poinku)
cout << "\nAnda menang untuk kompetisi ini!\n";
else
cout << "\nPC menang untuk kompetisi ini!\n";
return 0;
}
char AmbilPilihanAcak (void) {
char pilihan;
srand(time(NULL)); //inisialisasi generator bilangan acak
int nilai = rand()%3; //ambil bilangan acak antara 0-2
switch (nilai){
case 0: pilihan='b'; break;
case 1: pilihan='g'; break;
case 2: pilihan='k'; break;
}
return pilihan;
}
int FungsiMenang(char A, char B){
switch(A){
case 'b':
if(B=='g') return 1;
else if(B=='k') return 2;
else return 0;
case 'g':
if(B=='k') return 1;
else if(B=='b') return 2;
else return 0;
case 'k':
if(B=='b') return 1;
else if(B=='g') return 2;
else return 0;
default:
return -1;
}
}
No comments:
Post a Comment