laporan pembuatan svg dan game hangman

10
PROJECT GRAFIKA KOMPUTER Animasi Gambar SVG & Game Hangman http://cs.unsyiah.ac.id/~sbahri/Grafika/Uas/ Saiful Bahri 1108107010063 Informatika UNIVERSITAS SYIAH KUALA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM BANDA ACEH, DARUSSALAM Mei 2014

Upload: ivul-varel-fu

Post on 21-Jul-2015

261 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Laporan pembuatan SVG dan Game Hangman

PROJECT GRAFIKA KOMPUTER

Animasi Gambar SVG

&

Game Hangman

http://cs.unsyiah.ac.id/~sbahri/Grafika/Uas/

Saiful Bahri

1108107010063

Informatika

UNIVERSITAS SYIAH KUALA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

BANDA ACEH, DARUSSALAM

Mei 2014

Page 2: Laporan pembuatan SVG dan Game Hangman

Tugas :

1. Menggunakan Scalable Vector Graphics (SVG), buat animasi dari objek dengan

ketentuan sebagai berikut:

a) Objek terdiri dari minimal 3 (tiga) buah bentuk (shapes)

b) Minimal satu dari tiga objek tersebut harus dibuat bergerak (tidak statis).

2. Membuat game Hangman dengan metode on the fly

Penjelasan tentang Program

1. Program animasi SVG

http://cs.unsyiah.ac.id/~sbahri/Grafika/Uas/Ivul.html

Gambar diatas merupakan animasi dari file SVG yang dibuat dalam bentuk sebuah

pemandangan sederhana yang dimana didalam gambar tersebut terdapat awan yang

berwarna hitam transparent dan matahari di lingkari cahaya merah,balon udara , pohon

apel dengan buah yang berjatuhan , beserta kincir angina diatas sebuah bangunan dan

lampu-lampu

Page 3: Laporan pembuatan SVG dan Game Hangman

Berikut Penjelasan Code Gambar SVG tersebut

Awan-Awan

Dengan menggunakan animatetrabsform dan values .. maka awan akan mengikuti

koordinat yang sudah diketik pada program tersebut.

Matahari

Pada code matahari di buat mengunnakan Ellipse dengan koordinat CX=360 cy=60

rx=30 ry=30 dan dilapisi dengan animatcolor dengen menggunakan warnag RGB dan

radialgradient dapat membuat matahari seolah-olah besinar redup terang .

Bangunan (rumah)

Menggunakan code line (<line id="svg_4" y2="543" x2="72" y1="543" x1="73"

stroke-width="5" stroke="#000000" fill="none"/> ) dengan cara di buat perstep dengan

menggatur panjang dan lebar garis dengan koordinat

Balon Udara

Page 4: Laporan pembuatan SVG dan Game Hangman

Pada Pembuatan balon udara yang bias bergerak dan turun .. dibuat menggunakan

ellipse dan ditambah

animateTransform attributeName="

transform" type="translate" dur="15s" begin="0s"

values="-300,100;400,200;500,300;600,400;700,500;730,570"

repeatCount="indefinite"

/> </g>

Supaya balon udara mengikuti koordinat yang telah di tentukan pada code tersebut

u

Kipas (kincir angin diatas bangunan)

Dibuat dengan menentukan letak koordinat pada atas sebuah bangunan dan ditambah

dengan animate attribute “ dan dur = 0.25 dengan durasi dan repeatcount supaya

kipasnya tidak berhenti.

Pohon dan buah jatuh

<rect id="svg_9" height="223" width="29" y="493.55402" x="1244.62305" stroke-

linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="5"

stroke="#000000" fill="#bf5c00"/>

Page 5: Laporan pembuatan SVG dan Game Hangman

Code diatas untuk menggambar batang pohon dan dikasih warna

Sedangkan Pada daun daun pohon menngunakan code ini

<ellipse id="svg_44" cy="473.04352" cx="1160.62305" stroke-linecap="null" stroke-

linejoin="null" stroke-dasharray="null" stroke-width="5" stroke="#ffffff"

fill="#ff0000"/>

Karena bentuk daun dibuat dengan menggunakan ellipse

Sedangkan pada buah yang jatuh menggunakan code

<g transform="" id="Ebene 0">

<g>

<circle cx="100" cy="500" r="6.5" style="stroke: none; fill: #ff0000;">

<animateTransform attributeName="transform" type="translate" dur="1s" begin="0s"

values="1070,-20;1070,200"

repeatCount="indefinite"

/>

</g>

Karena code ini menggunakan Values sebagai jalan jatuhnya nya buah dari atas pohon

tersebut

2. Game Hangman

Page 6: Laporan pembuatan SVG dan Game Hangman

Game ini sudah tidk jarang lagi ..karena tujuan game hangman adalah meunyelamatkan

orang yang digantung dengan cara menebak kata dengan benar ,pada game hangman ini

