Game Hompimpah dengan C++ (masih belom jadi)

Tempat nongkrong. Diskusi bebas di luar topik.
User avatar
SinauUbuntu
Posts: 168
Joined: 03 Mar 2011, 11:20
Location: surabaya,indonesia

Game Hompimpah dengan C++ (masih belom jadi)

Postby SinauUbuntu » 12 Jul 2011, 16:59

Berpedoman pada Game Kertas , Batu , Gunting dengan C++ , Saya mencopa membuat game hompimpah. Berikut Scriptnya:
#include
#include
#define menang 3

using namespace std;

char PilihanAcak(){
char pilihan;
srand(time(NULL)); //kunci pembangkit atau disebut umpan bilangan acak
int isi = rand()%2;//menampilkan bilangan acak yang diberikan ke fungsi srand().

switch(isi){
case 0 : pilihan='p';break;
case 1 : pilihan='h';break;
}
return pilihan;
}

int SiapaPemenang(char x,char y,char z){
int putih,hitam;


if(z=='p')
{putih++;}
else {if(z=='h')
hitam++;
else {goto kembalikan;}}

if(y=='p')
putih++;
else if(y=='h')
hitam++;


if(x=='p')
putih++;
else if(x=='h')
hitam++;




if(hitam==3)
return 1;
else if (putih==3)
return 1;
else
{
if(hitam>kamu;

aku = PilihanAcak();
dia = PilihanAcak();
cout Pointmu : ">ulang;

if (ulang == 'Y' || ulang =='y'){
goto atas;
}else{
system("clear");
}
}
Masalahnya, Hasil random selalu sama???
gimana biar bisa kadang sama kadan nggak??? :)
User avatar
indraginanjar
Posts: 183
Joined: 17 Mar 2010, 13:49
Location: Padang, Indonesia
Contact:

Re: Game Hompimpah dengan C++ (masih belom jadi)

Postby indraginanjar » 12 Jul 2011, 23:42

angka randomnya sama karena, seed yang digunakan menggunakan angka (dari time(NULL)) yang sama.

Mungkin kode berikut ini, bisa menolong untuk memperjelasnya... :)

Code: Select all

#include <stdio.h> #include <stdlib.h> #include <time.h> /* indraginanjar@gmail.com */ int main(){ /* pembuatan seed pertama */ srand(time(NULL)); int num1 = rand(); /* karena kerja prosesor yang cepat, time(NULL) di pembuatan seed * kedua nilainya masih sama dengan time(NULL) saat pembuatan seed * yang pertama. Akibatnya nilai yang dihasilkan rand() pun akan * tetap sama. */ /* pembuatan seed kedua */ srand(time(NULL)); int num2 = rand(); /* pembuatan seed cukup sekali, karena angka hasil pemanggilan * dengan seed yang sama, hasil rand() yang pertama akan * berbeda dengan hasil rand() yang selanjutnya */ int num3 = rand(); int num4 = rand(); int num5 = rand(); printf("num1 = %i\nnum2 = %i\nnum3 = %i\nnum4 = %i\nnum5 = %i", num1, num2, num3, num4, num5); return 0; }
Yang hasilnya akan mirip dengan ini:
num1 = 2058044313
num2 = 2058044313
num3 = 1357376375
num4 = 854195994
num5 = 175990569

Who is online

Users browsing this forum: No registered users and 24 guests