diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2 (patch) | |
tree | d3bb9f5d25a2dc09ca81adecf39621d871534297 /blinken/src/blinkengame.h | |
download | tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.tar.gz tdeedu-ce599e4f9f94b4eb00c1b5edb85bce5431ab3df2.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeedu@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'blinken/src/blinkengame.h')
-rw-r--r-- | blinken/src/blinkengame.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/blinken/src/blinkengame.h b/blinken/src/blinkengame.h new file mode 100644 index 00000000..7a0f2941 --- /dev/null +++ b/blinken/src/blinkengame.h @@ -0,0 +1,72 @@ +/*************************************************************************** + * Copyright (C) 2005 by Albert Astals Cid <tsdgeos@terra.es> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#ifndef BLINKENGAME_H +#define BLINKENGAME_H + +#include <qobject.h> +#include <qvaluelist.h> + +class QTimer; + +class artsPlayer; + +class blinkenGame : public QObject +{ +Q_OBJECT + public: + blinkenGame(); + ~blinkenGame(); + + enum gamePhase { starting, choosingLevel, waiting3, waiting2, waiting1, learningTheSequence, typingTheSequence }; + enum color + { + none = 0, + red = 1, + green = 2, + blue = 4, + yellow = 8, + all = 15}; + + int level() const; + bool canType() const; + gamePhase phase() const; + int score() const; + + void clicked(color c); + void setPhase(gamePhase p); + void start(int level); + + signals: + void gameEnded(); + void phaseChanged(); + void highlight(blinkenGame::color c, bool unhighlight); + + private slots: + void nextSound(); + void soundEnded(); + void unhighlight(); + void waiting(); + + private: + void nextRound(); + color generateColor(); + + gamePhase m_phase; + int m_level; + int m_sequenceLength; + + QTimer *m_waitTimer; + + artsPlayer *m_artsPlayer; + QValueList<color> m_sequence; + QValueList<color>::const_iterator m_nextColor; +}; + +#endif |