Programmera spel i C++ för nybörjare/Enkelt kortspel
Källkod, beskrivning kommer snart
//Kort finns här http://www.jfitz.com/cards/ //Enstaka kort är i 8 bit png så de får sparas som bmp istället #include <iostream> #include <string> #include <sstream> //För att kunna konvertera siffror till text #include <SFML\System.hpp> #include <SFML\Window.hpp> #include <SFML\Graphics.hpp> // #include <SFML\Audio.hpp> bara om du vill ha ljud using namespace std; // utifall att konsolen behövs för felsöknning int main() { //programstart //Vi måste få svenska tecken att fungera i programmet locale swedish("swedish"); locale::global(swedish); sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML kortspel"); // Skapa fönstret vi skall ha spelet i //Ladda in bilden sf::Image spelkort; //Spelkort spritemap if (!spelkort.LoadFromFile("classic-playing-cards.png")) //Hämta bildfilen { std::cout << "Kan inte hitta bilden: xclassic-playing-cards.png" << std::endl;} //Varje kort är 74x98 pixlar sf::Image spelkortbak; //Spelkortsbaksida spritemap if (!spelkortbak.LoadFromFile("b1fv.bmp")) //Hämta bildfilen { std::cout << "Kan inte hitta bilden: b1fv.bmp" << std::endl;} //Skapa baksidan på ett spelkort sf::Sprite datorkortlek(spelkortbak); //Skapa sprite för neutral baksida datorkortlek.SetPosition(100,300); //Placera ut //Placera ut spelarens kort sf::Sprite spelarkort(spelkort); //Skapa sprite för dina drag spelarkort.SetPosition(200,200); //Placera ut spelarkort.SetSubRect(sf::IntRect(0,0,74,98)); //Placera ut bankens kort sf::Sprite spelare2kort(spelkort); //Skapa sprite för den andra spelarens drag spelare2kort.SetPosition(200,400); //Placera ut spelare2kort.SetSubRect(sf::IntRect(0,0,74,98)); while (App.IsOpened()) //Starta spel-loopen { //Spel-loopen börjar sf::Event Event; while (App.GetEvent(Event)) //Reagera på händelser { //Händelser från tangentbord och mus if (Event.Type == sf::Event::Closed) //kryssat på [x] symbolen? stäng programmet App.Close(); if (Event.Type == sf::Event::KeyPressed) // En tangent har tryckts ner { //om det är en tangent som tryckts ner if (Event.Key.Code == sf::Key::Escape) // ESC tangenten = stäng programmet App.Close(); if (Event.Key.Code == sf::Key::Return) // Return/enter {//Entertangent }//Slut på entertangent }//Slut på tangenttryck } //Slut händelser från tangentbord och mus //Rensa allt i fönstret och ersätt med blå färg App.Clear(sf::Color(0, 0, 255)); //Rita upp korten App.Draw(datorkortlek); App.Draw(spelarkort); App.Draw(spelare2kort); //Visa upp spelet App.Display(); }//Slut på spel-loop return 0; }//programslut