Program a maze-type game using assembly language

Assignment Help Programming Languages
Reference no: EM131603

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.

Reference no: EM131603

Questions Cloud

Design and fir filter in matlab : What does the pole-zero diagram tells you about the filter
Evaluate the net present value : Evaluate the net present value (NPV) and internal rate of return (IRR) of the Apex expansion project.
Application to computer science : Find the matrices that represent the relations.
Write a research report on design of a cisco router : Systems research and investigate novel ideas and applications.
Program a maze-type game using assembly language : 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
Electricity and circuit theory : Assessment on Electricity and Circuit Theory,  What part of a cable are insulators and conductors? Describe, in terms of charged particles, why some objects are electrically attracted to each other, while others repel each other?
Depict von neumann-morgenstern utility index u in a diagram : Depict the von Neumann-Morgenstern utility index u in a diagram
Develop a gui based java program : Designing and developing a College Registration program
Write an assembly program : Prepare an Assembly program that reads in a number of cents.

Reviews

Write a Review

 

Programming Languages Questions & Answers

  Write a program that uses the curve class hierarchy

Write a program that uses the curve class hierarchy. The program should define several different objects, output their area, circumference, etc. It should also use the printcurve function.

  Write the code required to analyse and display

Engineer for a materials manufacturing research lab and have been asked to provide an automated solution to analyse data.

  Technical project: sample website project

Technical Project: Sample Website Project , This assignment consists of three (3) sections: a narrative, a storyboard, and a business Website. You must submit all three (3) sections for the completion of this assignment.

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Write a paper on memory management

Write a paper on Memory Management

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

  Ethics and social responsibility

Ethics and social responsibility at McDonalds

  Design a class-based solution to a problem

To design a class-based solution to a problem using multiple data structures.

  Discussion: html/css

Discussion: HTML/CSS,  "JavaScript Placement"  Please respond to the following: Compare and contrast the process of adding JavaScript and a Cascading Style Sheet to a Website. Determine if they can be used simultaneously in a page. If so, explain wh..

  Programming problem

Programming Problem can be solved by a program that performs three basic tasks-Input Data, Process Data, and Output Results.

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Writing a class

Build a class for a type called Fraction

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd