# data[].attributes.body
OOP bertujuan untuk mempermudah pengembangan sebuah program. Ia memiliki variabel dan fungsi yang  dibungkus ke dalam objek ataupun class. Keduanya dapat saling berinteraksi sehingga membentuk sebuah program.
The ghost has states of:

color

name (+1 if you can name all the ghosts off the top of your head)

state (eatable or not)

direction

speed

and behaviors of:

moving

changing state

# data[].attributes.body
OOP allows organizing game objects conceptually, preventing spaghetti code when programming. For example, the code behind the game Pacman could be organized like so:

class GameObject {
    int x, y;
};

class Food : GameObject {
    int score;
};

class Character : GameObject {
    int speed, direction;
};

class Player : Character {
    int score;
};

class Ghost : Character {
    bool avoiding;
};

class Blinky : Ghost {
    AI blinkyAi;
};

class Pinky : Ghost {
    AI pinkyAi;
};

class Inky : Ghost {
    AI inkyAi;
};

class Clyde : Ghost {
    AI clydeAi;
};

# data[].attributes.headline
Yehezkiel Salvator Christanto - 2440078645

# data[].attributes.subject
Yehezkiel Salvator Christanto - 2440078645

# data[].attributes.body
OOP dalam game programming mampu memudahkan programmer dalam mengatur data tiap objek. Karena pada game, tiap objek biasanya memiliki data atau status yang relatif yang sama.

Class Character:
1. Kecepatan
2. Warna
3. Nyawa

Child:
1. Pacman
2. Ghost

# data[].attributes.body
Relasi antara OOP dan Game Programming adalah OOP memudahkan kodingan yang ada di game jadi lebih mudah di organisir, dan diedit.

States:
- kecepatan
- warna
- nama
- mode

Child:
- Pacman
- 4 ghost

Behaviors:
- jalan
- Idle
- Ngejar
- Makan

(Dhyox Norak)

# data[].attributes.body
-Oop adalah cara pemograman yang akan membuat pemograman game lebih mudah karena cara pemograman ini lebih mudah di modifikasi

-behaviour
-chase
-path finding
-escape
-agresion
-base
-speed
-movement
-color
-reaction
-state

# data[].attributes.body
OOP memiliki tujuan untuk memudahkan pengembangan suatu program. Ia memiliki variabel dan fungsi yang dibungkus ke dalam objek ataupun class. Keduanya dapat saling berinteraksi sehingga membentuk sebuah program

# data[].attributes.body
Dengan menggunakan oop kita dapat memiliki codingan yang lebih rapih dan terorganisir dan dengan oop kita juga dapat mempermudap kita untuk memodify codingan kita sendiri

states:
- name
- colour
- score
- speed

Behaviors:
- movement

# data[].attributes.body
OOP membantu kita mengorganisir objek yang memiliki karakteristik yang mirip.
kelas Character
1. Kecepatan
2. Warna
3. Nama
4. Mode
5. Move
6. Direction
Anaknya
1. PacMan
2. Ghost1-4

# data[].attributes.body
1. concept of OOP and game programming can be related in the fact that no matter how simple a game is, even games like asteroids has objects that can be divided by classes, such as states or behaviors.

2.

parent:
characters
consumables

child:
pacman
ghost
bits
powerup

class:
speed
movement
behavior
color

# data[].attributes.body
OOP yang fungsi umumnya adalah membantu mengorganisir kumpulan code yang rumit akan sangat berguna jika diimplementasikan di game programming yang biasanya memiliki algoritma yang panjang dan semakin lama semakin rumit.

Blueprint:
Parent:
Jenis, Speed, Sifat

Child:
Pacman, Blinky, Pinky, Inky, Clyde

# data[].attributes.body
Hubungan antara OOP dan Game Programming adalah OOP merupakan sebuah badan dari Game Programming, maka secara konsep, OOP dan Game Programming merupakan satu kesatuan yang mana OOP dan GP saling menopang untuk membentuk suatu game.

Movement direction and player behaviour, speed, score, color, object interaction (Food and power-ups), and acceleration sebagai object classnya

Pac-man dan ghosts nya sebagai child

# data[].attributes.body
OOP adalah salah satu teknik pemograman yang digunakan untuk mengatur sebuah kode pemograman. Dalam menggunakan OOP seorang programmer akan lebih mudah dalam memodifikasi kodenya karena, OOP mengorganisasikan kode-kode menjadi objects. Object tersebut menyimpan informasi-informasi berupa states dan behaviour.

