• Tidak ada hasil yang ditemukan

Bab 5 Kesimpulan dan Saran

5.2 Saran

Saran yang dapat diberikan penulis berhubungan dengan aplikasi yang dibuat ini adalah :

1. Jika selesai membuat suatu aplikasi game, sebaiknya uji lagi untuk memastikan aplikasi telah berjalan sesuai dengan yang diharapkan serta informasi yang ditampilkan telah terjamin kebenarannya.

2. Buatlah back up dari setiap objek animasi yang telah selesai untuk menghindari segala kemungkinan yang tidak diinginkan.

3. Dalam pembuatan aplikasi sebaiknya animasi dapat digabungkan dengan pembuat animasi lain yang dapat membuat objek tiga dimensi agar animasi menjadi lebih menarik.

DAFTAR PUSTAKA

Chandra. 2004. 7 Jam Belajar Flash MX. Palembang : Maxicom

Diginnovac, A. Zainul Fanani.2007. Bermain Logika ActionScript Macromedia Flash Pro 8. Jakarta: Elex Media Komputindo.

http://imronfauzi.wordpress.com/2009/07/14/perkembangan-iptek-2/. Diakses tanggal 27 November, 2010.

http://retno-ayu-sp.blogspot.com/2010/03/pengertian-game_23.html. Diakses tanggal 18 Maret 2011.

http://www.alimmahdi.com/2010/02/sejarah-flash-macromedia-flash-sebelum.html. Diakses tanggal 18 Maret 2011.

http://id.wikipedia.org/wiki/Multimedia. Diakses tanggal 22 Maret 2011. http://id.wikipedia.org/wiki/Adobe_Flash. Diakses tanggal 22 Maret 2011. http://id.wikipedia.org/wiki/Aplikasi. Diakses tanggal 24 Maret 2011.

Listing Program stop();

//variabel untuk menentukan skor si user var skor_kamu:Number = 0;

mySound = new Sound();

//array jawaban

array_jawaban = ['CANBERRA','BUENOS AIRES','NEW DELHI', 'STOCKHOLM', 'JERUSSALEM','BURKINA FASO', 'MANCHESTER', 'BAGHDAD', 'MADRID','KUALA LUMPUR','WASHINGTON DC','DENPASAR','PEKALONGAN','CILEGON','TANJUNG PINANG','PEMATANG SIANTAR','PARE PARE', 'SINGKAWANG','WAMENA', 'TARUTUNG','VENEZIA','BUKIT TINGGI','LAMONGAN','TOKYO','BANDAR SERI BENGAWAN',

'GAYUS TAMBUNAN','BARRACK OBAMA','SRI MULYANI','LUNA MAYA','ANGELINA JOLIE','DANIEL RADCLIFFE','BUDIYONO','ADE RAY','CHRIS JOHN','TAUFIK HIDAYAT','NORMAN KAMARU','CESH FABREGAS','FRANK LAMPARD','JOSE MOURINHO','IRFAN BACHDIM','DENNY SUMARGO','JULIA PEREZ','SOEKARNO', 'DEDY COURBUZIER','JOHNY DEEP','LIONEL MESSI','OLGA SYAHPUTRA','OPRAH WINFREY','TAYLOR LAUTNER','MEGAWATI',

'JUSTIN BIEBER','AVENGED SEVENFOLD','SMASH','VIERRA','GEISHA','PEE WEE GASKINS','KOESPLUS','GOD BLESS','THE VIRGIN','VIDI ALDIANO', 'GREEN DAY','SIMPLE PLAN','MICHAEL JACKSON','EMINEM','KATY PERRY', 'LADY GAGA','SUPERMAN IS DEAD','RIDHO ROMA','JASON MRAZ','BRUNO MARS','SAYKOJI','SYAHRINI','AGNES MONICA','WESTLIFE','THE BEATLES',

'TITANIC','LASKAR PELANGI','SANG PEMIMPI','NAGA BONAR','PETUALANGAN SHERINA','AYAT AYAT CINTA', 'KETIKA CINTA BERTASBIH','DENIAS','GARUDA DI DADAKU','ADA APA DENGAN CINTA','INCEPTION','MERANTAU','HARRY

POTTER','TWILIGHT','NEW MOON','AVATAR','TOMB RAIDER','NIGHT AT THE MUSEUM','CASINO ROYAL','HOME ALONE','KUNGFU PANDA','KARATE KID', 'ARMAGEDON','ICE AGE','SPIDERMAN'];

function namakategory(tanda){ if(tanda<26){

kategori = "Nama Kota di Dunia"; }if(tanda>25 && tanda<51){

kategori = "Nama Seorang Tokoh Terkenal"; }if(tanda>50 && tanda<76){

kategori = "Nama Penyanyi / band / grup musik"; }if(tanda>75 && tanda<101){

kategori = "Nama Judul Film"; } } function start_baru(){ if(skor_kamu == 0){ //meletakkan movieclip removeMovieClip('salah_tebak');

this.attachMovie('salah_tebak','salah_tebak',this.getNextHighes tDepth(), {_x:145,_y:90});

}

//pilih kata secara acak

nomor = Math.floor(Math.random()*array_jawaban.length); jawaban = array_jawaban[nomor];

namakategory(nomor+1); //jawaban =

array_jawaban[Math.floor(Math.random()*array_jawaban.length)]; for (alpabet=0; alpabet<26; alpabet++) {

//menamai kotak untuk setiap alpabet secara acak (pake karakter) attachMovie('kotak_kata',

'kotak'+String.fromCharCode(alpabet+65), this.getNextHighestDepth()); //menentukan posisi tiap alpabet berdasarkan koordinat x eval('kotak'+String.fromCharCode(alpabet+65))._x = 20 +

(alpabet%13-6.5)*(eval('kotak'+String.fromCharCode(alpabet+65))._width+3)+Stage.w idth/2;

//menentukan posisi tiap alpabet berdasarkan koordinat x

eval('kotak'+String.fromCharCode(alpabet+65))._y =

Stage.height-(2-Math.floor(alpabet/13))*(eval('kotak'+String.fromCharCode(alpabet+65) )._height+3);

//menentukan alpabet setiap kotak_kata

eval('kotak'+String.fromCharCode(alpabet+65)).displayletter = String.fromCharCode(alpabet+65);

//ketika huruf dipilih, panggil fungsi menampilkan alpabet pilihan eval('kotak'+String.fromCharCode(alpabet+65)).onPress = function() {

//process the letter

pressLetter(this.displayletter); //remove the button from the stage removeMovieClip(this);

}; }

