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

Return to “Pembicaraan Bebas”

Who is online

Users browsing this forum: Baidu [Spider] and 25 guests