This is TenpileSuitDelegate.m in view mode; [Download] [Up]
/* indent:4 tabsize:8 font:fixed-width */
#import "TenpileSuitDelegate.h"
//#import "../Solitaire/Solitaire.h"
#import <Solitaire/CardSet.h>
#import "Tenpile.h"
@implementation TenpileSuitDelegate
- (void) setDoubleClickCheck
{
doubleClickCheck = YES;
}
- (BOOL) canAcceptPile:(CardPile*)aCardPile from:sender in:(CardPileView*)aCardPileView
{
Card* droppingCard = [aCardPile bottomCard];
Card* targetCard = [[aCardPileView cardPile] topCard];
if ([aCardPile cardCount] > 1)
{
if (doubleClickCheck)
{
droppingCard = [aCardPile topCard];
doubleClickCheck = NO;
}
else
{
return NO;
}
}
doubleClickCheck = NO;
if (targetCard)
{
if (([droppingCard suit] == [targetCard suit]) &&
([droppingCard value] == [targetCard value] + 1))
{
return YES;
}
}
else
{
if ([droppingCard value] == CS_ACE)
{
return YES;
}
}
return NO;
}
- (void) acceptPile:(CardPile*)aCardPile in:(CardPileView*)aCardPileView
{
[[Tenpile sharedInstance] checkForWin];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.