Hay! Hab jetzt einmal Tic-Tac-Toe geschrieben. Sprites werden zugeordnet zum jeweiligem Image.
Ich habe alles Mögliche ab gecheckt und mir ist aufgefallen, dass nicht mal in die Key-Abfragen gegangen wird, denn man kann das ganze, so hab ich es eingegeben, nicht mit Escape schließen.
Somit ist zu schließen das er irgendwo in einer Schleife hängt.
Vielleicht könnt ihr etwas finden.... Hier ist der Anfang meines Codes bis zur Event-Schleife. Anzumerken ist, das man den "Schließen"-Button nicht klicken kann. Er muss irgendwo hängen, noch vor der Event-Schleife.... Aber wo?
Alles anzeigen
Ich habe alles Mögliche ab gecheckt und mir ist aufgefallen, dass nicht mal in die Key-Abfragen gegangen wird, denn man kann das ganze, so hab ich es eingegeben, nicht mit Escape schließen.
Somit ist zu schließen das er irgendwo in einer Schleife hängt.
Vielleicht könnt ihr etwas finden.... Hier ist der Anfang meines Codes bis zur Event-Schleife. Anzumerken ist, das man den "Schließen"-Button nicht klicken kann. Er muss irgendwo hängen, noch vor der Event-Schleife.... Aber wo?
Quellcode
- // SFML statisch linken(Projekteinstellungen->C++->Präprozessor)
- #define SFML_STATIC
- // Includes
- #include <SFML/Graphics.hpp>
- #include <SFML/Window.hpp>
- // Libs dem Projekt hinzufügen(Projekteinstellungen->Linker->Eingabe)
- #pragma comment(lib, "sfml-system-s-d.lib")
- #pragma comment(lib, "sfml-main-d.lib")
- #pragma comment(lib, "sfml-graphics-s-d.lib")
- #pragma comment(lib, "sfml-window-s-d.lib")
- int main()
- {
- struct S_Feld
- {
- bool Besetzt;
- bool Kreuz;
- bool Kreis;
- };
- bool Spieler=true;
- bool An=true;
- const int Hoehe=3;
- const int Breite=3;
- int x=0;
- int y=0;
- S_Feld Karte[Hoehe][Breite];
- //SFML Game initialisieren
- sf::RenderWindow Game(sf::VideoMode(800, 600, 32), "Tick-Tack-Toe");
- //SFML Event Handler erstellen
- sf::Event Event;
- //Create Image Buffer Background
- sf::Image ImageB;
- if(!ImageB.LoadFromFile("Background.png"))
- return EXIT_FAILURE;
- //Create Image Buffer "O"
- sf::Image ImageO;
- if(!ImageO.LoadFromFile("Kreis.png"))
- return EXIT_FAILURE;
- //Create Image Buffer "X"
- sf::Image ImageX;
- if(!ImageX.LoadFromFile("Kreuz.png"))
- return EXIT_FAILURE;
- //Create Image Buffer Markierung
- sf::Image ImageM;
- if(!ImageM.LoadFromFile("Markierung.png"))
- return EXIT_FAILURE;
- //SetColorKey ImageO
- ImageO.CreateMaskFromColor(sf::Color(255, 0, 0), 0);
- //SetColorKey ImageX
- ImageX.CreateMaskFromColor(sf::Color(255, 0, 0), 0);
- //SetColorKey ImageM
- ImageM.CreateMaskFromColor(sf::Color(255, 0, 0), 0);
- //SpriteB
- sf::Sprite SpriteB;
- SpriteB.SetImage(ImageB);
- //SpriteO
- sf::Sprite SpriteO;
- SpriteO.SetImage(ImageO);
- //SpriteX
- sf::Sprite SpriteX;
- SpriteX.SetImage(ImageX);
- //SpriteM
- sf::Sprite SpriteM;
- SpriteM.SetImage(ImageM);
- //SpriteM2
- sf::Sprite SpriteM2;
- SpriteM2.SetImage(ImageM);
- //SpriteM3
- sf::Sprite SpriteM3;
- SpriteM3.SetImage(ImageM);
- //SpriteM4
- sf::Sprite SpriteM4;
- SpriteM4.SetImage(ImageM);
- //SpriteM5
- sf::Sprite SpriteM5;
- SpriteM5.SetImage(ImageM);
- //SpriteM6
- sf::Sprite SpriteM6;
- SpriteM6.SetImage(ImageM);
- //SpriteM7
- sf::Sprite SpriteM7;
- SpriteM7.SetImage(ImageM);
- //SpriteM8
- sf::Sprite SpriteM8;
- SpriteM8.SetImage(ImageM);
- //SpriteM9
- sf::Sprite SpriteM9;
- SpriteM9.SetImage(ImageM);
- //SetPosition SpriteB
- SpriteB.SetPosition (0, 0);
- //SetPosition SpriteO
- SpriteO.SetPosition (17, 2);
- //SetPosition SpriteX
- SpriteO.SetPosition (17, 2);
- //SetPosition SpriteM
- SpriteM.SetPosition (118, 72);
- //SetPosition SpriteM2
- SpriteM2.SetPosition(391, 72);
- //SetPosition SpriteM3
- SpriteM3.SetPosition(635, 72);
- //SetPosition SpriteM4
- SpriteM4.SetPosition(116, 275);
- //SetPosition SpriteM5
- SpriteM5.SetPosition(388, 275);
- //SetPosition SpriteM6
- SpriteM6.SetPosition(626, 275);
- //SetPosition SpriteM7
- SpriteM7.SetPosition(122, 473);
- //SetPosition SpriteM8
- SpriteM8.SetPosition(391, 473);
- //SetPosition SpriteM9
- SpriteM9.SetPosition(636, 473);
- while(Game.IsOpened())
- {
- //Event Handler Loop
- while(Game.GetEvent(Event))
- {
- if(Event.Type == sf::Event::Closed)
- Game.Close();
- }