curline = 0; linestart = 0;

var linelengths:Array = new Array();

for (linepos=0; linepos<length(jawaban); linepos++) { //maksimum karakter tiap kata pada jawaban blanklinelength = 25;

//check if the linelength is smaller than the max line length or the first word on the line is longer than the max

if ((linepos-linestart)<blanklinelength || linelengths[curline] == undefined) {

//jika karakter berupa spasi, buat marker agar kita tahu panjang kata sesungguhnya

//hal ini dapat diatasi jika baris kata hanya 1 baris saja

if (jawaban.charAt(linepos) == ' ') {

//perbaiki panjang kata untuk karakter spasi

linelengths[curline] = linepos-linestart+1; }

//jika batas max kata terlewati dan karakter jawaban belum selesai, pindahkan ke baris dibawahnya

} else {

//siapkan baris selanjutnya

linestart = linestart+linelengths[curline];

//pindahkan sisa karakter ke baris tersebut linepos = linestart;

//berpindah ke baris berikutnya(jika masih terlalu panjang karakter jawabannya)

curline++; }

}

//tentukan panjang baris terakhir

linelengths[curline] = length(jawaban)-linestart;

//kosongkan kata pada bagian yang hendak dijawab, dimulai dari baris 1

currow = 0;

//set posisi ke 0 curpos = 0;

//looping sepanjang karakter jawaban dan berikan karakter kosong / blank ke layar

for (curindex=0; curindex<length(jawaban); curindex++) {

//jika karakter berupa spasi, jangan buat karakter kosong if (jawaban.charAt(curindex) != ' ') {

//membuat holder untuk tiap karakter

attachMovie('alas', 'alas'+curindex, this.getNextHighestDepth());

//set posisi x relatif

eval('alas'+curindex)._x = Stage.width/2+((curpos-(linelengths[currow]/2))*30);

//set posisi x relatif

eval('alas'+curindex)._y = 297+(currow-(linelengths.length/2))*20;

//jika karakter bukan alpabet, tetap tampilkan

if (!hiddenCharacter(jawaban.charAt(curindex))) {

//tampilkan karakter meskipun ia karakter spesial

eval('alas'+curindex).displayletter = jawaban.charAt(curindex);

} }

//jika kita sudah diakhir baris, pindah ke baris selanjutnya if (++curpos>=linelengths[currow]) { currow++; curpos = 0; } } }

//fungsi untuk mengecek karakter adalah alpabet function hiddenCharacter(curchar) {

hiddenchars = 'abcdefghijklmnopqrstuvwxyz'; //looping sepanjang karakter

for (charindex=0; charindex<length(hiddenchars); charindex++) { //sembunyikan karakter jika ia berupa karakter

if (curchar.toLowerCase() == hiddenchars.charAt(charindex)) {

return true; }

}

