1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
slega [8]
3 years ago
15

In this assignment, you will write two complete C programs that will allow two players to play the game of network tic-tac-toe.

It will include two programs, a server and a client. The server will allow two clients to connect and then will begin the game. The client programs accept input from the player and transmits the command to the server which will execute the commands and send a reply back to the client programs.
Computers and Technology
1 answer:
Oksanka [162]3 years ago
5 0

This program allows two players to play the game of network tic-tac-toe.

Explanation:

It will include two programs, a server and a client. The server will allow two clients to connect and then will begin the game. The client programs accept input from the player and transmits the command to the server which will execute the commands and send a reply back to the client programs.

#include <stdio.h>

#include <conio.h>

char square[10] = { 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9' };

int checkwin();

void board();

int main()

{

   int player = 1, i, choice;

   char mark;

   do

   {

       board();

       player = (player % 2) ? 1 : 2;

       printf("Player %d, enter a number:  ", player);

       scanf("%d", &choice);

       mark = (player == 1) ? 'X' : 'O';

       if (choice == 1 && square[1] == '1')

           square[1] = mark;

           

       else if (choice == 2 && square[2] == '2')

           square[2] = mark;

           

       else if (choice == 3 && square[3] == '3')

           square[3] = mark;

           

       else if (choice == 4 && square[4] == '4')

           square[4] = mark;

           

       else if (choice == 5 && square[5] == '5')

           square[5] = mark;

           

       else if (choice == 6 && square[6] == '6')

           square[6] = mark;

           

       else if (choice == 7 && square[7] == '7')

           square[7] = mark;

           

       else if (choice == 8 && square[8] == '8')

           square[8] = mark;

           

       else if (choice == 9 && square[9] == '9')

           square[9] = mark;

           

       else

       {

           printf("Invalid move ");

           player--;

           getch();

       }

       i = checkwin();

       player++;

   }while (i ==  - 1);

   

   board();

   

   if (i == 1)

       printf("==>\aPlayer %d win ", --player);

   else

       printf("==>\aGame draw");

   getch();

   return 0;

}

/*********************************************

FUNCTION TO RETURN GAME STATUS

1 FOR GAME IS OVER WITH RESULT

-1 FOR GAME IS IN PROGRESS

O GAME IS OVER AND NO RESULT

**********************************************/

int checkwin()

{

   if (square[1] == square[2] && square[2] == square[3])

       return 1;

       

   else if (square[4] == square[5] && square[5] == square[6])

       return 1;

       

   else if (square[7] == square[8] && square[8] == square[9])

       return 1;

       

   else if (square[1] == square[4] && square[4] == square[7])

       return 1;

       

   else if (square[2] == square[5] && square[5] == square[8])

       return 1;

       

   else if (square[3] == square[6] && square[6] == square[9])

       return 1;

       

   else if (square[1] == square[5] && square[5] == square[9])

       return 1;

       

   else if (square[3] == square[5] && square[5] == square[7])

       return 1;

       

   else if (square[1] != '1' && square[2] != '2' && square[3] != '3' &&

       square[4] != '4' && square[5] != '5' && square[6] != '6' && square[7]  

       != '7' && square[8] != '8' && square[9] != '9')

       return 0;

   else

       return  - 1;

}

/*******************************************************************

FUNCTION TO DRAW BOARD OF TIC TAC TOE WITH PLAYERS MARK

********************************************************************/

void board()

{

   system("cls");

   printf("\n\n\tTic Tac Toe\n\n");

   printf("Player 1 (X)  -  Player 2 (O)\n\n\n");

   printf("     |     |     \n");

   printf("  %c  |  %c  |  %c \n", square[1], square[2], square[3]);

   printf("_____|_____|_____\n");

   printf("     |     |     \n");

   printf("  %c  |  %c  |  %c \n", square[4], square[5], square[6]);

   printf("_____|_____|_____\n");

   printf("     |     |     \n");

   printf("  %c  |  %c  |  %c \n", square[7], square[8], square[9]);

   printf("     |     |     \n\n");

}

You might be interested in
Which of the following would a high school graduate interested in the performing arts most likely do after graduation?
pashok25 [27]

Answer: College

Explanation: I got it right on my quiz

3 0
4 years ago
Suppose that a program asks a user to enter multiple integers, either positive or negative, to do some calculation. The data ent
KatRina [158]

Answer:

d) An alphabetic character

7 0
3 years ago
A(n) ________ is a chart based on PivotTable data.
Mrrafil [7]
Well since it’s a chart based on a PivotTable prettyyyy sure it’s gonna be a PibltChart
7 0
3 years ago
What type of socket should be used with an air impact wrench
Vikentia [17]
<span>Black sockets should be used, but the color is not the reason why. Chrome sockets will cause splits to form in the socket walls pretty quickly, after only a few uses. But the black sockets are that color because they have gone through a process called Parkerizing that coats the surface of the socket in order to provide more resistance when being used and protect the socket against corrosion.</span>
3 0
3 years ago
What are the limits of hashing and verifying that files haven’t changed?
earnstyle [38]

The hashing function can take any number of key-value pairs and there is no specific limit to it.

<h3>What is hashing?</h3>

Hashing is a file-based algorithm for producing a fixed-length bit string value. A file is essentially a collection of data blocks. The length of the data is reduced by hashing to a fixed number or key that represents the original string.

When hashing is employed, the hash function may plot all of the keys and values to what the real size of the table is, demonstrating that the hashing function can take any number of key-value pairs with no restriction.

However, if the passwords are hashed in encryption, recovering the passwords is extremely difficult.

Thus, the hashing function can take any number of key-value pairs and there is no specific limit to it.

Learn more about the hashing here:

brainly.com/question/13106914

#SPJ1

5 0
2 years ago
Other questions:
  • How can development in ICT be utilized to speed up the development and integration efforts
    15·1 answer
  • Using the expected format, of putting key information where the reader can’t find it, is an example of?
    8·2 answers
  • Which ipv6 static route would serve as a backup route to a dynamic route learned through ospf?
    12·1 answer
  • Lesson 15: Integrated Literacy Connections Education Introduction to Computer Applications Unit 6: Internet Safety
    5·1 answer
  • 1. The best program to present numerical data in would be ____. a. Access c. PowerPoint b. Excel d. Word
    6·1 answer
  • What additional features on your router would you implement if you were setting up a small wired and wireless network
    5·1 answer
  • ---------------is a systematic review of a person’swork and achievements over a recent period, usually leading toplans for the f
    11·1 answer
  • CC stand for.....in the email platform?
    12·2 answers
  • In this lab, you complete a C++ program that uses an array to store data for the village of Marengo.
    8·1 answer
  • How do you stop getting emails from brainly saying "sarah from brainly has answered your question"
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!