Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- int megfelel(char *szo) // vizsgálja hogy a megadott sztring összes karaktere eleme a kisbetűs abc-nek
- {
- int i=0;
- for(i; i<strlen(szo); i++)
- if(strchr("öĂĽóqwertzuiopőúasdfghjkléáűíyxcvbnm", szo[i]) == NULL)
- {
- puts("Nem elfogadott karaktereket tartalmazó szó!\nEgy szó csak az ábécé kisbetűit tartalmazhatja!\nAdj meg új szót!");
- return 0;
- }
- return 1;
- }
- int allapot(char ch){
- if(ch=='+')
- return 1;
- else if(ch=='-')
- return 2;
- else if(ch=='*')
- return 3;
- else if(ch=='/')
- return 4;
- else if(ch == '=')
- return 5;
- return 10;
- }
- int main(){
- //**********************************************************************//
- // Socket deklaráció, kapcsolódás
- int networksocket;
- networksocket = socket(AF_INET, SOCK_STREAM, 0);
- struct sockaddr_in serveraddress;
- serveraddress.sin_family = AF_INET;
- serveraddress.sin_port = htons(52369);
- serveraddress.sin_addr.s_addr = INADDR_ANY;
- int ellenor;
- ellenor = connect(networksocket, (struct sockaddr *) &serveraddress, sizeof(serveraddress));
- if(ellenor == -1){
- printf("Connect error, a kliens leáll!\n");
- exit(0);
- }
- //********************************************************************//
- //A kliens megkapja hanyadikként csatlakozott és nyugtáz
- char uzenet[1000];
- char szo[1000];
- ellenor = recv(networksocket, &uzenet, sizeof(uzenet), 0);
- if(ellenor == -1){
- printf("Recive error, a kliens leáll!\n");
- exit(0);
- }
- sleep(1);
- printf("Te vagy a(z) %d. számú játékos\n", atoi(uzenet));
- ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
- if(ellenor == -1){
- printf("Send error, a kliens leáll!\n%d\n", ellenor);
- exit(0);
- }
- //*******************************************************************//
- //A játék megkezdése
- int status;
- while(1){
- ellenor = recv(networksocket, &uzenet, sizeof(uzenet), 0);
- if(ellenor == -1){
- printf("Recive error, a kliens leáll!\n");
- exit(0);
- }
- status = allapot(uzenet[0]);
- uzenet[0] =' ';
- if(status==1 || status == 2)//ez a játékos jön
- {
- if(status == 1)
- puts("Adj meg egy szót hogy elkezdődjön a játék!");
- if(status == 2) {
- printf("A lánc utolsó szava:%s\n", uzenet);
- puts("Te jössz!");
- }
- ujszo:
- scanf("%s", uzenet);
- if(megfelel(uzenet)==0)
- goto ujszo;
- }
- else if(status==3){ // nem ez a játékos jön
- printf("A lánc utolsó szava:%s\n", uzenet);
- puts("Nem te jössz!");
- }
- else if(status==4){ // ez a játékos kiesett
- printf("A lánc utolsó szava:%s\n", uzenet);
- puts("Te már kiestél a játékból!");
- }
- else if(status==5){ // játék vége
- puts("A játéknak vége!");
- ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
- if(ellenor == -1){
- printf("Send error, a kliens leáll!\n");
- exit(0);
- }
- break;
- }
- ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
- if(ellenor == -1){
- printf("Send error, a kliens leáll!\n");
- exit(0);
- }
- }
- //*********************************************************************************//
- //A játék befejezése
- ellenor = recv(networksocket, &uzenet, sizeof(uzenet), 0);
- if(ellenor == -1){
- printf("Recive error, a kliens leáll!\n");
- exit(0);
- }
- printf("A(z) %d. számú játékos nyert\n", atoi(uzenet));
- ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
- if(ellenor == -1){
- printf("Send error, a kliens leáll!\n");
- exit(0);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement