redribben

VC code

Nov 6th, 2015
141
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 "BMGameDynamics.h"
  11.  
  12. @interface ViewController ()
  13. @property (nonatomic) BOOL oTurn;
  14. @property (weak, nonatomic) IBOutlet UILabel *outCome;
  15.  
  16. @end
  17.  
  18.  
  19. @implementation ViewController {
  20.     BMGameDynamics* gameManager;
  21. }
  22.  
  23. @synthesize oTurn;
  24.  
  25. @synthesize delegate;
  26.  
  27. - (instancetype) initWithCoder:(NSCoder *)aDecoder {
  28.     if (self = [super initWithCoder:aDecoder]) {
  29.         gameManager = [[BMGameDynamics alloc] init];
  30.     }
  31.     return self;
  32. }
  33.  
  34. - (IBAction)newGame:(id)sender {
  35.     [gameManager startAnew];
  36.     [self tTTSquareEnabled:TRUE];
  37.     _outCome.text = @"Good Luck! :)";
  38. }
  39.  
  40. - (IBAction)ticTacToeSquares:(id)sender {
  41. //    [self.delegate updateCurrentPlayer];
  42.     UIButton *button = (UIButton *)sender;
  43.     NSInteger bTag = button.tag;
  44.     if (oTurn) {
  45.         [button setBackgroundImage:[UIImage imageNamed:@"x.png"]
  46.                           forState: UIControlStateNormal];
  47.     }
  48.     else if (!oTurn) {
  49.         [button setBackgroundImage:[UIImage imageNamed:@"o.png"]
  50.                           forState: UIControlStateNormal];
  51.     }
  52.     int winner = [gameManager modifyXOSpotsWithTurn:oTurn withIndex:(int)bTag];
  53.     switch (winner) {
  54.         case 0:
  55.             break;
  56.         case 1:
  57.             [self tTTSquareEnabled:false];
  58.             self.outCome.text = @"O's WON!!!";
  59.             break;
  60.         case 2: {
  61.             [self tTTSquareEnabled:false];
  62.             self.outCome.text = @"X's WON!!!";
  63.             break;
  64.         }
  65.         case 3: {
  66.             self.outCome.text = @"You BOTH LOST!!!";
  67.             break;
  68.         }
  69.         default:
  70.             break;
  71.     }
  72.     button.enabled=FALSE;
  73.     oTurn = !oTurn;
  74.     NSLog(@"%ld", (long)bTag);
  75. }
  76.  
  77. - (void)tTTSquareEnabled:(BOOL)answer {
  78.     for (NSInteger i = [self.view.subviews count] -1; i>=0; i--) {
  79.         if ([[self.view.subviews objectAtIndex:i] isKindOfClass:[UIButton class]]) {
  80.             UIButton *button = (UIButton*)[self.view.subviews objectAtIndex:i];
  81.             if ((button.tag < 10)) {
  82.                 button.enabled=answer;
  83.             }
  84.             if (answer) {
  85.                 [button setBackgroundImage:nil
  86.                                   forState: UIControlStateNormal];
  87.             }
  88.         }
  89.     }
  90. }
  91.  
  92. - (void)viewDidLoad {
  93.     [super viewDidLoad];
  94.     [gameManager startAnew];
  95.     self.delegate = self;
  96. }
  97.  
  98. - (void)didReceiveMemoryWarning {
  99.     [super didReceiveMemoryWarning];
  100. }
  101.  
  102. - (int)updateCurrentPlayer {
  103.     NSLog(@"The delegate worked");
  104.     return 1;
  105. }
  106.  
  107. @end
Advertisement
Add Comment
Please, Sign In to add comment