elementare grafik bibliothek für C
-
hi
ich möchte einen ganz simplen tetris klon in C schreiben. nun reicht die konsole dafür wohl nicht aus und ich suche eben eine ganz einfache grafik bibliothek mir der ich das spiel darstellen kann und die einfach zu benutzen ist.
thx im vorraus
-
Ich kann dir zu CSFML, dem C-Binding von SFML raten. Auch eine Möglichkeit ist SDL, mir gefällt SFML aber besser (es hat einige Vorteile bezüglich Geschwindigkeit, Funktionalität und meiner Ansicht nach auch Benutzerfreundlichkeit).
-
hi
danke für die antwort, hab mir mal SDL un CSFML angeschaut, wobei mir letzteres auch freundlicher erscheint, gibts denn iwo en gescheitetes tutorial dazu ich hab nur sfml tutorials gesehn (oder is das dann in CSFML äquivalent?)?
-
Also das man keinen Tetrisclon für die Console schreiben kann ist wohl nicht wahr, es ist sogar einfach als mit echten Grafiken.
Ein guter Einstieg in die Win32 Console: http://benryves.com/tutorials/winconsole/
Oder Ncurses für Unix ähnliche Betriebssyste: http://de.wikibooks.org/wiki/Ncurses:_Inhaltsverzeichnis
-
hab das hier mal aufner Homepage über die win32 konsole gefunden falls du in diesen
modus bleiben willst.(wenn wer weiß wie die Seite nochmal hieß wäre ich sehr dankbar)
Das ganze sollte sich eigentlich selbst erklärentypedef struct{ double r,g,b; byte c; WORD att; }ct_t; ct_t ct[colourTableSize] = { // r, g, b, character, attributes {0.500000f, 0.000000f, 0.000000f, 176, 0}, {0.001961f, 0.000000f, 0.000000f, 219, 0}, {0.333333f, 0.166667f, 0.000000f, 176, 2}, {0.250000f, 0.250000f, 0.000000f, 177, 2}, {0.166667f, 0.333333f, 0.000000f, 178, 2}, {0.333333f, 0.000000f, 0.166667f, 176, 1}, {0.250000f, 0.000000f, 0.250000f, 177, 1}, {0.166667f, 0.000000f, 0.333333f, 178, 1}, {0.500000f, 0.166667f, 0.000000f, 176, 6}, {0.500000f, 0.250000f, 0.000000f, 177, 6}, {0.500000f, 0.333333f, 0.000000f, 178, 6}, {0.333333f, 0.166667f, 0.166667f, 176, 3}, {0.250000f, 0.250000f, 0.250000f, 177, 3}, {0.166667f, 0.333333f, 0.333333f, 178, 3}, {0.500000f, 0.000000f, 0.166667f, 176, 5}, {0.500000f, 0.000000f, 0.250000f, 177, 5}, {0.500000f, 0.000000f, 0.333333f, 178, 5}, {0.583333f, 0.250000f, 0.250000f, 176, 7}, {0.625000f, 0.375000f, 0.375000f, 177, 7}, {0.666667f, 0.500000f, 0.500000f, 178, 7}, {0.666667f, 0.000000f, 0.000000f, 176, 12}, {0.750000f, 0.000000f, 0.000000f, 177, 12}, {0.833333f, 0.000000f, 0.000000f, 178, 12}, {0.333333f, 0.333333f, 0.000000f, 176, 10}, {0.250000f, 0.500000f, 0.000000f, 177, 10}, {0.166667f, 0.666667f, 0.000000f, 178, 10}, {0.333333f, 0.000000f, 0.333333f, 176, 9}, {0.250000f, 0.000000f, 0.500000f, 177, 9}, {0.166667f, 0.000000f, 0.666667f, 178, 9}, {0.666667f, 0.333333f, 0.000000f, 176, 14}, {0.750000f, 0.500000f, 0.000000f, 177, 14}, {0.833333f, 0.666667f, 0.000000f, 178, 14}, {0.333333f, 0.333333f, 0.333333f, 176, 11}, {0.250000f, 0.500000f, 0.500000f, 177, 11}, {0.166667f, 0.666667f, 0.666667f, 178, 11}, {0.666667f, 0.000000f, 0.333333f, 176, 13}, {0.750000f, 0.000000f, 0.500000f, 177, 13}, {0.833333f, 0.000000f, 0.666667f, 178, 13}, {0.666667f, 0.333333f, 0.333333f, 176, 15}, {0.750000f, 0.500000f, 0.500000f, 177, 15}, {0.833333f, 0.666667f, 0.666667f, 178, 15}, {0.000000f, 0.500000f, 0.000000f, 176, 34}, {0.000000f, 0.333333f, 0.166667f, 176, 33}, {0.000000f, 0.250000f, 0.250000f, 177, 33}, {0.000000f, 0.166667f, 0.333333f, 178, 33}, {0.166667f, 0.500000f, 0.000000f, 176, 38}, {0.333333f, 0.500000f, 0.000000f, 178, 38}, {0.000000f, 0.500000f, 0.166667f, 176, 35}, {0.000000f, 0.500000f, 0.250000f, 177, 35}, {0.000000f, 0.500000f, 0.333333f, 178, 35}, {0.166667f, 0.333333f, 0.166667f, 176, 37}, {0.333333f, 0.166667f, 0.333333f, 178, 37}, {0.250000f, 0.583333f, 0.250000f, 176, 39}, {0.375000f, 0.625000f, 0.375000f, 177, 39}, {0.500000f, 0.666667f, 0.500000f, 178, 39}, {0.666667f, 0.166667f, 0.000000f, 178, 44}, {0.000000f, 0.666667f, 0.000000f, 176, 42}, {0.000000f, 0.750000f, 0.000000f, 177, 42}, {0.000000f, 0.833333f, 0.000000f, 178, 42}, {0.000000f, 0.333333f, 0.333333f, 176, 41}, {0.000000f, 0.250000f, 0.500000f, 177, 41}, {0.000000f, 0.166667f, 0.666667f, 178, 41}, {0.333333f, 0.666667f, 0.000000f, 176, 46}, {0.500000f, 0.750000f, 0.000000f, 177, 46}, {0.666667f, 0.833333f, 0.000000f, 178, 46}, {0.000000f, 0.666667f, 0.333333f, 176, 43}, {0.000000f, 0.750000f, 0.500000f, 177, 43}, {0.000000f, 0.833333f, 0.666667f, 178, 43}, {0.500000f, 0.250000f, 0.500000f, 177, 45}, {0.666667f, 0.166667f, 0.666667f, 178, 45}, {0.333333f, 0.666667f, 0.333333f, 176, 47}, {0.500000f, 0.750000f, 0.500000f, 177, 47}, {0.666667f, 0.833333f, 0.666667f, 178, 47}, {0.000000f, 0.000000f, 0.500000f, 176, 17}, {0.166667f, 0.166667f, 0.333333f, 176, 22}, {0.333333f, 0.333333f, 0.166667f, 178, 22}, {0.000000f, 0.166667f, 0.500000f, 176, 19}, {0.000000f, 0.333333f, 0.500000f, 178, 19}, {0.166667f, 0.000000f, 0.500000f, 176, 21}, {0.333333f, 0.000000f, 0.500000f, 178, 21}, {0.250000f, 0.250000f, 0.583333f, 176, 23}, {0.375000f, 0.375000f, 0.625000f, 177, 23}, {0.500000f, 0.500000f, 0.666667f, 178, 23}, {0.666667f, 0.000000f, 0.166667f, 178, 28}, {0.000000f, 0.666667f, 0.166667f, 178, 26}, {0.000000f, 0.000000f, 0.666667f, 176, 25}, {0.000000f, 0.000000f, 0.750000f, 177, 25}, {0.000000f, 0.000000f, 0.833333f, 178, 25}, {0.500000f, 0.500000f, 0.250000f, 177, 30}, {0.666667f, 0.666667f, 0.166667f, 178, 30}, {0.000000f, 0.333333f, 0.666667f, 176, 27}, {0.000000f, 0.500000f, 0.750000f, 177, 27}, {0.000000f, 0.666667f, 0.833333f, 178, 27}, {0.333333f, 0.000000f, 0.666667f, 176, 29}, {0.500000f, 0.000000f, 0.750000f, 177, 29}, {0.666667f, 0.000000f, 0.833333f, 178, 29}, {0.333333f, 0.333333f, 0.666667f, 176, 31}, {0.500000f, 0.500000f, 0.750000f, 177, 31}, {0.666667f, 0.666667f, 0.833333f, 178, 31}, {0.500000f, 0.500000f, 0.000000f, 176, 102}, {0.333333f, 0.500000f, 0.166667f, 176, 99}, {0.250000f, 0.500000f, 0.250000f, 177, 99}, {0.166667f, 0.500000f, 0.333333f, 178, 99}, {0.500000f, 0.333333f, 0.166667f, 176, 101}, {0.500000f, 0.250000f, 0.250000f, 177, 101}, {0.500000f, 0.166667f, 0.333333f, 178, 101}, {0.583333f, 0.583333f, 0.250000f, 176, 103}, {0.625000f, 0.625000f, 0.375000f, 177, 103}, {0.666667f, 0.666667f, 0.500000f, 178, 103}, {0.750000f, 0.250000f, 0.000000f, 177, 108}, {0.833333f, 0.166667f, 0.000000f, 178, 108}, {0.250000f, 0.750000f, 0.000000f, 177, 106}, {0.166667f, 0.833333f, 0.000000f, 178, 106}, {0.250000f, 0.250000f, 0.500000f, 177, 105}, {0.166667f, 0.166667f, 0.666667f, 178, 105}, {0.666667f, 0.666667f, 0.000000f, 176, 110}, {0.750000f, 0.750000f, 0.000000f, 177, 110}, {0.833333f, 0.833333f, 0.000000f, 178, 110}, {0.250000f, 0.750000f, 0.500000f, 177, 107}, {0.166667f, 0.833333f, 0.666667f, 178, 107}, {0.750000f, 0.250000f, 0.500000f, 177, 109}, {0.833333f, 0.166667f, 0.666667f, 178, 109}, {0.666667f, 0.666667f, 0.333333f, 176, 111}, {0.750000f, 0.750000f, 0.500000f, 177, 111}, {0.833333f, 0.833333f, 0.666667f, 178, 111}, {0.333333f, 0.166667f, 0.500000f, 176, 83}, {0.166667f, 0.333333f, 0.500000f, 178, 83}, {0.500000f, 0.000000f, 0.500000f, 176, 85}, {0.583333f, 0.250000f, 0.583333f, 176, 87}, {0.625000f, 0.375000f, 0.625000f, 177, 87}, {0.666667f, 0.500000f, 0.666667f, 178, 87}, {0.750000f, 0.000000f, 0.250000f, 177, 92}, {0.833333f, 0.000000f, 0.166667f, 178, 92}, {0.166667f, 0.666667f, 0.166667f, 178, 90}, {0.250000f, 0.000000f, 0.750000f, 177, 89}, {0.166667f, 0.000000f, 0.833333f, 178, 89}, {0.750000f, 0.500000f, 0.250000f, 177, 94}, {0.833333f, 0.666667f, 0.166667f, 178, 94}, {0.250000f, 0.500000f, 0.750000f, 177, 91}, {0.166667f, 0.666667f, 0.833333f, 178, 91}, {0.666667f, 0.000000f, 0.666667f, 176, 93}, {0.750000f, 0.000000f, 0.750000f, 177, 93}, {0.833333f, 0.000000f, 0.833333f, 178, 93}, {0.666667f, 0.333333f, 0.666667f, 176, 95}, {0.750000f, 0.500000f, 0.750000f, 177, 95}, {0.833333f, 0.666667f, 0.833333f, 178, 95}, {0.000000f, 0.500000f, 0.500000f, 176, 51}, {0.250000f, 0.583333f, 0.583333f, 176, 55}, {0.375000f, 0.625000f, 0.625000f, 177, 55}, {0.500000f, 0.666667f, 0.666667f, 178, 55}, {0.666667f, 0.166667f, 0.166667f, 178, 60}, {0.000000f, 0.750000f, 0.250000f, 177, 58}, {0.000000f, 0.833333f, 0.166667f, 178, 58}, {0.000000f, 0.250000f, 0.750000f, 177, 57}, {0.000000f, 0.166667f, 0.833333f, 178, 57}, {0.500000f, 0.750000f, 0.250000f, 177, 62}, {0.666667f, 0.833333f, 0.166667f, 178, 62}, {0.000000f, 0.666667f, 0.666667f, 176, 59}, {0.000000f, 0.750000f, 0.750000f, 177, 59}, {0.000000f, 0.833333f, 0.833333f, 178, 59}, {0.500000f, 0.250000f, 0.750000f, 177, 61}, {0.666667f, 0.166667f, 0.833333f, 178, 61}, {0.333333f, 0.666667f, 0.666667f, 176, 63}, {0.500000f, 0.750000f, 0.750000f, 177, 63}, {0.666667f, 0.833333f, 0.833333f, 178, 63}, {0.750000f, 0.750000f, 0.750000f, 176, 119}, {0.833333f, 0.500000f, 0.500000f, 176, 124}, {0.875000f, 0.375000f, 0.375000f, 177, 124}, {0.916667f, 0.250000f, 0.250000f, 178, 124}, {0.500000f, 0.833333f, 0.500000f, 176, 122}, {0.375000f, 0.875000f, 0.375000f, 177, 122}, {0.250000f, 0.916667f, 0.250000f, 178, 122}, {0.500000f, 0.500000f, 0.833333f, 176, 121}, {0.375000f, 0.375000f, 0.875000f, 177, 121}, {0.250000f, 0.250000f, 0.916667f, 178, 121}, {0.833333f, 0.833333f, 0.500000f, 176, 126}, {0.875000f, 0.875000f, 0.375000f, 177, 126}, {0.916667f, 0.916667f, 0.250000f, 178, 126}, {0.500000f, 0.833333f, 0.833333f, 176, 123}, {0.375000f, 0.875000f, 0.875000f, 177, 123}, {0.250000f, 0.916667f, 0.916667f, 178, 123}, {0.833333f, 0.500000f, 0.833333f, 176, 125}, {0.875000f, 0.375000f, 0.875000f, 177, 125}, {0.916667f, 0.250000f, 0.916667f, 178, 125}, {0.833333f, 0.833333f, 0.833333f, 176, 127}, {0.875000f, 0.875000f, 0.875000f, 177, 127}, {0.916667f, 0.916667f, 0.916667f, 178, 127}, {1.000000f, 0.000000f, 0.000000f, 176, 204}, {1.000000f, 0.333333f, 0.000000f, 176, 206}, {1.000000f, 0.500000f, 0.000000f, 177, 206}, {1.000000f, 0.666667f, 0.000000f, 178, 206}, {0.500000f, 0.500000f, 0.500000f, 177, 203}, {1.000000f, 0.000000f, 0.333333f, 176, 205}, {1.000000f, 0.000000f, 0.500000f, 177, 205}, {1.000000f, 0.000000f, 0.666667f, 178, 205}, {1.000000f, 0.333333f, 0.333333f, 176, 207}, {1.000000f, 0.500000f, 0.500000f, 177, 207}, {1.000000f, 0.666667f, 0.666667f, 178, 207}, {0.000000f, 1.000000f, 0.000000f, 176, 170}, {0.333333f, 1.000000f, 0.000000f, 176, 174}, {0.500000f, 1.000000f, 0.000000f, 177, 174}, {0.666667f, 1.000000f, 0.000000f, 178, 174}, {0.000000f, 1.000000f, 0.333333f, 176, 171}, {0.000000f, 1.000000f, 0.500000f, 177, 171}, {0.000000f, 1.000000f, 0.666667f, 178, 171}, {0.333333f, 1.000000f, 0.333333f, 176, 175}, {0.500000f, 1.000000f, 0.500000f, 177, 175}, {0.666667f, 1.000000f, 0.666667f, 178, 175}, {0.000000f, 0.000000f, 1.000000f, 176, 153}, {0.000000f, 0.333333f, 1.000000f, 176, 155}, {0.000000f, 0.500000f, 1.000000f, 177, 155}, {0.000000f, 0.666667f, 1.000000f, 178, 155}, {0.333333f, 0.000000f, 1.000000f, 176, 157}, {0.500000f, 0.000000f, 1.000000f, 177, 157}, {0.666667f, 0.000000f, 1.000000f, 178, 157}, {0.333333f, 0.333333f, 1.000000f, 176, 159}, {0.500000f, 0.500000f, 1.000000f, 177, 159}, {0.666667f, 0.666667f, 1.000000f, 178, 159}, {1.000000f, 1.000000f, 0.000000f, 176, 238}, {0.666667f, 1.000000f, 0.333333f, 176, 235}, {0.333333f, 1.000000f, 0.666667f, 178, 235}, {1.000000f, 0.666667f, 0.333333f, 176, 237}, {1.000000f, 0.333333f, 0.666667f, 178, 237}, {1.000000f, 1.000000f, 0.333333f, 176, 239}, {1.000000f, 1.000000f, 0.500000f, 177, 239}, {1.000000f, 1.000000f, 0.666667f, 178, 239}, {0.666667f, 0.333333f, 1.000000f, 176, 219}, {0.333333f, 0.666667f, 1.000000f, 178, 219}, {1.000000f, 0.000000f, 1.000000f, 176, 221}, {1.000000f, 0.333333f, 1.000000f, 176, 223}, {1.000000f, 0.500000f, 1.000000f, 177, 223}, {1.000000f, 0.666667f, 1.000000f, 178, 223}, {0.000000f, 1.000000f, 1.000000f, 176, 187}, {0.333333f, 1.000000f, 1.000000f, 176, 191}, {0.500000f, 1.000000f, 1.000000f, 177, 191}, {0.666667f, 1.000000f, 1.000000f, 178, 191}, {1.000000f, 1.000000f, 1.000000f, 176, 255} };
-
ReALITY5 schrieb:
Also das man keinen Tetrisclon für die Console schreiben kann ist wohl nicht wahr, es ist sogar einfach als mit echten Grafiken.
Klar kann man. Einfacher ist es vielleicht am Anfang noch, aber die Möglichkeiten sind sehr stark eingeschränkt. Wenn man dann etwas mehr machen will, muss man trotzdem wieder umsteigen.
dr1337 schrieb:
gibts denn iwo en gescheitetes tutorial dazu ich hab nur sfml tutorials gesehn (oder is das dann in CSFML äquivalent?)?
Ich weiss von keinen Tutorials, die speziell auf das C-Binding ausgelegt sind. Äquivalent ist es wahrscheinlich, soweit es die Sprache erlaubt. Ich habe mir kurz die CSFML-Quellcodes angeschaut, und die Schnittstelle scheint ziemlich analog zu derjenigen von C++ zu sein.
Zum Beispiel:
// C++ sf::Sprite::Sprite(); // Konstruktor void sf::Sprite::SetX(float X); // irgendeine Memberfunktion sf::Sprite::~Sprite(); // Destruktor // C sfSprite* sfSprite_Create(); void sfSprite_SetX(sfSprite* Sprite, float X); void sfSprite_Destroy(sfSprite* Sprite);
Es handelt sich also um ziemlich objektorientiertes C. Mit den C++-Tutorials sollte das hinzukriegen sein.