Anda di halaman 1dari 29

PEMBUATAN APLIKASI MARIO

KATEGORI HIBURAN

MARTIC TEAM
1. Darlene Theodora Setiabudi (XI.2)
2. Eurydice Angelyn Valerie Ng (XI.10)
3. Prima Uziel Nasution (XI.9)
4. Santi (XI.10)
5. Theressa Krishermawanti (XI.4)

Program Studi : Pendidikan Informatika


Guru Pembimbing : Halri Simarmata, S.Kom

SMA Katholik Yos Sudarso Batam


2022/2023

1
KATA PENGANTAR

Puji dan syukur kami panjatkan kepada Tuhan Yang Maha Kuasa atas rahmat-Nya
sehingga kami dapat menyelesaikan penyusunan laporan serta pembuatan aplikasi
MarioSprite Game dengan perangkat lunak App Inventor yang berbasis aplikasi web. Semoga
makalah ini dapat membantu perihal pembuatan aplikasi dasar guna pendidikan di bangku
SMA.
Dalam penulisan laporan ini penulis merasa masih banyak kekurangan-kekurangan,
baik dari segi teknis maupun materi. Oleh sebab itu, penulis sungguh mengharapkan kritik
dan saran yang membangun demi penyempurnaan makalah ini.
Penulis berharap dengan selesainya laporan ini dapat bermanfaat bagi pembaca.

Batam, November 2022


Penulis

2
DAFTAR ISI

HALAMAN JUDUL...……………………………………………………………………...... 1
KATA PENGANTAR..………………………………………………………………………. 2
DAFTAR ISI....……....………………………………………………………………………..
3
BAB I PENDAHULUAN...…………………………………………………………………..
4
LATAR BELAKANG.....………………………………………………………………… 4
WAKTU PEMBUATAN....……………………………………………………………….
4
MAKSUD DAN TUJUAN....……………………………………………………………..
4
MANFAAT.....…………………………………………………………………………….4
BAB II PEMBUATAN APLIKASI…………………………………………………………
5
ALAT DAN BAHAN..……………………………………………………………………
5
LANGKAH-LANGKAH PEMBUATAN...………………………………………………
5
PERSIAPAN….…………………………………………………………………………...5
PROSES PEMBUATAN.....………………………………………………………………
5
PENGUJIAN……………………………………………………………………………... 6
BAB III KESIMPULAN DAN SARAN...…………………………………………………..7

3
BAB I
PENDAHULUAN
A. Latar Belakang
App Inventor adalah perangkat lunak IDE terintegrasi yang berbasis web. App
Inventor pada awalnya dikembangkan oleh Google, yang saat ini dipelihara oleh
Massachusetts Institute of Technology (MIT). App Inventor memungkinkan pemrogram
komputer pemula dapat membuat mobile apps diatas OS Android. Aplikasi App Inventor
bersifat open source dan free.
MIT Inventor adalah sebuah wadah untuk para siswa untuk belajar ilmu komputer dan
membuat aplikasi android dengan cara yang mudah. Dengan menggunakan aplikasi ini,
siswa-siswi dapat belajar logika pemrograman dasar sekaligus memperkenalkan logika
dasar dalam suatu pemrograman. MIT App Inventor merupakan platform untuk
memudahkan proses pembuatan aplikasi sederhana tanpa harus mempelajari atau
menggunakan bahasa pemrograman yang terlalu banyak.
Wadah ini dapat digunakan untuk membuat rancangan aplikasi hiburan/games yang
akan kami lakukan pada kesempatan ini.

B. Waktu Pembuatan
Praktek pembuatan aplikasi game MarioSprite menggunakan App Inventor kami
laksanakan dari 23 Oktober 2022 sampai 8 November 2022.

C. Maksud dan Tujuan


Adapun maksud dan tujuan praktek pembuatan aplikasi serta pembuatan laporan ini
ialah:
1. Sebagai bukti pemahaman para penulis tentang pengembangan aplikasi
menggunakan App Inventor.
2. Penyelesaian tugas mata pelajaran Informatika peminatan kelas 11.

