NPM : 59414316
Kelas : 1IA10
Tentang Program
Program ini dibuat untuk memenuhi tugas dari dosen mata kuliah Algoritma dan
Pemrograman B. Game yang dibuat oleh penulis disini berjudul Flappy Ball. Penulis
menggunakan module tambahan untuk membuat game pada python yaitu pygame.
Cara Main
Cara memainkan game ini sangat sederhana, player hanya menggunakan arrow up
button untuk menaikan bola dan menyeimbangkannya sampai melewati rintangan yang muncul.
Setiap kali player berhasil melewati rintangan, score akan dihitung satu point dan rintangan
akan muncul lagi dengan posisi yang berbeda (random).
Design
Logika Program:
import pygame
Untuk memanggil module pygame.
from random import randint
Module randint digunakan untuk merandom type int .
black = (0, 0, 0) Untuk membuat variable warna yang akan dipanggil untuk
white = (255, 255, 255) memberi warna pada objek.
red = (255, 0, 0)
pygame.display.set_caption("Flappy Ball")
Untuk memberi judul game.
def ball(x,y):
Mendefinisikan fungsi untuk karakter utama /
pygame.draw.circle(screen, blue, (x,y), 20) bola dan membuat objek karakter utama.
def gameover():
Memdefinisikan fungsi untuk game over. Ketika
font = pygame.font.SysFont(None, 75)
keadaan ditentukan untuk game over maka
text = font.render("Game over", True, red) fungsi ini akan dijalankan dan menampilkan
text “Game Over”.
screen.blit(text, (150, 250))
Code diatas untuk mendefinisikan fungsi obstacle / rintangan. Isi dari fungsi ini
adalah membuat objek obstacle.
def Score(score):
Mendefinisikan fungsi score. Isi dari
font = pygame.font.SysFont(None, 55) fungsi ini adalah untuk memunculkan
text score dengan warna dan posisi
text = font.render("Score: "+str(score), True, black)
yang sudah ditentukan.
screen.blit(text, (0, 0))
x = 350 Blok code ini untuk membuat variable yang digunakan dalam
y = 250 program.
x_speed = 0
y_speed = 0
ground = 480
xloc = 700
yloc = 0
xsize = 100
space = 150
obspeed = 2.5
score = 0
if event.type == pygame.KEYDOWN:
if event.type == pygame.KEYDOWN: Kondisi dimana event.type nya jika user
if event.key == pygame.K_UP: menekan arrow up maka karakter utama
diberi speed sebesar -10 yang menyebabkan
y_speed = -10 karakter utama ketas
Ini
screen.fill(white)
Mensetting layar dengan background warna
ball(x,y) putih, menempatkan posisi karakter utama,
menempatkan rintangan dan menaruh fungsi
obstacle(xloc, yloc, xsize, ysize)
Score untuk mengitung nilai.
Score(score)
if y > ground: Kondisi dimana jika y lebih besar dari ground maka
fungsi gameover() akan dipanggil dan y speed = 0 dan
gameover()
obspeed juga = 0.
y_speed = 0
obspeed = 0
if x+20 > xloc and y-20 < ysize and x-15 < xsize+xloc:
xloc = 700
if x > xloc and x < xloc+5: Mensetting kondisi untuk fungsi Score. Jika karakter
utama ( posisi x karakter utama ) lebih dari posisi
score = (score + 1)
rintangan maka Score akan ditambah 1 point.