3f66f6a5b3
This keyword is not expanded by Git which means it's not replaced with the correct revision value in the releases made using git-based scripts and it's confusing to have lines with unexpanded "$Id$" in the released files. As expanding them with Git is not that simple (it could be done with git archive and export-subst attribute) and there are not many benefits in having them in the first place, just remove all these lines. If nothing else, this will make an eventual transition to Git simpler. Closes #14487. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
115 lines
2.2 KiB
C++
115 lines
2.2 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: game.h
|
|
// Purpose: Bombs game
|
|
// Author: P. Foggia 1996
|
|
// Modified by: Wlodzimierz Skiba (ABX) since 2003
|
|
// Created: 1996
|
|
// Copyright: (c) 1996 P. Foggia
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_DEMOS_BOMBS_GAME_H_
|
|
#define _WX_DEMOS_BOMBS_GAME_H_
|
|
|
|
#define BG_HIDDEN 0x100
|
|
#define BG_BOMB 0x200
|
|
#define BG_MARKED 0x400
|
|
#define BG_EXPLODED 0x800
|
|
#define BG_SELECTED 0x080
|
|
#define BG_MASK 0x03F
|
|
|
|
#include <stddef.h>
|
|
|
|
class BombsGame
|
|
{
|
|
public:
|
|
BombsGame()
|
|
{
|
|
m_width = m_height = 0;
|
|
m_field = NULL;
|
|
};
|
|
|
|
~BombsGame();
|
|
|
|
int GetWidth() const { return m_width; };
|
|
int GetHeight() const { return m_height; };
|
|
|
|
int Get(int x, int y) const
|
|
{
|
|
return m_field[x+y*m_width];
|
|
};
|
|
|
|
int IsFocussed(int x, int y) const
|
|
{
|
|
return (m_gridFocusX == x) && (m_gridFocusY == y);
|
|
}
|
|
|
|
int IsHidden(int x, int y) const
|
|
{
|
|
return Get(x,y) & BG_HIDDEN;
|
|
};
|
|
|
|
int IsMarked(int x, int y) const
|
|
{
|
|
return Get(x,y) & BG_MARKED;
|
|
};
|
|
|
|
int IsBomb(int x, int y) const
|
|
{
|
|
return Get(x,y) & BG_BOMB;
|
|
};
|
|
|
|
int IsExploded(int x, int y) const
|
|
{
|
|
return Get(x,y) & BG_EXPLODED;
|
|
};
|
|
|
|
int IsSelected(int x, int y) const
|
|
{
|
|
return Get(x,y) & BG_SELECTED;
|
|
};
|
|
|
|
int GetNumBombs() const
|
|
{
|
|
return m_numBombCells;
|
|
};
|
|
|
|
int GetNumRemainingCells() const
|
|
{
|
|
return m_numRemainingCells;
|
|
};
|
|
|
|
int GetNumMarkedCells() const
|
|
{
|
|
return m_numMarkedCells;
|
|
};
|
|
|
|
|
|
bool Init(int width, int height, bool easyCorner = false);
|
|
|
|
|
|
// Marks/unmarks a cell
|
|
void Mark(int x, int y);
|
|
|
|
// Unhides a cell
|
|
void Unhide(int x, int y, bool b_selected);
|
|
|
|
// Makes a cell exploded
|
|
void Explode(int x, int y);
|
|
|
|
int m_gridFocusX;
|
|
int m_gridFocusY;
|
|
|
|
private:
|
|
|
|
// Current difficulty level (Determines grid size).
|
|
//int m_level;
|
|
|
|
int m_width, m_height;
|
|
short *m_field;
|
|
int m_numBombCells, m_numRemainingCells, m_numMarkedCells;
|
|
|
|
};
|
|
|
|
#endif // #ifndef _WX_DEMOS_BOMBS_GAME_H_
|