1. Homepage
  2. Programming
  3. COMP1110 Structured Programming Assignment 2: Race to the Raft

COMP1110 Structured Programming Assignment 2: Race to the Raft

Engage in a Conversation
ANUCOMP1110Structured ProgrammingJavaCOMP6710

COMP1110 Assignment 2

Purpose

In this assignment you will work as a group to master a number of major themes of this course, including software design and implementation, group work, using development tools such as Git and IntelliJ, and using JavaFX to build a user interface. Above all, this assignment will emphasize group work; while you will receive an individual mark for your work based on your contributions to the assignment, you can only succeed if all members contribute to your group's success. CourseNana.COM

Assignment Deliverables

The assignment is worth 35% of your total assessment, and it will be marked out of 35. So each mark in the assignment corresponds to a mark in your final assessment for the course. Note that for some stages of the assignment you will get a group mark, and for others you will be individually marked. The mark breakdown and the due dates are described on the deliverables page. CourseNana.COM

Your work will be marked via your tutor accessing git, so it is essential that you carefully follow instructions for setting up and maintaining your group repository. At each deadline you will be marked according to whatever is pushed to your repository at the time of the deadline. You will also be assessed on how effectively you use git as a development tool. CourseNana.COM

Problem Description - Race to the Raft

Race to the Raft is a game in which one to four players cooperate to manoeuvre a clowder of cats off a burning island and onto a raft. The Isle of Cats, which used to be a safe haven for felines far and wide, has fallen to the armies of the evil Lord Vesh. Now, the island is burning, and all the cats that remain must race to the safety of the raft. CourseNana.COM

Each player will build pathways for each cat to traverse. However, time is of the essence, as the cats cannot be trapped by the fire that is engulfing the island. CourseNana.COM

The game is won if every cat has made it safely to the raft. But, if even one cat is unable to reach the raft, or the entire island is on fire before the cats escape, the game is over! CourseNana.COM

Important note: We will be building a modified, solo variant of the game. The rules we are using are slightly different to those printed in the official game rulebook. The rules of the game outlined in this document take precedence over the rules of the actual game. Read this page carefully and ask on the course forum if you have any questions. CourseNana.COM

Challenges

Race to the Raft comes with pre-defined challenges which define the layout of the island, the starting location of each cat, the location of the raft, and the extent to which the fire has already consumed the island. CourseNana.COM

Below is an example challenge setup: CourseNana.COM

CourseNana.COM

Playing Race to the Raft

There are three steps to each round in Race to the Raft: CourseNana.COM

  1. Draw pathway cards; CourseNana.COM

  2. Play or discard pathway cards to make pathways or move cats; and CourseNana.COM

  3. Rest. CourseNana.COM

There is no fixed number of rounds in this game: the game continues until you win or lose. CourseNana.COM

Step 1: Drawing Pathway Cards

The player draws six pathway cards from among the four decks. The player can draw these cards in any combination, from any decks they wish. However, you are not allowed to look at the cards you have drawn until you have drawn all six cards. CourseNana.COM

Decks are not replaced in this game. If a deck has no cards, you can no longer draw from that deck. The game is lost if a player is unable to draw a card because all decks are empty. CourseNana.COM

Step 2: Playing Pathway Cards

The player plays cards to move cats, or create paths to the island. All cards in their hand must be played before the next step. CourseNana.COM

Action: Add Pathway

A player can place one pathway card from their hand onto the island. This placement must be consistent with the placement rules. CourseNana.COM

Afterwards, the player places a random fire tile on the island, also following the placement rules. CourseNana.COM

Placing Cards and Fire Tiles

  • Pathway cards and fire tiles cannot have any of their squares hanging off the edge of the island. CourseNana.COM

  • The squares of pathway cards and fire tiles must line up with the squares of the island. CourseNana.COM

  • Pathway cards and fire tiles can be rotated in any orientation. Fire tiles can also be flipped, both horizontally and vertically. CourseNana.COM

  • Pathway cards and fire tiles can fully or partially overlap other pathway cards. CourseNana.COM

  • Pathway cards and fire tiles cannot overlap any squares with fire or any square belonging to a raft card. CourseNana.COM

  • Pathway cards and fire tiles cannot overlap any squares with cats on them. CourseNana.COM

  • Pathway cards and fire tiles cannot be placed under other pathway cards or fire tiles. CourseNana.COM

  • Fire tiles must be placed next to existing fire. That is, at least one square of a fire tile being placed must touch at least one square of existing fire. Note that diagonals are not considered adjacent. CourseNana.COM

  • Pathway cards do not have any adjacency requirements like fire tiles. CourseNana.COM

Action: Move a Cat

To move a cat: CourseNana.COM

  1. Discard one card from your hand, or two cards if the cat is exhausted. Discarded cards are removed from the game, so we do not track the discard pile. CourseNana.COM

  2. Move the cat along any number of orthogonally adjacent* squares of the same colour as the cat. CourseNana.COM

  3. When you have finished moving the cat, the cat becomes exhausted for the rest of this round. If the cat was already exhausted, it remains exhausted. CourseNana.COM

Cats can move through squares occupied by other cats, but no two cats can occupy the same square. CourseNana.COM

*Given a square s, its orthogonally adjacent squares are the squares next to s and not diagonally adjacent to s. CourseNana.COM

Step 3: Resting

