Custom Search
Laporkan jika ada link yang bermasalah
[ HOME ] [ FORUM ] [ JAVA ] [ JARINGAN KOMPUTER] [ OCEAN ] [ SEARCH ]

Thursday, February 12, 2009

DASAR PEMROGRAMAN JAVA GAME

Internet telah menjadi media yang sangat baik untuk game programmer. Jika Anda menjelajahi internet kemungkinan Anda telah melihat setidaknya beberapa java applet permainan. Permainan ini, selain membuat besar selain sebuah situs web, merupakan tempat bagi pemula dan lanjutan untuk mempelajari pemrogram untuk memperluas dan mengasah ketrampilan mereka. 

Selama ini artikel saya ingin membahas dasar-dasar pemrograman java applet, bagaimana membuat beberapa game sederhana, serta beberapa topik lanjutan termasuk dua penyangga. Beberapa permainan yang sederhana yang akan saya gunakan adalah tetris, nibbles, PacMan, dan meja. Saya akan menggunakan dan lain-lain sebagai contoh untuk mengilustrasikan proses pemikiran dan langkah-langkah yang dapat dan harus diikuti ketika mendekati permainan. 

Dasar-dasar 

mulai mencoba untuk kode rumit, tetapi cool program. Tanpa sedikit pengetahuan latar belakang ini bisa menjadi pengalaman yang menyebalkan itu saya akan memberikan dasar-dasar di sini sebelum kita menyelami menulis penuh ditiupkan java applet lebih maju dan membahas topik. Jika anda sudah akrab dengan dasar-dasar saya akan mendorong Anda untuk membaca di karena Anda tidak pernah tahu kapan Anda membaca sesuatu yang menarik meskipun hanya perspektif yang berbeda tentang sesuatu yang sudah tahu. 

Sebelum melanjutkan, saya ingin menyebutkan bagaimana Anda bisa lanjut tentang bekerja melalui ide dan konsep yang akan dibahas. Jika Anda memiliki lingkungan pemrograman Java maka anda ditetapkan, namun bagi anda yang tidak ada pilihan lain. Jika Anda pergi ke java.sun.com Anda dapat memperoleh salinan gratis Java Development Kit (jdk). Anda dapat menggunakan ini dalam hubungannya dengan notepad atau editor teks lainnya untuk memproduksi seluruh applet bahwa saya akan membahas di sini. Akhirnya tidak jadi apa yang anda memutuskan rute yang diambil. Saya pribadi lebih mengutamakan jdk ketika program saya di rumah. Saya telah menggunakan beberapa lingkungan pemrograman visual untuk Java dan belum ditemukan satu yang saya terkesan cukup untuk menghabiskan uang di atasnya. Namun Anda dapat menemukan satu yang sesuai dengan kebutuhan Anda. 

Kapanpun Anda belajar bahasa pemrograman baru pertama program anda selalu tulis "Hello World!". sehingga dengan tradisi di sini adalah applet Hello World.
 
Satu titik penting untuk mengambil catatan di sini adalah bahwa Anda perlu untuk memanggil file ini "HelloWorld.java". Anda akan melihat bahwa ini adalah identik dengan nama saya memberi saya di class empat baris program di atas. Jika dua nama berbeda di semua anda akan mendapatkan error pada saat kompilasi. .
Packages and the import statement
Java benar-benar berdasarkan class. Memungkinkan terkait class harus dikelompokkan bersama menjadi sesuatu yang disebut package. Dua contoh adalah java.applet dan package java.awt. Impor pernyataan memungkinkan Anda sertakan dalam program class satu atau lebih dari sebuah package. Hal ini mirip dengan termasuk di C / C + + di fungsinya. Sebagai contoh:


Kemajuan seperti yang kita akan menyebutkan apa yang kita harus impor agar program kami ke fungsi. Untuk saat ini mengimpor seluruh class dari java.applet dan package java.awt akan melakukannya. 

Classes 

Seperti yang saya sebutkan tadi, semuanya di Java berpusat sekitar penggunaan class. Anda akan melihat bahwa baris berikutnya pada contoh kami adalah program class deklarasi.

public class HelloWorld extends Applet

Ini adalah pernyataan yang mewakili class kami applet. Dua poin penting perlu dicatat di sini. Pertama, nama class harus identik dengan nama file di mana ia berada. Dalam hal ini, kami class disebut HelloWorld sehingga nama file harus HelloWorld.java. Saya tahu bahwa saya ini hanya disebutkan waktu lalu, namun Anda akan terkejut dengan jumlah berapa kali kesalahan sederhana seperti ini muncul keluar dari program-program di masyarakat. Lainnya yang penting untuk diketahui adalah dari akhir class deklarasi, "meluas Applet". Bagi anda akrab dengan pemrograman C + + yang meluas adalah pernyataan sama dengan warisan di C + +. Jika Anda tidak akrab dengan warisan yang berarti bahwa kami adalah class (HelloWorld) menerima dan dapat berkembang pada variabel dan methods yang ditemukan di class Applet. Hasil akhir ini adalah bahwa kita akan mendapatkan sebuah program yang dapat berfungsi sebagai applet.

