Minggu, 30 Mei 2010

pengenalan bahasa cpp

Pemrograman Game Dengan Menggunakan Bahasa C++ : Bagian 1

* Dari buku 'Beginning C Game Programming - Michael Dawson'

- PENDAHULUAN -

Game komputer merupakan saingan terberat dari industri Hollywood, dimana Hollywood selalu menampilkan visual effects yang luar biasa, musik pendukung yang berkualitas dan tentu saja aksi-aksi yang memacu adrenalin. Namun game komputer memiliki keunikan tersendiri daripada industri hiburan lainnya :)

Keunikannya -> Game komputer, dapat membuat para pemainnya betah berlama-lama didepan monitor mereka selama berjam-jam !! Luar biasa.

Apa yang menjadikan sebuah game komputer demikian menarik (menyenangkan) ? -> salah satunya karena ia interaktif. Pada game komputer, para pengguna tidak hanya duduk dan melihat (nonton) seorang pahlawan melawan para penjahat, namun pada game komputer kita sendiri yang menjadi pahlawannya.

Kunci dari ketertarikan pada game komputer (interaktif) adalah sistem pemrograman. Sistem pemrograman memungkinkan suatu alien (misalnya), pasukan tentara ataupun mobil balap memiliki reaksi yang berbeda-beda terhadap respon pemain yang dinamis. Pada kenyataannya, sistem pemrograman menjadikan game dapat merespon para penggunanya dengan hasil yang berbeda-beda (bahkan hal-hal yang tidak dapat diprediksi oleh sang pembuat game tersebut).

Banyak sekali literatur mengenai bahasa pemrograman, bahasa pemrograman C++ merupakan bahasa pemrograman yang umum digunakan pada industri game. Jika kita ambil secara acak judul game yang ingin kita mainkan, maka kemungkinan besar game tersebut ditulis (dibuat) dengan menggunakan bahasa pemrograman C++.

Intinya : Jika kita ingin menjadi seorang game-computer-professional-programmer, maka kita harus bisa menguasai bahasa pemrograman C++.


Pengenalan Bahasa C++ Untuk Game : Bagian 2

* Dari buku 'Beginning C Game Programming - Michael Dawson'

- PENGENALAN C++ -

Dunia game bergerak cepat dan dinamis menciptakan pasar dengan persaingan ketat. Hal ini memaksa para pemrogram beserta perangkat kerasnya untuk bekerja semaksimal mungkin. Langkah pertama yang harus dilakukan adalah mempelajari dasar dari bahasa pemrograman C++, diantaranya :

  • Menampilkan output di layar konsol window
  • Mempelajari teknik aritmatika komputasi
  • Menggunakan variabel untuk menyimpan, memanipulasi dan menghasilkan suatu data
  • Mendapatkan data input dari pengguna
  • Bekerja dengan konstanta dan enumerasi
  • Bekerja dengan strings

C++ merupakan bahasa pemrograman tingkat tinggi yang digunakan oleh jutaan pemrogram di seluruh dunia. Dibuat dan dikembangkan oleh Bjarne Stroustrup, C++ merupakan turunan langsung dari bahasa C. Bahasa C++ hampir mempertahankan hampir semua fungsi dasar dari bahasa C, namun C++ ditambahkan beberapa kemampuan baru.

- PENGGUNAAN C++ PADA GAME -

Hampir semua game yang tersedia di pasaran dalam pembuatannya menggunakan bahasa C++, berikut beberapa alasannya :

  • Cepat. Bahasa pemrograman C++ yang ditulis dengan baik dapat berjalan dengan sangat cepat. Salah satu tujuan dari desain C++ adalah performa. Jika ingin performa yang lebih cepat lagi, C++ mengijinkan untuk menggunakan bahasa assembly (bahasa pemrograman terendah yang masih dapat dipahami oleh manusia) untuk berkomunikasi langsung dengan komputer.
  • Fleksibel. C++ merupakan bahasa multi-paradigma, dimana mendukung gaya pemrograman yang dinamis (termasuk Object Oriented Programming - OOP). Tidak seperti bahasa pemrograman modern lainnya, C++ tidak memaksakan gaya pemrograman tertentu kepada para pemrogramnya.
  • Banyak dukungan. Banyak aset-aset untuk para pemrogram C++ yang tersedia, seperti misalnya API (Application Programming Interface) 2D, API 3D, physics, sound-engines dan yang paling utama adalah memungkinkan para pemrogram untuk memanfaatkan kembali hasil pekerjaannya terdahulu.

- MEMBUAT EXECUTABLE FILE -