D. Manfaat

4
Serta beberapa manfaat yang kami peroleh antara lain:
1. Dapat mempelajari lebih dalam mengenai ilmu pembuatan aplikasi secara teori.
2. Menerapkan ilmu pembuatan dan pengembangan aplikasi yang sebelumnya telah
dipelajari.

BAB II
PEMBUATAN APLIKASI

A. Alat dan Bahan


Perangkat keras komputer :
- Laptop/komputer
- Mouse
- Keyboard

Perangkat lunak :
- MIT App Inventor

Perangkat lain :
- Handphone

B. Langkah-Langkah Pembuatan
- Persiapan
1. Siapkan semua peralatan (hardware & software) yang diperlukan.
2. Sign in akun App Inventor lewat Google Mail.
3. Siapkan elemen berupa gambar karakter MarioSprite, gambar background, sound
effect yang diperlukan untuk di insert nantinya.

5
- Proses Pembuatan
Desain aplikasi game dengan memasukkan:
A. Screen 1
1. Button1, rename menjadi StartButton.
2. HorizontalArrangement, lalu insert Button2 dan Button3 di
dalamnya.
3. Rename Button2 menjadi Mario Button dan Button3 menjadi
Princess Button.

B. Screen 2
1. Canvas, lalu mengatur ketinggian dan lebarnya menjadi fill to parent. Di dalam
canvas, insert ImageSprites (MarioSprite, Enemy, Cloud, Mountain, Platform x2,
Play, Retry, OptionSprite 1, OptionSprite 2, dan CharacterTextSprite). Setelah
itu, rename ImageSprites tersebut sesuai dengan gambar yang akan dimasukkan.
2. Upload ke media, semua file gambar. Untuk MarioSprite dan Enemy, gambar
yang diupload lebih dari satu dan masing-masing gambar berbeda, yang nantinya
akan dijadikan animasi bergerak (a1, a2, a3, dst).
3. Insert gambar di media ke masing-masing ImageSprites (untuk MarioSprite cukup
1 gambar saja yang diupload (a1)). Kemudian, upload file mp3 untuk effect jump,
BG sound dan lose soundeffect. Upload mp3 sound effect Mario Jump ke
komponen Sound dengan set interval ke angka 500, setara dengan 0,5 detik, dan
Insert Player1 sebagai BG Sound serta Player2 sebagai lose
soundeffect.
4. Insert Horizontal Arrangement, dan insert 3 komponen
Image, upload gambar “Life” di Properties Picture
komponen Image masing-masing, dengan ukuran 40x40
pixels. Lalu, adjust ukuran Startgame Sprite menjadi 80x80
pixels dan ukuran RestartgameSpritemenjadi 100x200 pixels.
5. Insert 4 Clock pada kategori Sensors (loadingClock,
animationClock, BGClock, jumpingClock). Set time enabled
pada loadingClock dan atur time interval menjadi 25. Atur
time interval pada aniClock menjadi 70, time interval pada
BGClock menjadi 48, dan pada jumpingClock menjadi 45,
lalu insert TinyDB1 untuk menyimpan data HighScore.
6. Insert HorizontalArrangement, rename menjadi HA_score, lalu Insert 4 label,
rename menjadi score1 label, score2 label, record label, dan HI_Score label di
dalamnya.

6
Setelah selesai mendesain tampilan aplikasi, maka kita akan mulai merancang
perintah agar aplikasi bisa digunakan, yaitu:
A. Screen 1
1. Inisiasi variable dengan nama character menggunakan block dari built in
Variables, menjadi “Mario”.
2. Drag block “when MarioButton clicked do” dari kategori Control, lalu set
“global character to Mario.”
3. Drag block “when PrincessButton got focused do” dari kategori Control, lalu set
“global character to Princess.”
4. Drag blok “when StartButton clicked do” dari kategori Control, lalu tambahkan
block “if then” dari kategori Control. Drag blok “true”dari kategori Logic. Drag
block “open another screen with start value screen name, start value.” Set if true,
then open another screen with start value screen name “Screen2”, Start value “get
global character”.

B. Screen 2
1. Tampilan awal (Click to start game)
● Drag block to-procedure-do dari kategori Procedures dan rename menjadi
iniscreen/initializing screen.
● Drag block multiply dari built in Math, lalu insert Screen2.Width pada kolom
pertama dan times 3.
● Drag block call loadhighscore dari kategori Procedures, lalu set ScoreLabel2
text to call tinyDB1 GetValue Tag “HI_Score”, ValueIfTagNotThere = 0.
● Drag block call characterloading dari kategori Procedures, lalu tambahkan
blok “if then else”. Set if not (dari kategori Logic) is empty (dari kategori
Text), get start value (dari kategori Control), set then set global character to
get start value, set else set global character to “Mario.”

7
● Set warna background dengan insert set Canvas1.BackgroundColor - to make
color - make a list (diinsert dari block Color) dan isi kolom make a list dengan
kode warna sesuai yang diinginkan (RGB).
● Set HA_score background color, sesuaikan dengan warna BackgroundCanvas
- to make color - make a list (diinsert dari block Color) dan isi kolom make a
list dengan kode warna sesuai yang diinginkan (RGB), lalu set HA_score
HeightPercent to 7.
● Drag block false dari Logic untuk menyetel visibility MarioSprite - false.
Lakukan juga pada EnemySprite.
● Drag block true dari Logic untuk menyetel visibility OptionSprite1 - true.
Lakukan hal yang sama pada OptionSprite2, CharacterTextSprite,
PlatformSprite, MountainSprite, CloudSprite.
● Drag blok multiply dan division dari kategori Math.
● Set OptionSprite1.Height to Screen2.Height times 0.1.
● Set OptionSprite1.Width to OptionSprite1.Height divided by 2.
● Set OptionSprite1.X to Screen2.Width times 1.15.
● Set OptionSprite1.Y to Screen2.Height times 0.37.
● Set OptionSprite2.Height to Screen2.Height times 0.1.
● Set OptionSprite2.Width to OptionSprite2.Height divided by 2.
● Set OptionSprite2.X to Screen2.Width times 1.77.
● Set OptionSprite2.Y to Screen2.Height times 0.37.
● Set CharacterTextSprite.Height to Screen2.Height times 0.1.
● Set CharacterTextSprite.Width to Screen2.Width times 0.5.
● Set CharacterTextSprite.X to Screen2.Width times 1.25.
● Set CharacterTextSprite.Y to Screen2.Height times 0.37.

- Atur ukuran PlatformSprite, MountainSprite, dan CloudSprite:\

Cloud Sprite
● Drag block set CloudSprite.Height to, lalu combine dengan block multiply.
● Insert Screen2.Height pada kolom pertama dan times 0.07 (7% dari screen
height).
● Drag block set CloudSprite.Weight to, lalu combine dengan block multiply.
● Insert CloudSprite.Height pada kolom pertama dan times 2.

PlatformSprite
● Drag block set PlatformSprite.Width to. Set PlatformSprite.Width to
Screen2.Width.

8
● Drag block set PlatformSprite2.Height to. Set PlatformSprite2.Height to
Platform.Height.
● Drag PlatformSprite.Width to. Set PlatformSprite.Height to PlatformHeight.

Mountain Sprite
● Drag block set MountainSprite.Width lalu combine dengan block multiply dari
Math.
● Set MountainSprite to Screen2.Width times 0,85.
● Drag block set MountainSprite.Height lalu combine dengan block divide dari
Math.
● Set MountainSprite to Screen2.Height divided by 2.

9
10
- Atur posisi (x,y) PlatformSprite, MountainSprite, CloudSprite, StartGame,
RestartGame sprite pada tampilan awal:

Mountain Sprite
● Set MountainSprite.X to - Screen2.Width.
● Drag block set MountainSprite.Y to, lalu combine dengan block minus yang
didrag dari Math.
● Set MountainSprite.Y to - PlatformSprite.Y (minus) MountainSprite.Height.

