1
1005ICT Assignment – Summer Semester, 2016 This assignment can be done either individually or as a team of at most two students. The submission date is as specified in the Course Profile and the submission method will be communicated during semester. The idea of the Game Cross Numbers is to arrive at the figures given in the bottom row and the right-most column of the table by following the arithmetic operators in the order they are given (that is left to right and top to bottom). Use only numbers in the range specified below the table to complete the blank squares. + x 15 + x + – x 21 x + + x + 20 33 10 20 Use numbers in the range 1 – 9 Part 1. (25 marks) Implement the game with a text based interface and the arithmetic operators + (add), – (subtract) and x (multiply). Your implementation must include: 1. User must logon with a username and password to play. 2. User can restart a game that they were playing previously. 3. User can generate a new game of dimension n by n (in the example above n = 6) and also specify the number range allowed. The arithmetic operators must vary from game to game. 4. As an option, entry of a number that would make the solution so far entered invalid is flagged immediately. 5. User can ask for help by having a valid next number automatically inserted into the table. 6. User will get a score that will depend on the time taken, the difficulty of the game, whether they had selected the immediate notification of an invalid number and the number of times help was received. 7. User scores can be displayed along with the dimension of the associated game, time taken and the difficulty of the game.
2
Part 2. (25 marks) Inheriting from the classes you generated for Part 1, generate a version of the game specifically for computer programmers by adding the following features: 1. Add the arithmetic operators / (integer divide) and % (modulus). 2. Add the binary operators & (bitwise and), | (bitwise or), ! (bitwise not) and ^ (bitwise exclusive or). 3. Add the feature that the result generated from each operator can only be in the range 0..N (e.g. when a calculation is done, at each step % N is performed on the answer before the next step is performed). 4. Add an option for the operators to be performed in accordance with the Java precedence. 5. Add the feature that different number systems can be used (e.g. binary, octal, hex). Part 3. (20 marks) Design and implement a GUI interface to your game so that the use of the keyboard is minimised. Notes: 1. You must actually write all Java code submitted using either JPLIDE or NetBeansJPL. 2. You must produce a Word documents describing your code and the testing you have performed. A tool for generating UML diagrams can be found at http://horstmann.com/violet/ (10 marks) Marking This assignment is worth 20% of your final grade. The assignment will be marked out of 100 and marks will be allocated as follows: 1. Documentation of software and testing : 15 marks 2. Quality of Java code (e.g. indentation, appropriate naming conventions, class structure, method structure,…) : 15 marks 3. Implementation of Game including testing : 70 marks Please note that all submitted assignments will be analysed by a plagiarism detector that is specifically designed for assignment submissions containing Java source code.
TO HAVE YOUR ASSIGNMENTS DONE AT A LOW PRICE FOR A QUALITY PAPER,PLACE THIS ORDER OR A SIMILAR ORDER NOW.