lamndl / I2223_INT2204_45_Group7_Bomberman

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

I2223_INT2204_45_Group7_Bomberman

About the project:

This game is made for the INT2204_45 course, based on the historical game Bomberman in the '90s. We added new changes, interfaces, and features:

Gameplay:

You will control a character called "Bomber", and use UP/DOWN/LEFT/RIGHT to move and SPACE to place a bomb (by default). Your target is killed all the enemies and finds a portal that leads you to a higher level.

This version will have two modes: Campaign and endless.

  • Campaign: You are recommended to start at level 1, kill the enemies and gradually jump to a higher level. The score will be recorded.
  • Endless: You will have to fight until be killed or lack interest in continuing. There's no "in-game pause" for you. Surviving time will be recorded.

Interface:

We use FXML, a little bit of CSS, and JavaFX to make scenes and set up the interactions.

Features:

There're some features, including but not at all:

Account system: Player can create his account to play and compare statistics in the leaderboard. Account username and password also can be changed. Note that it's required to log in before playing.

AI of Bomber: Bomber now can automatically move, place bombs, and avoid enemies. Most of the time, Bomber can win by itself.

Map random: You will see that sometimes enemies and bricks spawn differently in the same game. It's not a bug.

How to install and play:

This is made mainly for IntelliJ. If you use other IDEs (eg. Eclipse), you can figure it out on your own.

Step 1: Clone the "master" branch of this git and open using IntelliJ. You can use the following command:

      git clone https://github.com/lamndl/I2223_INT2204_45_Group7_Bomberman.git

Step 2: Compile and run by pressing SHIFT+F10 (There's also a button on the left top of IntelliJ)

Contributor:

Mostly shown inside the "Credit" scene of this game. Please note that the team worked hard and supported each other throughout the development process. It's nearly impossible to "linear separate" the roles of each member.

About


Languages

Language:Java 99.1%Language:CSS 0.9%