00001
00002
00003
00004
#ifndef __BOARD_H
00005
#define __BOARD_H
00006
00007
#include "system.h"
00008
00009
00011
namespace Games{
00012
00014 class Board{
00015
private:
00017
int w;
00019
int h;
00021
int x;
00023
int y;
00025
int fw;
00027
int wx1;
00029
int wx2;
00031
int wy1;
00033
int wy2;
00035 System::BITMAP *pl1;
00037 System::BITMAP *pl2;
00039
unsigned char *data;
00041
unsigned char at(
int x,
int y){
00042
if (x < 0 || x >= w || y < 0 || y >= h)
return 3;
00043
return data[y * w + x];
00044 };
00046
void set(
int x,
int y,
unsigned char n){
00047
if (x < 0 || x >= w || y < 0 || y >= h)
return;
00048 data[y * w + x] = n;
00049 };
00051
void initPls();
00052
public:
00054
Board();
00056
Board(
int w,
int h,
int x,
int y,
int fw);
00058 virtual ~Board(){
delete[] data;
delete pl1;
delete pl2; };
00060
unsigned char winner();
00062
bool move(
int x,
int y,
unsigned char pl);
00064
void draw();
00066 unsigned char*
getData(){
return data; };
00068 int getSize(){
return w*h; };
00070
int atX(
int mx);
00072
int atY(
int my);
00074
static int eval(
unsigned char* data);
00075 };
00076
00077
00078
00079 }
00080
00081
#endif // __BOARD_H