


Mencipta rekod penuh pertempuran kereta kebal dengan kemahiran javascript (2)_javascript
2. Perbaik peta
Peta kami mempunyai halangan seperti kawasan lapang, dinding, keluli, rumput, air dan ibu pejabat. Kita boleh mereka semua ini sebagai objek.
2.1 Cipta kumpulan objek halangan
Kumpulan objek menyimpan objek pada pelbagai peta Kami menggunakan sifat objek untuk menentukan sama ada objek boleh dilalui atau diserang.
Barrier.js:
// Objek kelas asas halangan, diwarisi daripada TankObject
Penghalang = fungsi () {
Ini.DefenVal = 1; // Kuasa pertahanan
This.CanBeAttacked = true; // Sama ada ia boleh diserang
}
Barrier.prototype = TankObject baharu();
// Dinding
WallB = fungsi () { }
WallB.prototype = Penghalang baharu();
// Ruang terbuka
EmptyB = fungsi () {
This.CanAcross = benar; // Boleh dilalui
}
EmptyB.prototype = Penghalang baharu();
// Sungai
RiverB = fungsi () {
This.DefenVal = 0;
This.CanBeAttacked = false; // Ahli objek diambil dahulu, dan mereka yang diwarisi daripada kelas induk akan ditimpa.
}
RiverB.prototype = Penghalang baharu();
// Keluli
SteelB = fungsi () {
Ini.DefenVal = 3;
}
SteelB.prototype = Penghalang baharu();
// Objek rumput
TodB = fungsi () {
This.CanBeAttacked = palsu;
This.DefenVal = 0;
This.CanAcross = benar;
}
TodB.prototype = Penghalang baharu();
//Ibu Pejabat
PodiumB = fungsi () {
Ini.DefenVal = 5;
}
PodiumB.prototype = Penghalang baharu();
2.2 Data ditulis pada peta.
Tambahkan kod berikut dalam Common.js:
//Penghitungan jenis elemen peta
/*
0: Ruang terbuka
1: Dinding
2: Keluli
3: Semak
4:Sungai
5: Ibu Pejabat
*/
var EnumMapCellType = {
Kosong: "0"
, Dinding: "1"
, Keluli: "2"
, Tod: "3"
, Sungai: "4"
, Podium: "5"
};
//Nama gaya yang sepadan dengan setiap rupa bumi
var ArrayCss = ['kosong', 'dinding', 'keluli', 'tod', 'sungai', 'podium'];
// Peta aras
/*Tahap*/
var str = '0000000000000';
str = ',0011100111010';
str = ',1000010000200';
str = ',1200333310101';
str = ',0000444400001';
str = ',3313300001011';
str = ',3011331022011';
str = ',3311031011011';
str = ',0101011102010';
str = ',0101011010010';
str = ',0100000000110';
str = ',0100012101101';
str = ',0010015100000';
//Peta tahap storan 0,1,2,3... masing-masing adalah 1-n...Tahap
var Top_MapLevel = [str];
2.3 Lukis peta
Setelah persiapan selesai, mari kita mula menghidangkan hidangan dan melukis peta. Seperti yang dinyatakan sebelum ini, peta kami ialah jadual 13 * 13. Oleh itu, kami menambah atribut baris dan lajur pada objek pemuatan permainan, dan menambah kaedah peta permulaan.
Frame.js:
// Objek pemuatan permainan Objek teras keseluruhan permainan
GameLoader = fungsi () {
This._mapContainer = document.getElementById("divMap"); // Div
yang menyimpan peta permainan This._selfTank = null; // tangki pemain
This._gameListener = null; // id pemasa gelung utama permainan
/*Atribut baharu ditambah dalam v2.0*/
Tahap_ini = 1;
This._rowCount = 13;
This._colCount = 13;
This._battleField = []; // Simpan tatasusunan dua dimensi objek peta
}
//Muatkan kaedah peta
Beban: fungsi () {
// Mulakan peta mengikut tahap
var map = Top_MapLevel[this._level - 1].split(",");
var mapBorder = UtilityClass.CreateE("div", "", "mapBorder", this._mapContainer);
// Lintas setiap sel dalam jadual peta
untuk (var i = 0; i < this._rowCount; i ) {
// Buat div, dan peta setiap baris disimpan dalam div ini
var divRow = UtilityClass.CreateE("div", "", "", mapBorder);
//Buat tatasusunan lain dalam tatasusunan satu dimensi
This._battlefield[i] = [];
untuk (var j = 0; j < this._colCount; j ) {
// Baca data peta, nilai lalai: 0
var v = (peta[i] && peta[i].charAt(j)) || 0;
// Masukkan elemen span, elemen span ialah unit peta
var spanCol = UtilityClass.CreateE("span", "", "", divRow);
spanCol.className = ArrayCss[v];
// Letakkan objek peta ke dalam tatasusunan dua dimensi untuk memudahkan pengesanan perlanggaran seterusnya.
var to = null;
suis (v) {
kes EnumMapCellType.Empty:
kepada = EmptyB( baharu);
rehat;
kes EnumMapCellType.Wall:
kepada = WallB baharu();
rehat;
kes EnumMapCellType.Steel:
kepada = SteelB baharu();
rehat;
kes EnumMapCellType.Tod:
kepada = TodB baharu();
rehat;
kes EnumMapCellType.River:
kepada = RiverB baharu();
rehat;
kes EnumMapCellType.Podium:
kepada = PodiumB baharu();
rehat;
... buang Ralat baharu("Nombor peta di luar sempadan!");
rehat;
}
kepada.UI = spanCol;
// j di sini ialah X, kerana gelung dalam adalah mendatar, x ialah absis
kepada.XPosition = j;
kepada.YPosition = i;
// Simpan objek peta semasa ke dalam tatasusunan dua dimensi, obj ialah objek halangan dan penghuni ialah objek yang menduduki
This._battleField[i][j] = { obj: to, occupier: null, lock: false };
//tamat untuk
// tamat untuk
// Masukkan ke dalam pembolehubah global tetingkap
tetingkap.BattleField = ini._battleField;
}
Dilampirkan kod sumber:
http://xiazai.jb51.net/201411/yuanma/jstankedazhan(jb51.net).rar

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Bahasa Go menyokong pengaturcaraan berorientasikan objek melalui definisi jenis dan perkaitan kaedah. Ia tidak menyokong warisan tradisional, tetapi dilaksanakan melalui gubahan. Antara muka menyediakan ketekalan antara jenis dan membenarkan kaedah abstrak ditakrifkan. Kes praktikal menunjukkan cara menggunakan OOP untuk mengurus maklumat pelanggan, termasuk mencipta, mendapatkan, mengemas kini dan memadam operasi pelanggan.

Amalan terbaik OOP dalam PHP termasuk konvensyen penamaan, antara muka dan kelas abstrak, pewarisan dan polimorfisme, dan suntikan kebergantungan. Kes praktikal termasuk: menggunakan mod gudang untuk mengurus data dan menggunakan mod strategi untuk melaksanakan pengisihan.

Bahasa Go menyokong pengaturcaraan berorientasikan objek, mentakrifkan objek melalui struct, mentakrifkan kaedah menggunakan penerima penunjuk, dan melaksanakan polimorfisme melalui antara muka. Ciri berorientasikan objek menyediakan penggunaan semula kod, kebolehselenggaraan dan enkapsulasi dalam bahasa Go, tetapi terdapat juga pengehadan seperti kekurangan konsep tradisional kelas dan pewarisan dan hantaran tandatangan kaedah.

Tiada konsep kelas dalam erti kata tradisional dalam Golang (bahasa Go), tetapi ia menyediakan jenis data yang dipanggil struktur, yang melaluinya ciri berorientasikan objek yang serupa dengan kelas boleh dicapai. Dalam artikel ini, kami akan menerangkan cara menggunakan struktur untuk melaksanakan ciri berorientasikan objek dan menyediakan contoh kod konkrit. Definisi dan penggunaan struktur Pertama, mari kita lihat definisi dan penggunaan struktur. Di Golang, struktur boleh ditakrifkan melalui kata kunci jenis dan kemudian digunakan di mana perlu. Struktur boleh mengandungi atribut

Pengenalan kepada kaedah mendapatkan kod status HTTP dalam JavaScript: Dalam pembangunan bahagian hadapan, kita selalunya perlu berurusan dengan interaksi dengan antara muka bahagian belakang, dan kod status HTTP adalah bahagian yang sangat penting daripadanya. Memahami dan mendapatkan kod status HTTP membantu kami mengendalikan data yang dikembalikan oleh antara muka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan memberikan contoh kod khusus. 1. Apakah kod status HTTP bermakna kod status HTTP apabila penyemak imbas memulakan permintaan kepada pelayan, perkhidmatan tersebut

Dengan menguasai status objek penjejakan, menetapkan titik putus, pengecualian penjejakan dan menggunakan sambungan xdebug, anda boleh menyahpepijat kod pengaturcaraan berorientasikan objek PHP dengan berkesan. 1. Jejak status objek: Gunakan var_dump() dan print_r() untuk melihat atribut objek dan nilai kaedah. 2. Tetapkan titik putus: Tetapkan titik putus dalam persekitaran pembangunan, dan penyahpepijat akan berhenti seketika apabila pelaksanaan mencapai titik putus, menjadikannya mudah untuk menyemak status objek. 3. Pengecualian jejak: Gunakan blok try-catch dan getTraceAsString() untuk mendapatkan jejak tindanan dan mesej apabila pengecualian berlaku. 4. Gunakan penyahpepijat: Fungsi xdebug_var_dump() boleh memeriksa kandungan pembolehubah semasa pelaksanaan kod.

JavaScript dan WebSocket: Membina enjin carian masa nyata yang cekap Pengenalan: Dengan pembangunan Internet, pengguna mempunyai keperluan yang lebih tinggi dan lebih tinggi untuk enjin carian masa nyata. Apabila mencari dengan enjin carian tradisional, pengguna perlu mengklik butang carian untuk mendapatkan hasil kaedah ini tidak dapat memenuhi keperluan pengguna untuk hasil carian masa nyata. Oleh itu, menggunakan teknologi JavaScript dan WebSocket untuk melaksanakan enjin carian masa nyata telah menjadi topik hangat. Artikel ini akan memperkenalkan secara terperinci penggunaan JavaScript
