Robot factory game, Programming Languages

Assignment Help:

A deterministic finite automaton (DFA) is an abstract machine that reads input from a serial (nonreversible) stream and changes between a finite number of  states according to the current state and the current input.  When the input stream is exhausted the final state of the machine is used to draw some general conclusion about the input string.  There is usually one state that indicates the input string was accepted (according to some criterion), and any other final state may indicate that the string was rejected.  In Computer Science these concepts are applied in areas such as determining whether some input meets the grammar rules of a programming language.  When a DFA is enhanced with the ability to move backwards and forwards over the stream and to overwrite the input symbols with output symbols it is called a standard Turing machine, which provides an important theoretical model for what it means to "compute."  Turing machines appear prominently in decidability theory, which is the study of problems that can and cannot be solved with computers.  I hope you are aware that there are fairly straightforward problems that can be proven to be unsolvable by computers.  Some of these proofs are surprisingly simple as long as you think recursively.  If you were not aware of this, I encourage you to do some reading about the Halting Problem.

Your course project is to create a puzzle-solving game that provides animation of deterministic finite automata.  I call this game Robot Factory, and it is modeled after an online Flash game called Manufactoria which in turn was inspired by Zachtronic's Games for Engineers.  The general idea is that Robots emerge from a source tunnel and follow conveyor belts that are placed by the player.  Each Robot carries a sequential  tape containing red  and blue marks.  When the Robot encounters a switch (also placed by the player), it moves in one of  three directions depending on whether the current mark is red, blue, or the tape has reached the end.  After taking one of those directions, the tape is advanced one position to the next mark.  Each Robot (and tape) represents a test case for a particular Goal that is stated in a message bar just under the Menu Bar. The Goal states conditions under which the Robot should be accepted by moving it to a sink tunnel. A Robot is rejected by directing it onto any blank cell on the game board. Goals are expressed in terms of features of the tape, such as "contains at least two consecutive reds, followed by one and only one blue."  The Goal statements, test tapes, and outcomes will be expressed in text files that are loaded from the File menu.

Following are detailed specifications for the project, along with some hints on how to proceed.  Read the specifications very carefully - each behavior has some points associated with it.  I am also providing the scoring sheet that I will use to grade your project. If you are uncertain about any of the requirements, please ask. I am distributing the project definition early so that you can make incremental progress as you acquire knowledge. I suggest that you get started as soon as possible in order to take maximum advantage of your opportunities to receive my help. Only bad things can come if you wait until the last week of the quarter to get started.  I will provide a 32-bit Windows executable (it is not a class file, so don't waste your time trying to decompile it) of a solution that goes beyond the minimum requirements.  I will also supply you with some GIF files for the playfield elements, but feel free to design your own.  You can use other image formats with Swing - I often use GIF for such things because it allows the specification of transparent pixels.  I offer some ideas for how you might improve the implementation if you are so inclined.  Feel free to pursue those or any other enhancements you think of as long as you don't violate the requirements.  I suggest you start by playing around with my solution, including creating a goal statement and some test cases beyond the ones I provide.  You are not, however, required to provide any test files with your solution.


Related Discussions:- Robot factory game

Simple corba program, You are working in charge of a group of programmers a...

You are working in charge of a group of programmers at a software company. Your task is to assess and research CORBA and to produce a report to be given to the programmers detailin

Game programming, Companies divide their subtasks of game's development. Fo...

Companies divide their subtasks of game's development. For large complex games, the development team can vary in size from 20 to 100 or more members. The most represented are artis

What is .net?, What is .NET? It is a foundation fairly neutral structure...

What is .NET? It is a foundation fairly neutral structure. Is a coating between the son and the selection language? It can handle many selection dialects, such as VB.NET,

Define a procedure which makes an avl tree with one node, (a) Define a proc...

(a) Define a procedure called make-avl-tree which makes an AVL tree with one node. Also create another constructor build-avl-tree that creates an AVL tree from a root, left subtree

Just in time compiler, Expertsmind brings you  unique  solution in java as...

Expertsmind brings you  unique  solution in java assignments Just in Time Compiler In processing, just-in-time system (JIT), also known as energetic interpretation, is a m

Shell script to check a given string is palindrome or not, Normal 0 ...

Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4

Write a program to read the file, Suppose you have a ?le orase of city and ...

Suppose you have a ?le orase of city and country names, like this: Cluj, Romania Debrecen, Hungary Klagenfurt, Austria Berlin, Germany Szeged, Hungary Budapest, Hungary Lintz, A

Asp.net and asp.net ajax, ASP.NET and ASP.NET AJAX ASP.NET AJAX, formerly k...

ASP.NET and ASP.NET AJAX ASP.NET AJAX, formerly known as "Atlas", is an Enthusiasm rendering of an AJAX centered structure, designed for ASP.NET (although it can be used on other s

Decision table, If it is a weekday and it is not a holiday, then you go to ...

If it is a weekday and it is not a holiday, then you go to work. However, if it is a weekday and it is a holiday, then what you do depends on the weather. If it is raining, you pla

Query a SPARQL endpoint using JENA JAVA API, program the following exercise...

program the following exercises using JAVA and JENA API: SPARQL endpoint to be queried: QUERY:">http://services.data.gov.uk/education/sparql QUERY: What are the school’s names th

Write Your Message!

Captcha
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