ftp.nice.ch/pub/next/games/card/NEXTVegas3.0.src.tar.gz#/NEXTVegas/Blackjack/Blackjack.h

This is Blackjack.h in view mode; [Download] [Up]

#import <appkit/appkit.h>
#import "../NEXTVegas/NEXTVegas.h"
#import "BJ.h"

@interface Blackjack:NVDealer
{
    id	dealerHandText;
	id	dealerTotalText;
	id	dealerHandView;
	
	id	drawView;
	id	drawPile;
	int	numDecks;
	    
    id	dealButton;
	id	hitButton;
    id	standButton;
	id	doubleButton;
	id	splitButton;
	id	surrenderButton;
	id	hintButton;
	
	id	area1PButton;
	id	area2PButton;
	id	area3PButton;
	id	area4PButton;
	
	id  area1RemoveWin;
	id  area2RemoveWin;
	id  area3RemoveWin;
	id  area4RemoveWin;
	
	id	area1DButton;
	id	area2DButton;
	id	area3DButton;
	id	area4DButton;

    id	p1HandText;
	id  p1TotalText;
	id	p1HandView;
	id  p1BetView;
	id	p1InsuranceView;
	id	p1SplitHandView;
	id  p1SplitTotalText;
    id	p1SplitHandText;
	id	p1DefaultBetText;

    id	p2HandText;
	id  p2TotalText;
	id	p2HandView;
	id  p2BetView;
	id	p2InsuranceView;
	id	p2SplitHandView;
	id  p2SplitTotalText;
    id	p2SplitHandText;
	id	p2DefaultBetText;

    id	p3HandText;
	id  p3TotalText;
	id	p3HandView;
	id  p3BetView;
	id	p3InsuranceView;
	id	p3SplitHandView;
	id  p3SplitTotalText;
    id	p3SplitHandText;
	id	p3DefaultBetText;

    id	p4HandText;
	id  p4TotalText;
	id	p4HandView;
	id  p4BetView;
	id	p4InsuranceView;
	id	p4SplitHandView;
	id  p4SplitTotalText;
    id	p4SplitHandText;
	id	p4DefaultBetText;
	
	
	id	playerPileDelegate;
	
	BJPlayer	players[BJ_MAXPLAYERS+1];
	
	// Status variables
	int		currentPlayer;
	int		currentHand;
	BOOL	gameInProgress;
	int		cardsToDeal;
	BOOL	dealerShouldFinishHand;
	BOOL	dealingCards;
	
	// Sounds	
	id	shuffleSound;
	id	drawSound;
	
	// Preferences
    id	deckPrefButton;
	id	dealerHitPrefButton;
	id	doublePrefButton;
	BOOL	dealerHitSoft17;
	id		dealerHitSoft17Text;
	BOOL	canAlwaysDouble;
	BOOL	showTotal;
	id		showTotalButton;
	id		peakAtHoleButton;
	BOOL	peakAtHoleAlways;
	id		reshuffleText;
	int		reshuffleValue;
	id		betterHandButton;
	BOOL	canBetterHandAfterSplittingAces;
	id		clearTableText;
	BOOL	friendlyDealer;
	id		suggestMovesButton;
	 
	// Timed entry
	DPSTimedEntry	kludgeTE;
	BOOL	initialDeal;
	
	// Debugging ids
	id	dbWindow;
	id	dbPnumText;
	id	dbCnumText;
	id	dbHnumText;
	
}

- initializeTable;
- newDeck:sender;

/***************************************************************************************
 *                                Blackjack Methods                                    *
 ***************************************************************************************/

// Game flow
- startGame;
- (int)getPlayers;
- clearHands;
- dealCards:(int)numCards;
- drawCardForPlayer:(int)playerNum forHand:(int)aHand faceUp:(BOOL)shouldBeUp;
- checkForInsurance;
- payInsuranceBets:(BOOL)shouldPay;
- checkCurrentPlayer;
- doDealersHand;
- setWinStatus;
- payOut;
- payOutForPlayer:(int)playerNum;
- endGame;

// Utility methods
- (BOOL)anyBetsOutsideLimits;
- enableBetViews:(BOOL)flag;
- enableDealButton;
- (BOOL)handIsSoft:(int)aHand forPlayer:(int)playerNum;
- (int)handTotalForPlayer:(int)playerNum forHand:(int)aHand;
- incrementHand;
- setDefaultBet:sender;
- placeDefaultBets;
- removeWinnings;
- playerDidSplit:(int)playerNum;
- (BOOL)playerWillSplit:(int)playerNum;
- updateTable;
- (int)getHintForCurrent;
- giveHintForCurrent:sender;

// Preferences/Defaults
- getPreferences:sender;
- revertPreferences:sender;
- setPreferences:sender;


// Target/Action methods
- deal:sender;
- doubleDown:sender;
- doubleDown;
- hit:sender;
- hit;
- split:sender;
- split;
- stand:sender;
- stand;
- surrender:sender;
- surrender;
- updatePButtons:sender;
- updatePlayerAreas:sender;

// debugging methods
- runDebug;
- dbReplaceCard:sender;

@end

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