| DzieckoBezZycia Temat założony przez niniejszego użytkownika | Program sam sie wylacza po okolo 16 sekundach » 2012-09-19 18:49:05 Prosze zobaczyc: #include <iostream>#include <conio.h>
 #include <windows.h>
 #include <time.h>
 
 using namespace std;
 
 int score_pc = 0, score_player = 0, ktopierwszy;
 
 int map[ 6 ][ 6 ] {
 0, 0, 0, 0, 0, 0,
 0, 0, 1, 0, 1, 0,
 0, 2, 1, 2, 1, 2,
 0, 0, 1, 0, 1, 0,
 0, 2, 1, 2, 1, 2,
 0, 0, 1, 0, 1, 0
 };
 
 class Game
 {
 
 public:
 
 void start()
 {
 cout << "Siema XD\n";
 getch();
 }
 
 void ruch_gracza2()
 {
 char ruch2 = getch();
 
 switch( ruch2 )
 {
 case 'q':
 if( map[ 1 ][ 1 ] != 3 )
 map[ 1 ][ 1 ] = 4;
 
 break;
 
 case 'w':
 if( map[ 1 ][ 3 ] != 3 )
 map[ 1 ][ 3 ] = 4;
 
 break;
 
 case 'e':
 if( map[ 1 ][ 5 ] != 3 )
 map[ 1 ][ 5 ] = 4;
 
 break;
 
 case 'a':
 if( map[ 3 ][ 1 ] != 3 )
 map[ 3 ][ 1 ] = 4;
 
 break;
 
 case 's':
 if( map[ 3 ][ 3 ] != 3 )
 map[ 3 ][ 3 ] = 4;
 
 break;
 
 case 'd':
 if( map[ 3 ][ 5 ] != 3 )
 map[ 3 ][ 5 ] = 4;
 
 break;
 
 case 'z':
 if( map[ 5 ][ 1 ] != 3 )
 map[ 5 ][ 1 ] = 4;
 
 break;
 
 case 'x':
 if( map[ 5 ][ 3 ] != 3 )
 map[ 5 ][ 3 ] = 4;
 
 break;
 
 case 'c':
 if( map[ 5 ][ 5 ] != 3 )
 map[ 5 ][ 5 ] = 4;
 
 break;
 
 
 }
 
 }
 
 void reset_map()
 {
 map[ 1 ][ 1 ] = 0;
 map[ 1 ][ 3 ] = 0;
 map[ 1 ][ 5 ] = 0;
 
 map[ 3 ][ 1 ] = 0;
 map[ 3 ][ 3 ] = 0;
 map[ 3 ][ 5 ] = 0;
 
 map[ 5 ][ 1 ] = 0;
 map[ 5 ][ 3 ] = 0;
 map[ 5 ][ 5 ] = 0;
 }
 
 void win()
 {
 score_player++;
 reset_map();
 }
 
 void noob()
 {
 score_pc++;
 reset_map();
 }
 
 void wygrana_kompa()
 {
 
 if( map[ 1 ][ 1 ] == 4 && map[ 1 ][ 3 ] == 4 && map[ 1 ][ 5 ] == 4 )
 noob();
 
 if( map[ 3 ][ 1 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 3 ][ 5 ] == 4 )
 noob();
 
 if( map[ 5 ][ 1 ] == 4 && map[ 5 ][ 3 ] == 4 && map[ 5 ][ 5 ] == 4 )
 noob();
 
 if( map[ 1 ][ 1 ] == 4 && map[ 3 ][ 1 ] == 4 && map[ 5 ][ 1 ] == 4 )
 noob();
 
 if( map[ 1 ][ 3 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 5 ][ 3 ] == 4 )
 noob();
 
 if( map[ 1 ][ 5 ] == 4 && map[ 3 ][ 5 ] == 4 && map[ 5 ][ 5 ] == 4 )
 noob();
 
 if( map[ 1 ][ 1 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 5 ][ 5 ] == 4 )
 noob();
 
 if( map[ 5 ][ 1 ] == 4 && map[ 3 ][ 3 ] == 4 && map[ 1 ][ 5 ] == 4 )
 noob();
 
 }
 
 void wygrana_gracza()
 {
 
 if( map[ 1 ][ 1 ] == 3 && map[ 1 ][ 3 ] == 3 && map[ 1 ][ 5 ] == 3 )
 win();
 
 if( map[ 3 ][ 1 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 3 ][ 5 ] == 3 )
 win();
 
 if( map[ 5 ][ 1 ] == 3 && map[ 5 ][ 3 ] == 3 && map[ 5 ][ 5 ] == 3 )
 win();
 
 if( map[ 1 ][ 1 ] == 3 && map[ 3 ][ 1 ] == 3 && map[ 5 ][ 1 ] == 3 )
 win();
 
 if( map[ 1 ][ 3 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 5 ][ 3 ] == 3 )
 win();
 
 if( map[ 1 ][ 5 ] == 3 && map[ 3 ][ 5 ] == 3 && map[ 5 ][ 5 ] == 3 )
 win();
 
 if( map[ 1 ][ 1 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 5 ][ 5 ] == 3 )
 win();
 
 if( map[ 5 ][ 1 ] == 3 && map[ 3 ][ 3 ] == 3 && map[ 1 ][ 5 ] == 3 )
 win();
 
 }
 
 void ruch_gracza()
 {
 char ruch = getch();
 
 switch( ruch )
 {
 case '7':
 if( map[ 1 ][ 1 ] != 4 )
 map[ 1 ][ 1 ] = 3;
 
 break;
 
 case '8':
 if( map[ 1 ][ 3 ] != 4 )
 map[ 1 ][ 3 ] = 3;
 
 break;
 
 case '9':
 if( map[ 1 ][ 5 ] != 4 )
 map[ 1 ][ 5 ] = 3;
 
 break;
 
 case '4':
 if( map[ 3 ][ 1 ] != 4 )
 map[ 3 ][ 1 ] = 3;
 
 break;
 
 case '5':
 if( map[ 3 ][ 3 ] != 4 )
 map[ 3 ][ 3 ] = 3;
 
 break;
 
 case '6':
 if( map[ 3 ][ 5 ] != 4 )
 map[ 3 ][ 5 ] = 3;
 
 break;
 
 case '1':
 if( map[ 5 ][ 1 ] != 4 )
 map[ 5 ][ 1 ] = 3;
 
 break;
 
 case '2':
 if( map[ 5 ][ 3 ] != 4 )
 map[ 5 ][ 3 ] = 3;
 
 break;
 
 case '3':
 if( map[ 5 ][ 5 ] != 4 )
 map[ 5 ][ 5 ] = 3;
 
 break;
 
 
 }
 
 }
 
 void draw_map()
 {
 for( int i = 0; i < 6; i++ )
 {
 for( int j = 0; j < 6; j++ )
 {
 switch( map[ i ][ j ] )
 {
 case 0:
 cout << " ";
 break;
 
 case 1:
 cout << "|";
 break;
 
 case 2:
 cout << "-";
 break;
 
 case 3:
 cout << "X";
 break;
 
 case 4:
 cout << "0";
 break;
 }
 }
 cout << endl;
 }
 
 }
 
 void czy_wygrana()
 {
 wygrana_kompa();
 wygrana_gracza();
 }
 
 };
 
 int main()
 {
 Game g;
 
 g.start();
 system( "cls" );
 srand( time( 0 ) );
 ktopierwszy = rand() % 50;
 cout << "ZACZYNA:";
 
 
 
 
 
 
 
 
 
 
 system( "cls" );
 
 if( ktopierwszy == 1 || ktopierwszy == 0 )
 {
 for(;; )
 {
 cout << "\n  " << score_player << ":" << score_pc;
 cout << endl;
 g.draw_map();
 g.ruch_gracza2();
 g.czy_wygrana();
 system( "cls" );
 cout << "\n  " << score_player << ":" << score_pc;
 cout << endl;
 g.draw_map();
 g.ruch_gracza();
 g.czy_wygrana();
 system( "cls" );
 }
 
 }
 
 if( ktopierwszy == 2 )
 {
 for(;; )
 {
 cout << "\n  " << score_player << ":" << score_pc;
 cout << endl;
 g.draw_map();
 g.ruch_gracza();
 g.czy_wygrana();
 system( "cls" );
 cout << "\n  " << score_player << ":" << score_pc;
 cout << endl;
 g.draw_map();
 g.ruch_gracza2();
 g.czy_wygrana();
 system( "cls" );
 }
 
 }
 
 
 
 return 0;
 
 }
 
 | 
|  | 
| Mrovqa | » 2012-09-19 19:00:52 Debuguj. Myślisz, że chciałoby się komuś sprawdzać tyle kodu? | 
|  | 
| poldek | » 2012-09-19 19:06:17 srand( time( 0 ) );ktopierwszy = rand() % 50;
 
i if( ktopierwszy == 1 || ktopierwszy == 0 ){
 for(;; )
 {
 [...]
 }
 
 }
 
 if( ktopierwszy == 2 )
 {
 for(;; )
 {
 [...]
 }
 }
 
W ogole rozumiesz co piszesz ? Od razu po uruchomieniu program mi sie zamyka ... zgadni dlaczego... Jak cos znajde to ci napisze. Btw.  rozdziel ten kod na kilka plikow i pisz czytelniej ledwo sie moge z tego odczytac. Powinienes sobie sam znalesc takie bledy w programie, to twoj program :) | 
|  | 
| DzieckoBezZycia Temat założony przez niniejszego użytkownika | » 2012-09-19 21:32:59 To z ktopierwszy znalazlem juz.Wiem, ale pomyslalem, ze moze to byc cos z brakiem konstruktorow czy cos takiego. Czy w tym moze byc problem?
 | 
|  | 
| DejaVu | » 2012-09-19 22:35:10 | Czy w tym moze byc problem? 
 | 
 Wydawało mi się, że programowanie polega na samodzielnym rozwiązywaniu problemów, a nie pytaniu co i rusz na forum 'gdzie jest błąd'. Od dłuższego czasu zadajesz pytania w stylu "znajdźcie mi błąd bo coś nie działa". Większość problemów wynika z braku znajomości podstaw programowania - weź sobie to do serca i zacznij pracować nad tym. Jeżeli pytasz nas 'gdzie jest błąd' to jest to równoważne z tym, że nie rozumiesz co piszesz, a zatem zlepiasz kod z innych zamiast go tworzyć na podstawie zdobytej wiedzy. | 