Class:
- Movement
- Color
- Scoring
- Palette
- Speed
Inheritancenya:
Pacman, 5 ghost, paletter normal, pallete power up

# data[].attributes.body
Relasi adalah metode code dimana pada sebuah fungsi pada sebuah class bisa digunakan dan disesuaikan untuk class yang lain, jadi pemanggilan fungsi yang sama dapat berbeda-beda sesuai dengan yang diinginkan.

state
1. speed
2. movement
3. score
anakannya ada
1. Pacman (main character)
2. Ghost (enemy)

# data[].attributes.body
oop membantu mengorganisasikan program di dalam game agar lebih mudah di akses.

contoh dalam pacman memiliki ghost yang memiliki

-gerakan
-warna
-perilaku
-kecepatan

# data[].attributes.body
OOP membantu merapihkan kodingan dan juga dapat membantu menduplikasi objek dengan atribut yang berbeda.
Blueprint:
-character
-map
-powe-ups
-score/points
-live
Inherit:
-character
-movement
-score/points
-power-ups

# data[].attributes.body
Membuat program untuk lebih mudah di kembangkan dan lebih mudah untuk di mainkan. sehingga akan lebih mudah untuk menggunakannya untuk membuat game.
States :
- Color
- Score
- Name
- Speed
Behaviors :
- Movement
- Ghost

# data[].attributes.body
biasanya dalam pemograman game ada banyak object yang memiliki/ memakai stats yang sama dan memprosesnya dengan cara yang sama, dengan OOP, proses dan statsnya tersebut dalam di tulis sekali dan diturunkan kepada anak object lainnya.
- Class instance
speed, acceleration , faction(aliansinya) ,(state)

- Child
Pacman,Ghost Blinky,Ghost Pinky,Ghost Inky,Ghost Clyde

# data[].attributes.body
Membuat program lebih mudah untuk dikembangkan dan lebih mudah untuk di diurus, sehingga akan lebih mudah untuk menggunakannya dalam membuat game.

ghost
movement
direction
speed
color

# data[].attributes.body
Relasi yang dimiliki adalah metode coding yang dapat membantu dalam pembuatan kode di dalam game development, terutama pada organisir coding yang dibuat. Di dalam suatu game, tentu ada suatu "object", "state" dan "behaviour". Suatu game dapat memiliki berbagai object yang memiliki fungsi dan behavior nya sendiri.

Di dalam foto ini, dapat dilihat bahwa objectnya berupa para ghost "Blinky", "Pinky", "Inky" dan "Clyde", Pacman, dan dot yang ada di game. State di dalam game ini ada 2 bentuk, yaitu normal (dimana ghost kejar pemain) dan "eat" (saya kurang tahu namanya, tapi saat pemain dapat memakan ghost). Lalu, behaviour berupa algoritma mengejar / kabur,  movement player / ghost.

# data[].attributes.body
in game pretty much the progamming is based on the object in the game using oop which make the game more easy to access and modify in command.
pacman tersebut memilki parents:
-poin
-warna
-perilaku
state:
- bergerak
- memakan
- mode
- pacman
- ghost

# data[].attributes.body
Relasinya antara keduanya adalah OOP membantu merapihkan kodingan yang ada di video gamenya, seperti pacman misalnya dibuat kelas "Object" yang memiliki isi

1. Kecepatan

2. Warna

3. Mode (ketika pacman makan pil gede ghost berubah jadi mode takut dan pacman jadi bisa ngejar ghostnya)

4. Behaviour

Anaknya

1. PacMan (dengan warna kuning)

2. Shadow

3. Speedy

4. Bashful

5. Pokey

# data[].attributes.headline
Theofilus Gwedi Michael Stanza - 2440111573

# data[].attributes.subject
Theofilus Gwedi Michael Stanza - 2440111573

# data[].attributes.body
OOP adalah sebuah cara/ method untuk mengorganisir sebuah program

parent_characters:
speed
colour
name

behaviour:
chase
pattern movement
random movement
running

# data[].attributes.body
OOP helps organize some stuff which makes it easier to modify and keep some stuff, well the relation is there are states and behavior within objects.
states
-colors
-score
-character names
behaviors:
-moving
-idle
-chasing
-random

# data[].attributes.body
What is the relation between the concept of OOP and game programming?
what will be in the blueprint and what can be inherited based from game on the picture above?