From 67c3b463db5b471b307212080c4b117a4804d956 Mon Sep 17 00:00:00 2001 From: Brandon Jackson <1drummer@att.net> Date: Tue, 20 Oct 2015 14:33:56 -0500 Subject: [PATCH] Updated master with my branch's file --- Client.cpp | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ client.C | 57 --------------------------------- 2 files changed, 93 insertions(+), 57 deletions(-) create mode 100644 Client.cpp delete mode 100644 client.C diff --git a/Client.cpp b/Client.cpp new file mode 100644 index 0000000..73bb121 --- /dev/null +++ b/Client.cpp @@ -0,0 +1,93 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "Board.h" +using namespace std; + +void error(const char *msg) +{ + perror(msg); + exit(0); +} + +int main(int argc, char *argv[]) +{ + int sockfd, portno, n; + struct sockaddr_in serv_addr; + struct hostent *server; + + + if (argc < 3) { + fprintf(stderr,"usage %s hostname port\n", argv[0]); + exit(0); + } + portno = atoi(argv[2]); + sockfd = socket(AF_INET, SOCK_STREAM, 0); + if (sockfd < 0) + error("ERROR opening socket"); + server = gethostbyname(argv[1]); + if (server == NULL) { + fprintf(stderr,"ERROR, no such host\n"); + exit(0); + } + bzero((char *) &serv_addr, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + bcopy((char *)server->h_addr, + (char *)&serv_addr.sin_addr.s_addr, + server->h_length); + serv_addr.sin_port = htons(portno); + if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) + error("ERROR connecting"); + + //Client has successfully joined + char buffer[256]; + char info[256]; + + cout<<"WELCOME\n"; + + cout<<"1. Play against AI?\n"; + cout<<"2. Play against a human?\n"; + cout<<"Enter choice: \n"; + + string choice; + cin >> choice; + + //Check for a valid option + cout << "OK!\n" << endl; + + //Writes off the choice to the server + + n = write(sockfd, choice.c_str(), choice.length()); //Sends an input to the server + + + while(true) { + + bzero(buffer,256); //resets the input stream + n = read(sockfd,buffer,255); //Receives the board from server + printf("%s\n",buffer);//Prints the received message + + printf("Please enter a move: "); + bzero(buffer,256); //resets input stream + fgets(buffer,255,stdin); //Enter a move + n = write(sockfd,buffer,strlen(buffer)); //Sends an inputted move to the server + bzero(info,256); //resets input stream + + n = read(sockfd,info,255); //Reads from server if move was valid + string ref = info; + if(ref == "Game_Over") { + cout << "GAME OVER!!!" << endl; + break; + } + else + continue; + + } + close(sockfd); + return 0; +} diff --git a/client.C b/client.C deleted file mode 100644 index 181de35..0000000 --- a/client.C +++ /dev/null @@ -1,57 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -void error(const char *msg) -{ - perror(msg); - exit(0); -} - -int main(int argc, char *argv[]) -{ - int sockfd, portno, n; - struct sockaddr_in serv_addr; - struct hostent *server; - - char buffer[256]; - if (argc < 3) { - fprintf(stderr,"usage %s hostname port\n", argv[0]); - exit(0); - } - portno = atoi(argv[2]); - sockfd = socket(AF_INET, SOCK_STREAM, 0); - if (sockfd < 0) - error("ERROR opening socket"); - server = gethostbyname(argv[1]); - if (server == NULL) { - fprintf(stderr,"ERROR, no such host\n"); - exit(0); - } - bzero((char *) &serv_addr, sizeof(serv_addr)); - serv_addr.sin_family = AF_INET; - bcopy((char *)server->h_addr, - (char *)&serv_addr.sin_addr.s_addr, - server->h_length); - serv_addr.sin_port = htons(portno); - if (connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(serv_addr)) < 0) - error("ERROR connecting"); - printf("Please enter the message: "); - bzero(buffer,256); - fgets(buffer,255,stdin); - n = write(sockfd,buffer,strlen(buffer)); - if (n < 0) - error("ERROR writing to socket"); - bzero(buffer,256); - n = read(sockfd,buffer,255); - if (n < 0) - error("ERROR reading from socket"); - printf("%s\n",buffer); - close(sockfd); - return 0; -}