Game Puzzle_8 adalah sebuah game mengurutkan angka dari angka 1 sampai 9 di sembilan buah kotak .Angka-angka diurutkan dari urutan terkecil ke yang terbesar.Angka-angka tersebut diurutkan dari kiri kekanan tanpa ada ruang kosong diantara dua angka yang berurut.Game ini dibuat bertujuan untuk menguji kecerdasan seseorang dalam menentukan sebuah penyelesaiian masalah.Dalam game ini dituntut untuk mengambil keputusan dengan benar.Pada game ini terdapat penilaiaan Best Player,penilaian Best Player ini berdasarkan langkah paling sedikit yang dilakukan untuk menyelesaikan suatu kasus.Game ini hanya dapat dimainkan apabila tampilan Fullscreen,jika tampilannya tidak Fullscreen maka tampilan game ini akan kacau.Game ini dibuat menggunakan Program Turbo Pascal Versi 7.1.Dengan menggunakan bahasa pemrgoraman Pascal.Game ini dibuat dengan menggunakan dua buah unit standar pascal yaitu unit crt dan unit dos.
Pendekalrasian Variabel
Pada Program ini,seluruh variabel yang digunakan adalah variable global.Kami menggunakan variable global dikarenakan untuk memudahkan dalam pendeklarasian variable serta untuk mengurangi kemungkinan kesalahan dalam pemakaian variable dalam program.Selain itu juga untuk menguangi penulisan pendeklarasiaan variable.adapun variable –variable serta type yang digunakan dalam program ini adalah
{deklarasi type}
type masuk=record
nama:string[12];
end;
{deklarasi variabel global}
var
z:masuk;
input,tanya,tanya2:char;
temp:string[1];
x:array[1..9] of string[1];
y:array[1..9] of word;
b,j2,m2,n2,temp2,maks1,langkah,temp1:integer;
a,h,j,m,n,d,j1,m1,n1,d1:word;
mriksa:boolean;
best:text;
temp3,maks2:string[12];
namaplayer:array[1..10] of string[12];
moves:array [1..10] of integer;
times:array [1..10] of integer;
Procedure Waktu
Procedure waktu adalah sebuah procedure yang bekerja untuk mencatat lamanya waktu pemain,pada procedure ini waktu awal akhir pemain yang diambil saat permainan selesai dikurangi dengan waktu awal pemain saat permainan dimulai,pengambilan waktu ini menggunakan senuah funsi standar yang telah disediakan oleh unit Dos,yaitu fungsi standar gettime.pada procedure ini juga terdapat pengkondisian yaitu apabila hasil pengurangan bernilai negative.misalnya apabila detik mengulangi hasil yang negative maka menit akan dikurang satu,kemudian detik akan ditambah enam puluh.Berikut bentuk Procedure waktu:
memproses lama waktu pemain}
procedure waktu;
begin
j2:=j1-j;m2:=m1-m;n2:=n1-n;;
if (n2<0) and (m2<0)then
begin n2:=(60+n1)-n; m2:=(60+m1)-m; j2:=j2-1; end
else
if (n2<0) then
begin n2:=(60+n1)-n; m2:=m2-1; end;
writeln(j2,’:',m2,’:',n2);
end;
*Procedure acak1 dan acak2
Procedure ini berfungsi untuk menampilkan angka yang acak pada game Puzzle ini.Dalam procedure acak ini kami juga menggunakan fungsi standar random serta randomize yang telah disediakan oleh unit crt.serta sebuah fungsi yang bertugas untuk merubah nilai numeric integer menjadi nilai string.berikut procedurenya:
{memproses angka untuk dirandom}
procedure acak1;
begin
clrscr;
y[1]:=3;y[2]:=2;y[3]:=8;y[4]:=7;y[5]:=9;y[6]:=6;y[7]:=5;y[8]:=1;y[9]:=4;
randomize;
b:= random(9);
{merandom angka}
begin
for a:=1 to 9 do
begin
y[a]:=(b+y[a]) mod 9;
{memproses satu angka hasil random}
end;
end;
end;
{Merandom ankga yang dihasilkan oleh Pocedure acak1}
procedure acak2;
begin
randomize;
b:= random(9);
{merandom angka}
begin
for a:=1 to 9 do
begin
y[a]:=(b+y[a]) mod 9;
{memproses satu angka hasil random}
end;
end;
for b:=1 to 9 do
begin
str(y[b],x[b]);if (x[b]=’0′) then x[b]:=’ ‘;
{merubah nilai nilai numerik ke string}
end;
end;
*Procedure Puzzle
Procedure Puzzle ini bertugas untuk memberi tampilan pada game puzzle.Dalam procedure ini kami banyak menggunakan pengulangan untuk membuat tampilan program.Pada tampilan game ini kami tidak menggunakan unit graph,namun walaupun demikian tampilan geme ini tetap asyik untuk dipandang mata.berikut Procedurenya:
{tampilan puzzle}
procedure puzzle;
begin
for a:=1 to 45 do
begin
gotoxy(1,a);writeln(‘%%%’);
gotoxy(70,a);writeln(‘%%%’);
end;
for a:=1 to 70 do
begin
gotoxy(a,1);writeln(‘%’); gotoxy(a,2);writeln(‘%’);
gotoxy(a,3);writeln(‘%’); gotoxy(a,43);writeln(‘%’);
gotoxy(a,44);writeln(‘%’);gotoxy(a,45);writeln(‘%’);
end;
for a:=1 to 13 do
begin
gotoxy(a+30,11);writeln(‘*’);
gotoxy(a+30,23);writeln(‘*’);
gotoxy(43,a+10);writeln(‘*’);
gotoxy(31,a+10);writeln(‘*’);
gotoxy(a+30,15);writeln(‘*’);
gotoxy(a+30,19);writeln(‘*’);
gotoxy(39,a+10);writeln(‘*’);
gotoxy(35,a+10);writeln(‘*’);
end;
gotoxy(20,15);writeln(‘Up = ‘,#24);{Tanda panah ke atas}
gotoxy(20,16);writeln(‘Left = ‘,#27);{Tanda panah ke kiri}
gotoxy(20,17);writeln(‘Down = ‘,#25);{Tanda panah ke bawah}
gotoxy(20,18);Writeln(‘Right = ‘,#26);{tanda panah ke kanan}
gotoxy(20,19);writeln(‘Stop =End’);
begin
gotoxy(33,13);writeln(x[1]);
gotoxy(33,17);writeln(x[2]);
gotoxy(33,21);writeln(x[3]);
gotoxy(37,13);writeln(x[4]);
gotoxy(37,17);writeln(x[5]);
gotoxy(37,21);writeln(x[6]);
gotoxy(41,13);writeln(x[7]);
gotoxy(41,17);writeln(x[8]);
gotoxy(41,21);writeln(x[9]);
end;
end;
Procedure Login
Procedure ini bertugas untuk menginput nama player disaat awal permainan.pada procedure ini kami menggunakan sebuah variable yang bertype record.berikut procedurenya:
{memproses inputan nama}
procedure login;
begin
gotoxy(33,25);write(‘Input Nama:’);readln(z.nama);
end;
Download source code program
mudah2an dapat berguna
Title : Cara Membuat Game Puzzle8 sederhana dengan Pascal
Description : Game Puzzle_8 adalah sebuah game mengurutkan angka dari angka 1 sampai 9 di sembilan buah kotak .Angka-angka diurutkan dari urutan terkecil...