Ĺadny brzuch
Piszę sobie program (z użyciem klas). Program ma wyświetlać
krzyżyk i jeżeli będziemy wciskać klawisze 2,4,6,8 to ma się on przesuwać w odpowiednich kierunkach. Bez użycia klas program śmiga bez
problemu. Natomiast z użyciem klas cos nie bardzo działa. Po skompilowaniu pokazuje sie okno na około jedną sekunde i znika. Proszę
o pomoc.
bez użycia klas (działa bez problemu)
#include <conio.h> #include <graphics.h> int karta,tryb; int x1,y1,a,k; void rysuj(x1,y1,a,k) { setcolor(k); line(x1, y1, x1+a, y1); line(x1+a/2, y1+a/2, x1+a/2, y1-a/2); } void main () { initgraph(&karta,&tryb,"d:\\bc5\\bgi"); char c; a=100; x1 = getmaxx()/ 2- a/2; y1 = getmaxy()/2; setcolor(BLUE); rectangle(15, 15, 625, 465); rysuj(x1,y1,a,15); while ((c=getch())!='q') { rysuj(x1,y1,a,0); if(c=='8') y1--; if(c=='2') y1++; if(c=='4') x1--; if(c=='6') x1++; rysuj(x1,y1,a,15); } closegraph(); }
z użyciem klas (nie działa, po skompilowaniu pojawia sie okno na około jedną sekunde i znika)
#include <conio.h> #include <graphics.h> class GRAF { public: int x1,y1,a,k; char c; virtual void rysuj(int x1, int y1, int a, int k); virtual void animacja(); GRAF(); }; void GRAF::rysuj(int x1, int y1, int a, int k) { setcolor(k); line(x1, y1, x1+a, y1); line(x1+a/2, y1+a/2, x1+a/2, y1-a/2); } GRAF::GRAF() { a = 100; x1 = getmaxx()/ 2- a/2; y1 = getmaxy()/2; } void GRAF::animacja() { rysuj(x1 ,y1 ,a , 15); while((c=getch()) != 27) { rysuj(x1, y1, a, getbkcolor()); if(c=='8') y1--; if(c=='2') y1++; rysuj(x1, y1, a, 15); } } void main() { int karta, tryb; initgraph(&karta, &tryb, "d:\\BC5\\BGI"); rectangle(15, 15, 625, 465); GRAF *pom; pom = new GRAF; pom -> animacja(); delete pom; closegraph(); }
Mozna wiedziec jakiego kompilatora uzywasz ?
a ja przyokazji zadam jeszcze takie pytanko. Jak próbowałem zkompilować kod w cev-cpp to mi wyskoczyło że nie może znaleźć nagłówka graphics.h
Coś w opcjach trzeba jeszcze zaznacyć?
2 D:\Programowanie\DEV C++\Dev-Cpp\main.cpp graphics.h: No such file or directory.
Użytkownik Artur Menc edytował ten post 08 czerwiec 2005, 10:49
a ja przyokazji zadam jeszcze takie pytanko. Jak próbowałem zkompilować kod w cev-cpp to mi wyskoczyło że nie może znaleźć nagłówka graphics.h
Coś w opcjach trzeba jeszcze zaznacyć?
2 D:\Programowanie\DEV C++\Dev-Cpp\main.cpp graphics.h: No such file or directory.
AFAIK graphic.h jest jedynie w starym dosowym kompilatorze Borlanda.
find /usr/include/ |grep graphics.h
/usr/include/allegro/graphics.h
lszk ten plik co go znalazles to nalezy do bibloteki Allegro i to nie jest ten plik(naglowek) o ktory tutaj chodzi, nie wiem co miales zamiar tym udowodnic :blink:
//literowki :D
Użytkownik greco edytował ten post 25 lipiec 2005, 19:31
Chyba to, że nie wie o co chodzi w temacie - a chciał się popisać znajomością polecenia find...
graphics.h to jest header BGI - Borland Graphics Interface, 16bitowego systemu grafiki dostępnego dla DOS'owego kompilatora Borland C++ 3.11.
Pozdrawiam.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
krzyżyk i jeżeli będziemy wciskać klawisze 2,4,6,8 to ma się on przesuwać w odpowiednich kierunkach. Bez użycia klas program śmiga bez
problemu. Natomiast z użyciem klas cos nie bardzo działa. Po skompilowaniu pokazuje sie okno na około jedną sekunde i znika. Proszę
o pomoc.
bez użycia klas (działa bez problemu)
#include <conio.h> #include <graphics.h> int karta,tryb; int x1,y1,a,k; void rysuj(x1,y1,a,k) { setcolor(k); line(x1, y1, x1+a, y1); line(x1+a/2, y1+a/2, x1+a/2, y1-a/2); } void main () { initgraph(&karta,&tryb,"d:\\bc5\\bgi"); char c; a=100; x1 = getmaxx()/ 2- a/2; y1 = getmaxy()/2; setcolor(BLUE); rectangle(15, 15, 625, 465); rysuj(x1,y1,a,15); while ((c=getch())!='q') { rysuj(x1,y1,a,0); if(c=='8') y1--; if(c=='2') y1++; if(c=='4') x1--; if(c=='6') x1++; rysuj(x1,y1,a,15); } closegraph(); }
z użyciem klas (nie działa, po skompilowaniu pojawia sie okno na około jedną sekunde i znika)
#include <conio.h> #include <graphics.h> class GRAF { public: int x1,y1,a,k; char c; virtual void rysuj(int x1, int y1, int a, int k); virtual void animacja(); GRAF(); }; void GRAF::rysuj(int x1, int y1, int a, int k) { setcolor(k); line(x1, y1, x1+a, y1); line(x1+a/2, y1+a/2, x1+a/2, y1-a/2); } GRAF::GRAF() { a = 100; x1 = getmaxx()/ 2- a/2; y1 = getmaxy()/2; } void GRAF::animacja() { rysuj(x1 ,y1 ,a , 15); while((c=getch()) != 27) { rysuj(x1, y1, a, getbkcolor()); if(c=='8') y1--; if(c=='2') y1++; rysuj(x1, y1, a, 15); } } void main() { int karta, tryb; initgraph(&karta, &tryb, "d:\\BC5\\BGI"); rectangle(15, 15, 625, 465); GRAF *pom; pom = new GRAF; pom -> animacja(); delete pom; closegraph(); }
Mozna wiedziec jakiego kompilatora uzywasz ?
a ja przyokazji zadam jeszcze takie pytanko. Jak próbowałem zkompilować kod w cev-cpp to mi wyskoczyło że nie może znaleźć nagłówka graphics.h
Coś w opcjach trzeba jeszcze zaznacyć?
2 D:\Programowanie\DEV C++\Dev-Cpp\main.cpp graphics.h: No such file or directory.
Użytkownik Artur Menc edytował ten post 08 czerwiec 2005, 10:49
a ja przyokazji zadam jeszcze takie pytanko. Jak próbowałem zkompilować kod w cev-cpp to mi wyskoczyło że nie może znaleźć nagłówka graphics.h
Coś w opcjach trzeba jeszcze zaznacyć?
2 D:\Programowanie\DEV C++\Dev-Cpp\main.cpp graphics.h: No such file or directory.

AFAIK graphic.h jest jedynie w starym dosowym kompilatorze Borlanda.
find /usr/include/ |grep graphics.h
/usr/include/allegro/graphics.h
lszk ten plik co go znalazles to nalezy do bibloteki Allegro i to nie jest ten plik(naglowek) o ktory tutaj chodzi, nie wiem co miales zamiar tym udowodnic :blink:
//literowki :D
Użytkownik greco edytował ten post 25 lipiec 2005, 19:31
Chyba to, że nie wie o co chodzi w temacie - a chciał się popisać znajomością polecenia find...
graphics.h to jest header BGI - Borland Graphics Interface, 16bitowego systemu grafiki dostępnego dla DOS'owego kompilatora Borland C++ 3.11.
Pozdrawiam.