/****************/ /* shakki.cpp */ /****************/ #include class cLauta { int x,y; // yläkulma int nx,ny; // ruutujen määrä int ruudun_koko; // sivun pituus public: cLauta(int ix=20,int iy=20,int iruudun_koko=30,int inx=8,int iny=8) :x(ix),y(iy),nx(inx),ny(iny),ruudun_koko(iruudun_koko) {} virtual void Draw(TDC &dc); }; #define VAREJA 2 class cRajattuIndeksi { int i; int mn; public: cRajattuIndeksi(int n=2) : mn(n), i(0) { } int operator++(int ) { i++; if ( i >= mn ) i = 0; return i; // return i = (i+1) % vareja; } int operator=(int j) { i = j; return i; } operator int() const { return i; } }; void cLauta::Draw(TDC &dc) { TBrush sutit[4] = {TBrush(RGB(0,0,1)),TBrush(RGB(255,255,255)),TBrush(RGB(255,0,0)),TBrush(RGB(0,255,0))}; TPen kynat[4] = {TPen(RGB(0,1,0)),TPen(RGB(255,255,255)),TPen(RGB(255,0,0)),TPen(RGB(0,255,0))}; int ylax,ylay,iy,ix; cRajattuIndeksi vari(VAREJA),rivivari(VAREJA); rivivari = 0; for(iy=0; iy