|  | 
| bingo009 | » 2012-09-20 21:46:22 Wez ta klase wpakuj do innego pliku i nie pisz odrazu cial funkcji w klasie. Przepraszam za brak polskich znakow, ale nie mam ich w telefonie. | 
|  | 
| GoldWolf | » 2012-09-21 08:23:18 PoldekCię naprowadził błąd jest tutaj ktopierwszy = rand() % 50; Nie znając podstaw i tak tego nie ruszysz. Mam inne pytanie bo u mnie jest błąd już na początku:  | error C2470: 'map' : looks like a function definition, but there is no parameter list; skipping apparent body | 
 int map[ 6 ][ 6 ] {0, 0, 0, 0, 0, 0,
 0, 0, 1, 0, 1, 0,
 0, 2, 1, 2, 1, 2,
 0, 0, 1, 0, 1, 0,
 0, 2, 1, 2, 1, 2,
 0, 0, 1, 0, 1, 0
 };
Dla mnie tutaj jest błąd, ale nie wiem inne kompilatory to puszczają, albo ja o czymś nie wiem? Używam - Microsoft Visual Studio 2010 Version 10.0.30319.1 (Installed Version: VC Express). | 
|  | 
| DzieckoBezZycia Temat założony przez niniejszego użytkownika | » 2012-09-21 19:10:53 Jak juz mowilem zauwazylem to wczesniej, ale nie to jest przyczyna wylaczenia po 16 sekundach. Sprobuje zrobic petle opozniajaca, ale teraz mam powazniejszy problem. 
 PS: Cos musi byc u cb, bo moj kompilator uznaje to za poprawne (uzywam Code-Blocks)
 
 Dodanie opozniacza jednak nie zalatwilo sprawy... Bede jeszcze myslal.
 | 
|  | 
| « 1 »  2 |