Em Andamento

4x4x4 Noughts and Crosses

**Basic instructions:

** Design, code, test and document a C++ program that allows two players to play a game of 4x4x4 noughts-and-crosses. Your program should be able to load & save game states and include a human-versus-computer ability. It must make use of the Winand Penclasses attached, and display a board such as the one attached in the jpg file.

Description Of the game

First, player **O** puts an O on one of the squares on the board. Then player **X** puts an X on one of the empty squares on the board. Then player **O** puts an O on one of the empty squares on the board. **…** Until one of the players wins by lining up four of their counters. Any straight line of four identical counters wins.

## Deliverables

Your design should extend (using inheritance) the classes attached. The example program demonstrates how to extend win. The mouse should be the main source of input, and the X11 window the main (ideally the only) source of output. Add a rhombus function to your new pen class ??" see the following for help: The UNIX manual pages provided by “man XFillPolygon?? and “man XPoint??, and the function “pen::rectangle??. Your OO design should include at least a player class as well. The use of C techniques that have C++ equivalents should NOT be used. Use the “one .h and one .cc?? rule for each of your classes, and keep your main function as short as possible. In addition to the basic game, you must implement the loading and saving of mid-game states and implement a human-versus-computer ability. The program must compile and execute under RedHat with X11. A **write up** is also required and in it, detail the stages to show the development of your OO design and the derivation of your program from that design. Show the thinking behind each step*.* Also include a brief user guide.

***_Make sure that the program satisfies all of the questions below._

All code ??" OO aspects

*** Are the classes well separated ??" that is would changing the functionality of one class involve changing source code in another? Is there a player class? A child window class? A child pen class? Do objects store their own data? Are private and protected used where possible? Do destructors free any/all memory allocated using new? Is there unnecessary repetition in the source code? Are there any unwarranted global variables or functions? Is main() short and simple? (It should be.)


Game code (not computer-player)

*** Does the program contain all the correct code for the game? Does the loading & saving of mid-games work reliably? Does the program compile without warnings/errors? Is the program easy to read, with good variable names & comments?

***Graphical User Interface (X11) code

*** Does the pen class have a rhombus function with a fill option? Is the mouse the main source of input & is input intuitive? Is the X11 window the main source of output? How good does the display look (eg. colour)?

***Computer player

*** Can the computer provide an enjoyable game for a novice?For an experienced player?


Write-up (Concentrate on the OO!)

*** Documentation, including explanations of your thought processes for each of the requirements analysis, system specification, identification of classes, identification of behaviours, classification of relationships, identification of state variables, design of class declarations, iteration of design (including possible role-play), implementation and testing. User guide, adequate sample output, a good quality of presentation.

## Platform

Redhut Linux with X11

Habilidades: Programação C, Programação C#, Engenharia, MySQL, PHP, Arquitetura de software, Teste de Software

Ver mais: user interface specification, destructors questions, test iteration, store design objects, simple games using programming, rectangle line, programming test questions, programming techniques, programming inheritance, programming help games, programming board game, programming computer game, programming ability test, oo programming, oo design, loading function php, linux programming interface, line rectangle, iteration testing, interface computer programming, input board game, inheritance programming, human programming, read computer code, computer programming work

Acerca do Empregador:
( 9 comentários ) United Kingdom

ID do Projeto: #3065120

Premiar a:


See private message.

$42.5 USD em 3 dias
(195 Avaliações)