Methods
Methods di Java yang setara fungsi di C + + yang berada di dalam class. Karena ini hanya kami pertama program dan sangat dasar kami hanya memiliki satu methods.

public void paint (Graphics g)

The "public" kata kunci memungkinkan methods untuk dipanggil dari dalam class lainnya. Jika kata kunci "private" yang digunakan maka methods tersebut tidak dapat dipanggil dari dalam class lainnya. Ada tiga kemungkinan yang ada di sini, "protected", tetapi kami tidak akan melihat bahwa untuk saat ini. Berikutnya setelah kata kunci umum yang digunakan untuk memberitahu kami informasi apa saja yang akan dikembalikan oleh methods. Dalam kasus ini kita telah menggunakan "void" yang berarti bahwa tidak akan dikembalikan. Saya dapat digunakan int, char, dll gantinya, tetapi diberikan sifat dari methods ini mereka tidak perlu. Kami akan melihat methods yang memerlukan kembali tipe muka kita menjadi lebih rumit contoh. 

Cat methods yang akan menjadi penting dalam semua fixture kami sejak program ini adalah di mana kita ditampilkan pada layar semuanya kami menginginkan para pengguna untuk dapat melihat. Cat methods yang selalu lulus sebuah grafik konteks, "Graphics g", yang kemudian digunakan oleh methods untuk mengaktifkan lukisan ke layar.

Displaying Information on the Screen
Pernyataan terakhir yang kita perlu mengambil lihat adalah g.drawString(....).

 

Guess what ini tidak? That's right! Pernyataan ini mengacu string ke layar (diwakili oleh konteks grafis) di x (50) dan y (25) koordinat. Yang berkoordinasi (0,0) akan memberikan kiri atas applet tidak kiri atas halaman web yang aktif applet. Salah satu point penting lainnya yang perlu diketahui disini adalah bahwa kita tidak perlu mengambil string ke layar. Ini akan menjadi penting sebenarnya ketika kita masuk ke dalam dua penyangga nanti, namun sekarang dapat digunakan untuk melanjutkan. 

Sekarang Anda mungkin berkata "Adam, yang besar, tetapi bagaimana kita lihat dalam tindakan kita applet?". Langkah pertama menuju menjalankan applet kami adalah melakukan compile. Anda akan mengingat di awal artikel saya menyebutkan dua pilihan yang ada untuk menulis applet Java. Jika Anda memilih untuk menggunakan jdk maka anda dapat masuk ke DOS dan ketik 

"javac HelloWorld.java". Jika Anda menggunakan visual lingkungan seperti VisualAge atau Visual J + +, maka Anda akan menemukan suatu pilihan menu yang memungkinkan Anda untuk kompilasi. Anda menggunakan methods yang mana anda harus melihat sampai akhir dibuat dalam sebuah file bernama HelloWorld.class. Java merupakan bahasa yang diinterpretasikan berarti tidak membuat file executable standar. Tetapi kita mendapatkan file dengan. Class berakhir. 

download selengkapnya.


Penambahan di atas baris kami applet akan memungkinkan kita untuk mengubah font di mana kami teks muncul. Baris tersebut harus ditempatkan setelah membuka curly brace class dan sebelum cat methods. Anda juga akan melihat penggunaan methods baru di sini. Init methods yang dipanggil secara otomatis ketika applet pertama kali dimuat. Jika Anda memiliki beberapa kode inisialisasi dan kode yang hanya perlu terjadi ketika applet pertama kali dimuat maka ini adalah tempat untuk meletakkannya. Anda harus yakin bahwa Anda spell init dengan cara yang sama yang telah dilakukan. Jika Anda salah spell it atau salah menggunakan huruf besar maka akan muncul ke Java sebagai methods yang berbeda dan tidak akan dipanggil secara otomatis. Masalah ini tidak akan ditandai untuk Anda oleh compiler sehingga Anda harus sangat berhati-hati saat menulis methods untuk mendapatkan ejaan huruf besar dan sempurna. Mencoba untuk melacak masalah ini dapat menurunkan annoying. 

