C++代写:FIT2049 Simple Game Implementation

Introduction

代写一个比较炫酷的3D的游戏,本质上其实还是在2D上的Grid运算,只不过GUI方面提供了3D的渲染引擎。

The Task:

For your first assignment you’ll be implementing a simple colour matching game inspired by the Bejeweled series and creatively titled “Colour Match”. The game revolves around finding groups of the same colour on a 3D grid of cubes. The basic gameplay is as follows:

  • When the game starts a grid of random colours will appear on screen.
  • In a separate section of the screen, the player will be shown a random colour – this is known as the “Next Colour”.
  • Using the arrow keys, the player will select one of the cubes on the grid and when they press the spacebar key, the colour of the selected cube will change to match the “Next Colour”.
  • If the change in colour causes three or more cubes of the same colour to be “connected”, those cubes are removed from the screen and the player’s score is increased (the amount of score increase is up to you, but they should get bigger scores for matching larger amounts of cubes).
  • After the matched cubes are removed, cubes above them on the grid should move down to fill their place (there should never be any holes in the board). New cubes should also appear along the top of the board to fill the place of any cubes which fell down to a lower row.
  • After the cubes are removed, the “Next Colour” is randomised again and the player can pick another cube to replace.

When the game ends, a game over screen should be displayed which tells the player their final score. A quit and a restart button should also be present on this screen.
The end condition of the game is controlled by two things:

  • If a move doesn’t result in a match of three or more connected cubes, a life is lost. After losing three lives, the game ends.
  • A move counter should also be included which limits the amount of allowed moves per game. The player should be able to see the amount of moves remaining somewhere in the UI.

To spice up the gameplay, a special Power Cube should be included, as outlined below:

  • When the player selects a cube on the grid and activates the power cube with the P key, every cube on the grid that matches the selected colour should be removed from the board.
  • The score rewarded should be based on the amount of cubes that were removed.
  • The power cube is available from the start of the game and can only be used once - use it wisely!

Defining “Connected”

There are a few options for what we consider “connected” to mean. You can attempt one of the three options presented below depending on the grade you’re targeting.

  1. To receive a pass for the criterion “Are matching cubes correctly identified?”, you should look for matching colours in the immediate four neighbors. In the below images, the dark grey tile is the selected cell for the current turn, and the light grey are matching colours which should be removed.
  2. To receive a medium grade, you should look for lines of the same colour originating from the selected cell on any of its four sides.
  3. To be eligible for full marks, you should keep stepping through neighbours and find chunks of the same colour.

Provided Assets

Provided inside the Assignment 1 Assets file on Moodle are all the assets you’ll need to create the game. The cubes have a width and length of one unit allowing for easier placement. It is recommended you build your solution off the Week 3 Base Code (while waiting for that code to be released, you should spend week two thinking about your solution).
Please note that while additional assets may be included, they won’t be considered when marking.
Only your C++ code and the quality of your gameplay will be assessed (we’re not marking your modelling skills).