나는 CS193P의 첫 번째와 두 번째 수업을 배웠고 한 번에 하나씩 각 카드를 보여주기 위해 무작위 순서로 카드의 전체 데크를 통해 매치니스를 뒤집기를 요청하는 첫 번째 과제를 마쳤습니다. 여기서 물론,이 일을하기 전에, 내가 삭제 한CS193P의 과제 1에 관한 이슈
#import "CardGameViewController.h"
#import "Deck.h"
#import "PlayingCardDeck.h"
@interface CardGameViewController()
@property (weak, nonatomic) IBOutlet UILabel *flipsLabel;
@property (nonatomic) int flipCount;
@property (strong, nonatomic) Deck *fullDeck;
@end
@implementation CardGameViewController
- (void)setFlipCount:(int)flipCount{
_flipCount = flipCount;
self.flipsLabel.text = [NSString stringWithFormat:@"Flips: %d",self.flipCount];
NSLog(@"flipCount changed to %d",self.flipCount);
}
- (Deck *)fullDeck{
if (!_fullDeck) _fullDeck =[[PlayingCardDeck alloc] init];
return _fullDeck;
}
- (IBAction)touchCardButton:(UIButton *)sender {
if (!sender.currentTitle) {
[sender setBackgroundImage:[UIImage imageNamed:@"cardfront"]
forState:UIControlStateNormal];
[sender setTitle:[[self.fullDeck drawRandomCard] contents]
forState:UIControlStateNormal];
} else {
[sender setBackgroundImage:[UIImage imageNamed:@"cardback"]
forState:UIControlStateNormal];
[sender setTitle:nil forState:UIControlStateNormal];
}
self.flipCount++;
}
@end
CardGameViewController.m의 내 코드 년대 "A ♣ ︎"먼저 데모를 teching의 버튼에 대한 힌트를 말해 나는 그것이 보여주는 와서해야하기 때문에 대신 카드의 뒷면. 나는 응용 프로그램을 성공적으로 구축하고 그것은 아주 잘 작동 보인다.
그러나, 할당의 힌트를 말해 :
하지만 내 솔루션은 사용자가 카드를 뒤집어하게됩니다 infinitely.So 나는 경우()이 같은를 추가하여 목표를 달성하려고 : 나는 응용 프로그램을 실행하고 화면을 터치하면좋은 해결책은 갑판에있는 모든 카드가 표시되어 사용자가 아직 반전을 유지하는 경우 발생하는 몇 가지 생각을 준 것입니다. 간단하고 합리적인 것을하십시오 (예를 들어, 어떤 방식 으로든 모델의 클래스를 수정하지 않아도 됨).
- (IBAction)touchCardButton:(UIButton *)sender {
if (self.flipCount < 53){ /*There are 52 cards in a deck */
if (!sender.currentTitle) {
[sender setBackgroundImage:[UIImage imageNamed:@"cardfront"]
forState:UIControlStateNormal];
[sender setTitle:[[self.fullDeck drawRandomCard] contents]
forState:UIControlStateNormal];
} else {
[sender setBackgroundImage:[UIImage imageNamed:@"cardback"]
forState:UIControlStateNormal];
[sender setTitle:nil forState:UIControlStateNormal];
}
self.flipCount++;
}
}
을 다음 fliplabel이 52에 도달하면 더 이상 뒤집어지지 않습니다.
이 솔루션은 순진하고 터무니 없는가? 나는 다른 사람들의 해결책을보기 위해 github을 찾았으며 힌트가 무시당하는 것 같아. 내 생각을 나눌 수 있니?
모든 의견은 높이 평가 될 것입니다!