Cloud Sprite
● Set CloudSprite.X to Screen2.Width.
● Drag block set CloudSprite.Y to, lalu combine dengan block multiply yang
didrag dari Math.
● Set CloudSprite.Y to Screen2.Height kali 0.2.

Platform Sprite
● Set PlatformSprite.X to 0.
● Drag block set PlatformSprite.Y to, lalu combine dengan block minus yang
didrag dari Math.
● Set PlatformSprite.Y to - Screen2.Height minus PlatformSprite.Height.
● Drag block set Platform2Sprite.X to, lalu combine dengan block plus yang
didrag dari Math.
● Set Platform2Sprite.X to - PlatformSprite.X plus PlatformSprite.Width.
● Drag block set Platform2Sprite.Y to.
● Set Platform2Sprite.Y to PlatformSprite.Y.

Startgame Sprite
● Drag block set StartgameSprite.X to, lalu combine dengan block multiply yang
didrag dari Math.
● Set StartgameSpriteX to Screen2.Width times 1.4.
● Drag block set StartgameSpriteY to, lalu combine dengan block multiply yang
didrag dari Math.
● Set StartgameSpriteY to Screen2.Height times 0.5.

Restart Game Sprite

11
● Drag block set RestartgameSprite.X to, lalu combine dengan block multiply
yang didrag dari Math.
● Set RestartgameSprite.X to Screen2.Width times 1.4.
● Drag block set RestartgameSprite.Y to, lalu combine dengan block multiply
yang didrag dari Math.
● Set RestartgameSprite.Y to Screen2.Height times 0.5.
● Drag block false dari built in Logic.
● Set RestartgameSprite visibility to false.

Loading Clock
● Inisiasi variable dengan nama loadingtimes menggunakan block dari built in
Variables, untuk nilai awal diset ke 0.
● Drag block when loadingtimer do dari built in Control.
● Combine block dengan block if then else dari built in Control.
● Drag blok less than dari built in Math.
● Set if global loadingtimes less than 5.
● Drag block plus dari Math.
● Set then set global loadingtimes to
global loadingtimes plus 1.
● Set then call iniscreen dari built in
Procedures.
● Drag block false dari built in Logic.
● Set else set loadingClock to TimerEnabled to false.

2. Tampilan permainan (Start game)


● Drag another-block-procedure, lalu rename to “start game”.
● Set global Score to 0.
● Set ScoreLabel.Text to 0.
● Set ScoreLabel2.Text to call TinyDB1.GetValue Tag “HI_Score”,
Valueiftagnotthere 0.
● Drag block false dari built in Logic, lalu set StartgameSprite visibility to false
dan RestartgameSprite visibility to false.
● Drag block true dari built in Logic, lalu Set MarioSprite visibility to true dan
EnemySprite visibility to true.
● Set Image1, Image2, Image3 visibility to true.
● Set OptionSprite1, OptionSprite2, CharacterTextSprite visibility to false.

12
- Atur ukuran dan posisi (x,y) MarioSprite, EnemySprite dan LifeImage:
● Drag block set MarioSprite.Height lalu combine dengan block multiply yang
didrag dari Math.
● Set MarioSprite.Height to - Screen1.Height times 0,1.
● Drag block division dari built in Math.
● Set MarioSprite.Width to MarioSprite.Height divided by 2.
● Drag block set MarioSprite.X to, lalu combine dengan block multiply yang
didrag dari Math.
● Set MarioSprite.X to Canvas1.Width times 0.55.
● Drag block set MarioSprite.Y to, lalu combine dengan block minus yang
didrag dari Math.
● Set MarioSprite.Y to (Canvas1.Height minus PlatformSprite.Height) minus
MarioSprite.Height.
● Drag block set EnemySprite.Height lalu combine dengan block multiply yang
didrag dari Math.
● Set EnemySprite.Height to EnemySprite.Width times 1.
● Drag block set EnemySprite.Width lalu combine dengan block multiply yang
didrag dari Math.
● Set EnemySprite.Width to Screen2.Width times 0.1.
● Drag block set EnemySprite.X to, lalu combine dengan block multiply yang
didrag dari Math.
● Set EnemySprite X to – Canvas1.Width times 0.35.
● Drag block set EnemySprite Y to, lalu combine dengan block minus yang
didrag dari Math.
● Set EnemySprite Y to (Canvas1.Height minus PlatformSprite.Height) minus
EnemySprite.Height.
● Set Image1, Image2, Image3 Height to Screen2 height x 0.04.
● Set Image1, Image2, Image3
Width to Screen2 height x 0.75.
● Drag block true dari built in
Logic.
● Drag block aniClock
TimerEnabled.
● Set aniClock TimerEnabled to
true.