File yang dijalankan untuk menampilkan suatu program (baik game ataupun aplikasi lainnya) merupakan suatu file yang dapat dieksekusi (executable file). Terdapat beberapa langkah untuk membuat executable file dari sumber kode C++, diantaranya :

  • Pemrogram menggunakan suatu program-editor untuk menulis kode-kode C++. Ekstensi file yang biasa digunakan adalah .cpp. Program-editor tersebut seperti aplikasi pengolah kata yang berfungsi untuk membuat, mengedit dan menyimpan sumber kode-kode C++.
  • Setelah kode-kode tersebut disimpan, langkah berikutnya adalah compile. Aplikasi ini bertugas untuk membaca kode-kode C++ dan men- terjemahkannya menjadi file object. Biasanya menggunakan ekstensi .obj.
  • Selanjutnya linker menghubungkan file object dengan file lainnya (eksternal - yang dibutuhkan), kemudian menghasilkan file eksekusi yang biasanya menggunakan ekstensi .exe. Pada tahapan ini pengguna dapat menjalankan programnya dengan mengeksekusi file eksekusi tersebut (executable-file).

Untuk memudahkan proses tersebut, umumnya para pemrogram menggunakan all-in-one tool untuk men-develop suatu aplikasi yang disebut IDE (Integrated Development Environment). IDE merupakan kombinasi dari editor, compiler dan linker dengan tambahan tool-tool lainnya. IDE komersial yang terkenal antara lain Visual Studio .NET, C++ Builder Studio dan lain sebagainya. Adapun IDE yang gratis dan open-source salah satunya adalah Dev-C++.

- MENGHADAPI ERROR -

Salah satu hal penting yang harus diperhatikan ketika membuat suatu program adalah error. Bahkan seorang pemrogram terbaik pun masih menghasilkan error pada penulisan ke-lima (bahkan ke-enam) kalinya. Pemrogram harus membenahi masalah error tersebut dan mengulang seluruh proses pengecekan (re-checking) hingga program yang dibuat sudah bebas dari error. Beberapa error yang umum terjadi dalam proses pembuatan program C++ antara lain :

  • Compile errors. A
  • Link errors. A
  • Run-time errors. A

Woow..semakin menarik nampaknya ^_^

[C++ Game Programming : 3, 2, 1]


Membuat Program “Game Over” Menggunakan Bahasa C++ : Bagian 3

* Dari buku 'Beginning C Game Programming - Michael Dawson'

- MEMBUAT PROGRAM PERTAMA : GAME OVER -

Okeyy, cukup dengan teori-teorinya! Sekarang saatnya untuk terjun langsung dengan membuat program C++ pertama kita. Walaupun ini sangat sederhana, program ini menunjukan anatomi-dasar dari sebuah program. Dan juga mendemonstrasikan bagaimana cara untuk menampilkan text pada console di window.

Tugas klasik untuk menjadi seorang programmer dalam suatu bahasa pemrograman yang baru adalah "Hello World" program, dimana menampilkan tulisan "Hello World" pada layar. Program "Game Over" yang akan dibuat ini, serupa dengan tugas klasik "Hello World" program, hanya saja tulisan yang ditampilkan pada layar adalah "Game Over!" seperti berikut:

[klik gambar diatas untuk melihat lebih jelas]

Disini menggunakan IDE Visual C++ dari Microsoft, dengan kode program sebagai berikut :

[klik gambar diatas untuk melihat lebih jelas]

Have Fun :)

[C++ Game Programming : 3, 2, 1]

membuat game pascal 1

