Skocz do zawartości

Boro Casso

Użytkownicy
  • Postów

    560
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Boro Casso

  1. 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();

  2. 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.

  3. 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

  4. Zresztą pożycz może od kogoś kartę wifi i sprawdź czy w twoim zasięgu nie ma niezabezpieczonej sieci, do której będziesz mógł się podłączyć. tongue2.gif

    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ć.

  5. 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

  6. Boro Casso widziałeś kiedyś -1 obiektów? biggrin.gif

    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();
×
×
  • Dodaj nową pozycję...