CSC71001 Programming I Assignment 2 Sample Assignment

CSC71001 Programming I Assignment 2


Weighting: 15% of unit grading



Your task is to create a game in Greenfoot, with three types of elements: a PLAYER piece, controlled by the player; a FOOD piece that can be ‘caught’ by the player; and an ENEMY, that can ‘catch’ the player. If the enemy catches the player, then the game is over.

You must choose a theme for your game that is not crabs/worms and lobsters. All your elements should suit your theme, including the background and the actors. The movement of the actors should ‘make sense’ as per the theme of your game. We do not expect to see the same theme or game created by any two students – be original!


At the beginning of the game, there must be one PLAYER piece on the screen. The PLAYER must be controlled by the keyboard arrows, and at minimum must have left and right movement. That is, when the left arrow key on the keyboard is pressed, the PLAYER will move to the left. When the right arrow key is pressed, the PLAYER will move to the right.

There must be at least 10 FOOD pieces on the screen at the beginning of the game. Each FOOD piece must have random movement on the screen – that is, it must turn and move randomly, and must be able to be caught by the PLAYER. When the FOOD is caught by the PLAYER, it should be removed from the screen.

There must be at least one ENEMY on screen at the beginning of the game. Each ENEMY must have random movement on screen which is different than the food (cannot use the exact same code). If the ENEMY catches the player, the game should end.

You should include sound effects that will fit the theme of your game. These can be either in-built or created by you.

Additional Details:

You can choose to use the inbuilt media for backgrounds and actors OR you can choose to add your own (see Module 4 for how to do this), or some combination of the two. If you do add your own, make sure you use PNGs with transparency for your actors, and keep your filesize small.

General criteria: playability, accuracy, careful coding, maintainability of the code, commenting, choice of names for classes, methods (and variables if necessary).


You may like to add the following features, for extra credit:

  • Add turning left (letter “A” on keyboard) and turning right (letter “D” on keyboard) to the PLAYER piece;
  • Add move up (up arrow on keyboard) and move down (down arrow on keyboard) to the PLAYER piece;
  • Add animation when the PLAYER is moving;
  • Add animation when the FOOD is moving;
  • Add animation when the ENEMY is moving;
  • You can also add your own enhancements, but if you do, you must include a text file in your submission, that explains those enhancements.

Please name your fileappropriately, e.g. cseton10_Ass2.jar and cseton10_Ass2.gfar

Getting Help

Who can you get help from? Use this diagram to determine from whom you may seek help with your program.



Online Forums


Students outside unit

Hired coders


Private Tutors


Encouraged Attribution Required Ask tutor Not acceptable

This assignment, which is to be completed individually, is your chance to gain an understanding of the fundamental concepts of object-oriented programming and coding syntax on which later learning will be based. It is important that you master these concepts yourself.

Since you are mastering fundamental skills, you are permitted to work from the examples in the study guide or textbook, but you must acknowledge assistance from other textbooks or classmates. In particular, you must not use online material or help from others, as this would prevent you from mastering these concepts.