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 4827 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
  Skrypt pod sklep internetowy Talcia 4 5822 14.12.2019 19:48
Ostatni post: hexopex760
  Poszukuję pomysłu na prosty program ;) janciu96 5 12464 13.12.2019 23:32
Ostatni post: Ajgor
  Programowanie Batch (CMD) Informatyk2019 0 4316 11.12.2019 18:30
Ostatni post: Informatyk2019
  [JavaScript] Znajdowanie przedziału czasu rafal12999 0 1922 10.12.2019 17:58
Ostatni post: rafal12999
  Przekazywanie wskaźnika przez referencję w Qt Trojan3000 3 12060 10.12.2019 13:16
Ostatni post: Ajgor
  Proszę o pomoc w uzupełnieniu ankiety dt. Zawodu Programisty MaleMonki 0 2434 17.11.2019 12:47
Ostatni post: MaleMonki
  Spring framework – jakie strony polecacie do nauki? olek23 5 6400 15.11.2019 15:57
Ostatni post: Alsenas
  Programowanie windy (problem) w C++ mysza2323 2 5355 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 5670 22.10.2019 17:48
Ostatni post: Szachista
  Książki do nauki C# olek23 14 17691 17.10.2019 13:06
Ostatni post: Ajgor
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 6995 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 4296 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 19443 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 6903 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 6970 07.08.2019 12:43
Ostatni post: aht