Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
#include <iostream> #include <SFML/Graphics.hpp> int main() { // Fenster erstellen sf::RenderWindow window(sf::VideoMode(240, 360), "SFML-Fenster"); // Konstanten const int Breite = 10; const int Hoehe = 15; // Variablen int x; int y; bool nGame [Breite][Hoehe]; sf::Texture txBlockDef; if(!txBlockDef.loadFromFile("BlockDef.png")) return EXIT_FAILURE; sf::Sprite sBlockDef(txBlockDef); sf::Vector2f vBlockDef; sf::Texture txBlack; if(!txBlack.loadFromFile("Black.png")) return EXIT_FAILURE; sf::Sprite sBlack(txBlack); // Spielfeld erstellen for (y=0; y<Hoehe; y++) { for(x=0; x<Breite; x++) { if((x == 0) || (x == 9) || (y == 14)) // Ränder auf "true" setzen nGame[x][y] = true; else nGame[x][y] = false; } } // Spielfeld zeichnen for (y=0; y<Hoehe; y++) { for(x=0; x<Breite; x++) { if(nGame[x][y] == true) { window.draw(sBlockDef); // schwarzen Block mit weißem Rand als Abgrenzung std::cout << "X"; // in der Konsole "X" ausgeben } else { window.draw(sBlack); // für später nutzbare Felder, schwarzen Block mit weißem Kreis in der Mitte std::cout << " "; // " " in der Konsole ausgeben } vBlockDef.x += 24; // Pro durchlauf die X-Pos um 24 Px erhöhen ( 24x24Px Block) sBlockDef.setPosition(vBlockDef.x, vBlockDef.y); // Position setzen sBlack.setPosition(vBlockDef.x, vBlockDef.y); // "" } vBlockDef.y += 24; // Das Gleiche mit der Y-Pos sBlockDef.setPosition(vBlockDef.x, vBlockDef.y); // sBlack.setPosition(vBlockDef.x, vBlockDef.y); // std::cout << std:: endl; // Neue Zeile in Konsole } // Programm solange laufen lassen, bis Fenster geschlossen wird while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { switch(event.type) { case (sf::Event::Closed): window.close(); break; } } window.display(); } return (0); } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NukeNoob« (22.12.2012, 13:57)
Community-Fossil
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// Spielfeld zeichnen for (y=0; y<Hoehe; y++) { for(x=0; x<Breite; x++) { if(nGame[x][y] == true) { window.clear(); window.draw(sBlockDef); // schwarzen Block mit weißem Rand als Abgrenzung window.display(); std::cout << "X"; // in der Konsole "X" ausgeben } else if (nGame[x][y] == false) { window.clear(); window.draw(sBlack); // für später nutzbare Felder, schwarzen Block mit weißem Kreis in der Mitte window.display(); std::cout << " "; // " " in der Konsole ausgeben } vBlockDef.x += 24; // Pro durchlauf die X-Pos um 24 Px erhöhen (ein Block ist 24x24 Px groß) sBlockDef.setPosition(vBlockDef.x, vBlockDef.y); // Position setzen sBlack.setPosition(vBlockDef.x, vBlockDef.y); // "" } vBlockDef.y += 24; // Das Gleiche mit der Y-Pos vBlockDef.x = 0; sBlockDef.setPosition(vBlockDef.x, vBlockDef.y); // sBlack.setPosition(vBlockDef.x, vBlockDef.y); // std::cout << std:: endl; // Neue Zeile in Konsole } |
Community-Fossil
Werbeanzeige