Navigation Menu

Skip to content

Commit

Permalink
Uvodny commit 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Marek Hrušovský authored and Marek Hrušovský committed Feb 18, 2013
1 parent 22827c0 commit 6874104
Show file tree
Hide file tree
Showing 34 changed files with 2,000 additions and 0 deletions.
19 changes: 19 additions & 0 deletions .gitignore
@@ -0,0 +1,19 @@
# Exclude the build directory
build/*

# Exclude temp nibs and swap files
*~.nib
*.swp

# Exclude OS X folder attributes
.DS_Store

# Exclude user-specific XCode 3 and 4 files
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser
*.xcworkspace
xcuserdata
15 changes: 15 additions & 0 deletions cs193p_2013_hw03/AppDelegate.h
@@ -0,0 +1,15 @@
//
// AppDelegate.h
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/25/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@end
46 changes: 46 additions & 0 deletions cs193p_2013_hw03/AppDelegate.m
@@ -0,0 +1,46 @@
//
// AppDelegate.m
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/25/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import "AppDelegate.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application
{
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end
14 changes: 14 additions & 0 deletions cs193p_2013_hw03/BalicekHracichKariet.h
@@ -0,0 +1,14 @@
//
// BalicekHracichKariet.h
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/28/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "BalicekKariet.h"

@interface BalicekHracichKariet : BalicekKariet

@end
34 changes: 34 additions & 0 deletions cs193p_2013_hw03/BalicekHracichKariet.m
@@ -0,0 +1,34 @@
//
// BalicekHracichKariet.m
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/28/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import "BalicekHracichKariet.h"
#import "HraciaKarta.h"


@implementation BalicekHracichKariet

- (id)init {

self = [super init];

if(self) {
for (NSString *farba in [HraciaKarta platneFarby]) {
for (int hodnota = 1; hodnota <= [HraciaKarta najvyssiaHodnota]; hodnota++) {
HraciaKarta *karta = [[HraciaKarta alloc] init];
karta.hodnota = hodnota;
karta.farba = farba;
karta.nehratelna = NO;
karta.otocenaCelnouStranou = NO;
[self pridajKartu:karta naVrch:YES];
}
}
}
return self;
}

@end
17 changes: 17 additions & 0 deletions cs193p_2013_hw03/BalicekKariet.h
@@ -0,0 +1,17 @@
//
// BalicekKariet.h
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/28/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Karta.h"

@interface BalicekKariet : NSObject

- (void)pridajKartu:(Karta *)karta naVrch:(BOOL)naVrch;
- (Karta *)potiahniNahodnuKartu;

@end
48 changes: 48 additions & 0 deletions cs193p_2013_hw03/BalicekKariet.m
@@ -0,0 +1,48 @@
//
// BalicekKariet.m
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/28/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import "BalicekKariet.h"


@interface BalicekKariet()
@property (strong,nonatomic) NSMutableArray *karty;

@end

@implementation BalicekKariet
@synthesize karty = _karty;

- (NSMutableArray *) karty {

if (_karty == nil)
_karty = [[NSMutableArray alloc] init];

return _karty;
}

- (void)pridajKartu:(Karta *)karta naVrch:(BOOL)naVrch {
if(naVrch)
[self.karty insertObject:karta atIndex:0];
else
[self.karty addObject:karta];
}

- (Karta *)potiahniNahodnuKartu {

Karta *nahodnaKarta = nil;
if(self.karty.count)
{
unsigned int nahodnyIndex= arc4random() % self.karty.count;
nahodnaKarta = self.karty[nahodnyIndex];
[self.karty removeObjectAtIndex:nahodnyIndex];
}
return nahodnaKarta;

}

@end
13 changes: 13 additions & 0 deletions cs193p_2013_hw03/BalicekSkupinovychKariet.h
@@ -0,0 +1,13 @@
//
// BalicekSkupinovychKariet.h
// cs193p_2013_hw02
//
// Created by Marek Hrušovský on 2/12/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import "BalicekKariet.h"

@interface BalicekSkupinovychKariet : BalicekKariet

@end
40 changes: 40 additions & 0 deletions cs193p_2013_hw03/BalicekSkupinovychKariet.m
@@ -0,0 +1,40 @@
//
// BalicekSkupinovychKariet.m
// cs193p_2013_hw02
//
// Created by Marek Hrušovský on 2/12/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import "BalicekSkupinovychKariet.h"
#import "SkupinovaKarta.h"

@implementation BalicekSkupinovychKariet

- (id)init {

self = [super init];

if(self) {
for (NSNumber *hodnota in [SkupinovaKarta vsetkyHodnoty]) {
for (NSString *farba in [SkupinovaKarta platneFarby]) {
for (NSString *tvar in [SkupinovaKarta platneTvary]) {
for (NSString *odtien in [SkupinovaKarta vsetkyOdtiene]) {
SkupinovaKarta *karta = [[SkupinovaKarta alloc] init];
karta.hodnota = [hodnota intValue];
karta.farba = farba;
karta.odtien = odtien;
karta.tvar = tvar;
karta.nehratelna = NO;
karta.otocenaCelnouStranou = NO;
[self pridajKartu:karta naVrch:YES];

}
}
}
}
}
return self;
}

@end
Binary file added cs193p_2013_hw03/Default-568h@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cs193p_2013_hw03/Default.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cs193p_2013_hw03/Default@2x.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions cs193p_2013_hw03/HraciaKarta.h
@@ -0,0 +1,22 @@
//
// HraciaKarta.h
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/28/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import "Karta.h"

@interface HraciaKarta : Karta {
NSString *_farba;
int _hodnota;
}

@property (strong,nonatomic,setter = nastavFarbu:) NSString* farba;
@property (nonatomic) int hodnota;

+(NSArray *) platneFarby;
+(int) najvyssiaHodnota;

@end
72 changes: 72 additions & 0 deletions cs193p_2013_hw03/HraciaKarta.m
@@ -0,0 +1,72 @@
//
// HraciaKarta.m
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/28/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import "HraciaKarta.h"

@implementation HraciaKarta
@synthesize farba = _farba;
@synthesize hodnota = _hodnota;

- (NSString *)obsah {
NSArray *vsetkyHodnoty = [HraciaKarta vsetkyHodnoty];
return [vsetkyHodnoty[self.hodnota] stringByAppendingString:self.farba];
}

+(NSArray *) platneFarby {
return @[@"",@"",@"",@""];
}

- (NSString *)farba {
return _farba ? _farba: @"?";
}

+ (NSArray *)vsetkyHodnoty {
return @[@"?",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"J",@"Q",@"K"];
}

- (int)porovnajSKartami:(NSArray *)ineKarty {

int skore = 0;

if ([ineKarty count] == 1) {
HraciaKarta *inaKarta = [ineKarty lastObject];
if ([inaKarta.farba isEqualToString:self.farba])
skore = 1;
else if (inaKarta.hodnota == self.hodnota)
skore = 4;
}

if ([ineKarty count] == 2) {
HraciaKarta *inaKarta1 = ineKarty[0];
HraciaKarta *inaKarta2 = ineKarty[1];
if ([inaKarta1.farba isEqualToString:self.farba] &&
[inaKarta2.farba isEqualToString:self.farba])
skore = 3;
else if (inaKarta1.hodnota == self.hodnota &&
inaKarta2.hodnota == self.hodnota)
skore = 6;
}

return skore;
}

- (void)nastavFarbu:(NSString *)farba {
if ([[HraciaKarta platneFarby] containsObject:farba])
_farba = farba;
}

+ (int) najvyssiaHodnota {
return [HraciaKarta vsetkyHodnoty].count - 1;
}

- (void)nastavHodnotu:(int)hodnota {
if(hodnota <= [HraciaKarta najvyssiaHodnota])
self.hodnota = hodnota;
}

@end
22 changes: 22 additions & 0 deletions cs193p_2013_hw03/Karta.h
@@ -0,0 +1,22 @@
//
// Karta.h
// cs193p_2013_hw00
//
// Created by Marek Hrušovský on 1/28/13.
// Copyright (c) 2013 Marek Hrušovský. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Karta : NSObject {
NSString *_obsah;

}

@property (strong,nonatomic) NSString *obsah;
@property (nonatomic) BOOL nehratelna;
@property (nonatomic) BOOL otocenaCelnouStranou;

- (int)porovnajSKartami:(NSArray *)ineKarty;

@end

0 comments on commit 6874104

Please sign in to comment.