//jika ia karakter spesial, tetap tampilkan return false;

}

//function jika karakter alpabet dipilih function pressLetter(pressedletter) {

//mengecek jika karakter yang dipilih ada didalam jawaban if (!inAnswer(pressedletter)) {

//jika salah, update keterangan_game

//meletakkan file suara

mySound.attachSound("gagal"); mySound.start(0,1);

salah_tebak.gotoAndStop(salah_tebak._currentframe+1);

//mengecek jika karakter terakhir dapat dijawab if (salah_tebak._currentframe == salah_tebak._totalframes) {

skor_kamu = 0;

//game selesai, hapus semua button pada game

for (curindex=0; curindex<26; curindex++) {

//hapus karakter yang sudah dipilih if

(eval('kotak'+String.fromCharCode(curindex+65))) {

//hapus kotaknya juga

removeMovieClip('kotak'+String.fromCharCode(curindex+65)); }

}

//user tidak berhasil menjawab, jadi tampilkan jawaban

for (curindex=0; curindex<length(jawaban); curindex++) {

//lewatkan karakter spasi

if (jawaban.charAt(curindex) != ' ' && eval('alas'+curindex).displayletter == undefined) {

//tandai karakter yang tidak terpilih

eval('alas'+curindex).displayletter = jawaban.charAt(curindex); eval('alas'+curindex).letter.textColor = '0xFF0000'; } }

//tampilkan button untuk memulai permainan baru showPlayAgainButton();

} }

}

//fungsi mengecek jika huruf yang ditebak ada pada jawaban function inAnswer(pressedletter) {

goodletter = false;

//mengecek banyak karakter jawaban belum tertebak blankspace = 0;

//looping sepanjang jawaban

for (curindex=0; curindex<length(jawaban); curindex++) { //mengecek jika karakter yang ditebak ada pada jawaban if (jawaban.charAt(curindex).toLowerCase() ==

pressedletter.toLowerCase()) {

//tampilkan karakter yang ditebak eval('alas'+curindex).displayletter = jawaban.charAt(curindex);

//set var goodletter jadi true karena karakter benar dan agar movieclip salah_tebak tidak pindah ke frame

goodletter = true;

//jika karakter belum terpilih, biarkan } else if (jawaban.charAt(curindex) != ' ' && eval('alas'+curindex).displayletter == undefined) {

//terdapat setidaknya 1 karakter yang belum tertebak blankspace = 1;

} }

//jika semua karakter jawaban tertebak, user menang if (!blankspace) {

mySound.attachSound("dapat"); mySound.start(0,1);

skor_kamu+=1;

//hapus semua karakter dan button

for (curindex=0; curindex<26; curindex++) {

if (eval('kotak'+String.fromCharCode(curindex+65))) {

removeMovieClip('kotak'+String.fromCharCode(curindex+65)); }

}

//looping sepanjang karakter jawaban dan beri warna hijau

for (curindex=0; curindex<length(jawaban); curindex++) { if (jawaban.charAt(curindex) != ' ') {

eval('alas'+curindex).letter.textColor = '0x00FF00';

} }

//tampilkan tombol play again showPlayAgainButton(); }

return (goodletter); }

//menampilkan tombol untuk main lagi function showPlayAgainButton() {

//attach the button

attachMovie('play_again','play_again',this.getNextHighestDepth( ));

//move it to the middle of the screen play_again._x = Stage.width/2;

//move it towards the bottom play_again._y = 340;

//Add a listener for when the button is pressed. When pressed, start a new game

play_again.onPress = function() {

//Reset the hangman graphic to the first frame salah_tebak.gotoAndStop(1);

//loop through all of the letter holders of the answer on the screen and delete them

for (curindex=0; curindex<length(jawaban); curindex++) {

//if the current position in the answer isn't a blank, remove it if (jawaban.charAt(curindex) != ' ') {

removeMovieClip('alas'+curindex); }

}

//memulai permainan baru atau memenangkan permainan... if (skor_kamu == 8){

selamat(); }else{

start_baru(); }

//menghapus tombol main lagi

removeMovieClip('play_again'); };

}

function selamat() {

//mengosongkan layar / scene

this.attachMovie('menang','menang',this.getNextHighestDepth(), {_x:265,_y:205}); removeMovieClip('salah_tebak'); kategori = ""; this.attachMovie('back','back_btn',this.getNextHighestDepth()); back_btn._x = 250; back_btn._y = 350; back_btn.onPress = function(){ start_baru(); removeMovieClip('menang'); removeMovieClip('back_btn'); } skor_kamu = 0; }

//meletakkan file suara

mySound.attachSound("musik");

mySound.start(0,999);

//memulai permainan baru ketika applet diproses start_baru();

Dokumen terkait