Parameter pertama dalam penciptaan kode huruf di atas adalah nama font yang ingin kita gunakan. Ini dapat "TimesRoman", "Helvetica", "Courier", "Dialog", dan "DialogInput" yang bekerja, tetapi telah digantikan oleh "berkait", "SansSerif", dan "Monospaced". Parameter kedua menentukan gaya font baru kami. Ini dapat Font.BOLD, Font.PLAIN, Font.ITALIC, atau Font.BOLD + Font.ITALIC. Parameter terakhir menetapkan ukuran font yang baru. 

Untuk memasukkan font baru kami untuk bekerja, kita harus menggunakan methods setFont dengan font baru lulus sebagai parameter. Ini akan mengubah font untuk seluruh applet untuk seluruh kehidupan span applet yang kami font. Jika Anda ingin memantul bolak-balik antara font anda akan mengatur font di cat, bukan dengan menggunakan methods methods setFont grafis diawali oleh konteks (g.setFont (...);). 

Cara lain anda dapat mengubah tampilan teks dengan mengubah warna itu.

g.setColor (Color.red);

Baris kode ini biasanya ditemukan pada cat methods karena anda memerlukan grafis konteks untuk menggunakannya. Kode itu sendiri tidak buruk dan beberapa warna yang tersedia untuk Anda tercantum di bawah ini.

Color.black Color.blue Color.cyan Color.darkGray
Color.gray Color.green Color.lightGray Color.magenta
Color.orange Color.pink Color.red Color.white
Color.yellow

Warna terdaftar sebelumnya mungkin akan sesuai dengan kebutuhan Anda, tetapi Anda mungkin akan tertarik membuat sendiri warna pada kesempatan. Kode untuk melakukan hal ini sangat sederhana dan mungkin anda akan melihat kesamaan antara dan kode yang digunakan untuk membuat font baru.

Color adamBlue = new Color (80,124,224);
g.setColor(slateBlue);

Tiga angka di pembina kami baru warna adalah nilai RGB. Masing-masing nomor harus antara 0 dan 255. Jika Anda tidak yakin tentang apa yang pembina dan mengapa saya menggunakan kata kunci baru jangan khawatir sekarang. Ambil semuanya saya katakan sebagai kebenaran yg tak diragukan lagi dan kami akan berbicara tentang nanti ketika kita membahas class dan bagaimana mereka muat dalam permainan kami. Satu hal yang tidak saya sebutkan sebelumnya adalah bahwa ketika Anda memanggil methods setColor juga perubahan warna semua yang anda lakukan setelah itu lebih termasuk teks dan bentuk yang kita akan berbicara dalam satu menit. 

Dua fungsi penting lainnya yang tersedia untuk Anda gunakan adalah setBackground (..) dan setForeground (..).

setBackground(Color.yellow);
setForeground(Color.blue);

Dua baris ini, jika digunakan, biasanya ditemukan pada methods init. SetForeground methods yang memiliki efek yang sama seperti g.setColor kecuali pernyataan bahwa efek yang permanen untuk semua dalam applet. Saya menyarankan Anda menggunakan g.setColor karena seperti Anda membuat permainan Anda akan sering ingin mengubah warna. SetBackground methods yang baik untuk saat ini, tetapi dalam sedikit saya akan memperkenalkan gagasan dua penyangga dan dengan cara baru untuk mengatur warna latar belakang.

Shapes

Bentuknya adalah topik yang sangat penting karena mereka akan memainkan peran penting dalam beberapa dari permainan yang akan Anda tulis. Tidak ada yang dibangun di segmen 3D di Java, tapi saya membahas Mei sekitar jalan ini nanti. Java menyediakan beberapa built-in methods untuk cepat dan mudah dari menggambar bentuk. Masing-masing biasanya akan dipanggil dari methods cat.


drawRect (int x, int y, int width, int height)
  eg g.drawRect (5,8,49,29);
drawOval (int x, int y, int width, int height)
drawLine (int x1, int x2, int y1, int y2)
drawRoundRect (int x, int y, int width, int height, int arcWidth, int arcHeight)
drawArc (int x, int y , int width, int height, int startAngle, int arcAngle)
draw3DRect (int x, int y, int width, int height, boolean raised)


Untuk semua bentuk di atas, kecuali untuk baris, ada yang diisi alternatif.

fillRect (....);
fillOval (....);

Jika Anda ingin memiliki warna berbeda untuk setiap bentuk anda, maka anda harus memastikan bahwa Anda g.setColor panggilan sebelum Anda mengambil bentuk. Saya sarankan melalui dan bermain di sekitar dengan bentuk yang sedikit di atas karena mereka akan penting dalam berbagai permainan yang Anda tulis dan akan penting dalam beberapa contoh yang menunjukkan.

