// // ViewController.m // tic tac toe // // Created by Bogdan Michalchuk on 10/22/15. // Copyright © 2015 PDXRR. All rights reserved. // #import "ViewController.h" #import "AppDelegate.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *outCome; @end @implementation ViewController @synthesize idelegate; - (IBAction)newGame:(id)sender { [self.idelegate startAnew]; [self tTTSquareEnabled:TRUE]; _outCome.text = @"Good Luck! :)"; } - (IBAction)ticTacToeSquares:(id)sender { UIButton *button = (UIButton *)sender; NSInteger bTag = button.tag; [self.idelegate modifyXOSpotsWithIndex:(int)bTag]; button.enabled=FALSE; } - (void)tTTSquareEnabled:(BOOL)answer { for (NSInteger i = [self.view.subviews count] -1; i>=0; i--) { if ([[self.view.subviews objectAtIndex:i] isKindOfClass:[UIButton class]]) { UIButton *button = (UIButton*)[self.view.subviews objectAtIndex:i]; if ((button.tag < 10)) { button.enabled=answer; } if (answer) { [button setBackgroundImage:nil forState: UIControlStateNormal]; } } } } - (void)viewDidLoad { [super viewDidLoad]; [self.idelegate startAnew]; // BMGameDynamics* gameManager = [(BMGameDynamics *)[[UIApplication sharedApplication] delegate] delegate]; BMGameDynamics* gameManager = [[BMGameDynamics alloc] init]; gameManager.delegate = self; [self.idelegate interactionDone]; } #pragma mark Delegate methods - (void)updateCurrentSquare:(int)index withCurrentPlayer:(BMPlayerType)playNumber { UIButton *button = (UIButton *)[self.view viewWithTag:index]; switch (playNumber) { case BMPlayerTypeX: [button setBackgroundImage:[UIImage imageNamed:@"x.png"] forState: UIControlStateNormal]; break; case BMPlayerTypeO: [button setBackgroundImage:[UIImage imageNamed:@"o.png"] forState: UIControlStateNormal]; break; default: NSLog(@"There was an error with the PlayerDelegate method updateCurrentSquare: withCurrentPlayer:"); break; } } - (void)updateGameStatusWithWinner:(BMPlayerType)winner { switch (winner) { case BMPlayerTypeX: [self tTTSquareEnabled:false]; self.outCome.text = @"X's WON!!!"; break; case BMPlayerTypeO: [self tTTSquareEnabled:false]; self.outCome.text = @"O's WON!!!"; break; case BMPlayerTypeTie: self.outCome.text = @"You BOTH LOST!!!"; break; default: NSLog(@"There was an error with the PlayerDelegate method updateGameStatusWithWinner"); break; } } @end