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 >
C/C++ Source or Header  |  1992-04-27  |  1KB  |  71 lines

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  This file is part of the Atari graphical interface for GNU Chess,
  4. //  and is Copyright 1992 by Warwick W. Allison.
  5. //
  6. //  You are free to copy and modify these sources, provided you acknowledge
  7. //  the origin by retaining this notice, and adhere to the conditions
  8. //  of the CHESS General Public License described in the main chess file
  9. //  gnuchess.cc.
  10. //
  11. //////////////////////////////////////////////////////////////////////////////
  12.  
  13. #include "Piece.h"
  14. #include "gnuchess.h"
  15.  
  16.  
  17. Incarnation **RankImage;
  18. static const NumRanks=7; // no_piece up to king
  19.  
  20. GamePiece::GamePiece() :
  21.     Image(NumRanks*2)
  22. {
  23.     int p=0;
  24.  
  25.     for (int c=0; c<2; c++) {
  26.         for (int r=0; r<NumRanks; r++) {
  27.             Image.SetImage(p,RankImage[p]);
  28.             p++;
  29.         }
  30.     }
  31. }
  32.  
  33. void GamePiece::Colour(bool isblack)
  34. {
  35.     IsBlack=isblack;
  36. }
  37.  
  38. void GamePiece::Rank(int R)
  39. {
  40.     rank=R;
  41. }
  42.  
  43. void GamePiece::Draw(int x,int y)
  44. {
  45.     Image.ShapeTo((IsBlack ? NumRanks : 0) + rank);
  46.  
  47.     Image.MoveTo(x,y);
  48.     Image.Draw();
  49. }
  50.  
  51.  
  52. GamePiece *Piece;
  53.  
  54. void InitPiece(Screen& S)
  55. {
  56.     int p=0;
  57.  
  58.     RankImage=new Incarnation* [NumRanks*2];
  59.  
  60.     for (int c=0; c<2; c++) {
  61.         for (int r=0; r<NumRanks; r++) {
  62.             RankImage[p]=new ColourIncarnation(23);
  63.             RankImage[p]->GetImage(S,c*16,r*24+1);
  64.             RankImage[p]->SetHotSpot(8,11);
  65.             p++;
  66.         }
  67.     }
  68.  
  69.     Piece=new GamePiece();
  70. }
  71.