Conditionals, Control Statements, and Operators
Saya tidak akan berbicara tentang salah satu mata pelajaran di sini karena tidak ada perbedaan nyata antara besar yang ditemukan di Java dan yang ada di C + +. Akan ada banyak contoh dari mereka kemudian, ketika saya masuk ke dalam coding lebih spesifik mengenai informasi yang berhubungan dengan permainan.
Images
Image coolImage;
....
coolImage = getImage(getCodeBase(), "dx3d.GIF");
....
g.drawImage(coolImage,0,0,this);


Semua orang menyukai foto dan relatif sederhana untuk menampilkan mereka dalam java applet. Bagian atas baris kode contoh adalah deklarasi variabel yang bisa di atas kami applet class dengan font dan variabel lain yang mungkin telah terpasang di lokasi itu. Kedua baris kode yang akan kami init methods dan baris terakhir akan kami cat methods. 

Sintaks dari bahasa Java yang sangat intuitif dengan berbagai methods yang menggunakan nama. Misalnya, dengan hanya melihat pada kode di atas mungkin Anda bisa mendapatkan ide yang baik dari apa yang sedang terjadi. Seperti yang saya sebutkan sebelumnya, baris pertama adalah deklarasi variabel. Baris berikutnya melibatkan kami memuat gambar dari file. Dalam hal ini nama file adalah dx3d.GIF. Bila Anda memuat gambar memastikan bahwa Anda memiliki hak kapitalisasi dan ejaan nama file. Saat Anda mulai menulis besar applet anda akan berhadapan dengan semakin banyak kesalahan, jadi jika anda dapat mengeliminasi beberapa oleh yang bertakwa di daerah seperti ini maka pekerjaan akan lebih mudah. Baris terakhir yang penting di sini adalah bertanggung javab untuk menggambar pada gambar. Anda akan melihat bahwa kita menggunakan grafik dan konteks daripada menggambar string atau mengisi sebuah oval kita menggambar gambar. Tiga parameter pertama adalah apa kepentingan kami di sini. Parameter pertama adalah variabel yang menampung gambar yang ingin kita tampilkan. Berikut kami memiliki x dan y koordinat di mana kita ingin gambar berada di layar. Anda akan melihat bahwa kita tidak perlu memberikan ukuran gambar pada titik apapun. Ketika kami mengambil gambar di kita mengambil lebar dan tinggi dari gambar seperti pada file tersebut. 

Ada baiknya untuk mendapatkan akrab dengan gambar karena sekarang kami akan kembali ke dalam gambar dan sedikit menambahkan beberapa baru keriput ketika kita berbicara tentang dua penyangga.

Random Numbers
Nomor acak yang cukup sering digunakan dalam pemrograman game serta program reguler. Untuk mendapatkan nomor acak di Java adalah tugas sebagai sederhana yang dapat Anda lihat dalam kutipan kode di bawah ini.

public void paint(Graphics g)
{
  int x;
  int y;

  x = (int)(Math.random()*100);
  y = (int)(Math.random()*100);

  g.setColor(Color.red);
  g.drawString("Hello World",x,y);
}


Mari kita lihat kode untuk nomor acak sebelum kita lihat bagaimana mereka digunakan dalam ini sedikit kode. Anda akan melihat bahwa kami membuat panggilan ke Math.random (). Ini kembali nomor antara 0 dan 1. Kami kemudian kalikan dengan kisaran angka yang ingin kita miliki. Pada contoh di atas saya kalikan dengan 100 memberikan saya nomor antara 0 dan 100. Jika saya ingin angka antara 1 dan 100 I would multiply by 99, kemudian tambahkan 1. Alasan yang bekerja adalah karena perkalian oleh 99 memberikan saya nomor antara 0 dan 99 dan kemudian saya menambahkan satu untuk membuatnya lebih baik dalam jangkauan. Hal terakhir yang akan Anda perhatikan adalah int kata kunci di depan nomor kode acak. Hal ini disebut casting. Jika anda familiar dengan C / C + + Anda memiliki konsep ini mungkin terlihat dalam aksi sebelumnya. Bagi anda yang tidak semua yang terjadi adalah bahwa saya memberitahu compiler bahwa saya akan tetap menjadi sebuah float int dan saya sadar akan fakta bahwa saya akan kehilangan beberapa informasi dengan menggunakan kode ini. 

Tujuan dari applet ini adalah sangat sederhana. Setiap kali ia akan diambil secara acak tempat string "Hello World" applet di suatu tempat antara 0 dan 100 untuk x dan y koordinat. Mei ini tampaknya cukup lunak saat ini, tetapi mengambil catatan dari apa yang kita lakukan karena ketika kita membahas topik kita akan dapat memiliki teks yang muncul secara acak dan menghilang di layar dan bergerak di sekitar hanya dengan sedikit modifikasi pada kode di atas

download selengkapnya.

No comments:

Post a Comment