mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-27 08:29:26 -05:00
91 lines
2.1 KiB
C
91 lines
2.1 KiB
C
|
#ifndef SCENE_H
|
||
|
#define SCENE_H
|
||
|
|
||
|
#include <QGraphicsScene>
|
||
|
#include <QList>
|
||
|
#include <QMap>
|
||
|
#include <QString>
|
||
|
#include <QDateTime>
|
||
|
|
||
|
class Karte;
|
||
|
class Basisstapel;
|
||
|
class Ablagestapel;
|
||
|
class Siegkontrolle;
|
||
|
class Punktezaehler;
|
||
|
class QTimer;
|
||
|
class Undo;
|
||
|
class QSettings;
|
||
|
class QResizeEvent;
|
||
|
|
||
|
class Scene : public QGraphicsScene
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
Scene(const QString& deckblatt, QObject *parent = 0);
|
||
|
virtual ~Scene();
|
||
|
|
||
|
QList<Karte*> mischen() const;
|
||
|
void alle_karten_verdecken();
|
||
|
bool laufendes_spiel() const;
|
||
|
bool nur_eine_wird_gezogen() const;
|
||
|
void initialisiere_rahmen(bool);
|
||
|
Karte* suche_karte(const QString&) const;
|
||
|
Basisstapel *suche_stapel(const QString&) const;
|
||
|
bool enthaelt_karte(const QString&) const;
|
||
|
bool enthaelt_stapel(const QString&) const;
|
||
|
const QStringList speichere() const;
|
||
|
bool lade(const QStringList&);
|
||
|
void registriere_einstellungen(QSettings*);
|
||
|
void lade_spielstand();
|
||
|
void speichere_spielstand();
|
||
|
bool begonnenes_spiel() const;
|
||
|
void groessenanpassung(QResizeEvent*);
|
||
|
|
||
|
public slots:
|
||
|
void setze_spiel_zurueck();
|
||
|
void neues_spiel();
|
||
|
void lade_franzoesisches_deckblatt();
|
||
|
void lade_deutsches_deckblatt();
|
||
|
void eine_ziehen();
|
||
|
void drei_ziehen();
|
||
|
void rueckgaengig();
|
||
|
|
||
|
signals:
|
||
|
void gewonnen(int, long);
|
||
|
void neues_spiel_gestartet();
|
||
|
void neue_punktzahl(int);
|
||
|
void verstrichene_sekunden(long);
|
||
|
void relay_eine_ziehen();
|
||
|
void relay_drei_ziehen();
|
||
|
void rahmen_anzeigen(bool);
|
||
|
void undo_verfuegbar(bool);
|
||
|
void neue_groesse_karten(double);
|
||
|
|
||
|
private slots:
|
||
|
void blockiere_alle_karten();
|
||
|
void starte_spieltimer();
|
||
|
void stoppe_spieltimer();
|
||
|
void reaktionen_auf_spieltimer();
|
||
|
void gewonnen_relay();
|
||
|
|
||
|
private:
|
||
|
QList<Karte*> kartenliste;
|
||
|
QMap<QString, Karte*> kartenfinder;
|
||
|
Basisstapel *austeilstapel, *austeilcostapel, *kreutzzielstapel, *pikzielstapel, *karozielstapel, *herzzielstapel;
|
||
|
QList<Basisstapel*> ablagestapel;
|
||
|
QList<Basisstapel*> allestapel;
|
||
|
QMap<QString, Basisstapel*> stapelfinder;
|
||
|
Siegkontrolle *siegkontrolle;
|
||
|
bool Laufendes_spiel, nur_eine_ziehen;
|
||
|
Punktezaehler *punktezaehler;
|
||
|
QTimer *spieltimer;
|
||
|
QDateTime startzeitpunkt;
|
||
|
Undo *undo;
|
||
|
QSettings *einstellungen;
|
||
|
|
||
|
const QByteArray berechne_pruefsumme_spielstand();
|
||
|
};
|
||
|
|
||
|
#endif
|