ftp.nice.ch/pub/next/games/card/NEXTVegas3.0.src.tar.gz#/NEXTVegas/Klondike/SuitPileDelegate.m

This is SuitPileDelegate.m in view mode; [Download] [Up]

/* indent:4  tabsize:8  font:fixed-width */


#import "SuitPileDelegate.h"
#import "../NEXTVegas/CardSet.subproj/cardset.h"
#import "Klondike.h"

@implementation SuitPileDelegate

- setEnabled:(BOOL)flag
{
	isEnabled = flag;
	return self;
}

- setDoubleClickCheck
{
    doubleClickCheck = YES;
    return self;
}


- (BOOL)canAcceptPile:aCardPile from:sender in:aCardPileView
{
    id        droppingCard = [aCardPile cardAt:CS_BOTTOM];
    id        targetCard = [[aCardPileView cardPile] cardAt:CS_TOP];

    if(!isEnabled) return NO;
		
	if ([aCardPile cardCount] > 1)
    {
        if (doubleClickCheck)
        {
            droppingCard = [aCardPile cardAt:CS_TOP];
            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;
}


- acceptPile:aCardPile in:aCardPileView
{
	
	//[PBoss() playSound:NV_CARDSOUND];
	[Dealer() checkForWin];
    return self;
}

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.