Giter VIP home page Giter VIP logo

oop_project's Introduction

Logo

Contributors Forks Stargazers Issues

This repository is home to an exciting Object-Oriented Programming (OOP) project, the classic game, Chicken Invaders, using Java.

Table of Contents

  1. Introduction
  2. Tool Used
  3. Features
  4. Challenges
  5. Acknowledgments
  6. References

Introduction

Team Members

Order Name ID Email Github account Facebook
1 Nguyen Hong Son ITDSIU21117 [email protected] Son-SDT Son Son
2 Nguyen Nhat Khiem ITDSIU21091 [email protected] Khim3 Khiem Nguyen
3 Nguyen Tri Tin ITDSIU21123 [email protected] MicroGix Tin Nguyen
4 Le Thi Thuy Nga ITDSIU21024 [email protected] Schrrodinger Thuy Nga

Installation

Prerequisites: Make sure that the following dependencies are installed on your machine:

  • Git
  • Java JDK 21
  • JavaFX21

Install Game: Navigate to your local game directory and add necessary packages (set up JDK and JavaFX)

Motivation

We are working with this game as our project lab of Object Oriented Programming is a 4-credit course. During our investigation into how to create 2D games with Java, we remembered the Chicken Invaders game which was popular in our childhood.

Task Allocation

Order Task Person Contribution (%)
1 Set up controllers, set up SFX, tester, prepare presentation slide Hong Son 25
2 Develop first version, build entities, create UML, prepare report Nhat Khiem 25
3 GitHub repository host, design UI, design game mechanic, prepare report Tri Tin 25
4 Develop first version, design UI, create UML, prepare report Thuy Nga 25

Specifications

  • JDK 21
  • Javafx
  • Scene Builder
  • Aesprite
  • Apache Maven

Features

  • Tutorials:

    • Try to survive as long as you can and eliminate chickens to get the highest score
    • You only have 3 lives to sustain throughout the entirety of the game
    • For each chicken get destroyed you will earn 2 points, however, if one of them get passed, you will lose 4 points. You lose the game when either your score is 0 or you lost all 3 lives
    • When reaching to certain points, your bullet will level up with bigger and faster bullet
    • Use mouse to move; A, S or Mouse click to shoot
  • General:

    • START: start the game
    • TUTORIAL: introduce instructions on how to play the game
    • CREDITS: introduce the authors and developers who made this game
    • EXIT: exit the game
  • Design My Image My Image

  • UML My Image

Challenges

  • Working with Existing Code: It was difficult to understand and develop for the existing codebase, sometimes it was hard to develop new features as all classes and packages are fixed
  • Balancing Difficulty: Finding the right balance to make the game challenging but not too hard for gamers was a tough task.
  • Using JavaFX Framework: As we were not familiar with the JavaFX framework, it was challenging to use it effectively.

Acknowledgments

  • We would like to extend our heartfelt gratitude to everyone who contributed to the success of our OOP game project. This journey has been incredibly rewarding, and it wouldn’t have been possible without the contribution of each member.
  • We’re grateful for the feedback and suggestions from our friends. Their insights have significantly improved the game experience. Thank you to our beta testers who volunteered their time to help us refine our game.

Important

This project utilizes several open-source tools, OpenAI, and libraries, and we extend our gratitude to the developers and maintainers of these resources. Your work has been vital in bringing our game to life.

References

(Back to top)

oop_project's People

Contributors

khim3 avatar ov3ipo avatar schrrodinger avatar son-sdt avatar

Watchers

 avatar

Forkers

khim3

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.