Contoh Program Pascal Sederhana Membuat Game Pascal Keren
"Kumpulan contoh program pascal sederhana membuat game keren dan unik, source code game Pascal sederhana"
5 min read
Contoh program pascal sederhana membuat game pascal keren - Selamat malam gan and sis! Hari ini sudah seharian saya mencari cara membuat aplikasi Artificial Intellegence untuk V.B 6.0 tapi belum ada yang ketemu. Tanpa sengaja ketemu salah program Pascal sederhana membuat game keren.Bedanya dengan bahasa pemrograman lainnya yang dilengkapi oleh IDE yang penuh dengan directory dan library, Pascal lebih mudah digunakan dan dikustomisasi karena perintahnya langsung satu halaman saja.
Contoh Program Pascal Sederhana Membuat Game Pascal Keren
Untuk membuat program game Pascal ini, ktia hanya butuh source code yang akan disediakan pada postingan ini dan juga aplikasi IDE Free Pascal. Saya lebih suka menggunakan aplikasi Free Pascal ketimbang Turbo Pascal.
So, bagi kamu yang menggunakan Turbo Pascal, saya tidak tahu apakah source code game ular snake di bawah ini bisa berjalan. Tapi untuk yang pengguna aplikasi Free Pascal, bisa dipastikan source code game Pascal sederhana di bawah ini bisa berjalan dengan normal.
1. Copy game Pascal source code di bawah ini!
Membuat Game Pascal Ular Snake:
uses crt;
label
habis, lanjut;
const
max_panjang = 100;
batas_x = 80;
batas_y = 25;
speed = 200;
type
tempat = record
x, y : integer;
end;
var
ekor : array[1..max_panjang] of tempat;
ujung, makanan : tempat;
tkn : char;
i,pjg,skor,spd : integer;
mati : boolean;
procedure atur_posisi;
begin
ujung.x := ekor[pjg].x;
ujung.y := ekor[pjg].y;
for i:=pjg downto 2 do begin
ekor[i].x := ekor[i-1].x;
ekor[i].y := ekor[i-1].y;
end;
gotoxy(ekor[2].x, ekor[2].y); write('@');
gotoxy(ekor[3].x, ekor[3].y); write('&');
gotoxy(ekor[pjg-1].x, ekor[pjg-1].y); write('#');
gotoxy(ujung.x, ujung.y); write(' ');
for i:=3 to pjg do if((ekor[2].x=ekor[i].x) and (ekor[2].y=ekor[i].y)) then mati:=true;
delay(speed-spd);
end;
procedure makan;
var beda : boolean;
begin
inc(skor,5);
gotoxy(10,26); write('Skor = ',skor);
repeat
beda := true;
makanan.x := random(batas_x-2)+2;
makanan.y := random(batas_y-2)+2;
for i:=1 to pjg do
if((makanan.x=ekor[i].x) and (makanan.y=ekor[i].y)) then beda:=false;
until beda;
gotoxy(makanan.x, makanan.y); write('o');
inc(pjg);
inc(spd,2);
end;
procedure bergerak(c : char);
begin
if c = 'd' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].x := ekor[1].x+1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 'a' then tkn:='d';
end
else if c = 's' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].y := ekor[1].y+1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 'w' then tkn:='s';
end
else if c = 'w' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].y := ekor[1].y-1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 's' then tkn:='w';
end
else if c = 'a' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].x := ekor[1].x-1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 'd' then tkn:='a';
end;
end;
begin
tkn:='d';
mati := false;
randomize;
pjg := 10; spd := 0;
makanan.x := random(batas_x-2)+2;
makanan.y := random(batas_y-2)+2;
ekor[1].x := 40;
ekor[1].y := 3;
for i:=2 to pjg do begin
ekor[i].x := ekor[i-1].x;
ekor[i].y := 3;
end;
lanjut:
clrscr;
gotoxy(10,26); write('Skor = ',skor);
for i:=1 to 80 do begin
gotoxy(i,1); write('-');
gotoxy(i,25); write('-');
end;
for i:=2 to 24 do begin
gotoxy(1,i); write('|');
gotoxy(80,i); write('|');
end;
for i:=1 to pjg do begin
gotoxy(ekor[i].x, ekor[i].y);
write('&');
end;
gotoxy(makanan.x, makanan.y); write('o');
repeat
if((tkn='w') or (tkn='a') or (tkn='s') or (tkn='d')) then bergerak(tkn)
else begin
repeat
gotoxy(20,11); write(' Paused Game');
repeat
gotoxy(20,13); write('Press w, a, s or d to continue'); delay(200);
gotoxy(20,13); write(' '); delay(200);
until keypressed;
tkn:=readkey;
until((tkn='w') or (tkn='a') or (tkn='s') or (tkn='d')); goto lanjut;
end;
if mati then goto habis;
until (tkn = #27) or mati;
habis:
gotoxy(20,10); write(' You lose');
readln;
end.
label
habis, lanjut;
const
max_panjang = 100;
batas_x = 80;
batas_y = 25;
speed = 200;
type
tempat = record
x, y : integer;
end;
var
ekor : array[1..max_panjang] of tempat;
ujung, makanan : tempat;
tkn : char;
i,pjg,skor,spd : integer;
mati : boolean;
procedure atur_posisi;
begin
ujung.x := ekor[pjg].x;
ujung.y := ekor[pjg].y;
for i:=pjg downto 2 do begin
ekor[i].x := ekor[i-1].x;
ekor[i].y := ekor[i-1].y;
end;
gotoxy(ekor[2].x, ekor[2].y); write('@');
gotoxy(ekor[3].x, ekor[3].y); write('&');
gotoxy(ekor[pjg-1].x, ekor[pjg-1].y); write('#');
gotoxy(ujung.x, ujung.y); write(' ');
for i:=3 to pjg do if((ekor[2].x=ekor[i].x) and (ekor[2].y=ekor[i].y)) then mati:=true;
delay(speed-spd);
end;
procedure makan;
var beda : boolean;
begin
inc(skor,5);
gotoxy(10,26); write('Skor = ',skor);
repeat
beda := true;
makanan.x := random(batas_x-2)+2;
makanan.y := random(batas_y-2)+2;
for i:=1 to pjg do
if((makanan.x=ekor[i].x) and (makanan.y=ekor[i].y)) then beda:=false;
until beda;
gotoxy(makanan.x, makanan.y); write('o');
inc(pjg);
inc(spd,2);
end;
procedure bergerak(c : char);
begin
if c = 'd' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].x := ekor[1].x+1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 'a' then tkn:='d';
end
else if c = 's' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].y := ekor[1].y+1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 'w' then tkn:='s';
end
else if c = 'w' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].y := ekor[1].y-1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 's' then tkn:='w';
end
else if c = 'a' then begin
repeat
if((ekor[1].x = makanan.x) and (ekor[1].y = makanan.y)) then makan;
ekor[1].x := ekor[1].x-1;
atur_posisi;
if (ekor[1].x = batas_x) or (ekor[1].y = batas_y) or (ekor[1].x = 1) or (ekor[1].y = 1) then mati := true;
until keypressed or mati;
if mati then exit;
tkn:=readkey;
if tkn = 'd' then tkn:='a';
end;
end;
begin
tkn:='d';
mati := false;
randomize;
pjg := 10; spd := 0;
makanan.x := random(batas_x-2)+2;
makanan.y := random(batas_y-2)+2;
ekor[1].x := 40;
ekor[1].y := 3;
for i:=2 to pjg do begin
ekor[i].x := ekor[i-1].x;
ekor[i].y := 3;
end;
lanjut:
clrscr;
gotoxy(10,26); write('Skor = ',skor);
for i:=1 to 80 do begin
gotoxy(i,1); write('-');
gotoxy(i,25); write('-');
end;
for i:=2 to 24 do begin
gotoxy(1,i); write('|');
gotoxy(80,i); write('|');
end;
for i:=1 to pjg do begin
gotoxy(ekor[i].x, ekor[i].y);
write('&');
end;
gotoxy(makanan.x, makanan.y); write('o');
repeat
if((tkn='w') or (tkn='a') or (tkn='s') or (tkn='d')) then bergerak(tkn)
else begin
repeat
gotoxy(20,11); write(' Paused Game');
repeat
gotoxy(20,13); write('Press w, a, s or d to continue'); delay(200);
gotoxy(20,13); write(' '); delay(200);
until keypressed;
tkn:=readkey;
until((tkn='w') or (tkn='a') or (tkn='s') or (tkn='d')); goto lanjut;
end;
if mati then goto habis;
until (tkn = #27) or mati;
habis:
gotoxy(20,10); write(' You lose');
readln;
end.
2. Pastekan di aplikasi Free Pascal dengan cara klik Edit - Paste From Windows
3. Jalankan program Pascal dengan cara klik Run atau Ctrl + F9
Source code game Pascal sederhana dan keren |
4. Berikut tampilan game ular snake Pascal dengan kode di atas.
Contoh program Pascal sederhana membuat game keren |
Sekedar informasi aja, game Pascal unik di atas dikendalikan menggunakan keyboard huruf s, a, d. w. Kelemahan game Pascal di atas adalah hanya satu kali ular makan maka program akan berhenti sendiri.
Kalau ada kesempatan, nanti kita akan perbaiki kode ini. Jika saya tidak punya waktu, silahkan agan sendiri yang perbaiki kode di atas dan bagikan di sini.
NB: Kode di atas saya dapatkan dari salah satu blogspot lama yang ada di internet.
Referensi https://pascalcyber.blogspot.com/2008/04/membuat-game-dengan-pascal.html
Ok, sampai di sini dulu tentang contoh program Pascal sederhana membuat game Pascal keren ular snake. Saya gak tahu pasti nama gamenya silahkan diberi nama sendiri dan dikembangkan.
Gak nemu aplikasi Artificial Intellegence ya posting source code game Pascal aja. Mungkin ada yang butuh. Sampai bertemu lagi dalam belajar programming pemula otodidak. Semoga bermanfaat!