13
● Set jumpingClock TimerEnabled to true.
● Set BGclock time enabled to true.
● Set Scoreclock time enabled to true.
● Set when StartgameSprite touched call startgame, call Player1 start.

Animation Procedure
● Inisiasi variable dengan nama global frame menggunakan block dari built in
Variables, untuk nilai awal diset ke 0.
● Inisiasi variable dengan nama character menggunakan block dari built in
Variables, jadi “Mario.”
● Drag block procedure dan rename menjadi “running animation procedure1.”
● Drag block if then else dari kategori Control.
● Drag blok less than dari kategori Math.
● Set if global frame less than 3.

14
● Drag block plus dari kategori Math.
● Set then set global frame to global frame plus 1.
● Drag blok set MarioSprite picture.
● Drag blok join dari kategori Text.
● Set MarioSprite picture to join “a” (nama image MarioSprite di media), get
global frame, “.png”
● Lakukan hal yang sama pada EnemySprite.
● Set else set global frame to 0 (untuk membuatnya jadi loop).

● Duplicate semua blok dan rename menjadi runninganimationprocedure2.


● Pada blok runninganimationprocedure2, join “a” diganti menjadi join
“princess”.
● Drag block when aniClock Timer do.
● Drag block call runninganimationprocedure1 dan
runninganimationprocedure2.
● Drag block if then else if dari kategori Control.
● Drag block compare text dari kategori Text.
● Set when aniclock timer do if compare text global character = “Mario.”
● Set then call runninganimationprocedure1.
● Set else if compare text global character = “princess”.
● Set then call runninganimationprocedure2.

