Coder Social home page Coder Social logo

lp7c1dpbo2023's Introduction

Latihan 7 Praktikum DPBO

Janji

Bismillah Saya Muhammad Fahru Rozi [2108927] mengerjakan soal Latihan Praktikum 7 dalam mata kuliah Desain Pemrograman Berorientasi Objek untuk keberkahanNya maka saya tidak melakukan kecurangan seperti yang telah dispesifikasikan. Aamiin.

Data Diri

  • 2108927
  • Muhammad Fahru Rozi
  • Ilmu Komputer C1'21
  • Universitas Pendidikan Indonesia

Desain Program

Dari code program yang disediakan saya hanya menambahkan satu class yaitu Target.java untuk membuat sebuah kotak yang dijadikan target sehingga player bisa hit untuk mendapatkan score.

Penjelasan Alur

  1. Setiap Player bergerak, maka Score Move +1 dengan syarat movement sebelumnya tidak boleh sama dengan movement yang akan dilakukan. Contoh: kanan -> kanan +0 score karena bergerak ke arah yang sama berurutan. Dalam code program pada Controller.java saya membuat variable integer baru yaitu lastDirection untuk menyimpan tanda arah manakah yang menjadi pergerakan terkahir player. Untuk tanda nya saya set 1 = UP, 2 = LEFT, 3 = DOWN, 4 = RIGHT. Saya juga menambahkan handling jika key ditekan dan dihold maka Score Move akan tetap +1 dengan cara menambah variable boolean baru yaitu keyPressed, variable ini berfungsi sebagai tanda apakah key sudah released atau masih dalam keadaan pressed.
  2. Saya menambahkan class Target.java untuk membuat sebuah kotak yang dijadikan target sehingga player bisa hit target tersebut dan mendapatkan Score Hit. Tiap player menabrak/hit target tersebut maka Score Hit +5. Untuk code program nya saya membuatnya kurang lebih sama dengan class Player.java, tetapi karena ada object baru ini saya menyesuaikannya di beberapa file yaitu pada Game.java pada function constructor saya menambahkan untuk spawn Target dengan posisi random. Pada GameObject.java saya membuat function baru yaitu setRandomPos untuk generate random position yang digunakan pada object Target. Pada class Handler.java saya menambahkan function hit yang mengembalikan nilai boolean untuk mendeteksi apakah object Player melakukan hit/tabrakan pada object Target, function ini mengecek apakah posisi player dan target sama atau tidak. Saat Player bergerakan untuk melakukan hit/tabrakan pada Target, posisinya kadang tidak benar-benar sama jadi saya memberikan kondisi space perkiraan sekitar 20 an pada pengecekan titik kordinat kedua object tersebut. Ketika Player melakukan hit pada Target maka function akan mengembalikan nilai true sehingga di class Game.java saya membuat kondisi apabila terjadi hit tersebut Score Hit +5 dan function setRandomPos akan dipanggil untuk spawn object Target pada titik hasil random function tersebut.

Dokumentasi

Tugas.1.mp4
Tugas.2.mp4

lp7c1dpbo2023's People

Contributors

muhammadfahru avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.