redribben

myvc

Nov 18th, 2015
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //  ViewController.m
  3. //  tic tac toe
  4. //
  5. //  Created by Bogdan Michalchuk on 10/22/15.
  6. //  Copyright © 2015 PDXRR. All rights reserved.
  7. //
  8.  
  9. #import "ViewController.h"
  10. #import "AppDelegate.h"
  11.  
  12. @interface ViewController ()
  13. @property (weak, nonatomic) IBOutlet UILabel *outCome;
  14.  
  15. @end
  16.  
  17. @implementation ViewController
  18.  
  19. @synthesize idelegate;
  20.  
  21. - (IBAction)newGame:(id)sender {
  22.     [self.idelegate startAnew];
  23.     [self tTTSquareEnabled:TRUE];
  24.     _outCome.text = @"Good Luck! :)";
  25. }
  26.  
  27. - (IBAction)ticTacToeSquares:(id)sender {
  28.     UIButton *button = (UIButton *)sender;
  29.     NSInteger bTag = button.tag;
  30.     [self.idelegate modifyXOSpotsWithIndex:(int)bTag];
  31.     button.enabled=FALSE;
  32. }
  33.  
  34. - (void)tTTSquareEnabled:(BOOL)answer {
  35.     for (NSInteger i = [self.view.subviews count] -1; i>=0; i--) {
  36.         if ([[self.view.subviews objectAtIndex:i] isKindOfClass:[UIButton class]]) {
  37.             UIButton *button = (UIButton*)[self.view.subviews objectAtIndex:i];
  38.             if ((button.tag < 10)) {
  39.                 button.enabled=answer;
  40.             }
  41.             if (answer) {
  42.                 [button setBackgroundImage:nil
  43.                                   forState: UIControlStateNormal];
  44.             }
  45.         }
  46.     }
  47. }
  48.  
  49. - (void)viewDidLoad {
  50.     [super viewDidLoad];
  51.     [self.idelegate startAnew];
  52. //    BMGameDynamics* gameManager = [(BMGameDynamics *)[[UIApplication sharedApplication] delegate] delegate];
  53.     BMGameDynamics* gameManager = [[BMGameDynamics alloc] init];
  54.     gameManager.delegate = self;
  55.     [self.idelegate interactionDone];
  56. }
  57.  
  58. #pragma mark Delegate methods
  59. - (void)updateCurrentSquare:(int)index
  60.           withCurrentPlayer:(BMPlayerType)playNumber {
  61.     UIButton *button = (UIButton *)[self.view viewWithTag:index];
  62.     switch (playNumber) {
  63.         case BMPlayerTypeX:
  64.             [button setBackgroundImage:[UIImage imageNamed:@"x.png"]
  65.                               forState: UIControlStateNormal];
  66.             break;
  67.         case BMPlayerTypeO:
  68.             [button setBackgroundImage:[UIImage imageNamed:@"o.png"]
  69.                               forState: UIControlStateNormal];
  70.             break;
  71.         default:
  72.             NSLog(@"There was an error with the PlayerDelegate method updateCurrentSquare: withCurrentPlayer:");
  73.             break;
  74.     }
  75. }
  76.  
  77. - (void)updateGameStatusWithWinner:(BMPlayerType)winner {
  78.     switch (winner) {
  79.         case BMPlayerTypeX:
  80.             [self tTTSquareEnabled:false];
  81.             self.outCome.text = @"X's WON!!!";
  82.             break;
  83.         case BMPlayerTypeO:
  84.             [self tTTSquareEnabled:false];
  85.             self.outCome.text = @"O's WON!!!";
  86.             break;
  87.         case BMPlayerTypeTie:
  88.             self.outCome.text = @"You BOTH LOST!!!";
  89.             break;
  90.         default:
  91.             NSLog(@"There was an error with the PlayerDelegate method updateGameStatusWithWinner");
  92.             break;
  93.     }
  94.    
  95. }
  96.  
  97. @end
Advertisement
Add Comment
Please, Sign In to add comment