15
Option Sprite
● Drag block procedure dan rename menjadi character loading.
● Drag block true dari kategori logic.
● Drag blok multiply dan division dari kategori math.
● Set to characterloading do :
- Set OptionSprite1 visible to true,
- Set OptionSprite2 visible to true,
- Set OptionSprite1.Height to Screen2 height times 0.1,
- Set OptionSprite1.Width to OptionSprite1.Height divided by 2,
- Set OptionSprite2.Height to Screen2Height times 0.1,
- Set OptionSprite2.Width to OptionSprite2.Height divided by 2,
- Set OptionSprite1.X to Canvas1.Width times 0.45,
- Set OptionSprite1.Y to (Canvas1.Height - PlatformSprite.Height) –
OptionSprite1.Height,
- Set OptionSprite2.X to canvas1 width times 0.6,
- Set OptionSprite2.Y to ((Canvas1.Height - PlatformSprite.Height) –
OptionSprite2.Height.
● Drag block when OptionSprite1 touched do dari kategori Control.
● Set when OptionSprite1 touched do set global character to “Mario”.
● Drag block when OptionSprite2 touched do dari kategori Control.

16
● Set when OptionSprite2 touched do set global character to “princess”.

Platform Procedure
● Drag block procedure dan rename menjadi “platform procedure”.
● Inisiasi variable dengan nama speedBG
menggunakan block dari built in Variables,
untuk nilai awal diset ke 20.
● Drag block if then else dari kategori
Control.
● For our first “if”, drag blok greater than or equal dari kategori Math dan
combine dengan block minus.
● Drag block minus dari kategori Math.
● Set if PlatformSprite.X greater than or equal (Canvas1.Width minus
PlatformSprite.Width).
● Set then set PlatformSprite.X to - PlatformSprite2.X minus
PlatformSprite2.Width.
● Set else if PlatformSprite2.X greater than or equal (Canvas1.Width minus
Platform2Sprite.Width).
● Set then set Platform2Sprite.X to PlatformSprite.X minus
PlatformSprite.Width.
● Set else if CloudSprite.X greater than or equal (Canvas1.Width minus
CloudSprite.Width).
● Drag another if then else dari kategori Control to the next “then”.
● Drag block compare text dari kategori Text, set tanda menjadi “=”.
● Set if compare text CloudSprite picture = “cloud.png”.
● Set then set CloudSprite picture to “cloud2.png”.
● Set else set CloudSprite picture to “cloud.png”.
● Di bawahnya set CloudSprite.X to 0 dan set CloudSprite.Y to Screen2.Height
times 0.2.

17
● Add another else if then dari kategori Control.
● Set else if MountainSprite.X greater than or equal Canvas1.Width minus
MountainSprite.Width.
● Set then set MountainSprite.X to 0.
● Set else if EnemySprite greater than or equal Canvas1.Width minus
EnemySprite.Width.
● Set then set EnemySprite.X to 0.
● Set else : set PlatformSprite.X to - PlatformSprite.X plus global speedBG.
● Set PlatformSprite2.Xto - PlatformSprite2 .plus globalspeed BG.
● Set MountainSprite.X to MountainSprite.X plus (global speedBG divided by
40).
● Set CloudSprite.X to CloudSprite.X plus (global speedBG divided by 35).
● Set MountainSprite.X to MountainSprite.X plus (global speedBG divided by
1.5).
● Set BGclock time enabled to true pada iniscreen.
● Set when BGclock timer do call platform procedures.

Mario Jump
Inisiasi variable :
● Dengan nama jumping menggunakan block dari built in Variables, dan setel
nilai awal diset ke false, lakukan hal yang sama terhadap ducking.

18
● Dengan nama ground menggunakan block dari built in Variables, untuk nilai
awal diset ke 0.
● Dengan nama position menggunakan block dari built in Variables, untuk nilai
awal diset ke 0.
● Dengan nama velocity menggunakan block dari built in Variables, untuk nilai
awal diset ke 0.
● Dengan nama gravity menggunakan block dari built in Variables, untuk nilai
awal diset ke 10.

● Pada iniscreen :
- Set global ground to (Canvas1.Height – PlatformSprite.Height) –
MarioSprite.Height.
- Global positon to (Canvas1.Height – PlatformSprite.Height) –
MarioSprite.Height.
- Global velocity to -50.
● Drag block procedure dan rename menjadi “jumpingmarioinitial".
● Drag block call jump play. Lalu, set to jumpingmarioinitial do call jump play.
● Drag block if then dari kategori Control dan block equal dan false dari
kategori Logic. Set if global jumping equal to false.
● Set then
- Set global velocity to -70,
- Set global jumping to true,
- Set aniClock time enabled to false,
- Tambahkan blok if then else if,
- Drag block compare text dari kategori Text,
- Set if compare texts global character = “Mario” then set MarioSprite
picture to a2.png,
- Set else if compare texts global character ≠
“Mario” then set mariosprite picture to
princess5.png.
● Drag block procedure dan rename menjadi “mariojumping”. Drag block if
then dari kategori Control. Drag block equal dan true dari kategori Logic. Set
if global jumping equal to true.
● Set then :
- Set global velocity to global velocity + global gravity,

19
- Set global position to global position + global velocity,
- Set MarioSprite Y to global position,
- Drag block if then dari kategori Control,
- Set if MarioSprite Y greater than or equal global ground,
- Set then :
set MarioSprite Y to global ground,
Set aniClock time enabled to true,
Set jumpingClock time enabled to false,
Set global jumping to false,
Set global velocity to 0.
● Drag block when jumpingClock timer do dan block call mariojumping dari
kategori Procedures.
● Set when jumpingClock timer do call mariojumping.
● Drag block when Canvas1 clicked do. Drag block call jumpmarioinitial dari
kategori Procedures.
● Set when Canvas1 clicked do call jumpMarioSpriteinitial, set jumpingClock
time enabled to true pada iniscreen.

20
Scoreboard
● Inisiasi variable dengan nama “score” menggunakan block dari built in
Variables, untuk nilai awal diset ke 0.
● Drag block when ScoreClock timer do dan block plus dari kategori Math.
● Set when ScoreClock timer do set:
- ScoreLabel text to global score + 1.
- global Score to ScoreLabel text.

High Score
● Inisiasi variable dengan nama HI_Score menggunakan block dari built in
variables, untuk nilai awal diset ke 0.
● Drag block Procedure dan rename menjadi loadhighscore.
● Drag block if then else dari kategori Control.
● Set if call TinyDB1 GetValue = 0, tag “HI Score” valuelfTagNot There = 0.
● Set then set ScoreLabel2.Text to 15 set global HI_Score to 15.
● Set else : set ScoreLabel2.Text to call TinyDB1 GetValue tag “HI_Score”
valuelfTagNotThere = 0.
● Set global HI Score to call TinyDB1 GetValue tag “HI_Score”
valuelfTagNotThere = 0.
● Drag block Procedure dan rename menjadi save highscore.
● Drag block if then dari kategori Control.
● Set if global Score > global HI_Score.
● Set then call TinyDB1 StoreValue tag “HI_Score” valueToStore get global
Score.

21
Gameover
● Inisiasi variable dengan nama life menggunakan block dari built in variables,
untuk nilai awal diset ke 3.
● Drag block procedure dan rename menjadi “gameover procedures”.
● Drag blok if then else if , set to gameprocedures do : if global life = 2.
- then set Image1 visible to false,
- if global life = 1,
- then set Image2 visible to false,
- if global life = 0,
- then set Image3 visible to false,
- Set MarioSprite visible to false,
- set ani clock time enabled to false,
- Set BGclock time enabled to false,
- Set jumpingclock time enabled to false,
- Set score clock time enabled to false,
- Set restart visible to true,
- Set enemysprite.X to Platform.Width + Screen1.Width,
- Call savehighscore,
- Call Player1 stop,
- Call Player2 start.

22
● Drag block when MarioSprite collided with other.
● Drag block if then dari kategori Control.
● Set if other equal Enemysprite.
● Set then : set global life to get global life – 1.
● Set then call gameoverprocedure.
● Drag when restart touched do.
● Drag call startgame dari kategori Procedures.
● Set when restart touched do:
- set global life to 3,
- call startgame,
- call Player1 start.

23
- Pengujian
1. Tampilan Screen1 atau saat aplikasi baru dibuka.

2. Tampilan Screen2 setelah menekan “Play Super Mario Jump and Run” pada
layar.

24
3. Tampilan Screen jika pemain memilih karakter “Mario” dan menekan
“Play”.

4. Tampilan screen jika pemain memilih karakter “Princess” dan menekan


“Play”.

25
5. Tampilan Screen ketika “Mario” maupun “Princess” sedang melompat.

26
6. Tampilan Screen ketika “Mario” maupun “Princess” mengenai Enemy, maka
life akan berkurang 1.

27
7. Tampilan screen jika “Mario” maupun “Princess” sudah mengenai Enemy
lebih dari 3 kali.

28
BAB III
KESIMPULAN DAN SARAN

Perangkat lunak App Inventor mempermudah pembuatan aplikasi, seperti yang kami
lakukan yaitu MarioSprite. Permainan MarioSprite ini merupakan rancangan aplikasi hiburan
sederhana yang lebih praktis dan sederhana dengan bantuan App Inventor yang menyediakan
rangkaian blok-blok yang bisa digunakan untuk merancang suatu perintah, dengan drag dan
drop blok dari Palatte ke Viewer atau lembar kerja. Pembuatan aplikasi ini akan jauh lebih
sulit dan rumit jika langsung diketikkan menggunakan bahasa pemrograman secara langsung,
sehingga App Inventor sangat cocok digunakan untuk pemula atau pelajar.

29

Anda mungkin juga menyukai