2015-03-17 3 views
-2

Я пытался создать небольшую игру с угадыванием случайных чисел, используя инструмент командной строки в Xcode.Несколько ошибок с использованием Swift

Я также добавил образ ошибок, которые приходят из Xcode язя

import Foundation 

var randomNumber = 1 
var userGuess = 1 
var continueGuessing = true 
var keepPlaying = true 
var input = "" 

while (keepPlaying) { 
    randomNumber = Int(arc4random_uniform(101)) //to get a random number between 0-100 
    println(" The random number to guess is: \(randomNumber)" ); 
    while (continueGuessing) { 
     println(" Pick a number between 0 and 100. ") 
     input = NSString(data: NSFileHandle.fileHandleWithStandardInput(). 
      availableData,encoding:NSUTF8StringEncoding)! //get keyboard input 
     input = input.stringByReplacingOccurrencesOfString("\n", withString: "", options:NSStringCompareOptions.LiteralSearch, range: nil)//strip off the/n 
     userGuess = input.toInt()! 
     if (userGuess == randomNumber) { 
      continueGuessing = false 
      println("correct number!"); 

     } 
//nested if statement 
     else if (userGuess > randomNumber){ 
      //user guessed to high 
      println("your guess is too high"); 
     } 

    else { 
     //no reason to check if userGuess < random. it has to be. 
     println("Play again? Y or N"); 
     input = NSString(data: NSFileHandle.fileHandleWithStandardInput().availableData, 
      encoding:NSUTF8StringEncoding! 
      input = input.stringByReplacingOccurrencesOfString("\n", withString: "", options: <#NSStringCompareOptions#>.LiteralSearch, range: nil); 
      } if (input == "N" || input == "n"){ 
      keepPlaying = false 
     } 
     continueGuessing = true 

Here is an image of the code from Xcode ide

+0

Вместо разместив скриншот, вставьте здесь текст ошибки. И в ваших кодах явно много опечаток. Следуйте подсказке ошибки и исправьте ее в первую очередь. – Raptor

ответ

1

У вас есть две небольшие ошибки:

У вас есть символ новой строки здесь, а также необходимо направить на струну - изменить это:

input = NSString(data: NSFileHandle.fileHandleWithStandardInput(). 
     availableData,encoding:NSUTF8StringEncoding)! 

к этому:

input = NSString(data: NSFileHandle.fileHandleWithStandardInput().availableData, encoding: NSUTF8StringEncoding)! as String 

Вы также оставил XCode автогенерируемые заполнитель для NSStringCompareOptions - это изменить:

input = input.stringByReplacingOccurrencesOfString("\n", withString: "", options: <#NSStringCompareOptions#>.LiteralSearch, range: nil); 

к этому:

input = input.stringByReplacingOccurrencesOfString("\n", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil) 

Вот ваш полный фрагмент с указанными выше поправками:

while (keepPlaying) { 
randomNumber = Int(arc4random_uniform(101)) //to get a random number between 0-100 
println(" The random number to guess is: \(randomNumber)" ); 
while (continueGuessing) { 
    println(" Pick a number between 0 and 100. ") 
    input = NSString(data: NSFileHandle.fileHandleWithStandardInput().availableData, encoding: NSUTF8StringEncoding)! as String 
    input = input.stringByReplacingOccurrencesOfString("\n", withString: "", options:NSStringCompareOptions.LiteralSearch, range: nil)//strip off the/n 
    userGuess = input.toInt()! 
    if (userGuess == randomNumber) { 
     continueGuessing = false 
     println("correct number!"); 

    } 
     //nested if statement 
    else if (userGuess > randomNumber){ 
     //user guessed to high 
     println("your guess is too high"); 
    } 

    else { 
     //no reason to check if userGuess < random. it has to be. 
     println("Play again? Y or N"); 
     input = NSString(data: NSFileHandle.fileHandleWithStandardInput().availableData, encoding: NSUTF8StringEncoding)! as String 
      input = input.stringByReplacingOccurrencesOfString("\n", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil); 
    } if (input == "N" || input == "n"){ 
     keepPlaying = false 
    } 
    continueGuessing = true 
+1

Спасибо !!!!!! –

Смежные вопросы