login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > Overige > C en C++ > C++ - Tic Tac Toe

C++ - Tic Tac Toe

Auteur: Joel - 31 oktober 2006 - 23:05 - Gekeurd door: Joel - Hits: 3745 - Aantal punten: 4.17 (3 stemmen)



Dit is een klein spelletje : Tic Tac Toe. Het is gemaakt voor twee spelers, die om beurt een cijfer kiezen.
Het is de bedoeling om eerste een rij te maken van 3: horizontaal, verticaal of diagonaal.

Code:
  1. #include <iostream>
  2. #include <cctype>
  3. #include <conio.h>
  4. #include <string>
  5.  
  6. const int MAX_BEURTEN = 10;
  7.  
  8. using namespace std;
  9.  
  10.  
  11. int main(void)
  12. {
  13. int beurten = 0; //van 1 tot 9
  14. int ch = 'J'; //wordt gebruikt om nog een spel te spelen
  15. char cijfer[MAX_BEURTEN]; //array cijfer[]
  16. char persoon; //O of X
  17. char gewonnen = NULL; //Wie heeft er gewonnen?
  18. string hoe; //horizontaal, verticaal of diagonaal?
  19. int keuze; //welk cijfer is er ingevult?
  20.  
  21. do
  22. {
  23. //standaardwaardes variabelen
  24. beurten = 0;
  25. gewonnen = NULL;
  26. hoe = "";
  27.  
  28. //standaardwaardes
  29. cijfer[1] = '1';
  30. cijfer[2] = '2';
  31. cijfer[3] = '3';
  32. cijfer[4] = '4';
  33. cijfer[5] = '5';
  34. cijfer[6] = '6';
  35. cijfer[7] = '7';
  36. cijfer[8] = '8';
  37. cijfer[9] = '9';
  38.  
  39. cout << "Welkom op het spel - Tic Tac Tou - \n\nHet is de bedoeling dat de spelers om beurt een cijfer kiezen.\nWie drie dezelfde heeft op een rij, is gewonnen.\nKies een cijfer van 1 tot 9:\n\n";
  40. cout << cijfer[1] << " " << cijfer[2] << " " << cijfer[3] << endl;
  41. cout << cijfer[4] << " " << cijfer[5] << " " << cijfer[6] << endl;
  42. cout << cijfer[7] << " " << cijfer[8] << " " << cijfer[9] << "\n";
  43.  
  44. do
  45. {
  46. if (beurten % 2 == 0)
  47. {
  48. persoon = 'O';
  49. }
  50. else
  51. {
  52. persoon = 'X';
  53. }
  54.  
  55. cout << "\nSpeler " << persoon << " mag een cijfer invullen: ";
  56. cin >> keuze;
  57. cout << "\n";
  58.  
  59. while(!isdigit(cijfer[keuze]))
  60. {
  61. cout << "Dit cijfer is al in bezet, kies een ander cijfer: ";
  62. cin >> keuze;
  63. cout << "\n";
  64. }
  65.  
  66. cijfer[keuze] = persoon;
  67.  
  68. //tonen
  69. cout << cijfer[1] << " " << cijfer[2] << " " << cijfer[3] << endl;
  70. cout << cijfer[4] << " " << cijfer[5] << " " << cijfer[6] << endl;
  71. cout << cijfer[7] << " " << cijfer[8] << " " << cijfer[9] << endl;
  72.  
  73. /*
  74. Mogelijkheden om te winnen:
  75. Voor speler O:
  76. */
  77.  
  78. //horizontaal
  79. if ((cijfer[1] == 'O' && cijfer[2] == 'O' && cijfer[3] == 'O') || (cijfer[4] == 'O' && cijfer[5] == 'O' && cijfer[6] == 'O') || (cijfer[7] == 'O' && cijfer[8] == 'O' && cijfer[9] == 'O'))
  80. {
  81. gewonnen = 'O';
  82. hoe = "horizontaal";
  83. }
  84. //verticaal
  85. if ((cijfer[1] == 'O' && cijfer[4] == 'O' && cijfer[7] == 'O') || (cijfer[2] == 'O' && cijfer[5] == 'O' && cijfer[8] == 'O') || (cijfer[3] == 'O' && cijfer[6] == 'O' && cijfer[9] == 'O'))
  86. {
  87. gewonnen = 'O';
  88. hoe = "verticaal";
  89. }
  90. //diagonaal
  91. if ((cijfer[1] == 'O' && cijfer[5] == 'O' && cijfer[9] == 'O') || (cijfer[3] == 'O' && cijfer[5] == 'O' && cijfer[7] == 'O'))
  92. {
  93. gewonnen = 'O';
  94. hoe = "diagonaal";
  95. }
  96.  
  97. /*
  98. Mogelijkheden om te winnen:
  99. Voor speler X:
  100. */
  101.  
  102. //horizontaal
  103. if ((cijfer[1] == 'X' && cijfer[2] == 'X' && cijfer[3] == 'X') || (cijfer[4] == 'X' && cijfer[5] == 'X' && cijfer[6] == 'X') || (cijfer[7] == 'X' && cijfer[8] == 'X' && cijfer[9] == 'X'))
  104. {
  105. gewonnen = 'X';
  106. hoe = "horizontaal";
  107. }
  108. //verticaal
  109. if ((cijfer[1] == 'X' && cijfer[4] == 'X' && cijfer[7] == 'X') || (cijfer[2] == 'X' && cijfer[5] == 'X' && cijfer[8] == 'X') || (cijfer[3] == 'X' && cijfer[6] == 'X' && cijfer[9] == 'X'))
  110. {
  111. gewonnen = 'X';
  112. hoe = "verticaal";
  113. }
  114. //diagonaal
  115. if ((cijfer[1] == 'X' && cijfer[5] == 'X' && cijfer[9] == 'X') || (cijfer[3] == 'X' && cijfer[5] == 'X' && cijfer[7] == 'X'))
  116. {
  117. gewonnen = 'X';
  118. hoe = "diagonaal";
  119. }
  120.  
  121. beurten++;
  122. } while (beurten < 9 && gewonnen == NULL);
  123.  
  124. //Spel afgelopen, resultaten tonen
  125.  
  126. cout << "\nHet spel is afgelopen: \n\n";
  127.  
  128. if (gewonnen == 'O')
  129. {
  130. cout << "Speler O is gewonnen -> hij heeft " << hoe << " 3 dezelfde O-tjes!\n" << endl;
  131. }
  132. else if (gewonnen == 'X')
  133. {
  134. cout << "Speler X is gewonnen -> hij heeft " << hoe << " 3 dezelfde X-jes!\n" << endl;
  135. }
  136. else
  137. {
  138. cout << "Het is gelijkspel!\n\n" << endl;
  139. }
  140. cout << "Wilt u nog een spel spelen? J/N\n" << endl;
  141.  
  142. ch = _getch();
  143. ch = toupper(ch);
  144.  
  145. } while (ch == 'J');
  146.  
  147. system("pause");
  148. return 0;
  149. }
Download code! Download code (.txt)

 Bekijk een voorbeeld van dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (6)
© 2002-2022 Sitemasters.be - Regels - Laadtijd: 0.027s