Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Wklejka 14d8dmk1py808 dodana przez speedkill, 28.10.2012 19:39
Typ:



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