Find Jobs
Hire Freelancers

4x4x4 Noughts and Crosses

$30-70 USD

In Progress
Posted over 20 years ago

$30-70 USD

Paid on delivery
**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
Project ID: 3065120

About the project

1 proposal
Remote project
Active 20 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
See private message.
$42.50 USD in 3 days
4.9 (195 reviews)
5.7
5.7

About the client

Flag of UNITED KINGDOM
United Kingdom
5.0
9
Member since Nov 30, 2003

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.