ちょっとした絞首刑執行人のアプリケーションを書いて、ロープを少し学ぼうとしています。必要なものはほとんど揃っています。ただし、(古い C の方法を使用して) ユーザーに文字を入力するように求め、それを に変換する関数を用意していNSString
ますNSString
。
ただし、NSString
関数から (ポインター) を返し、それを main で使用して他の関数に渡す必要があります。
#import <Foundation/Foundation.h>
#define WORD_LIST_SIZE 3
void displayBlanks(float numChars);
NSString * askUserForLetter();
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSString * userLetter;
int wrongCount = 0;
int rightCount = 0;
int randomWordIndex;
float lettersInWord;
NSString *wordList[WORD_LIST_SIZE];
wordList[0] = @"dog";
wordList[1] = @"bike";
wordList[2] = @"plane";
//
//generates random index for word
randomWordIndex = arc4random() % WORD_LIST_SIZE;
//
//gets the length of the random word
lettersInWord = [wordList[randomWordIndex] length];
//
//Display title and blank
printf("Guess the letters! Be careful! You may get hung! \n\n");
displayBlanks(lettersInWord);
//
//ask for user letter the first time, return NSSTring 'userLetter'
askUserForLetter();
/*
while (wrongCount < 9 && rightCount < lettersInWord) {
if ([wordList[randomWordIndex] rangeOfString:userLetter].location != NSNotFound) {
NSLog(@"Correct!");
askUserForLetter();
rightCount++;
}
else{
NSLog(@"Wrong!");
askUserForLetter();
wrongCount++;
}
}
*/
NSLog(@"Your letter is: %@", userLetter);
}
return 0;
}
void displayBlanks(float numChars){
int i;
for (i = 0; i < numChars; i++) {
printf(" _ ");
}
printf("\n\n");
}
NSString * askUserForLetter (){
char userTry;
printf("Enter a letter you think is in the word: ");
scanf("%c", &userTry);
NSString * userGuess = [NSString stringWithFormat:@"%c", userTry];
return userGuess;
}