Membuat game dengan pascalDiposkan oleh miftahul 'ulum di 16:22
Sedikit refresh buat Mhs Matematika Unsyiah dengan membuat sebuah game..
Program Game;Uses crt;Var field : array [1..80,1..25] of boolean;
procedure init_field;var i : longint;beginclrscr; fillchar(field,sizeof(field),0);for i := 3 to 22 dobegingotoxy(20,i); write(#186); field[20,i] := true;gotoxy(36,i); write(#186); field[36,i] := true;gotoxy(60,i); write(#186); field[60,i] := true;gotoxy(76,i); write(#186); field[76,i] := true;end;for i := 1 to 15 dobegingotoxy(20+i,23); write(#205);field[19+i,23] := true;gotoxy(60+i,23); write(#205);field[59+i,23] := true;end;gotoxy(20,23); write(#200);gotoxy(60,23); write(#200);gotoxy(36,23); write(#188);gotoxy(76,23); write(#188);gotoxy(6,4); write('Next:');gotoxy(46,4); write('Next:');end;
type _points = array [1..4] of recordx, y : longint;end;type...tetris = recordpoints : _points;cshape,nshape,xmodel,xtetris,ymodel,ytetris: longint;end;var...tetris1, tetris2, ttetris : tetris;
Const template : array [1..8] of _points =(((x:1; y:1),(x:1; y:2),(x:2; y:1),(x:2; y:2)),((x:2; y:1),(x:1; y:1),(x:3; y:1),(x:4; y:1)),((x:1; y:2),(x:1; y:1),(x:1; y:3),(x:2; y:3)),((x:2; y:2),(x:2; y:1),(x:2; y:3),(x:1; y:3)),((x:1; y:2),(x:1; y:1),(x:2; y:2),(x:2; y:3)),((x:1; y:2),(x:2; y:1),(x:2; y:2),(x:1; y:3)),((x:1; y:2),(x:1; y:1),(x:1; y:3),(x:2; y:2)),((x:1; y:2),(x:2; y:1),(x:2; y:2),(x:2; y:3)));
procedure init_tetris(var objek : tetris; id : longint);beginobjek.nshape := random(8) + 1;if id = 1 thenbeginobjek.xmodel := 7; objek.xtetris := 26;end else beginobjek.xmodel := 47; objek.xtetris := 66;end;objek.ymodel := 5; objek.ytetris := 2;dropnew(objek);end;
Procedure drawtetris(objek : tetris; mode : Boolean);Var I : longint;C : char;BeginIf mode then c := #178 else c := ‘ ‘;For I := 1 to 4 doBeginGotoxy(objek.tpoints[i].x, objek.tpoints[i].y);Write(c);Field[objek.tpoints[i].x,objek.tpoints[i].y]:=mode;End;Gotoxy(1,1);End;
procedure dropnew(var objek : tetris);var i : longint;beginif objek.cshape <> 0 thenbeginfor i := 1 to 4 dobeginttetris.points[i].x:=template[objek.nshape,i].x+objek.xmodel;ttetris.points[i].y:=template[objek.nshape,i].y+objek.ymodel;end;drawtetris(ttetris,false);end;objek.cshape := objek.nshape;objek.nshape := random(8) + 1;for i := 1 to 4 dobeginobjek.points[i].x:=template[objek.cshape,i].x+objek.xtetris;objek.points[i].y:=template[objek.cshape,i].y+objek.ytetris;ttetris.points[i].x:=template[objek.nshape,i].x+objek.xmodel;ttetris.points[i].y:=template[objek.nshape,i].y+objek.ymodel;if field[objek.points[i].x,objek.points[i].y] thenbegingameover := true;break;end;end;drawtetris(objek,true);drawtetris(ttetris,true);end;
beginrandomize;while not quit dobegininit_field;init_tetris(tetris1,1);init_tetris(tetris2,2);gameover := false;while not gameover dobeginslide(tetris1);slide(tetris2);userinput;end;gotoxy(1,25); write('Play Again[Y/N]? ');repeatanswer := upcase(readkey);until answer in ['Y','N',#27];if (answer = 'N') or (answer = #27) then break;end;end.
Kalo ga komplit ato masi Error, artikel lengkapa plus Tutorialnya download aja disiniAplikasi yang sudah dicompile bisa anda Download disini
email : mu.santryGaul.gmail.comHP : +6281323470510Himpunan Mahasiswa RpL 1 Smk negeri 3 banjar

membuat game pascal

Membuat Game Puzzle8 sederhana dengan PascalJuly 26, 2007 novhard Leave a comment Go to comments
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 programmudah2an dapat berguna …

belajar pemrograman

Unit merupakan sebuah modul program terpisah pada bahasa Pascal. Biasanya berisi kumpulan proses-proses tertentu yang berkaitan. Pada contoh-contoh program sebelumnya, terdapat unit uses crt.
Struktur UnitStruktur pada unit terbagi menjadi tiga bagian, yaitu interface, implementation, dan initialization, pada contoh berikut ditunjukkan yaitu:view sourceprint?01.unit ;02. 03.Initialization04.Bagian ini bersifat opsional. Bisa ditulis bisa tidak.05.interface06. uses ;07. const ;08. var ;09. procedure ;10. function ;11. 12.implementation13. uses ;14. const ;15. var ;16. procedure ;17. function ;18.begin19. {initialization}20. ;21.end.
InterfaceBagian ini berisi dari daftar unit yang digunakan, deklarasi konstanta maupun variabel (jika ada) dan prototipe prosedur dan fungsi. Prosedur dan fungsi di sini hanya dikenalkan saja, dan implementasinya akan ditulis di implementation. Contoh dari prototipe prosedur dan fungsi:view sourceprint?1.procedure Tukar(a, b: integer): integer;2.function Tambah(a, b: integer): integer;
Perhatikan: bagian ini harus selalu ada di setiap pembentukan sebuah unit
ImplementationAdalah bagian implementasi dari prototipe interface. Berikut ini contohnya:view sourceprint?01.procedure Tukar(var a, b: integer);02.var03. temp: integer;04.begin05. temp := a;06. a := b;07. b := temp;08.end;09. 10.function Tambah(a, b: integer): integer;11.begin12. Tambah := a + b;13.end.
InitializationBagian ini bersifat opsional. Bisa ditulis, bisa tidak.