Pages

# include
# include
# include
# include


void judul() //menampilkan judul
{
printf ("=================================================================\n\n");
printf ("\t\t\tAnimasi Detak Jantung\n");
printf ("=================================================================");
printf ("\n\n|\n|");
gotoxy (1,9);
printf ("|________________________________________________________________\n|");
gotoxy (1,12);
printf ("|\n|");
}

void meninggal () //menampilkan kondisi meninggal
{
int x;
clrscr ();
judul();
printf ("\n\n\nTekan x untuk mematikan pasien\n\nKondisi Pasien :MENINGGAL");
for (x=1; x<=65; x++)
{
gotoxy (x,8);
printf ("*");
gotoxy (x,11);
printf ("*\a");
sleep (1);
} getch ();
exit(1);
}

void hidup () //menampilkan kondisi hidup
{
char m;
int x,y;
x=2;
y=6;
for(;x<66;){
if(y == 6)
{for(;y<14;x++,y++){
if (kbhit ())
{
while (1)
{
m = getch ();
if ( m == 'x')

meninggal ();

else { clrscr();
judul();
printf ("\n\n\nTekan x untuk mematikan pasien\n\nKondisi Pasien :HIDUP");
hidup ();
}
}
}
gotoxy(x,y);printf("*");sleep(1);
}}
else {for(;y>6;x++,y--){
if (kbhit ())
{
while (1)
{
m = getch ();
if ( m == 'x')
meninggal ();
else { clrscr();
judul();
printf ("\n\n\nTekan x untuk mematikan pasien\n\nKondisi Pasien :HIDUP");
hidup ();
}
}
}
gotoxy(x,y);printf("*");sleep(1);}
}}
gotoxy(66,6);printf("*");sleep(1);
}




void main ()
{
judul();
printf ("\n\n\nTekan x untuk mematikan pasien\n\nKondisi Pasien :HIDUP");
hidup ();

getch ();
}
#include //header yang dipakai pada program ini
#include
#include
#include
#include

struct data
{
char nama[20];
float selisih;
};
typedef struct data data;

data pemain;
int a[4][4]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}; //mendefinisikan array
int b[4][4]={{1,1,2,2},{3,3,4,4},{5,5,6,6},{7,7,8,8}};
int baris1,kolom1,baris2,kolom2,x;

void end(), rumus();
int cek(int i[4][4]);
char pil;
time_t waktu_awal;
time_t waktu_akhir; //mendeklarasikan fungsi cek
FILE *f_struktur;
void pilihan();
void mulai ();
void nama ();
void jumlah ();

void pilihan()
{
clrscr();
int choice;
printf(" ********** MENU UTAMA ********** ");
printf("\n\n1. Masukkan Identitas");
printf("\n2. Mulai Permainan");
printf("\n3. Lihat Nilai Permainan");
printf("\n4. Keluar");
printf("\n\nMasukkan Pilihan Anda : "); scanf("%d",&choice);
switch(choice){
case 1 : clrscr(); nama(); break;
case 2 : if(strcmp(pemain.nama, "\0")!=0){
clrscr();
waktu_awal=time(NULL);//memulai penghitungan awal di 0 detik
mulai();
}
else{
printf("\nMaaf!\nMasukan identitas Anda terlebih dahulu");
getch();
pilihan (); break;
}
case 3 :
jumlah();

case 4 : exit(1);
default : printf("Menu yang anda masukkan tidak tersedia\n");
printf("Silahkan ketik 'ENTER' untuk kembali ke menu utama..");
getch();
pilihan();
break;
}
}

void tampilan() //membuat fungsi tampilan
{
printf ("---------------------------------------------------------------------- ");
printf ("\n\t\t\tPERMAINAN TEBAK ANGKA\n"); //membuat judul
printf ("---------------------------------------------------------------------- ");

printf("\n*********************************");
printf("\n* * * * *");
printf("\n* %d * %d * %d * %d *",a[0][0],a[0][1],a[0][2],a[0][3]); //pemanggilan array
printf("\n* * * * *");
printf("\n*********************************");
printf("\n* * * * *");
printf("\n* %d * %d * %d * %d *",a[1][0],a[1][1],a[1][2],a[1][3]);
printf("\n* * * * *");
printf("\n*********************************");
printf("\n* * * * *");
printf("\n* %d * %d * %d * %d *",a[2][0],a[2][1],a[2][2],a[2][3]);
printf("\n* * * * *");
printf("\n*********************************");
printf("\n* * * * *");
printf("\n* %d * %d * %d * %d *",a[3][0],a[3][1],a[3][2],a[3][3]);
printf("\n* * * * *");
printf("\n*********************************");
}