All cards must be played from the player's hand. Once all cards have been played, any exhausted cats are no longer exhausted and the player starts a new round, returning to Step 1. CourseNana.COM

End of Game

Winning

You win if all the cats are on the raft card. CourseNana.COM

Losing

There are several ways that the game can be lost: CourseNana.COM

  • If a player cannot place a fire tile on the island in a valid way according to the game rules; CourseNana.COM

  • If there is no way for a cat to reach the raft; CourseNana.COM

  • If a there are no more fire tiles remaining AND the player is required to draw one; or CourseNana.COM

  • If there are no more pathway cards in any of the decks AND the player is required to draw a card. CourseNana.COM

Component information

Islands

The island is made up of several connected island boards, which have dimensions of either 9 x 6 or 9 x 9 squares. The layout of the island will depend on the challenge that is being completed. Each island board can optionally have a strip of fire along one of its edges (for the 9 x 6 island boards, this is always along the shorter edge). CourseNana.COM

Island boards are chosen randomly, and rotated randomly, so long as they match the specifications of the challenge. These specifications are: CourseNana.COM

  1. The island boards are rotated correctly to form the correctly sized board; and CourseNana.COM

  2. Any strips of fire that are stipulated in the challenge are reflected in the board setup. CourseNana.COM

Cat Location Cards

Cat Location cards, with dimensions of 3 x 3 squares, denote the starting location of each cat to be used in a given challenge. Each location card can be identified by its numerical ID. At the start of the game, a cat must be placed on each square with a cat icon such that the colour of the cat and the square match. CourseNana.COM

CourseNana.COM

Pathway Cards

Each pathway card has dimensions of 3 x 3 squares, and contains a mixture of red, blue, green, yellow, and purple squares. CourseNana.COM

There are four different decks of pathway cards: the cross deck, the square deck, the circle deck, and the triangle deck. Each deck has a different distribution of squares. For example, 35% of the squares in the circle deck are red, 32% are blue, 17% are yellow, 16% are green, and 0% are purple. If a player were looking for a pathway card with multiple red squares, it would be a good idea to take a pathway card from the circle deck. However, if a player were looking for a pathway card with purple squares, they would not get such a pathway card from the circle deck. CourseNana.COM

CourseNana.COM

Fire Tiles

Fire tiles are Tetris-shaped blocks of fire, which are placed on the board throughout the duration of the game. CourseNana.COM

CourseNana.COM

Raft Cards

Observe raft card A: CourseNana.COM

CourseNana.COM

Because there are no cat icons on this raft card, any cat can move onto the raft from any orthogonal direction (north, south, east, or west). A cat may not be moved again after it has arrived at one of the eight outer squares of the raft. CourseNana.COM

Let's compare raft card A with raft card B: CourseNana.COM

CourseNana.COM

This raft card has specific colours surrounding the raft. A cat may only end on the raft on the coloured square matching its own colour. The three squares in the bottom right corner of this card that do not have a cat image on them are wild spaces. A cat of any colour may end on these spaces, like in raft card A above. CourseNana.COM

Evaluation Criteria

A detailed breakdown of the marking criteria for each of the deliverables is given on the deliverables page of the course web site. CourseNana.COM

It is essential that you refer to the deliverables page to understand each of the deadlines and what is required. All submitted material be in your team's git repo, and in the correct locations, as prescribed by the deliverables page, by each deadline. We will only mark what is in your team's repo; anything else that you have done but not committed or pushed before the deadline will not count. Some parts of your assignment will be marked via tests run through git's continuous integration (CI) framework. CourseNana.COM

String Representation

In order for us to provide unit tests for some of the tasks, and thus to give you an indication of whether you have correctly solved them, we require a consistent representation of game state shared across all groups. This is done by providing a String representation of the state of the game at any given point. The String representation is only for testing purposes, and should not be the basis of your solution to the assignment. We expect you to create your own object-oriented representation of the game state, write constructors for your classes that create instances from the information in the game Strings, and to use your own objects in your implementation of the other tasks. An implementation that solves the (unit-testable) tasks by manipulating only the String representation will not be eligible for full marks, even if the tasks are solved correctly. For more guidance on this point, see the section of the FAQ below titled "What does 'appropriate use of object-oriented features' mean?". CourseNana.COM

Because you will be asked to convert from these Strings into your own state representation, and from your own objects into these Strings to return answers to unit tests, it's worth spending some time going over how they represent the game. CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
ANU代写,COMP1110代写,Structured Programming代写,Java代写,COMP6710代写,ANU代编,COMP1110代编,Structured Programming代编,Java代编,COMP6710代编,ANU代考,COMP1110代考,Structured Programming代考,Java代考,COMP6710代考,ANUhelp,COMP1110help,Structured Programminghelp,Javahelp,COMP6710help,ANU作业代写,COMP1110作业代写,Structured Programming作业代写,Java作业代写,COMP6710作业代写,ANU编程代写,COMP1110编程代写,Structured Programming编程代写,Java编程代写,COMP6710编程代写,ANUprogramming help,COMP1110programming help,Structured Programmingprogramming help,Javaprogramming help,COMP6710programming help,ANUassignment help,COMP1110assignment help,Structured Programmingassignment help,Javaassignment help,COMP6710assignment help,ANUsolution,COMP1110solution,Structured Programmingsolution,Javasolution,COMP6710solution,