| Tutorial Flash - HTML5 - Javascript - DKV

Latest Blog



12.09.2020

Membuat Game Ular Tangga

Membuat game ular tangga dengan Adobe Flash/Animate AS3

10.09.2020

Membuat Pengacak Dadu

Membuat acak dadu untuk game ular tangga/monopoly

13.07.2020

Membuat Game Onet

Membuat game mencari gambar yang sama (onet) dengan JS/HTML5

11.06.2020

Membuat Kuis CBT

Membuat kuis CBT, menyimpan nilai ke server dengan PHP dan XML

11.05.2020

Game RPG dengan HTML Canvas (Javascript)

Pengembangan game RPG dengan teknik tiling menggunakan HTML canvas

19.05.2020

Membuat Fitur Swipe Mobile

Membuat fitur swap / drag konten untuk mobile

12.05.2020

Membuat Grafik Fungsi Kuadrat dengan Flash

Membuat kurva fungsi kuadrat dengan kode actionscript 3 Flash

11.05.2020

Membuat Kordinat Kartesius dengan Flash

Membuat sistem kordinat kartesius dengan code AS3 full

16.03.2020

Game Edukasi RPG

Buku pengembangan game RPG bermuatan edukasi

31.07.2019

Perpustakaan Baru UNNES

Mengintip perpustakaan baru UNNES


ALL BLOG

Latest Games


;
Free Games

Indonesia Soccer League

Play Indonesian Soccer League on Flash 3D Games


Membuat Game mencari gambar yang sama

Pendahuluan

Pada tutorial berikut akan dijelaskan teknik membuat game mencari gambar yang sama dengan menggunakan javascript dan library gamelib.js.

Perhatikan pengaturan file dalam proyek game yang akan dibuat berikut ini:

  1. Buatlah sebuah folder "assets" khusus untuk menampung file gambar dan suara.
  2. Buatlah file HTML yang merupakan file HTML utama dari game / file yang akan dijalankan
  3. Buatlah sebuah file game.js yang akan menjadi file kode utama dari game yang akan dibuat



Hasil yang diharapkan dari tutorial ini adalah sebagai berikut (gambar di bawah ini diatur oleh kode, refresh untuk menghasilkan gambar yang berbeda):



A. Menyiapkan asset gambar

Untuk keperluan tutorial ini dibutuhkan 2 buah gambar yaitu card-deck.png (gambar kartu sebelum terbuka), dan satu set (sprites) gambar kartu yang berisi 20 gambar pokemon (copyright: Gamefreak dan gambar digunakan hanya sebagai contoh). Setiap sprite berukuran 128x128 pixel untuk mempermudah perhitungan. Selanjutnya 2 gambar tersebut disimpan di dalam folder "assets". Perhatikan gambar berikut :

B. Membuat file game.HTML

  1. Bukalah sebuah aplikasi editor teks seperti Notepad. Saya menyarankan anda untuk menggunakan aplikasi Notepad++, karena mendukung sistem penulisan kode dengan struktur dan warna yang lebih baik daripada Notepad biasa. Kemudian, ketikan kode berikut :

  2. <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>game
        <style>
    html,body { margin: 0;overflow: hidden;}
    canvas{ padding: 0; margin: auto; display: block;}
    	</style>
    	<script type="text/javascript" src="https://www.wandah.org/js/gamelib.js"></script>       
    </head>
    <body>
        <canvas id="canvas">
    </body>
    
    <script type="text/javascript" src="game.js"></script>
    </html>
    

  3. Simpan dengan nama game.html
  4. Pada tahapan selanjutnya kita akan menjalankan file game.html tersebut di browser untuk memainkan game.

C. Membuat file game.js

  1. File berikutnya yang perlu kita buat adalah file untuk menjalankan game, yaitu menggunakan bahasa pemrograman Javascript. Untuk itu buatlah sebuah file baru di aplikasi Notepad++, dengan cara memilih menu File > New. Kemudian, ketikan kode berikut :

  2. setgame("800x600");
    
    //file gambar yang dipakai dalam game
    var gambar = {
    	deck:"card-deck.png",
    	cards:"cards.png"
    }
    //file suara yang dipakai dalam game
    var suara = {
    	
    }
    
    //load gambar dan suara lalu jalankan aturGame
    loading(gambar, suara, aturGame);
    
    function aturGame(){		
    	//atur jumlah gambar maksimal yang bisa muncul
    	game.kartuMax = 8;
    	//atur jumlah kartu di layar (misal 20 kartu)
    	game.kartuX = 5;
    	game.kartuY = 4;
    	//seting kartu
    	game.kartuBenar = 0;
    	game.jumlahKartu = game.kartuX*game.kartuY;
    	game.kartuDB = [];
    	var jenisKartu = 0;
    	for (var i = 1; i<=game.jumlahKartu/2; i++){
    		jenisKartu++;
    		if (jenisKartu>game.kartuMax) jenisKartu = 1;
    		//buat objek baru untuk menyimpan data kartu
    		var card = {};
    		//pengaturan ukuran gambar kartu
    		card.lebar = 128;
    		card.tinggi = 128;
    		card.jenisKartu = jenisKartu;
    		//status kartu 0 = tertutup 1=terbuka 2=flip buka 3=flip tutup
    		card.stat = 1;
    		game.kartuDB.push(card);
    		//buat kartu kedua dengan data yang sama, karena pasti ada 2 kartu yang sama
    		var card2 = {};
    		card2.lebar = 128;
    		card2.tinggi = 128;
    		card2.jenisKartu = jenisKartu;
    		card2.stat = 1;
    		game.kartuDB.push(card2);
    	}
    
    	//acak kartu
    	game.kartuDB = acakArray(game.kartuDB);
    
    	//tambahkan data gambar kartu tertutup
    	dek = {img:dataGambar.deck, lebar:128, tinggi:128}
    	game.kartuTerbuka = 0;
    	//setelah kartu diacak, ditampilkan lewat gameLoop
    	jalankan(gameLoop);
    }
    
    function judul(){	
    	//menampilkan judul game
    }
    
    function gameLoop(){
    	hapusLayar();
    	//tampilkan kartu via for 2 tingkat
    	for (var i=0;i<game.kartuX;i++){
    		for (var j=0;j<game.kartuY;j++){
    			//pengaturan gambar kartu
    			var id = i*game.kartuY+j;
    			var card = game.kartuDB[id];
    			if (card.stat == 0) {
    				card.img = dataGambar.deck;
    				card.frame = 1;
    			}else if (card.stat == 1){
    				card.img = dataGambar.cards;
    				card.frame = card.jenisKartu;
    			}		
    			card.id = id;
    			//berikan jarak  pixel antar kartu
    			card.x = 140+i*(card.lebar+5);
    			card.y = 100+j*(card.tinggi+5);					
    			if (card.stat<2) sprite(card);	
    			
    		}
    	}	
    }
    
    

  3. Simpan dengan nama game.js
  4. Jalankan file game.html dengan cara membukanya di browser untuk memainkan game. Jika proses benar, maka akan menghasilkan gambar di atas

File sumber : File JS dan HTML

Share ( Ayo Berbagi )

Leave me a comment

untuk pertanyaan lebih baik di email langsung ke wandah [at] wandah [dot] com agar cepat direspon