StarCap/Game.h
2025-09-26 09:26:47 -06:00

66 lines
1.8 KiB
C++

//
// Created by benmo on 2/14/2020.
//
#ifndef SFML_TEMPLATE_GAME_H
#define SFML_TEMPLATE_GAME_H
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include "GameSprite.h"
#include "Ship.h"
class Game {
private:
void init();
bool playedBip = false, playedErr = false, soundOn = true, musicOn = true;
sf::SoundBuffer bip;
sf::Sound bipSound;
sf::SoundBuffer err;
sf::Sound errSound;
sf::Texture loadingBarEmpty;
sf::Texture loadingBarFull;
sf::Font oxan;
std::vector<std::string> abstractNounNameComponents;
std::vector<std::string> adjectiveNameComponents;
std::vector<std::string> animalNameComponents;
std::vector<std::string> standaloneNameNameComponents;
std::vector<std::string> femaleNameNameComponents;
std::vector<std::string> femaleTitleNameComponents;
std::vector<std::string> neutralTitleNameComponents;
std::vector<std::string> maleNameNameComponents;
std::vector<std::string> maleTitleNameComponents;
std::vector<std::string> nounNameComponents;
std::vector<std::string> numberNameComponents;
std::vector<std::string> craftNameNameComponents;
//update total
int totalTextures = 195;
int loadedTextures = 0;
void playBip();
void playErr();
void readNameComponents();
template<class RNG >
std::string generateName(RNG &gen);
void updateLoader(sf::RenderWindow &window, const std::string& msg);
public:
const static int FRIENDLY_LOW = 100, NUETRAL_HIGH = 99, NUETRAL_LOW = 0, HOSTILE_HIGH = -1;
Game(bool _soundOn, bool _musicOn) {
soundOn = _soundOn;
musicOn = _musicOn;
init();
}
};
#endif //SFML_TEMPLATE_GAME_H