ada berapa peraturan :

Jika salah menebak maka orang tersebut akan di gantung dan akan langsung game over.

Kepada penebak diberikan 10 kali kesempatan untuk menebak kata ,dan pada tombol

yang sudah pernah diklik tidak pernah diklik kedua kali ,Pada screeshot diatas akan

Nampak huruf yang benar ditebak akan muncul pada baris yang kosong sedangkan jika

salah maka kesempatan menebak akan otomatis berkurang ..dan gambar orang akan

muncul step by step secara “on the fly “ karena gambar tersebut berasal dari program

perl yang sudah di upload ke Mesin Cs dengan sinkron dengan database wordlist

sebanyak 9000 kosa kata yang di random dari database .

Penjelasan Code

Gambar orang di gantung

Code dibawah ini merupakan code on the fly orang digantung , karena setiap kata yang

ditebak salah maka fungsi If akan melancutkan ke step selanjutnya … misalnya pada

Page 7: Laporan pembuatan SVG dan Game Hangman

saat gambar masih kosong dan kata yang ditebak salah ,maka otomotasi program

tersebut tercompile dan akan memunculkan per step ke level selanjutnya ( dari lantai

munculkan tiang dan begitu seterusnya

my $level = $ARGV[0];

$img = GD::Simple->new(320,250);

$img->transparent($trans);

$img->interlaced(1);

#------------------------------Lantai---------------------------------

if ($level>0) {

$img->moveTo(90,220);

$img->bgcolor(81, 119, 77);

$img->arc(130,43,170,0,);

$img->fgcolor(161, 87, 23);

#---------------------------Tiang------------------------------

if ($level>1) {

$img->bgcolor(161, 187, 23);

$img->rectangle(80,10,100 ,200);

$img->fgcolor(161, 87, 23);

#-------------------------------Tiang Atas------------------------------

if ($level>2) {

$img->bgcolor(161, 187, 23);

$img->rectangle(80,5,220,15);

$img->fgcolor(17, 222, 23);

$img->moveTo(205,13);

$img->bgcolor(81, 79, 77);

$img->arc(15,15,360,0,);

$img->fgcolor(81, 79, 77);

#---------------------------Tali Gantungan------------------------------------

if ($level>3) {

Page 8: Laporan pembuatan SVG dan Game Hangman

$img->moveTo(205,11);

$img->penSize(5,5);

$img->lineTo(205,50);

#-----------------------Kepala------------------------------------

if ($level>4) {

$img->moveTo(202,60);

$img->penSize(0,0);

$img->bgcolor(252, 220, 178);

$img->fgcolor(195, 190, 199);

$img->ellipse(35,45);

#------------ MATA KIRI------------------------------------

$img->moveTo(195,55);

$img->bgcolor(0, 0, 0);

$img->fgcolor(255, 255, 255);

$img->ellipse(10,6);

#-------------MATA KANAN------------------------------------

$img->moveTo(210,55);

$img->bgcolor(0, 0, 0);

$img->fgcolor(255, 255, 255);

$img->ellipse(10,6);

#--------------------mulut---------------------------------

$img->moveTo(200,72);

$img->bgcolor(255, 255, 255);

$img->fgcolor(0, 0, 0);

$img->ellipse(16,8);

#------------------------Kumis-----------------------------

#$img->moveTo(205,65);

$img->bgcolor(183, 7, 7);

$img->fgcolor(183, 7, 7);

$img->arc(20,10,180,0,);

Page 9: Laporan pembuatan SVG dan Game Hangman

#------------Badan-------------------------

if ($level>5) {

$img->moveTo(203,82);

$img->bgcolor(202, 0, 202);

$img->fgcolor(255, 0, 0);

$img->penSize(30,30);

$img->lineTo(203,150);

#--------Tangan sebelah Kiri--------------

if ($level>6) {

$img->moveTo(188,88);

$img->fgcolor(252, 220, 178);

$img->penSize(5 ,5);

$img->lineTo(150,50);

#---------Tangan Kanan----------------------

if ($level>7) {

$img->moveTo(218,90);

$img->penSize(5,5);

$img->lineTo(265,48);

#---------Kaki Kiri--------------------------

if ($level>8) {

$img->moveTo(192,150);

$img->penSize(5,5);

$img->lineTo(160,183);

#------------------tapak kaki-----------------------

$img->moveTo(139,180);

$img->penSize(10,10);

$img->lineTo(160,183);

#----------Kaki Kanan--------------------------

if ($level>9) {

Page 10: Laporan pembuatan SVG dan Game Hangman

$img->moveTo(210,150);

$img->penSize(5,5);

$img->lineTo(228,185);

#------------------tapak kaki-----------------------

$img->moveTo(225,180);

$img->penSize(10,10);

$img->lineTo(245,170);

}

}

}

}

}

}

}

}

}

}

Sedangkan Pada keyboard Menggunakan Tombol button pada html