Advertisement
kokusz19

kliens.david

Dec 11th, 2017
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #include <sys/types.h>
  6. #include <sys/socket.h>
  7.  
  8. #include <netinet/in.h>
  9.  
  10. int megfelel(char *szo) // vizsgálja hogy a megadott sztring összes karaktere eleme a kisbetűs abc-nek
  11. {
  12. int i=0;
  13. for(i; i<strlen(szo); i++)
  14. if(strchr("öĂĽóqwertzuiopőúasdfghjkléáűíyxcvbnm", szo[i]) == NULL)
  15. {
  16. puts("Nem elfogadott karaktereket tartalmazó szó!\nEgy szó csak az ábécé kisbetűit tartalmazhatja!\nAdj meg új szót!");
  17. return 0;
  18. }
  19. return 1;
  20. }
  21. int allapot(char ch){
  22. if(ch=='+')
  23. return 1;
  24. else if(ch=='-')
  25. return 2;
  26. else if(ch=='*')
  27. return 3;
  28. else if(ch=='/')
  29. return 4;
  30. else if(ch == '=')
  31. return 5;
  32. return 10;
  33. }
  34. int main(){
  35. //**********************************************************************//
  36. // Socket deklaráció, kapcsolódás
  37. int networksocket;
  38. networksocket = socket(AF_INET, SOCK_STREAM, 0);
  39.  
  40. struct sockaddr_in serveraddress;
  41. serveraddress.sin_family = AF_INET;
  42. serveraddress.sin_port = htons(52369);
  43. serveraddress.sin_addr.s_addr = INADDR_ANY;
  44. int ellenor;
  45. ellenor = connect(networksocket, (struct sockaddr *) &serveraddress, sizeof(serveraddress));
  46. if(ellenor == -1){
  47. printf("Connect error, a kliens leáll!\n");
  48. exit(0);
  49. }
  50. //********************************************************************//
  51. //A kliens megkapja hanyadikként csatlakozott és nyugtáz
  52. char uzenet[1000];
  53. char szo[1000];
  54. ellenor = recv(networksocket, &uzenet, sizeof(uzenet), 0);
  55. if(ellenor == -1){
  56. printf("Recive error, a kliens leáll!\n");
  57. exit(0);
  58. }
  59. sleep(1);
  60. printf("Te vagy a(z) %d. számú játékos\n", atoi(uzenet));
  61. ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
  62. if(ellenor == -1){
  63. printf("Send error, a kliens leáll!\n%d\n", ellenor);
  64. exit(0);
  65. }
  66. //*******************************************************************//
  67. //A játék megkezdése
  68. int status;
  69. while(1){
  70. ellenor = recv(networksocket, &uzenet, sizeof(uzenet), 0);
  71. if(ellenor == -1){
  72. printf("Recive error, a kliens leáll!\n");
  73. exit(0);
  74. }
  75. status = allapot(uzenet[0]);
  76.  
  77. uzenet[0] =' ';
  78. if(status==1 || status == 2)//ez a játékos jön
  79. {
  80. if(status == 1)
  81. puts("Adj meg egy szót hogy elkezdődjön a játék!");
  82. if(status == 2) {
  83. printf("A lánc utolsó szava:%s\n", uzenet);
  84. puts("Te jössz!");
  85. }
  86. ujszo:
  87. scanf("%s", uzenet);
  88. if(megfelel(uzenet)==0)
  89. goto ujszo;
  90. }
  91. else if(status==3){ // nem ez a játékos jön
  92. printf("A lánc utolsó szava:%s\n", uzenet);
  93. puts("Nem te jössz!");
  94. }
  95. else if(status==4){ // ez a játékos kiesett
  96. printf("A lánc utolsó szava:%s\n", uzenet);
  97. puts("Te már kiestél a játékból!");
  98. }
  99. else if(status==5){ // játék vége
  100. puts("A játéknak vége!");
  101. ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
  102. if(ellenor == -1){
  103. printf("Send error, a kliens leáll!\n");
  104. exit(0);
  105. }
  106. break;
  107. }
  108.  
  109. ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
  110. if(ellenor == -1){
  111. printf("Send error, a kliens leáll!\n");
  112. exit(0);
  113. }
  114. }
  115. //*********************************************************************************//
  116. //A játék befejezése
  117. ellenor = recv(networksocket, &uzenet, sizeof(uzenet), 0);
  118. if(ellenor == -1){
  119. printf("Recive error, a kliens leáll!\n");
  120. exit(0);
  121. }
  122. printf("A(z) %d. számú játékos nyert\n", atoi(uzenet));
  123. ellenor = send(networksocket, uzenet, sizeof(uzenet), 0);
  124. if(ellenor == -1){
  125. printf("Send error, a kliens leáll!\n");
  126. exit(0);
  127. }
  128. return 0;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement