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
  C++ - sens pogłębiania nauki gbr 5 8715 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 8391 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 7530 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 10837 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 7973 07.03.2019 15:33
Ostatni post: wiktrom12
  Mój pierwszy projekt - Pomoc rafal12999 1 8431 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 9847 04.02.2019 09:03
Ostatni post: piesel18
  Szkoła Informatyczna Zikinan 1 8728 02.02.2019 17:59
Ostatni post: wojownikhaha
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 9473 27.01.2019 13:44
Ostatni post: rafal12999
  kompilacja biblioteki Agui - cmake jurek2 0 8776 10.01.2019 13:12
Ostatni post: jurek2
  Zamiana całego zestawu znaków wg przyporządkowania BarHorab 5 9480 19.12.2018 16:45
Ostatni post: Szachista
  Sumowanie licz excel - problem OxyGenE 2 12133 19.12.2018 16:29
Ostatni post: Szachista
  Jaki kod pod pewne zdarzenia visualbasic 2010 aktywny27 4 9930 07.11.2018 13:41
Ostatni post: Ajgor
Scared Ipad Pro programowanie? NissmoOne 4 11053 06.10.2018 12:22
Ostatni post: NissmoOne
  C# pierwsza pusta komórka Excel DonCorleone 0 9988 21.09.2018 16:58
Ostatni post: DonCorleone