Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Wklejka 14d8dmk1py808 dodana przez speedkill, 28.10.2012 19:39
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291.
#include <iostream> #include <windows.h> #include <limits> #include <time.h> using namespace std; class Game{ protected: string g_Player, g_Player_1, g_Fields[3 * 3 + 1], g_Sign, g_Now; bool g_GameFinish, g_GetNames; int g_Move, g_Board, g_Want, g_TimeRun[2]; public: void g_StartGame(){ g_WelcomeScreen(); g_TimeRun[0] = time(0); if(!g_GetNames){ cout << "n*************************************************n" << "* *n" << "* *n" << "* Podaj nick gracza pierwszego: *n" << "* *n" << "* *n" << "*************************************************nnn"; getline(cin, g_Player); cout << "n*************************************************n" << "* *n" << "* *n" << "* Podaj nick gracza drugiego: *n" << "* *n" << "* *n" << "*************************************************nnn"; getline(cin, g_Player_1); g_GetNames = true; g_ClearScreen(); g_WelcomeScreen(); } for(int i = 0; i < 9; i++) g_Fields[i] = 49 + i; g_DrawBoard(); g_RunGame(); } void g_WelcomeScreen(){ cout << "n*************************************************n" << "* *n" << "* *n" << "* Kolko i Krzyzk ( 0.1 ) *n" << "* Autor : speedkill *n" << "* *n" << "* *n" << "*************************************************nnn"; } void g_DrawBoard(){ cout<<"|-----------------|n"; for(int i = 0; i < 9; i++){ cout<<"| " <<g_Fields[i]<< " "; if((i + 1) % 3 == 0) cout<<"|n|-----------------|n"; } } void g_RunGame(){ g_Move = 0; while(g_Move < 9){ if(!(g_Move % 2)) g_Sign = "X"; else g_Sign = "O"; g_PlayGame(); g_WelcomeScreen(); g_DrawBoard(); g_BoardCheck(); g_Move++; } } void g_PlayGame(){ g_Now = !(g_Move % 2) ? g_Player : g_Player_1; cout << "n*************************************************n" << "* *n" << "* *n" << " Ruch gracza : "<<g_Now<<" n" << "* *n" << "* *n" << "*************************************************nnn"; if(cin>>g_Board){ bool g_Number = g_Board >= 1 && g_Board <= 9 ? true : false; if(g_Number){ bool g_Empty = g_Fields[g_Board - 1] == "X" ? true : g_Fields[g_Board - 1] == "O" ? true : false; if(!g_Empty){ g_Fields[g_Board - 1] = " "; g_Fields[g_Board - 1] = g_Sign; g_ClearScreen(); } else{ g_ClearScreen(); cout << "n*************************************************n" << "* *n" << "* *n" << "* Blad ! To pole jest juz zajete. *n" << "* *n" << "* *n" << "*************************************************nnn"; g_WelcomeScreen(); g_DrawBoard(); g_PlayGame(); } } else{ g_ClearScreen(); cout << "n*************************************************n" << "* *n" << "* *n" << "* Tylko liczby ( 1 - 9 ) ! *n" << "* *n" << "* *n" << "*************************************************nnn"; g_WelcomeScreen(); g_DrawBoard(); g_PlayGame(); } } else{ g_ClearScreen(); cout << "n*************************************************n" << "* *n" << "* *n" << "* Tylko liczby ( 1 - 9 ) ! *n" << "* *n" << "* *n" << "*************************************************nnn"; cin.clear(); cin.ignore(numeric_limits<int>::max(), 'n'); g_WelcomeScreen(); g_DrawBoard(); g_PlayGame(); } } void g_BoardCheck(){ g_GameFinish = false; for(int i = 0; i < 9; i+=3){ if(g_Fields[i] == g_Sign && g_Fields[i + 1] == g_Sign && g_Fields[i + 2] == g_Sign){ g_GameFinish = true; } } for(int i = 0; i < 3; i++){ if(g_Fields[i] == g_Sign && g_Fields[i + 3] == g_Sign && g_Fields[i + 6] == g_Sign){ g_GameFinish = true; } } if(g_Fields[0] == g_Sign && g_Fields[4] == g_Sign && g_Fields[8] == g_Sign) g_GameFinish = true; if(g_Fields[2] == g_Sign && g_Fields[4] == g_Sign && g_Fields[6] == g_Sign) g_GameFinish = true; if(g_GameFinish){ g_Move = 9; g_ClearScreen(); g_WelcomeScreen(); cout << "n*************************************************n" << "* *n" << "* Gratulacje ! *n" << " Wygral gracz "<<g_Now<<" n" << "* *n" << "* *n" << "*************************************************nnn"; g_DrawBoard(); g_PlayTime(); g_PlayAgain(); } else{ if(g_Move == 8){ g_ClearScreen(); g_WelcomeScreen(); cout << "n*************************************************n" << "* *n" << "* Gratulacje dla obu graczy ! *n" << "* Mamy remis ! *n" << "* *n" << "* *n" << "*************************************************nnn"; g_DrawBoard(); g_PlayTime(); g_PlayAgain(); } } } void g_PlayTime(){ g_TimeRun[1] = time(0) - g_TimeRun[0]; cout << "n*************************************************n" << "* *n" << "* *n" << " Rozgrywka trwala: "<<g_TimeRun[1] / 3600<<":"<<g_TimeRun[1] / 60<<":"<<g_TimeRun[1] % 60<<"n" << "* *n" << "* *n" << "*************************************************nnn"; } void g_PlayAgain(){ cout << "n*************************************************n" << "* *n" << "* Chcesz zagrac jeszcze raz ? *n" << "* *n" << "* 1 - Tak | 0 - Nie *n" << "* *n" << "*************************************************nnn"; cin>>g_Want; if(g_Want == 1){ swap(g_Player, g_Player_1); g_Reset(); } } void g_Reset(){ g_Want = 0; g_TimeRun[1] = g_TimeRun[0] = 0; g_GameFinish = false; g_StartGame(); } void g_ClearScreen(){ system("cls"); } }; main(){ Game * Start = new Game; Start -> g_StartGame(); /* Próba wyciągnięcia zmiennej chronionej i pokazanie jej poza obszarem klasy. string g_Name = Start -> g_Player; cout<<g_Name<<"n"; */ delete Start; system("pause"); }
Dodanych wklejek: 12215
Powered By (Pav32) Pastebin © 2011