cs193p – Assignment #3 Task #1 & #2

Please note, this blog entry is from a previous course. You might want to check out the current one.

Create an application that plays both the Set game (single player) in one tab and the Playing Card matching game in another.

… the current version does already do that, just make sure not to break anything in the following tasks

You must use polymorphism to design your Controllers for the two games (i.e. you must have a (probably abstract) base card game Controller class and your Set game and Playing Card game Controllers must be subclasses thereof).

… which we actually have done already in the last assignment. But we can still clean up a little bit, e.g by removing the access to the direct access of game and gameResult by adding additional abstract properties:
Continue reading “cs193p – Assignment #3 Task #1 & #2”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Lecture #7 – Collection View and Protocols

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture #7 handles protocols, collection views – again – with an extensive demo.

… lots about protocols and its usage …

UICollectionsViews are new in IOS6. They are assemblies of UICollectionViewCells arranged e.g. by UICollectionViewFlowLayout.

The code of the demo is available at Stanford and on github.

Slides are available on iTunes …..

The lecture is available at iTunes and is named “7. Collection View and Protocols (January 29, 2013)”.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Lecture #6 – Views and Gestures

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture #6 covers views and gestures and shows how to use them in a extensive demo at the end of the lecture:

The hierarchy of views is most often constructed in storyboard but it can be done also:

- (void)addSubview:(UIView*)aView;
- (void)removeFromSuperview;

A view can be accessed from a view controller using its:

@property (strong, nonatomic) UIView *view

Continue reading “cs193p – Lecture #6 – Views and Gestures”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #2 Extra Task #3

Please note, this blog entry is from a previous course. You might want to check out the current one.

Add another tab for some “settings” in the game.

We will need to access the settings from both card games as well as from the settings view. Therefore we create a new class derived from NSObject with public properties of the “settings” which can be used by all of those controllers:

@interface GameSettings : NSObject
@property (nonatomic) int matchBonus;
@property (nonatomic) int mismatchPenalty;
@property (nonatomic) int flipCost;
@end

Continue reading “cs193p – Assignment #2 Extra Task #3”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #2 Extra Task #2

Please note, this blog entry is from a previous course. You might want to check out the current one.

Add third tab to track the user’s scores. It should be clear which scores were playing card match games and which scores were Set card match games.

The tab has already been implemented during lecture #5.

To be able to separate the scores of the different games, it is necessary to another property which can provide this information:

@property (strong, nonatomic) NSString *gameType;

Continue reading “cs193p – Assignment #2 Extra Task #2”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #2 Extra Task #1

Please note, this blog entry is from a previous course. You might want to check out the current one.

Create appropriate icons for your two tabs. The icons are 30×30 and are pure alpha channels (i.e. they are a “cutout” through which the blue gradient shines through). Search the documentation for more on how to create icons like that and set them.

Create the icons in your favorite graphic program, save them to your project and set them in storyboard:

cs193p - assignment #2 extra task #1
cs193p – assignment #2 extra task #1

The complete code is available on github.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

cs193p – Assignment #2 Task #8

Please note, this blog entry is from a previous course. You might want to check out the current one.

Your Set game should also report (mis)matches like Required Task #3 in Assignment 1, but you’ll have to enhance this feature (to use NSAttributedString) to make it work for displaying Set card matches.

In storyboard copy the label from the card-game view to the set-game view and connect it to the set-game view controller. Change it from “plain” to “attributed”.

In updateUI create a new attributed string which derives from the last-flip description. Update this string with the card attributes in the for loop and – at the end – use it for the label text:
Continue reading “cs193p – Assignment #2 Task #8”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail