Program a maze-type game using assembly language

Assignment Help Assembly Language
Reference no: EM1382017

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 - Must be denoted with a hash sign "#"
  • "Empty"- The avatar may move into this cell with no other effects - 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 Must be denoted by a "P" and There must be AT LEAST 5 prizes in the maze, 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 and once a prize is "collected", it is removed from the maze

           4. "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

        5. "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.

                  1. Further extra points may be awarded if a player's name is associated with a high score
                  2. Further extra points may be awarded if the TOP 10 scores (instead of the "highest score") is maintained
                  3. 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: EM1382017

Questions Cloud

Response about plato republic : This has to be at least a 1500 character response about Plato's Republic. My teacher is using TurnItIn. I need to know what is meant in the book when justice is defined as doing good to friends and bad to enemies.
Compute time to read whole disk if read head is-first sector : If entire disk was full of data stored consecutively, how much time would it take to read whole disk if read/write head is already positioned on first sector of first track of first cylinder of the disk?
Human services ethical standards : Please help me answer this question adolescent brain in Feldman, describe how you can aid teenagers and adults get through these adolescent years without the risk of long term affects of poor choices. It need to be 400 words.
How can i prevent unauthorized access to customer data : How can I prevent unauthorized access to my customer database or website? What should I do to assure my customers that my eCommerce site is safe to do business with?
Program a maze-type game using assembly language : 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. T
Kohlbergs moral reasoning : What moral compass do you use: Kohlbergs Moral Reasoning, a professional Code of Ethics, or Gods word? What is your trump card?
Deficiency in polemarchus as a human : What is meant by Polemarchus when he says "justice is doing good to friends and harm from enemies"? Could you give me an in depth explanation of this quote? What is deficient in Polemarchus as a human?
What is the best approach for an order taking system : What is the best approach for me to take in creating or implementing an order taking system and how do I deal with Privacy issues?
Achievement gap of african american males : Post a concise synopsis of the qualitative studies you've found at least four Scholarly articles. For each entry, provide the full APA citation

Reviews

Write a Review

 

Assembly Language Questions & Answers

  Greatest common divisor of integers-masm assembly language

Must be done in MASM assembly language: Greatest common divisor of two integers is largest integer which will evenly divide both integers. GCD algorithm involves integer division in a loop.

  Create simple 8-bit alu using add-subtract-shift functions

Create a simple 8-bit ALU. Requirements:The eight functions that you will implement are: add, subtract, and, or, shift left logical, less than, shift right logical.

  Create a assembly language subroutine

Create a assembly language subroutine MULSUM that takes an array named A containing n bytes of positive numbers, and fills two arrays, array B containing n words and array C containing n long words

  Write assembly program print binary representation-integers

Write the assembly program called hw6_ex1, stored in file hw6_ex1.asm. This program must prompt user to enter signed 32-bit integer. Program must print out binary representation of the integer.

  Allot op-codes and add microcode to microprogram

Allot op-codes and add microcode to microprogram of Mic-1 to implement following instructions which are then included with IJVM instruction set.

  Write assembly program-find right admission price to movie

Write the Assembly program to find correct admission price to movie. Price of admission to a movie is $7 for kids (under 12) and $9 for adults.

  Design a simple digital clock

Design a simple digital clock

  Write mips assembly program to read two non-negative numbers

Write MIPS assembly program to repeatedly read two non-negative integers and print integer product and quotient without using multiplication and division instructions.

  Write an assembly program

Prepare an Assembly program that reads in a number of cents.

  Write an assembly language program

Write an assembly language program for encrypting alphabates of a string

  Write a function in linux assembly

Write a function in Linux assembly

  Analog measurements

Prepare an assembly program for the correctly measures the wind direction

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