Skocz do zawartości

Boro Casso

Użytkownicy
  • Postów

    560
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Boro Casso

  1. Jedna z lepszych produkcji na gmc. Czemu lepszych ? Gra ma super old-schoolowy klimat. Moja ocena to 4
  2. zapewne wysyłasz pozycje i nadajesz nadajesz ją obiektowi jako x y. Jeżeli tak to odrazo ci piszę że tak się nie robi, przesuwaj postacie jakąś z punkcji mp_ lub move_ to pozycji odebranej.
  3. Wiem wiem, jak już pisałem, wszystko tworzone było dawno temu. A increment_speed jest odzelną funkcją z racji ze prócz samego speed miało być tam więcej kodu.
  4. GML sound_loop(index) lub GML if !sound_isplaying(index) sound_play(index);
  5. Boro Casso

    Prosta gra w allegro

    Wszystko pisane było w devie bardzo dawno temu, odkopałem mój stary przykład więc publikuje, może komuś się przyda. /* Przykład stworzony przez Boro casso Obrazuje on Praktycznie zastosowanie w stopniu podstawowym biblioteke allegro. Jeżeli masz jakieś pytania gg:6854542 E-mail borocasso[malpa]gmail.com Gra posiada wszystkie niezbedne opcje. Wszystkie funkcje zostały opisane za pomocą komentarzy. */ #include <allegro.h> #include <string> #include <iostream> #include <ctime> using namespace std; volatile long speed = 0; void increment_speed() { speed++; } END_OF_FUNCTION(increment_speed); LOCK_VARIABLE(speed); LOCK_FUNCTION(increment_speed); int main() { srand(static_cast<int>(time(NULL))); allegro_init(); //Deklaruje funkcje allegro install_keyboard(); //Deklaruje obsługę klawiatury set_color_depth(16); //Ustawia głębię kolorów, możliwe tryby to : 8, 15, 16, 24, 32 bity. set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0); //Tym poleceniem włączamy tryb graficzny. liczby 800 i 600 to rozdzelczość install_timer(); //Uruchamia timer install_int_ex(increment_speed, BPS_TO_TIMER(80)); //Deklaruje timer BITMAP *bufor = NULL; // BITMAP *postac_gora00 = NULL; //Deklarowanie zmiennych BITMAP *monster = NULL; // BITMAP *drzewo_spr = NULL; // bufor = create_bitmap(800,600); //Tworzenie bufora. postac_gora00 = load_bmp("gracz.bmp",default_palette); //Ładowanie zasobów graficznych. monster = load_bmp("monster.bmp",default_palette); drzewo_spr = load_bmp("drzewko.bmp",default_palette); int ludek_x = 1, ludek_y = 1, ludek_hp = 100; //Zmienne dotyczące postaci gracza int monster_hp[10], monster_x[10], monster_y[10], strona_mon = 1; //Tablice dotyczące przeciwników int map[800][600]; //Tablica dotycząca mapy int frame = 0; //Zmienne która będzie stosowana do zarządzania klatkami animacji. string strona = "lewo"; //Zmienna łańcuchowa. for (int i=1; i<=10; i++)//Pętla wypełniająca talice z potworami { monster_hp[i]=100; //Zdrowie monster_x[i]=rand() % 800; //Połozenie na osi x monster_y[i]=rand() % 600; //Połozenie na osi y } for (int i=1; i<=800; i+=32)//Pętla wypełniająca talice z mapą for (int j=1; j<=600; j+=32) { map[i][j]=rand() % 10; } while( !key[KEY_ESC]) //Pętla, w środku niej podajemuwszystki akcje dot. gry. { //textprintf(screen,font,20,20,makecol(255,255,128),"HP: %d",ludek_hp); //Rysuje napis hp: nasze zdrowie. while( speed > 0) { if( key[KEY_LEFT] && (map[ludek_x-32][ludek_y]!=8) && (frame==0 || frame==20)) { ludek_x-=32; strona = "lewo"; } //Poruszanie się lewo if(key[KEY_RIGHT] && (map[ludek_x+32][ludek_y]!=8) && (frame==0 || frame==20)) { ludek_x+=32; strona = "prawo"; } //Poruszanie się prawo if(key[KEY_UP] && (map[ludek_x][ludek_y-32]!=8) && (frame==0 || frame==20)) { ludek_y-=32; strona = "gora"; } //Poruszanie się górę if(key[KEY_DOWN] && (map[ludek_x][ludek_y-32]!=8) && (frame==0 || frame==20)) { ludek_y+=32; strona = "dol"; } //Poruszanie się dół speed--; frame++; if( frame > 39) frame=0; } clear_to_color(bufor, makecol(80,220,80)); //Rysuje tło. //Rysowanie gracza \/ if( frame<20) { draw_sprite(bufor, postac_gora00, ludek_x, ludek_y); } else if( frame>=20 && frame<40) { draw_sprite(bufor, postac_gora00, ludek_x, ludek_y); } //Rysowanie gracza /\ for (int i=1; i<=10; i++) //Pętla obsługująca przeciwników. { strona_mon = rand() % 10; //Losowanie strony poruszania się przeciwnika if (strona_mon == 0 && (frame==0 || frame==20) ){ monster_x[i]+=32;} if (strona_mon == 1 && (frame==0 || frame==20)){ monster_y[i]+=32;} if (strona_mon == 2 && (frame==0 || frame==20)){ monster_x[i]-=32;} if (strona_mon == 3 && (frame==0 || frame==20)){ monster_y[i]-=32;} draw_sprite(bufor, monster, monster_x[i], monster_y[i]); //Rysowanie przeciwnika } for (int i=1; i<=800; i+=32)//Pętla wypełniająca talice z mapą for (int j=1; j<=600; j+=32) { if (map[i][j]==8) {draw_sprite(bufor, drzewo_spr, i, j);} } for (int i=1; i<=10; i++) //Pętla odpowiedzalna za walkę if (ludek_x>=monster_x[i]-15 && ludek_x<=monster_x[i]+15 && ludek_y>=monster_y[i]-14 && ludek_y<=monster_y[i]+14) { ludek_hp=ludek_hp - (rand() % 3); monster_hp[i]=monster_hp[i] - (rand() % 5); if (monster_hp[i]<=0) { monster_x[i]=-100; } } blit( bufor, screen, 0,0,0,0, 800,600); //Kopiowanie bufor na ekran } //Czyszczenie zasobów remove_int( increment_speed); destroy_bitmap(postac_gora00); destroy_bitmap(monster); destroy_bitmap(bufor); allegro_exit(); //Wychodzenie z trybu allegro return 0; //Program zwraca 0 } END_OF_MAIN();
  6. Create GML plik = file_text_open_write( "log.txt" ); Step GML if keyboard_check_pressed(vk_anykey) file_text_write_string( plik , keyboard_lastchar ); Game End GML file_text_close( plik )
  7. Załóżmy ze ktoś ma chore serce, nie gra w żadne gry bo wystraszenie = zawał. Patrzy po screenach o taka gra raczej mnie nie wystraszy gra, gra, gra Bum zombie, pikawa mu staje. I śmierć ? Ogólnie ani to śmieszne ani straszne. Pokazałeś tym tylko że nie potrafisz stworzyć żadnej porządnej gry.
  8. w step dajesz na początku GML if (other.direction>=90 && other.direction<=180) other.sprite_index = sPlayerspr_left1; if (other.direction>=180 && other.direction<=270) other.sprite_index = sPlayerspr_down1; if (other.direction>=270 && other.direction<=360) other.sprite_index = sPlayerspr_right1; if (other.direction>=0 && other.direction<=90) other.sprite_index = sPlayerspr_up1; Puźniej GML if(point_distance(x,y,px,py)>6) { mp_potential_step(px,py,5,0) image_speed = 0.2; }else { image_speed = 0; image_index = 0; } W global mouse left pressed GML if place_free(mouse_x,mouse_y){ px = mouse_x div 32 * 32; py = mouse_y div 32 * 32; direction=round(point_direction(x,y,mouse_x,mouse_y)); A i w create GML image_speed = 0; px=xstart; py=ystart
  9. skorzystaj z sound_isplaying(sound) np GML if !(sound_isplaying(sound1)) sound_play(sound1);
  10. skasuj move_towards_point i daj tylko GML mp_potential_step_object(obj_person.x,obj_person.y,4,0); w create obiektów które są ścianami daj GML solid = true; W sumie jest to sposób tylko do amatorskich gier bo do czegoś lepszego wypadało by napisać jakiś patch finder.
  11. System jest w wersji beta, nie lepiej zainstalować go na wirtualnej maszynie ?
  12. 1. Stawiasz 5prostokątków dookoła planszy i jeden nad planszą 2. Budujesz plansze w wielkiej kuli która jest niebem. 3. background ?
  13. Ja jestem z Płocka do wawy mam około 1,5h jazdy, gdyby było więcej osób mógłbym wpaść.
  14. Ja bym to przez ltp podłączył, i napisał prosty sterownik w assemblerze.
  15. Boro Casso

    Podzielenie neo 6mb,

    No tak ale to będzie nielegalne. Od 09 roku weszła ustawa że bez pozwolenia administratora/właściciela sieci nie można się z nią łączyć od tak sobie. A jeżeli chcesz router za 60/70 zł, napisz do mnie na gg to ci mogę używkę odsprzedać.
  16. Kolego ale nie podajesz tam ip strony tylko koniecznie 127.0.0.1
  17. Najłatwiej tak Wchodzisz do katalogu C:\windows\system32\drivers\etc Otwierasz plik hosts za pomocą edytora tekstowego np. notatnika I masz miej więcej coś takiego # Copyright (c) 1993-2006 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host 127.0.0.1 localhost ::1 localhost na samym końcu dodajesz np. 127.0.0.1 gmclan.org
  18. W gm masz wbudowany pseudo antyanalising Wchodzisz w global game settings i zaznaczasz ptaszkiem opcje Interpolate colors between pixels
  19. skasuj skrypt i przepisz wszystko sam, a nie copy, paste :-)
  20. No no w sumie masz racje, tak z przyzwyczajenia machnąłem. a jeżeli jest 6 rodzai kul ??? GML if (instance_number(kulka1)=0 and instance_number(kulka2)=0 and instance_number(kulka3)=0) room_goto_next();
  21. Można przecież skorzystać z gm'oiwej grawitacji lub jakiegoś dlla.
  22. Odnajduj drogę w stepie, z tego co pamiętam to funkcja zwraca true jak utworzy drogę skorzystaj z tego.
×
×
  • Dodaj nową pozycję...