TicTacToe/AAPLTicTacToePiece.m
/* |
Copyright (C) 2016 Apple Inc. All Rights Reserved. |
See LICENSE.txt for this sample’s licensing information |
Abstract: |
Piece class encapsulates a single space on the board. |
*/ |
#import "AAPLTicTacToePiece.h" |
@implementation AAPLTicTacToePiece |
+ (AAPLTicTacToePiece *)X |
{ |
return [[self alloc] initWithType:AAPLTicTacToePieceTypeX]; |
} |
+ (AAPLTicTacToePiece *)O |
{ |
return [[self alloc] initWithType:AAPLTicTacToePieceTypeO]; |
} |
+ (AAPLTicTacToePiece *)Empty |
{ |
return [[self alloc] initWithType:AAPLTicTacToePieceTypeEmpty]; |
} |
- (instancetype)initWithType:(AAPLTicTacToePieceType)type |
{ |
self = [super init]; |
if ( self != nil ) |
{ |
_type = type; |
} |
return self; |
} |
- (BOOL)isX |
{ |
return self.type == AAPLTicTacToePieceTypeX; |
} |
- (BOOL)isO |
{ |
return self.type == AAPLTicTacToePieceTypeO; |
} |
- (BOOL)isEmpty |
{ |
return self.type == AAPLTicTacToePieceTypeEmpty; |
} |
- (void)makeX |
{ |
self.type = AAPLTicTacToePieceTypeX; |
} |
- (void)makeO |
{ |
self.type = AAPLTicTacToePieceTypeO; |
} |
- (void)makeEmpty |
{ |
self.type = AAPLTicTacToePieceTypeEmpty; |
} |
- (BOOL)sameTypeAs:(AAPLTicTacToePiece *)piece |
{ |
return piece.type == self.type; |
} |
- (NSString *)description |
{ |
if ( self.isX ) |
{ |
return NSLocalizedString(@"X", nil); |
} |
else if ( self.isO ) |
{ |
return NSLocalizedString(@"O", nil); |
} |
else |
{ |
return NSLocalizedString(@"empty", nil); |
} |
} |
@end |
Copyright © 2016 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2016-02-18