source: trunk/monsterz/board.h @ 900

Last change on this file since 900 was 863, checked in by sam, 10 years ago

core: rename vec2i to ivec2 etc. to better match GLSL.

  • Property svn:keywords set to Id
File size: 1.1 KB
RevLine 
[223]1//
[312]2// Monsterz
[223]3//
[312]4// Copyright: (c) 2005-2011 Sam Hocevar <sam@hocevar.net>
5//   This program is free software; you can redistribute it and/or
6//   modify it under the terms of the Do What The Fuck You Want To
7//   Public License, Version 2, as published by Sam Hocevar. See
8//   http://sam.zoy.org/projects/COPYING.WTFPL for more details.
9//
[223]10
11//
12// The Board class
13// ---------------
14//
15
[312]16#if !defined __MONSTERZ_BOARD_H__
17#define __MONSTERZ_BOARD_H__
[223]18
[314]19#include "monsterz.h"
[223]20
21class BoardData;
22
[312]23class Board : public WorldEntity
[223]24{
25public:
[352]26    typedef enum
27    {
28        GAME_HUNT,
29    }
30    game_t;
31
[863]32    Board(game_t, ivec2 dim, int minnpieces, int maxnpieces);
[223]33    virtual ~Board();
34
[423]35    char const *GetName() { return "<board>"; }
36
[223]37protected:
38    virtual void TickGame(float deltams);
39    virtual void TickDraw(float deltams);
40
[352]41    /* Hunt mode */
[308]42    void Fill();
[863]43    bool Switch(ivec2 cell_a, ivec2 cell_b);
[314]44    int ListMashes(int list[MAX_WIDTH][MAX_HEIGHT]);
45    int ListMoves(int list[MAX_WIDTH][MAX_HEIGHT]);
[258]46
[223]47private:
48    BoardData *data;
49};
50
[312]51#endif // __MONSTERZ_BOARD_H__
[223]52
Note: See TracBrowser for help on using the repository browser.