This is BoardView.h in view mode; [Download] [Up]
/*
* BoardView.h
* Description:
* a view that knows how to draw a game board for a two player game
* with a grid board like checkers, chess, reversi or attaxx
* History:
* 14-Feb-93 Erik Kay - created
*/
#import <appkit/appkit.h>
#import "Board.h"
@interface BoardView:View
{
Board *board, *boardCopy, *newBoard;
move currentMove;
int selectedRow, selectedCol;
int highlightedRow, highlightedCol;
id game; // the delegate
int cols,rows;
int squareSize, pieceSize;
int numAnimationFrames;
int curFrame, direction;
DPSTimedEntry moveEntry, changeEntry;
BOOL scalable;
BOOL abortGame;
}
- selectSquare:(int)col :(int)row;
- (int)selectedCol;
- (int)selectedRow;
- setGame:g;
// draw a square
- drawSelectedSquare:(NXRect *)rect at:(int)col :(int)row;
- drawEmptySquare:(NXRect *)rect at:(int)col :(int)row;
- drawObstruction:(NXRect *)rect at:(int)col :(int)row;
- drawPlayerOne:(NXRect *)rect at:(int)col :(int)row;
- drawPlayerTwo:(NXRect *)rect at:(int)col :(int)row;
- drawSquare:(int)col :(int)row;
- redrawBoard;
// move animation
- doMoveAnimation:(move *)mv;
- doAnimateMove;
- animateMove;
- finishMoveAnimation;
// change animation
- doChangeAnimation:(Board *)orig;
- doAnimateChange;
- animateChange;
- finishChangeAnimation;
// the board
- setBoard:(Board *)b;
- (Board *)board;
// misc
- gameOver;
- resetBoardView;
- setScalable:(BOOL)f;
- (int)numAnimationFrames;
@end
@interface Object (BoardDelegate)
- squareHit:(int)col :(int)row;
- moveAnimationFinished:(move *)mv;
- changeAnimationFinished;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.