c programming

Closed Posted Nov 20, 2010 Paid on delivery
Closed Paid on delivery

Programming in c the game quoridor

## Deliverables

1) All deliverables will be considered "work made for hire" under U.S. Copyright law. Employer will receive exclusive and complete copyrights to all work purchased. (No 3rd party components unless all copyright ramifications are explained AND AGREED TO by the employer on the site per the worker's Worker Legal Agreement).

2. deliverables are all the files for the following 5 questions:

Programming in c the game quoridor

q1: write the functions qretrieve qsave so that the first to

Upload a text file snapshot of the game, which puts the structures

described. To file name will be given by the user. The second will store the

Preview a file in the same form again with the user name of choice.

q2: To write a C function named qplay which gives the play of the game for two

players. This function will display the board and asks the user to set the number

row and column of the player whose turn. Negative numbers mean end of line

function. After checking if the location is valid, we asked whether the player will move or

wall mounting. If the user chooses wall installation, the program checks whether the player has

available wall when seeking the position will help. On the validity of the placement

The same we saw in Q1. It should be a check valid if mounting wall

It is good to inform the relevant tables and display the new status dashboard

otherwise you will see error. Error message appears when the player

has other existing walls.

If the user selects a pawn move, the program will ask for the coordinates of the new post

destination (as shown in Figure 1). If the move is valid (still according to the criteria

Work E1) will be implemented by updating the structure and displayed the new dashboard, you'll

you will see error and repeated the question the new position. Note that

the motion given by the coordinates of the target location and not as 'F', 'B', 'L' and 'R' to

used in E1.

In the process described, the function creates a single linked list

containing all the moves the players performed. Note that we ignore settings

walls. The list will be created with dynamic memory allocation and contain-junction structure

the following form:

struct Move {

int player_no; //

number of player

int from_cell[2]; //line and column of start

int to_cell[2]; // line and column of destination

};

q3: A. C function name qlistdisplay that accepts as a parameter to the principle of

list came about, I will run and display its contents on the screen.

B. • To write a recursive function qlistdisplayrecursive will do the same function

3A in question, but using recursion (recursion).

In both cases, the items in the list will appear as in the following model,

with any other form that contains the same data, you consider appropriate.

q4: As the game progresses, we want to be able to turn some moves

back. Write a C function name qbackstack which, by traversing the list will

creates a Stack (Stack) from which we can extract the movement of players to

back. After you create the stack, the function will ask for the number of the player and the number n of

movements that want to go. Then you draw from the stack one by one and will be

displays on the screen are allocated to the player who was chosen to reach number n

movements that player. Again ignoring the placement of walls.

q5 : write a C function named qdoublelist that creates a double linked

list of items in the list of moves created by q2. After

creation (Figure 6), the function will ask the user number of players (p) and moving (m), will

identifies the list, starting from the beginning, the node corresponding to the m-nth movement

player p, and moves backward, displaying all nodes up to the first.

If you do not find the node will display an error message.

The functions of the five topics will be invited from the main menu from within and

iterative process that ends with the 'exit'. All issues should be

be at least the basic controls for trapping errors (example, control the import

data, control the successful capture memory, stack control license, etc.).

## Platform

Windows C language

Engineering Software Architecture Software Testing

Project ID: #3867102

About the project

Remote project Active Dec 31, 2010