home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
zip
/
gnu
/
gchsrc31.lzh
/
PIECE.CC
< prev
next >
Wrap
C/C++ Source or Header
|
1992-04-27
|
1KB
|
71 lines
//////////////////////////////////////////////////////////////////////////////
//
// This file is part of the Atari graphical interface for GNU Chess,
// and is Copyright 1992 by Warwick W. Allison.
//
// You are free to copy and modify these sources, provided you acknowledge
// the origin by retaining this notice, and adhere to the conditions
// of the CHESS General Public License described in the main chess file
// gnuchess.cc.
//
//////////////////////////////////////////////////////////////////////////////
#include "Piece.h"
#include "gnuchess.h"
Incarnation **RankImage;
static const NumRanks=7; // no_piece up to king
GamePiece::GamePiece() :
Image(NumRanks*2)
{
int p=0;
for (int c=0; c<2; c++) {
for (int r=0; r<NumRanks; r++) {
Image.SetImage(p,RankImage[p]);
p++;
}
}
}
void GamePiece::Colour(bool isblack)
{
IsBlack=isblack;
}
void GamePiece::Rank(int R)
{
rank=R;
}
void GamePiece::Draw(int x,int y)
{
Image.ShapeTo((IsBlack ? NumRanks : 0) + rank);
Image.MoveTo(x,y);
Image.Draw();
}
GamePiece *Piece;
void InitPiece(Screen& S)
{
int p=0;
RankImage=new Incarnation* [NumRanks*2];
for (int c=0; c<2; c++) {
for (int r=0; r<NumRanks; r++) {
RankImage[p]=new ColourIncarnation(23);
RankImage[p]->GetImage(S,c*16,r*24+1);
RankImage[p]->SetHotSpot(8,11);
p++;
}
}
Piece=new GamePiece();
}