DobryZiom Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Tytuł: Xenon Pacman Gatunek: ludzki -.- Opis: W grze chodzi o to by łapać bonusy. Rywalizują ze sobą 2 gracze. Łapanie bonusów utrudniają kolce,lasery etc xD Grę piszę tylko i wyłącznie dla rozrywki... jak na razie to kilka godzin pracy -.- Download: KLIK Rozmiar pliku: 1.6mb Autorzy: Wszystko zrobiłem sam, w przypadku problemu z kodem pomagał GMClan :] Screeny: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Gierka na 1 oczywiście, pomysł może nie był głupi ale jego realizacja stoi już troszkę gorzej, lasery często powstają od razu na graczu, a nawet jeśli powstaną obok gracza to pędzą z taką prędkością że nie da się od nich uciec, dodatkowo wyraźnie widać jak lasery powstając/znikając teleportują się z jednej pozycji na drugą, gracze mogą spawnić się w sobie, okienko nie posiadające obramowania jest niefajne, do tego ten epicki alpha blendig na itd. Nie mówiąc już o tym że nawet do takiej gierki głupie ai by się przydało, nie uwierzysz ale akurat nie miałem żadnego kumpla pod ręką do stestowania. Drobne pytanko: yxe, ten spash screen jest częścią, którą umieszczasz we wszystkich przykładach a Dobryziom jej po prostu nie usunął, czy jest to wymagane w aplikacjach opartych o Xenona? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Drobne pytanko: yxe, ten spash screen jest częścią, którą umieszczasz we wszystkich przykładach a Dobryziom jej po prostu nie usunął, czy jest to wymagane w aplikacjach opartych o Xenona? nie jest wymagane, jest ono opcjonalne, jak w GMie, wystarczy usunac linijke z XeIntroScene w kodzie dodawania scen i ustawic poczatkowa scene na inna. Jest to domyslna realizacja punktu licencji mowiaca o koniecznosci dodania do gry jakiejs informacji dobrze widocznej o uzywanym silniku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PoxiPol Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Dziekuje ziomie, ze wlasnie mi zrujnowales caly szacunek do Xenona : | Myslalem ze az tak dupnych gier nim sie nei da zrobic. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Jak kupię cryengine 3 i zrobię w nim identyczną grę jak ta to stracisz szacunek do niego? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
zelman Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 TYTUŁ https://gmclan.org/up6605_4_b0f29f6427.html sorki że bez szablonu ale muszę jechać na zdjęcie szwów :) wrócę to wstawię :] Fajnie, że jedziesz na zdjęcie szwów, ale to chyba mogło poczekać tą godzinkę czy dwie (ewentualnie w ostateczności nawet do jutra)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 w obecnym stanie gra jest hardkorowa, ledwo udało mi się zdobyć jeden punkt Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Japanstache Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Kolejny pokaz możliwości Xenona! A gra jest na poziomie autora. 1/5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 YXE zagnij ich i zrób coś pro w Xenonie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 nawet ikony nie zmienił. YXE, ksenon jest zbyt prosty w używaniu. popraw to. btw. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
GMTraker Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 zaiste wyrafinowane dzieło genialnego programisty, nie rozumiem po co używać xenona, nie łatwiej to zrobić na kilku obiektach? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Od czegoś się naukę zaczyna :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 15 Listopada 2010 Filar Społeczności Udostępnij Opublikowano 15 Listopada 2010 YXE zagnij ich i zrób coś pro w Xenonie. Poznacie nas po owocach naszej pracy. o! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 15 Listopada 2010 Autor Udostępnij Opublikowano 15 Listopada 2010 pff :D Jakie komentarze ^^ Ja tam nie chciałem zakładać tematu lecz mi kazali ^^ ta gierka jest napisana w kilka godzin( 3 - 4 ). Jest to moje pierwsze starcie z Xenonem więc myślę że nie wyszło tak źle :P gra miała być hardcorowa... "grafika" jest moja( jak widać... ) :D Ta gra powstaje tylko i wyłącznie w celach naukowych :P E: Wstawiłem szablon Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 co do grafik: w Gimpie/PSie rysuj, albo usun w nim tlo i wtedy konwertuj na XET, to zachowa przezroczystosc - juz jakis czas temu zamienilem konwertowanie z bitmap i masek, na rzecz png Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 pff :D Jakie komentarze ^^ Ja tam nie chciałem zakładać tematu lecz mi kazali ^^ ta gierka jest napisana w kilka godzin( 3 - 4 ). Jest to moje pierwsze starcie z Xenonem więc myślę że nie wyszło tak źle :P gra miała być hardcorowa... "grafika" jest moja( jak widać... ) :D Ta gra powstaje tylko i wyłącznie w celach naukowych :P E: Wstawiłem szablon tobie nikt niczego nie nakazuje. po prostu po co toczyć dyskusję o grze w shoutboxie, większość czytających nie miałaby pojęcia o co chodzi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 YXE, Physix, czy physiu: Już wiem czego brakuje w XenoNie! Keycolorów! :D Co do gry, czy brak crackowanego Photoshopa prowadzi aż do takiej grafiki? Przecież istnieje Gimp/CP/czy inne szmatławce. :) Powstrzymam się od i tak już zaniżonej oceny {: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jaklub Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 nawet w niezarejestrowanym GM8 można dodawać kanał alpha do obrazków lol Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 15 Listopada 2010 Autor Udostępnij Opublikowano 15 Listopada 2010 hmm...w sumie to wpadłem na pomysł zrobienia innej gierki, platformówki :] Ta gra jest w miarę grywalna więc ją tak zostawiam :D Jeśli ktoś by chciał mogę dać source... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 hmm...w sumie to wpadłem na pomysł zrobienia innej gierki, platformówki Ta gra jest w miarę grywalna więc ją tak zostawiam Jeśli ktoś by chciał mogę dać source... Powinieneś dać sources bo jeśli cały twój kod wygląda jak ten fragment, który widziałem to masakra. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 15 Listopada 2010 Autor Udostępnij Opublikowano 15 Listopada 2010 ...widziałem to masakra. proszę cie... nie mów jak doda -.- Po co mam dawać source skoro twierdzisz że mój kod jest do d... niczego ?? APPDATA: #ifndef APP_DATA_H #define APP_DATA_H C_APPLICATION Game; int a = 0; int g1 = 0; int g2 = 0; /* GRACZ */ class C_GRACZ : public XE_ACTOR2D { public: XE_VECTOR pos; int x; int y; C_GRACZ( XE_VECTOR pos = 0 ); ~C_GRACZ( ); void Update( ); void Render( ); } Gracz; C_GRACZ::C_GRACZ( XE_VECTOR pos ) { Game.Describe( this, "GRACZ" ); Sprite = Game.Sprites.Access( "spr_gracz" ); Position = pos; x = (int)Position.X; y = (int)Position.Y; } C_GRACZ::~C_GRACZ() { Sprite = XE_SPRITE(); } void C_GRACZ::Update() { bool c_gora = false; bool c_dol = false; bool c_lewo = false; bool c_prawo = false; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( -1, 1 ) ) ) c_lewo = true; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 1, -1 ) ) ) c_gora = true; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 2, 1 ) ) ) c_prawo = true; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 1, 2) ) ) c_dol = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ2", XE_VECTOR( -1, 1 ) ) ) c_lewo = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ2", XE_VECTOR( 1, -1 ) ) ) c_gora = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ2", XE_VECTOR( 2, 1 ) ) ) c_prawo = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ2", XE_VECTOR( 1, 2) ) ) c_dol = true; if( Game.Collision2D( XEF_BOX, this, "KOLEC_LEWO" ) || Game.Collision2D( XEF_BOX, this, "KOLEC_PRAWO" ) || Game.Collision2D( XEF_BOX, this, "MALY_KOLEC" ) || Game.Collision2D( XEF_BOX, this, "LASER_PIONOWY" ) || Game.Collision2D( XEF_BOX, this, "LASER_POZIOMY" ) ) { Position.X = x; Position.Y = y; } if( XE_IO::KeyboardGet( XE_KEY_UP ) ) if( c_gora == false ) Position.Y -= 2; if( XE_IO::KeyboardGet( XE_KEY_DOWN ) ) if( c_dol == false ) Position.Y += 2; if( XE_IO::KeyboardGet( XE_KEY_LEFT ) ) if( c_lewo == false ) Position.X -= 2; if( XE_IO::KeyboardGet( XE_KEY_RIGHT ) ) if( c_prawo == false ) Position.X += 2; } void C_GRACZ::Render() { DrawSprite(); } /* GRACZ 2*/ class C_GRACZ2 : public XE_ACTOR2D { public: XE_VECTOR pos; int x; int y; C_GRACZ2( XE_VECTOR pos = 0 ); ~C_GRACZ2( ); void Update( ); void Render( ); } Gracz2; C_GRACZ2::C_GRACZ2( XE_VECTOR pos ) { Game.Describe( this, "GRACZ2" ); Sprite = Game.Sprites.Access( "spr_gracz2" ); Position = pos; x = (int)Position.X; y = (int)Position.Y; } C_GRACZ2::~C_GRACZ2() { Sprite = XE_SPRITE(); } void C_GRACZ2::Update() { bool c_gora = false; bool c_dol = false; bool c_lewo = false; bool c_prawo = false; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( -1, 1 ) ) ) c_lewo = true; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 1, -1 ) ) ) c_gora = true; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 2, 1 ) ) ) c_prawo = true; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 1, 2) ) ) c_dol = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ", XE_VECTOR( -1, 1 ) ) ) c_lewo = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ", XE_VECTOR( 1, -1 ) ) ) c_gora = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ", XE_VECTOR( 2, 1 ) ) ) c_prawo = true; if( Game.Collision2D( XEF_BOX, this, "GRACZ", XE_VECTOR( 1, 2) ) ) c_dol = true; if( Game.Collision2D( XEF_BOX, this, "KOLEC_LEWO" ) || Game.Collision2D( XEF_BOX, this, "KOLEC_PRAWO" ) || Game.Collision2D( XEF_BOX, this, "MALY_KOLEC" ) || Game.Collision2D( XEF_BOX, this, "LASER_PIONOWY" ) || Game.Collision2D( XEF_BOX, this, "LASER_POZIOMY" ) ) { Position.X = x; Position.Y = y; } if( XE_IO::KeyboardGet( XE_KEY_W ) ) if( c_gora == false ) Position.Y -= 2; if( XE_IO::KeyboardGet( XE_KEY_S ) ) if( c_dol == false ) Position.Y += 2; if( XE_IO::KeyboardGet( XE_KEY_A ) ) if( c_lewo == false ) Position.X -= 2; if( XE_IO::KeyboardGet( XE_KEY_D ) ) if( c_prawo == false ) Position.X += 2; } void C_GRACZ2::Render() { DrawSprite(); } /* MUR */ class C_MUR : public XE_ACTOR2D { public: XE_VECTOR pos; int hp; C_MUR( XE_VECTOR pos = 0 ); ~C_MUR( ); void Update( ); void Render( ); } Mur; C_MUR::C_MUR( XE_VECTOR pos ) { Game.Describe( this, "MUR" ); Sprite = Game.Sprites.Access( "spr_mur" ); Position = pos; } C_MUR::~C_MUR() { Sprite = XE_SPRITE(); } void C_MUR::Update() { //... } void C_MUR::Render() { DrawSprite(); } /* BONUS */ class C_BONUS : public XE_ACTOR2D { public: XE_VECTOR pos; int hp; C_BONUS( XE_VECTOR pos = 0 ); ~C_BONUS( ); void Update( ); void Render( ); } Bonus; C_BONUS::C_BONUS( XE_VECTOR pos ) { Game.Describe( this, "BONUS" ); Sprite = Game.Sprites.Access( "spr_bonus" ); Position = pos; } C_BONUS::~C_BONUS() { Sprite = XE_SPRITE(); } void C_BONUS::Update() { if( Game.Collision2D( XEF_BOX, this, "GRACZ" ) ) { g1 += 1; Position.X = 20 + (int)XE_MATH::Random(800-40); Position.Y = 20 + (int)XE_MATH::Random(600-40); } if( Game.Collision2D( XEF_BOX, this, "GRACZ2" ) ) { g2 += 1; Position.X = 20 + (int)XE_MATH::Random(800-40); Position.Y = 20 + (int)XE_MATH::Random(600-40); } } void C_BONUS::Render() { DrawSprite(); } /* KOLEC LEWO - PRAWO */ class C_KOLEC_LEWO : public XE_ACTOR2D { public: XE_VECTOR pos; int kierunek; C_KOLEC_LEWO( XE_VECTOR pos = 0 ); ~C_KOLEC_LEWO( ); void Update( ); void Render( ); } Kolec_Lewo; C_KOLEC_LEWO::C_KOLEC_LEWO( XE_VECTOR pos ) { Game.Describe( this, "KOLEC_LEWO" ); Sprite = Game.Sprites.Access( "spr_kolec_lewo" ); Position = pos; kierunek = 1; } C_KOLEC_LEWO::~C_KOLEC_LEWO() { Sprite = XE_SPRITE(); } void C_KOLEC_LEWO::Update() { if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( -5, 1 ) ) ) kierunek = 1; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 5, 1 ) ) ) kierunek = 2; if( kierunek == 1 ) { Sprite = Game.Sprites.Access( "spr_kolec_prawo" ); Position.X += 4; } else { Sprite = Game.Sprites.Access( "spr_kolec_lewo" ); Position.X -= 4; } } void C_KOLEC_LEWO::Render() { DrawSprite(); } /* KOLEC GORA - DOL */ class C_KOLEC_GORA : public XE_ACTOR2D { public: XE_VECTOR pos; int kierunek; C_KOLEC_GORA( XE_VECTOR pos = 0 ); ~C_KOLEC_GORA( ); void Update( ); void Render( ); } Kolec_Gora; C_KOLEC_GORA::C_KOLEC_GORA( XE_VECTOR pos ) { Game.Describe( this, "KOLEC_LEWO" ); Sprite = Game.Sprites.Access( "spr_kolec_lewo" ); Position = pos; kierunek = 1; } C_KOLEC_GORA::~C_KOLEC_GORA() { Sprite = XE_SPRITE(); } void C_KOLEC_GORA::Update() { if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 1, -5 ) ) ) kierunek = 1; if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 1, 5 ) ) ) kierunek = 2; if( kierunek == 1 ) { Sprite = Game.Sprites.Access( "spr_kolec_dol" ); Position.Y += 4; } else { Sprite = Game.Sprites.Access( "spr_kolec_gora" ); Position.Y -= 4; } } void C_KOLEC_GORA::Render() { DrawSprite(); } /* MALY KOLEC */ class C_MALY_KOLEC : public XE_ACTOR2D { public: XE_VECTOR pos; C_MALY_KOLEC( XE_VECTOR pos = 0 ); ~C_MALY_KOLEC( ); void Update( ); void Render( ); } Maly_Kolec; C_MALY_KOLEC::C_MALY_KOLEC( XE_VECTOR pos ) { Game.Describe( this, "MALY_KOLEC" ); Sprite = Game.Sprites.Access( "spr_maly_kolec" ); Position = pos; } C_MALY_KOLEC::~C_MALY_KOLEC() { Sprite = XE_SPRITE(); } void C_MALY_KOLEC::Update() { if( Game.Collision2D( XEF_BOX, this, "MUR", XE_VECTOR( 7, 1 ) ) ) Game.UnregisterActor( this ); Position.X += 6; } void C_MALY_KOLEC::Render() { DrawSprite(); } /* WYRZUTNIA KOLCOW */ class C_WYRZUTNIA_KOLCOW : public XE_ACTOR2D { public: XE_VECTOR pos; int czas; C_WYRZUTNIA_KOLCOW( XE_VECTOR pos = 0 ); ~C_WYRZUTNIA_KOLCOW( ); void Update( ); void Render( ); } Wyrzutnia_Kolcow; C_WYRZUTNIA_KOLCOW::C_WYRZUTNIA_KOLCOW( XE_VECTOR pos ) { Game.Describe( this, "WYRZUTNIA_KOLCOW" ); Sprite = Game.Sprites.Access( "spr_wyrzutnia_kolcow" ); Position = pos; czas = 0; } C_WYRZUTNIA_KOLCOW::~C_WYRZUTNIA_KOLCOW() { Sprite = XE_SPRITE(); } void C_WYRZUTNIA_KOLCOW::Update() { czas += 1; if( czas == 200 ) { czas = 0; Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+20 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+40 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+60 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+80 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+100 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+120 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+140 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+160 ) ) ); Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+180 ) ) ); } } void C_WYRZUTNIA_KOLCOW::Render() { DrawSprite(); } /* LASER PIONOWY */ class C_LASER_PIONOWY : public XE_ACTOR2D { public: XE_VECTOR pos; int kierunek; int czas; C_LASER_PIONOWY( XE_VECTOR pos = 0 ); ~C_LASER_PIONOWY( ); void Update( ); void Render( ); } Laser_Pionowy; C_LASER_PIONOWY::C_LASER_PIONOWY( XE_VECTOR pos ) { Game.Describe( this, "LASER_PIONOWY" ); Sprite = Game.Sprites.Access( "spr_laser_pionowy" ); Position = pos; kierunek = 1; czas = 1; } C_LASER_PIONOWY::~C_LASER_PIONOWY() { Sprite = XE_SPRITE(); } void C_LASER_PIONOWY::Update() { czas += 1; if( czas > 1 && czas < 50 ) { if( kierunek == 1 ) Position.X += 3; else Position.X -= 3; } else if( czas > 50 && czas < 200 ) Position.X = -99; else Position.X = 20 + (int)XE_MATH::Random(800-40); if( czas > 200 || czas < 1 ) { czas = 1; if( kierunek == 1) kierunek = 2; else kierunek =1; } } void C_LASER_PIONOWY::Render() { DrawSprite(); } /* LASER POZIOMY */ class C_LASER_POZIOMY : public XE_ACTOR2D { public: XE_VECTOR pos; int kierunek; int czas; C_LASER_POZIOMY( XE_VECTOR pos = 0 ); ~C_LASER_POZIOMY( ); void Update( ); void Render( ); } Laser_Poziomy; C_LASER_POZIOMY::C_LASER_POZIOMY( XE_VECTOR pos ) { Game.Describe( this, "LASER_POZIOMY" ); Sprite = Game.Sprites.Access( "spr_laser_poziomy" ); Position = pos; kierunek = 1; czas = 1; } C_LASER_POZIOMY::~C_LASER_POZIOMY() { Sprite = XE_SPRITE(); } void C_LASER_POZIOMY::Update() { czas += 1; if( czas > 1 && czas < 50 ) { if( kierunek == 1 ) Position.Y += 3; else Position.Y -= 3; } else if( czas > 50 && czas < 200 ) Position.Y = -99; else Position.Y = 20 + (int)XE_MATH::Random(600-40); if( czas > 200 || czas < 1 ) { czas = 1; if( kierunek == 1) kierunek = 2; else kierunek =1; } } void C_LASER_POZIOMY::Render() { DrawSprite(); } #endif APPEVENTS: #ifndef APP_EVENTS_H #define APP_EVENTS_H PROGRESS(GameProgress) { if( XE_IO::KeyboardGetPressed( XE_KEY_ESC ) ) Game.Exit(); Game.Camera.Update(); /* UPDATE OBIEKTÓW Gracz.Update( ); Bonus.Update( ); Kolec_Lewo.Update( ); Kolec_Gora.Update( ); Laser_Pionowy.Update( );*/ Game.Progress(); /* RENDEROWANIE ( RYSOWANIE ) Gracz.Render( ); Bonus.Render( ); Kolec_Gora.Render( ); Laser_Pionowy.Render( );*/ /* RYSOWANIE TEXTU*/ XE_STRING str; str.Format( "Gracz 1: %i \nGracz 2: %i", (int)g1, (int)g2 ); Game.Fonts( "fnt_1" )->Draw( str, XE_VECTOR( 10, 10 ) ); XeRenderScene( XE_FLAG_SWAP | XE_FLAG_COLORBUFF | XE_FLAG_TRANSFORMIDENT ); } SCENE(GameScene) { /* OKNO*/ Game.Windows( "main" )->Width = 800; Game.Windows( "main" )->Height = 600; Game.WindowCentralize( "main" ); Game.Windows( "main" )->Update(); Game.OnWindowSetup( "main" ); Game.Vsync( true ); Game.Camera.Width = (float)Game.Windows( "main" )->Width; Game.Camera.Height = (float)Game.Windows( "main" )->Height; /* ZASOBY */ Game.Sprites( "spr_mur" )->Prepare( "data/1.xet", false ); Game.Sprites( "spr_gracz2" )->Prepare( "data/2.xet" ); Game.Sprites( "spr_gracz" )->Prepare( "data/3.xet" ); Game.Sprites( "spr_bonus" )->Prepare( "data/4.xet" ); Game.Fonts( "fnt_1" )->Prepare("data/5.xet","data/5.fnt"); Game.Sprites( "spr_kolec_gora" )->Prepare( "data/6.xet" ); Game.Sprites( "spr_kolec_prawo" )->Prepare( "data/7.xet" ); Game.Sprites( "spr_kolec_dol" )->Prepare( "data/8.xet" ); Game.Sprites( "spr_kolec_lewo" )->Prepare( "data/9.xet" ); Game.Sprites( "spr_wyrzutnia_kolcow" )->Prepare( "data/10.xet" ); Game.Sprites( "spr_maly_kolec" )->Prepare( "data/11.xet" ); Game.Sprites( "spr_laser_pionowy" )->Prepare( "data/12.xet" ); Game.Sprites( "spr_laser_poziomy" )->Prepare( "data/13.xet" ); /* SCIANY NA OKOLO */ for( a = 0; a < 600; a += 16 ) Game.RegisterActor( "MUR", new C_MUR( XE_VECTOR( 0, a ) ) ); for( a = 0; a < 600; a += 16 ) Game.RegisterActor( "MUR", new C_MUR( XE_VECTOR( 784, a ) ) ); for( a = 0; a < 800; a += 16 ) Game.RegisterActor( "MUR", new C_MUR( XE_VECTOR( a, 0 ) ) ); for( a = 0; a < 800; a += 16 ) Game.RegisterActor( "MUR", new C_MUR( XE_VECTOR( a, 584 ) ) ); /* GRACZE */ Game.RegisterActor( "GRACZ", new C_GRACZ( XE_VECTOR( 22, 22 ) ) ); Game.RegisterActor( "GRACZ2", new C_GRACZ2( XE_VECTOR( 44, 22 ) ) ); /* BONUS */ Game.RegisterActor( "BONUS", new C_BONUS( XE_VECTOR( 400, 300 ) ) ); /* KOLCE */ Game.RegisterActor( "KOLEC_LEWO", new C_KOLEC_LEWO( XE_VECTOR( 124, 100 ) ) ); Game.RegisterActor( "KOLEC_LEWO", new C_KOLEC_LEWO( XE_VECTOR( 524, 200 ) ) ); Game.RegisterActor( "KOLEC_LEWO", new C_KOLEC_LEWO( XE_VECTOR( 724, 300 ) ) ); Game.RegisterActor( "KOLEC_LEWO", new C_KOLEC_LEWO( XE_VECTOR( 224, 400 ) ) ); Game.RegisterActor( "KOLEC_LEWO", new C_KOLEC_LEWO( XE_VECTOR( 624, 500 ) ) ); Game.RegisterActor( "KOLEC_GORA", new C_KOLEC_GORA( XE_VECTOR( 100, 333 ) ) ); Game.RegisterActor( "KOLEC_GORA", new C_KOLEC_GORA( XE_VECTOR( 200, 433 ) ) ); Game.RegisterActor( "KOLEC_GORA", new C_KOLEC_GORA( XE_VECTOR( 300, 133 ) ) ); Game.RegisterActor( "KOLEC_GORA", new C_KOLEC_GORA( XE_VECTOR( 400, 333 ) ) ); Game.RegisterActor( "KOLEC_GORA", new C_KOLEC_GORA( XE_VECTOR( 500, 33 ) ) ); Game.RegisterActor( "KOLEC_GORA", new C_KOLEC_GORA( XE_VECTOR( 600, 161 ) ) ); Game.RegisterActor( "KOLEC_GORA", new C_KOLEC_GORA( XE_VECTOR( 700, 545 ) ) ); Game.RegisterActor( "WYRZUTNIA_KOLCOW", new C_WYRZUTNIA_KOLCOW( XE_VECTOR( 17, 300 ) ) ); Game.RegisterActor( "LASER_PIONOWY", new C_LASER_PIONOWY( XE_VECTOR( 333, 0 ) ) ); Game.RegisterActor( "LASER_POZIOMY", new C_LASER_POZIOMY( XE_VECTOR( 0, 333 ) ) ); XE_EVENTS::Execute( GameProgress ); Game.Cleanup(); } #endif Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
zelman Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Doda ma problemy ze słowami powyżej 5 literek... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 15 Listopada 2010 Autor Udostępnij Opublikowano 15 Listopada 2010 haha xD dobre :P ciekawe ile się uczyła tego "masakra" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
zelman Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 To się robi tak: najpierw mówi masa, a później kra. W ten sposób mozna nauczyć się wielu długich słów (5+ liter) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 nie wiem po cos dal te: int x; int y; przy graczach, skoro one nie sa nigdzie wykorzystywane - pozycja to u CIebie Pos, a w sumie powinna byc uzyta wbudowana w aktora Position :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 15 Listopada 2010 Autor Udostępnij Opublikowano 15 Listopada 2010 małe x i y to pozycje początkowe :) jak "dednie" to się tam respi :] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 a no chyba ze tak, tego nie zauwazylem w kodzie ktory dales Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
DobryZiom Opublikowano 15 Listopada 2010 Autor Udostępnij Opublikowano 15 Listopada 2010 if( Game.Collision2D( XEF_BOX, this, "KOLEC_LEWO" ) || Game.Collision2D( XEF_BOX, this, "KOLEC_PRAWO" ) || Game.Collision2D( XEF_BOX, this, "MALY_KOLEC" ) || Game.Collision2D( XEF_BOX, this, "LASER_PIONOWY" ) || Game.Collision2D( XEF_BOX, this, "LASER_POZIOMY" ) ) { Position.X = x; Position.Y = y; } no trochę tego jest :) na początek chyba nie tak źle z tym kodem? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 Takie kłikpytanko, to odwoływanie się do obiektów (czy co to tam jest) po STRINGACH ("KOLEC_GORA", "MALY_KOLEC", "WYRZUTIA_KOLCOW" itd to normalne w Xenonie czy ziomek sobie tak wymyślił? No i ogólnie - nie chce mi się tego analizowć ale 610 linii na tak banalną gierkę to tak jakby dość dużo. Chyba, że połowa tego kodu to zmyślnie poukrywane easter eggi, to ok : D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 15 Listopada 2010 Udostępnij Opublikowano 15 Listopada 2010 bede musial zrobic by mozna bylo szukac kolizji podajac wiecej niz jeden typ aktora, to optymalizacyjnie jakosc wzrosnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi