Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

(C++[allegro]) Gra w rzutki

#1
(C++[allegro]) Gra w rzutki
Proszę się nie przerażać, ale potrzebuję pomocy w napisaniu pomocy w napisaniu gry w rzutki.
Chodzi o coś takiego:
Rysuje się na ekranie o rozdzielczości 1280x1024 pięć, sześć kół o coraz mniejszym promieniu, wszystkie mają swój środek w w tym samym miejscu w centrum ekranu.
Po górze ekranu tzn. przy górnej krawędzi jeździłaby tam i z powrotem taka kreska i jak kliknie się jakiś klawisz to zapisze się współrzędna x.
Po lewej krawędzi ekranu to samo, tylko ta kreska jeździ w pionie.
Te 2 współrzędne w zależności na którym okręgu by się znalazła daje nam punkty.
Po 10 rzutach wynik jest sumowany i wyświetlany na ekranie.
Żadne menu ani nic takiego nie jest wymagane. Ot, tylko ten program, kompilujesz i już jeżdżą te kreski.
Muszę takie coś zrobić w allegro, tylko problem w tym, że zupełnie nie wiem jak się do tego zabrać. Smutek Byłbym wdzięczny za każdą pomoc.
Umiałbym może narysować te koła na ekranie, ale nie wiem jak napisać te "jeżdżące kreski".
 System operacyjny: windows_seven Przeglądarka: firefox
#2
RE: (C++[allegro]) Gra w rzutki
Górna kreska, pisane w przeglądarce, dlatego niezbyt to wygląda
Kod:
int x , y, strona = 0;

if(x > 0 && x < 1024)
{
switch(strona)
{
case 0:
{
x++;
if( x > 1024 )
  strona = 1;
}break;
case 1:
{
x--;
if( x < 0 )
  strona = 0;
}break;
}
}
[Obrazek: 9989.jpg]
Nowy hit przemysłu gier: http://yfrog.com/16hitvqj
#define private public //beware, classes, I'm coming! LOL
 System operacyjny: windows_vista Przeglądarka: firefox
#3
RE: (C++[allegro]) Gra w rzutki
Mam takie coś
Kod:
#include <allegro.h>
#include <time.h>

using namespace std;

int main(int argc, char *argv[])
{
    allegro_init();
    install_keyboard();
    set_color_depth(16);
    set_gfx_mode(GFX_AUTODETECT,1280,1024,0,0);
    
    BITMAP *my_pic = NULL;
    my_pic = load_bitmap("picture.bmp", NULL);
    BITMAP*buffer = NULL;
    
    buffer = create_bitmap(1280,1024);
  
    int my_pic_x=357;
    int my_pic_y = 1024;
    
    while(!key[KEY_ESC])
    {
                        if(key[KEY_RIGHT])
                        {my_pic_x ++;
                        }
                        else if(key[KEY_LEFT])
                        {
                        my_pic_x --;
                        }
                        else if(key[KEY_UP])
                        {
                        my_pic_y --;
                        }
                        else if(key[KEY_DOWN])
                        {
                        my_pic_y ++;
                        }
                        
                        draw_sprite(buffer, my_pic, my_pic_x, my_pic_y);
                        blit(buffer, screen,0,0,0,0,1280,1024);
                        clear_bitmap(buffer);
    }    
    
    destroy_bitmap(my_pic);
    destroy_bitmap(buffer);
    return 0;
}
END_OF_MAIN()
W które miejsce to powinienem wkleić? Zaraz jeszcze narysuję te koła.
A, to jest do jeżdżenia rysunkiem, jak zdobędzie się ileś punktów to wtedy to wyskoczy. Jak zrobić, żeby ta kreska się wyświetlała na ekranie? Wstawić kwadrat i podać jako pierwszą współrzędną strona?
Gdzie w ogóle w tym kodzie mogę te koła narysować, bo jak zaraz po buffer create bitmap i ruszę strzałką to cały ekran znika i wjeżdża obrazek.
Chodzi mi o takie kółka na ekranie:
Kod:
circlefill( buffer, 50, 50, 25, makecol( 0,255, 0));
Na środku ekranu, żeby już tam były po włączeniu programu.
 System operacyjny: windows_seven Przeglądarka: firefox
#4
RE: (C++[allegro]) Gra w rzutki
Nie masz tego wkleić, tylko przeczytać, zrozumieć i przekształcić.

Nie pamiętam jak wyglądała w allegro funkcja do rysowania kwadratu, ale po prostu wstawiasz x i y, żadnej filozofii nie ma. 'strona' to tylko zmienna, dzięki której możesz wiedzieć w którą stronę ekranu akurat przesuwa się prostokąt, ale nie jego pozycje.

Rysujesz w pętli głównej ,- przejrzyj jakiś kurs allegro

Trochę poprawiony kod,powinno Ci być łatwiej z tego zrozumieć:
Kod:
int x = 0 , y = 50,        //współrzędne
    strona = 0;   //strona w którą porusza się prostokąt

switch(strona)
{
    case 0: // prawo
    {
        x++;
        if( x > 1024 ) // jeśli wyszło poza ekran, zmień stronę
        strona = 1;
    }break;
    case 1: // lewo
    {
        x--;
        if( x < 0 ) // jeśli wyszło poza ekran, zmień stronę
            strona = 0;
    }break;
}
[Obrazek: 9989.jpg]
Nowy hit przemysłu gier: http://yfrog.com/16hitvqj
#define private public //beware, classes, I'm coming! LOL
 System operacyjny: windows_vista Przeglądarka: firefox
#5
RE: (C++[allegro]) Gra w rzutki
Co do kursu zajrzyj do tego może ci pomożeJęzyk

Kurs: http://cpp0x.pl/kursy/Kurs-Allegro-C++/21
 System operacyjny: windows_seven Przeglądarka: firefox
#6
RE: (C++[allegro]) Gra w rzutki
Chcę, żeby można było załadować i obrazek bmp, tak jak działa teraz, i rysować prymitywy, ale choć wpiszę w kodzie:
rectfill( buffer, x, y, x+20, y, makecol( 12, 34, 200));
Obojętnie w którym miejscu, to i tak nie działa.
 System operacyjny: windows_seven Przeglądarka: firefox
#7
RE: (C++[allegro]) Gra w rzutki
Jeszcze ważne jest co pierwsze rysujesz, odsyłam raz jeszcze do kursu
[Obrazek: 9989.jpg]
Nowy hit przemysłu gier: http://yfrog.com/16hitvqj
#define private public //beware, classes, I'm coming! LOL
 System operacyjny: windows_vista Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
gra rzutki kodc++ allegro gra

Podobne wątki ((C++[allegro]) Gra w rzutki)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Gra przez przeglądarkę w c++ i allegro? Da się? Giliad 11 4800 08.02.2011, 00:47
Ostatni post: brzegator27

Skocz do:


Wybrane wątki ((C++[allegro]) Gra w rzutki)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Menu (Nie widoczne długie opisy) wanhelsing 5 9624 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 4171 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 8883 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 9005 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 8749 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 8425 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 7560 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 10876 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 8008 07.03.2019 15:33
Ostatni post: wiktrom12
  Mój pierwszy projekt - Pomoc rafal12999 1 8471 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 9888 04.02.2019 09:03
Ostatni post: piesel18
  Szkoła Informatyczna Zikinan 1 8772 02.02.2019 17:59
Ostatni post: wojownikhaha
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 9517 27.01.2019 13:44
Ostatni post: rafal12999
  kompilacja biblioteki Agui - cmake jurek2 0 8817 10.01.2019 13:12
Ostatni post: jurek2
  Zamiana całego zestawu znaków wg przyporządkowania BarHorab 5 9521 19.12.2018 16:45
Ostatni post: Szachista