Advertisement
Guest User

Tryggvi

a guest
Oct 6th, 2015
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void inputter(int inntak,char alpha[9], char stafur)
  6. {
  7. alpha[inntak-1] = stafur;
  8. }
  9.  
  10. char stafbreytir(char stafur)
  11. {
  12. if(stafur=='O')
  13. {
  14. stafur='X';
  15. }
  16. else if(stafur=='X')
  17. {
  18. stafur='O';
  19. }
  20. return stafur;
  21. }
  22.  
  23. int checker(char alpha[9])
  24. {
  25. char winner;
  26. if((alpha[0]=='X' && alpha[4]=='X' && alpha[8]=='X')||(alpha[2]=='X' && alpha[4]=='X' && alpha[6]=='X'))//Ská X
  27. {
  28. winner = 'X';
  29. }
  30. else if((alpha[0]=='O'&&alpha[4]=='O'&&alpha[8]=='O')||(alpha[2]=='O'&&alpha[4]=='O'&&alpha[6]=='O'))//Ská O
  31. {
  32. winner = 'O';
  33. }
  34. else if((alpha[0]=='X'&&alpha[1]=='X'&&alpha[2]=='X')||(alpha[3]=='X'&&alpha[4]=='X'&&alpha[5]=='X')||(alpha[6]=='X'&&alpha[7]=='X'&&alpha[8]=='X'))//lóðrétt X
  35. {
  36. winner = 'X';
  37. }
  38. else if((alpha[0]=='O'&&alpha[1]=='O'&&alpha[2]=='O')||(alpha[3]=='O'&&alpha[4]=='O'&&alpha[5]=='O')||(alpha[6]=='O'&&alpha[7]=='O'&&alpha[8]=='O'))//lóðrétt O
  39. {
  40. winner = 'O';
  41. }
  42. else if((alpha[0]=='X'&&alpha[3]=='X'&&alpha[6]=='X')||(alpha[1]=='X'&&alpha[4]=='X'&&alpha[7]=='X')||(alpha[2]=='X'&&alpha[5]=='X'&&alpha[8]=='X'))//Lárett X
  43. {
  44. winner = 'X';
  45. }
  46. else if((alpha[0]=='O'&&alpha[3]=='O'&&alpha[6]=='O')||(alpha[1]=='O'&&alpha[4]=='O'&&alpha[7]=='O')||(alpha[2]=='O'&&alpha[5]=='O'&&alpha[8]=='O'))//Lárett O
  47. {
  48. winner = 'O';
  49. }
  50. else
  51. {
  52. winner = 'N';
  53. }
  54. return winner;
  55. }
  56.  
  57. int input(char stafur, char alpha[9])
  58. {
  59. int inntak,teljari=0;
  60. while(teljari < 10)
  61. {
  62. cout << stafur << " position: ";
  63. cin >> inntak;
  64. if(!isdigit(inntak))
  65. {
  66. cin.clear();
  67. cin.ignore(100, '\n');
  68. cout << "Illegal move!" << "bug" << endl;
  69. }
  70. else if(alpha[inntak-1] == 'X' || alpha[inntak-1] == 'O'||inntak > 9)
  71. {
  72. cout << "Illegal move!" << endl;
  73. inntak = 0;
  74. }
  75. else
  76. {
  77. teljari = 10;
  78. }
  79. }
  80. return inntak;
  81. }
  82.  
  83. void drawer(char alpha[8])
  84. {
  85. int data[9]={1,2,3,4,5,6,7,8,9};
  86. for(int i=0;i < 9;i++)
  87. {
  88. if(i == 2||i == 5)
  89. {
  90. if(alpha[i] == 'X'||alpha[i] == 'O')
  91. {
  92. cout << alpha[i] << " \n";
  93. }
  94. else
  95. {
  96. cout << data[i] << " \n";
  97. }
  98. }
  99. else
  100. {
  101. if(alpha[i] == 'X'||alpha[i] == 'O')
  102. {
  103. cout << alpha[i] << " ";
  104. }
  105. else
  106. {
  107. cout << data[i] << " ";
  108. }
  109. }
  110. }
  111. cout << endl;
  112. }
  113.  
  114. int main()
  115. {
  116. char alpha[9]={'E','E','E','E','E','E','E','E','E'};
  117. char stafur = 'O', winner;
  118. int inntak, teljari = 0;
  119.  
  120. while(teljari < 10)
  121. {
  122. drawer(alpha);
  123. stafur = stafbreytir(stafur);
  124. inntak = input(stafur,alpha);
  125. inputter(inntak,alpha,stafur);
  126. winner = checker(alpha);
  127. if(winner=='O'||winner=='X')
  128. {
  129. drawer(alpha);
  130. cout << "Winner is: " << winner << endl;
  131. teljari=10;
  132. }
  133. }
  134. return 0;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement