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 4889 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
  Pytanie - programowanie batch [cmd] Max23 0 5557 20.03.2020 01:03
Ostatni post: Max23
  Oczekiwanie na Akcje przycisku wanhelsing 8 7755 01.03.2020 19:44
Ostatni post: Szachista
Toungue Wybór szkoły średniej przez potencjalnego programistę Zikinan 1 7406 09.02.2020 15:58
Ostatni post: dzikuu86
  Poszukuję pomysłu na prosty program ;) janciu96 5 16889 13.12.2019 23:32
Ostatni post: Ajgor
  Programowanie Batch (CMD) Informatyk2019 0 8170 11.12.2019 18:30
Ostatni post: Informatyk2019
  [JavaScript] Znajdowanie przedziału czasu rafal12999 0 3847 10.12.2019 17:58
Ostatni post: rafal12999
  Przekazywanie wskaźnika przez referencję w Qt Trojan3000 3 16297 10.12.2019 13:16
Ostatni post: Ajgor
  Proszę o pomoc w uzupełnieniu ankiety dt. Zawodu Programisty MaleMonki 0 4190 17.11.2019 12:47
Ostatni post: MaleMonki
  Spring framework – jakie strony polecacie do nauki? olek23 5 9809 15.11.2019 15:57
Ostatni post: Alsenas
  Programowanie windy (problem) w C++ mysza2323 2 9164 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 9360 22.10.2019 17:48
Ostatni post: Szachista
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 9735 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 4815 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 26035 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 7324 15.08.2019 07:41
Ostatni post: Szachista