INT2067/INT5051 Introduction

Assignment 2 INT2067/INT5051 Introduction to Programming and Problem Solving2024-2025 Semester 2

Due Date: March 16, 2025 (Sunday)

1 Introduction

In this assignment, you need to implement a text-based game based on the riddle about afarmer who needs to cross a river with a fox, a goose, and a sack of corn.

2 Riddle

A farmer with a fox, a goose, and a sack of corn needs to cross a river. The farmer has arowboat, but there is room for only the farmer and one of her three items. Unfortunately,both the fox and the goose are hungry. The fox cannot be left alone with the goose, or thfox will eat the goose. Likewise, the goose cannot be left alone with the sack of corn, orthe goose will eat the corn. How does the farmer get everything across the river?

3 Game

In your text-based game, the farmer can move at most one item to the other shore eachtime. You should ask the user to enter a command to determine what item the farmerwants to take at each turn. The game ends when the user quits the game or when the userhas succeeded or failed.

4 Basic Design

You may follow the following basic flow in your program:

  • Show item locations.
  • Repeat:
  1. 1) Ask for the next command.
  2. 2) Update item locations if necessary.
  3. 3) Show item locations.
  4. 4) Exit the loop if the game has succeeded or failed.You may need to add other steps and/or flows to fulfill all the requirements.5 Requirement (70%Your program should do the following:
  • [5%] Print the goal of the game at the start.
  • [10%] Ask the user to enter a command at each turn, and continue until the user

requests to quit or the goal has succeeded or 代写INT2067/INT5051 Introductionfailed.• [10%] Show the location of the boat and the three items (fox, goose, corn) clearlyat the start of the game and after each turn. You may follow the output in thesample sections.

  • Accept the following five one-character strings as valid commands: f, g, c, m or
  1. After receiving a valid command, the game should:

o [10%] f, g or c: move the fox, goose, or corn, if available, to the oppositshore along with the boat.o [5%] m: move the boat to the opposite shore without any item.o [5%] q: quite the game.

[10%] Check whether the requested item is on the same shore as the boat when

the game receives the command f, g or c. If not, it should prompt an error andallow the user to enter a command again.

  • [10%] Check whether the game has succeeded or failed after each turn. The game

has succeeded if all items have been moved to the far shore. The game has failed

if the fox has eaten the goose or the goose has eaten the corn. When the game has

succeeded, it should congratulate the user. When the game has failed, it should

tell the user why.

  • [5%] Show an error if the user has entered an unrecognized command character(i.e., a string other than ‘f’, ‘g’, ‘c’, ‘m’ or ‘q’)6 Program Design and User Interface (30%)
  • [10%] You should break down your program into functions with reasonable

length.[10%] You should use functions and/or data structures to reduce redundancy.

  • [10%] The output should be neat and the required information should be shownclearly. The text in the output should be correct and contains no spelling mistakes.7 Submission Requirements

Your Python file should be named as assignment2.py. Submit only the Python file

assignment2.py through Moodle. Failure to submit the file properly will result in a

penalty of 5 to 10 marks.

See Moodle for the exact time of the deadline for submission. Late submission is will

induce penalty.8 Hints

Please check the discussions forum on Moodle regularly for any hints.9 Plagiarism PolicyThe assignment should be done only by yourself. Every line of code should be written byou. The use of any artificial intelligence (AI) tools is NOT allowed in this assignment.

Discussions on the assignment should be kept at a high-level only. You are suggested torefer your classmates to the relevant notes or lab exercises if you want to help them.You need to put down a declaration for having not used AI tools ascomment at the

beginning of your program file. For example, your declaration may look like this:# Declaration: this code is my own individual and original work without AI assistantIf you have used AI tools or consulted the assignment with anyone, youshould provide

an acknowledgment as comment at the beginning of your program file. Give the nameof all classmates that you have turned to. For example, your acknowledgement may looklike:

# Acknowledgement: I have asked Thomas, Gordon, and Emily for help.# Acknowledgement: I have used AI tools (such as ChatGPT, gpt4o via POE, etc.) in

working on this assignment.If plagiarism is found, both the copier and originator will get zero mark for the assignment.

Repeat offenders may result in a deduction of the course grade.10 Sample Input & Output 1

Welcome

You have to bring the fox, the goose, and the corn across the river.

posted @ 2025-03-08 19:58  皮又皮  阅读(23)  评论(0)    收藏  举报