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 1i2o1wjx36kg0 dodana przez K!113r, 02.12.2012 14:04
Typ:



sznejk
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.
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <ctime>
///////////////////////////
void gotoxy(const int x, const int y);
int menu();
int uruchom();
int rysuj_pole();
int rysuj_glowe();
int rysuj_ogon();
int losuj_jedzenie();
int sprawdz_jedzenie();
int pisz_punkty();
///////////////////////////
using namespace std;
HANDLE g_hConsol = GetStdHandle(STD_OUTPUT_HANDLE);
/////////////////////
char chPob;
int Kierunek; 
int Glowa[2];
int Dlugosc_ogon;
bool Pierwszy, jPierwszy;
int Jedzenie[2];
int tablica[1500][2];
int Punkty;
/////////////////////
enum {gora = 1, dol, lewo, prawo };
///////////////////////////////////////////////////////
int main()
{
	srand ((int) time(NULL));
	Kierunek = 1;
	Pierwszy = true; jPierwszy = true;
	Glowa[0] = 30;
	Glowa[1] = 12;
	Dlugosc_ogon = 10;
	menu();
	gotoxy(30, 2);
	cout << "Wynik: " << Punkty;
	getch();
	return 0;
}
int uruchom()
{
	rysuj_pole();
	pisz_punkty();
 
	for (int i = 0; i < Dlugosc_ogon; i++)
	{
    	tablica[i][0] = Glowa[0];
    	tablica[i][1] = Glowa[1] + (i+1);
	}
 
	while(chPob != 27)
	{
		Sleep(150);
		while(kbhit()) chPob = getch();
		switch(chPob)
		{
			case 'w':{
				 if(Kierunek != dol)
				 Kierunek = gora;
				 break;
				}
			case 's':{ 
				if(Kierunek != gora)
				Kierunek = dol;
				break;
				}
			case 'a':{ 
				if(Kierunek != prawo)
				Kierunek = lewo;
				break;
				}
			case 'd':{ 
				if(Kierunek != lewo)
				Kierunek = prawo;
				break;
				}
			default: break;
		}
		sprawdz_jedzenie();
		rysuj_ogon();
		if(rysuj_glowe())
			return 1;
		if(jPierwszy)
		{
			losuj_jedzenie();
			jPierwszy = false;
		}
		if(sizeof(tablica)/8 == Dlugosc_ogon)
			return 0;
	}
}
int rysuj_ogon()
{	
	if(Pierwszy)
	{
		for(int i;i<Dlugosc_ogon;i++)
		{
			gotoxy(tablica[i][0], tablica[i][1]);
			cout << 'x';
		}
		Pierwszy = false;
	}
	gotoxy(tablica[Dlugosc_ogon-1][0], tablica[Dlugosc_ogon-1][1]);
	cout << ' ';
	for(int i=Dlugosc_ogon-1;i>0;i--)
	{
		tablica[i][0] = tablica[i-1][0];
		tablica[i][1] = tablica[i-1][1];
		gotoxy(tablica[i][0], tablica[i][1]);
		cout << 'x';
	}
	tablica[0][0] = Glowa[0];
	tablica[0][1] = Glowa[1];
	gotoxy(tablica[0][0], tablica[0][1]);
	cout << 'x';
}
int rysuj_glowe()
{
	switch(Kierunek)
		{
			case gora:{
				Glowa[1] -= 1;
				break;
			}
			case dol:{
				Glowa[1] += 1;
				break;
			}
			case lewo:{
				Glowa[0] -= 1;
				break;
			}
			case prawo:{
				Glowa[0] += 1;
				break;
			}
		}
		if(Glowa[0] == 0 || Glowa[0] == 59 || Glowa[1] == 0 || Glowa[1] == 26)
			return 1;
 
		for(int i=3;i<Dlugosc_ogon;i++)
		{
			if(Glowa[0] == tablica[i][0] && Glowa[1] == tablica[i][1])
			{
				return 1;
			}
		}
		gotoxy(Glowa[0], Glowa[1]);
		cout << '#';
			return 0;
}
int sprawdz_jedzenie()
{
	int iGlowa[2];
	iGlowa[0] = Glowa[0];
	iGlowa[1] = Glowa[1];
	switch(Kierunek)
	{
		case gora:{
			iGlowa[1] -= 1;
			break;
		}
		case dol:{
			iGlowa[1] += 1;
			break;
		}
		case lewo:{
			iGlowa[0] -= 1;
			break;
		}
		case prawo:{
			iGlowa[0] += 1;
			break;
		}
	}
	if(iGlowa[0] == Jedzenie[0] && iGlowa[1] == Jedzenie[1])
	{
		Dlugosc_ogon += 1;
		tablica[Dlugosc_ogon-1][0] = tablica[Dlugosc_ogon-2][0];
		tablica[Dlugosc_ogon-1][1] = tablica[Dlugosc_ogon-2][1];
 
		losuj_jedzenie();
		Punkty += 1;
		pisz_punkty();
	}	
}
int pisz_punkty()
{
	gotoxy(68, 6);
	cout << "    ";
	gotoxy(68, 6);
	cout << Punkty;
}
int losuj_jedzenie()
{
	Jedzenie[0] = (rand() % 58) + 1;
	Jedzenie[1] = (rand() % 25) + 1;
	for(int i;i<Dlugosc_ogon;i++)
	{
		if( (Jedzenie[0] == tablica[i][0] && Jedzenie[1] == tablica[i][1]) || (Jedzenie[0] == Glowa[0] && Jedzenie[1] == Glowa[1]) )
		{
			losuj_jedzenie();
			break;
		}
	}
	gotoxy(Jedzenie[0], Jedzenie[1]);
	cout << "@";
}
 
 
void gotoxy(const int x, const int y)
{
        COORD coord = {x, y};
        SetConsoleCursorPosition(g_hConsol, coord);
}
int menu()
{
	system("CLS");
	short wyb;
	cout << "Gra Snake by Gwozdziu" << endl
		 << "1. Graj" << endl
		 << "2. Wyjdz" << endl;
	cin >> wyb;
	switch(wyb)
	{
		case 1:{
			system("CLS");
			uruchom();
			break;
		}
		case 2:{
			break;
		}
		default:{
			menu();
			break;
		}
	}
}
int rysuj_pole()
{
	cout << "************************************************************" << endl
		 << "*                                                          *" << endl
		 << "*                                                          * Snejk " << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          * Punkty:" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "*                                                          *" << endl
		 << "************************************************************" << endl;
}

Dodanych wklejek: 4031
Powered By (Pav32) Pastebin © 2011