Ask Question, Ask an Expert

+61-413 786 465

info@mywordsolution.com

Ask Programming Language Expert

Project 1 Requirements

 

This project requires you to program a maze-type game using Assembly Language. It is not acceptable to use any other programming language for this project. The purpose of the game will be to move a player's avatar through a simple maze using the keyboard. The following are the requirements for the game:

 

1.     Game Elements

 

  • A Player
  • A Maze
  • A Score
  • A Timer

 

2.     User Input

 

  1. The user uses the "w,a,s,d" keys to move his avatar up, left, down, and right respectively. Alternately, the ARROW KEYS may be used
  2. The user must NOT be required to press ENTER (or any other key) after the above mentioned keys in order to move
  3. Note- This means you should use the "ReadKey" routine with no timeout inside of  the game loop in order to determine if the user wishes to move
  4. If the screen "flashes" between player moves (or at any time), points will be deducted. This means that you should not clear the screen before drawing anything between moves.

 

3.     The Maze


1.  The maze must be, at a minimum, 20x20 "cells". Each cell is one text character on the screen.
2.  In response to each keyboard input, the avatar will attempt to move one "cell" in the appropriate direction (except as noted below regarding "walls")
3.  Each cell must contain exactly one of the following:

 

  • "Wall"- the avatar may NOT move into this cell in response to user input

 

  1. Must be denoted with a hash sign "#"

 

  • "Empty"- The avatar may move into this cell with no other effects

 

  1. Must be denoted by a space- no character present in this cell

 

  • "Prize"- The avatar may move into this cell. If it does, the SCORE of the player will increase by 25 points

 

  1. Must be denoted by a "P"
  2. There must be AT LEAST 5 prizes in the maze
  3. For possible extra points, add a variety of prizes in the game, whereby each prize type awards a different number of 
    points. If this option is chosen, use a symbol(s) besides the hash for the alternate prizes.
  4. Once a prize is "collected", it is removed from the maze

 

  • "Exit" - When the avatar reaches this cell, the game is over and the score is final

 

  1. Must be denoted by an "X"
  2. There must be exactly one Exit in the maze

 

  • "Avatar" - One cell will contain the current position of the player's avatar. Obviously, the location of this cell will change as the player moves the avatar around in the maze using the keyboard.

 

  1. Must be denoted by an asterisk "*"
  2. There must be a starting position for the Avatar within the maze.

 

4.     While encoding the maze within the program itself is an option, extra points may be awarded if the program reads the maze from an input file instead.

 

5.     For extra points, use different colors to denote walls, prizes, the Exit, and the player's avatar.

 

4.     Timer

 

  1. There must be a timer present in the game. The timer is meant to determine how long it takes the player to get from the starting point to the exit of the maze. The timer shall denote the number of seconds elapsed before the exit is reached.
  2. The timer's current value must be refreshed on the game screen roughly every second.

 

5.     Score

 

  1. The player's score shall be initialized to 100.
  2. For every second elapsed (using the Timer), the score is DECREASED by 1.
  3. For every prize that is "collected", the score is INCREASED by 25 (or by a variable amount, if variable prizes are implemented)
  4. When the player's avatar reaches the maze exit, the score is final and the timer stops.
  5. The score must be refreshed on the game screen every time it changes (due to a prize collection, the timer increasing, etc)
  6. Extra points may be awarded if a "high score" is maintained persistently (using a file) across game sessions.

 

  • Further extra points may be awarded if a player's name is associated with a high score
  • Further extra points may be awarded if the TOP 10 scores (instead of the "highest score") is maintained
  • Any extra points are contingent on the high score(s) being displayed to the player either on the game screen itself, or both before and after the game is played.

 

6.     Deliverables

 

  1. A playable game satisfying the conditions above.
  2. Completely commented assembly language source code for the game.
  3. A 1-page narrative identifying the role that assembly language plays and the specific benefits of using it in video game development.
  4. Any supporting files, as necessary, such as possibly a high-score file, a maze file, etc.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M9717287

Have any Question?


Related Questions in Programming Language

Assignment - haskell program for regular expression

Assignment - Haskell Program for Regular Expression Matching Your assignment is to modify the slowgrep.hs Haskell program presented in class and the online notes, according to the instructions below. You may carry out th ...

Extend the adworks applicationi add dialogs to allow the

Extend the AdWorks application I. Add Dialogs to allow the user to Add, Edit, Read and Delete a Customer and refresh the view accordingly. 1. The user should be able to select a specific customer from the DataGrid and cl ...

Assignmentquestion onegiving the following code snippet

Assignment Question One Giving the following code snippet. What kind of errors you will get and how can you correct it. A. public class HelloJava { public static void main(String args[]) { int x=10; int y=2; System.out.p ...

Assignment - proposal literature review research method1

Assignment - Proposal, Literature Review, Research Method 1. Abstract - Summary of the knowledge gap: problems of the existing research - Aim of the research, summary of what this project is to achieve - Summary of the a ...

Question - create a microsoft word macro using vba visual

Question - Create a Microsoft Word macro using VBA (Visual Basic for Applications). Name the macro "highlight." The macro should highlight every third line of text in a document. (Imagine creating highlighting that will ...

Task silly name testeroverviewcontrol flow allows us to

Task: Silly Name Tester Overview Control flow allows us to alter the order in which our programs execute. Building on our knowledge of variables, we can now use control flow to create programs that perform more than just ...

Task arrays and structsoverviewin this task you will

Task: Arrays and Structs Overview In this task you will continue to work on the knight database to help Camelot keep track of all of their knights. We can now add a kingdom struct to help work with and manage all of the ...

Assignment task -q1 a the fibonacci numbers are the numbers

Assignment Task - Q1. (a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Question 1 what is a computer program what is structured

Question: 1. What is a Computer program? What is structured programming? 2. What is modular programming? Why we use it? 3. Please evaluate Sin (x) by infinite series. Then write an algorithm to implement it with up to th ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As