void balik() //membuat fungsi balik
{
for(int r=0; r<=3; r++)
for(int n=0; n<=3; n++)
a[r][n]=0; //mengembalikan nilai awal ke 0
}

void nama() //membuat fungsi nama
{ system ("cls");
printf("Informasi Permainan : \n");
printf("===================\n\n");
printf("Nama Pemain : "); //memasukkan nama pemain dengan struct
gets(pemain.nama) ;
pilihan();
}

void mulai() //membuat fungsi mulai
{ tampilan(); //memanggil fungsi tampilan
end(); //memanggil fungsi end
printf("\n\nMasukkan baris dan kolom tebak angka 1\n");
printf ("Baris : "); scanf("%d",&baris1);
printf ("Kolom : "); scanf("%d",&kolom1);
x=a[baris1-1][kolom1-1]; //menyimpan nilai sementara agar tdk langsung kembali ke 0
a[baris1-1][kolom1-1]=b[baris1-1][kolom1-1]; //mengganti nilai awal a dengan b
clrscr(); //membersihkan layar
tampilan(); //memanggil fungsi tampilan
printf("\n\nMasukkan baris dan kolom tebak angka 2\n");
printf ("Baris : "); scanf("%d",&baris2);
printf ("Kolom : "); scanf("%d",&kolom2);
rumus(); //memanggil fungsi rumus
}
void end() //membuat fungsi end
{
if(cek(a)==1)
{
waktu_akhir = time(NULL); //menghitung waktu permainan
pemain.selisih = difftime(waktu_akhir,waktu_awal);
printf("\n\nPermainan selesai...\n");
printf("Apakah anda ingin bermain lagi ? ");
getchar();
char pilih;
scanf("%c",&pilih);
if(pilih == 'y')
{ if((f_struktur=fopen("nilai.txt","a"))==NULL)
cputs("Proses Error..!!");
fprintf(f_struktur,"\nNama :%s",pemain.nama);
fprintf(f_struktur,"\nWaktu\t:%1.2f detik\n",pemain.selisih);
fclose(f_struktur);
balik();
mulai();
}
else {
if((f_struktur=fopen("nilai.txt","a"))==NULL)
cputs("Proses Error..!!");
fprintf(f_struktur,"\nNama :%s",pemain.nama);
fprintf(f_struktur,"\nWaktu\t:%1.2f detik",pemain.selisih);
fclose(f_struktur);
pilihan();
} }
}

void rumus() //deklarasi fungsi rumus
{
if(baris1==baris2 && baris1<5 && baris2<5)
if((kolom1==1 && kolom2==2)||(kolom1==2 && kolom2==1)||(kolom1==3 && kolom2==4)||(kolom1==4 && kolom2==3))
{
a[baris1-1][kolom1-1]=b[baris1-1][kolom1-1];
a[baris2-1][kolom2-1]=b[baris2-1][kolom2-1];
clrscr(); //membersihkan layar
mulai(); //memanggil fungsi mulai
}
else //akan dijalankan jika barisnya sama tp kolom tdk urut
{
if(x!=0)
a[baris1-1][kolom1-1]=x;
else
a[baris1-1][kolom1-1]=0;
clrscr(); //membersihkan layar
mulai(); //memanggil fungsi mulai
}
else //akan dijalankan jika barisnya tdk sama dan kolom tdk urut
{
if(x!=0)
a[baris1-1][kolom1-1]=x;
else
a[baris1-1][kolom1-1]=0;
clrscr(); //membersihkan layar
mulai(); //memanggil fungsi mulai
}
}

int cek(int a[4][4]) //membuat fungsi cek kemenangan
{
int hasil=1;
for(int r=0;r<=3;r++)
for(int n=0;n<=3;n++)
{
hasil=hasil*a[r][n];
}
if(hasil==0)
return(0);
else
return(1);
}

void jumlah()
{
system("cls");
f_struktur=fopen("nilai.txt","r");
while(pemain.nama != NULL)
puts(fgets(pemain.nama,sizeof(pemain.nama),f_struktur));
fclose(f_struktur);
getch();
pilihan();
}
void main() //Program Utama
{
clrscr(); //memanggil fungsi nama
pilihan(); //memanggil fungsi mulai
}