// Brain Party // Copyright (C) 2010 Paul Hudson (http://www.tuxradar.com/brainparty) // Brain Party 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 3 // of the License, or (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #ifndef __RPS_H__ #define __RPS_H__ #include "Minigame.h" class BPMiniGame_RPS_Position { public: const char* Position; const char* Beats; const char* BeatenBy; Texture* Sfc; BPMiniGame_RPS_Position(const char* position, const char* beats, const char* beatenby, Texture* sfc) { Position = position; Beats = beats; BeatenBy = beatenby; Sfc = sfc; } ~BPMiniGame_RPS_Position() { // SAFE_DELETE(Position); // SAFE_DELETE(Beats); // SAFE_DELETE(BeatenBy); } }; class BPMiniGame_RPS : public BPMiniGame { public: BPMiniGame_RPS(BPGame* game); ~BPMiniGame_RPS(); void Play(); void Start(); int GetWeight(); void Render(); void Tick(); void OnMouseUp(); void OnMouseDown(); void OnMouseMove(); void UpdateScore(); protected: Texture* sfcBackground; Texture* sfcLose; Texture* sfcRock; Texture* sfcPaper; Texture* sfcScissors; int LastStateChange; MiniGameStates GameState; int SuccessTime; BPPList Positions; BPMiniGame_RPS_Position* CurrentPosition; int PositionNum; bool MustWin; int Tries; int NumWrong; int TimeStarted; }; #endif