2013-06-02 3 views
-5

Это мой код. не могли бы вы помочь мне понять ошибку «Строка 357: синтаксическая ошибка, неожиданный кенд, ожидающий $ end»

Я новичок в Ruby. Прочтите много руководств и разработайте этот код.

$guess=0 
$j=0 
$ans = "" 


def questions(no) 

case no 

    when 1 
    puts "\nWhat is 1+1 ? " 
    puts "\n\na) 2 \tb) 3\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 


    if ans.casecmp("A") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 



    when 2 
    puts "\nWhat is a OS ? " 
    puts "\n\na) XP\tb) PX\t c) UI\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("A") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 3 
    puts "\nWhat is 1+2 ? " 
    puts "\n\na) 2 \tb) 3\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("B") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 4 
    puts "\nWhat is 1+3 ? " 
    puts "\n\na) 2 \tb) 3\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("C") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 5 
    puts "\nWhat is 1+4 ? " 
    puts "\n\na) 5 \tb) 3\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("A") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 6 
    puts "\nWhat is 1+5 ? " 
    puts "\n\na) 2 \tb) 3\t c) 6\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("C") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 7 
    puts "\nWhat is 1+6 ? " 
    puts "\n\na) 2 \tb) 7\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("B") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 8 
    puts "\nWhat is 1+7 ? " 
    puts "\n\na) 2 \tb) 8\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("B") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 9 
    puts "\nWhat is 1+8 ? " 
    puts "\n\na) 9 \tb) 3\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("A") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    when 10 
    puts "\nWhat is 1+9 ? " 
    puts "\n\na) 10 \tb) 3\t c) 4\n" 
    puts "\nInput your answer a or b or c: " 
    ans = gets.chomp 

    if ans.casecmp("A") == 0 

     puts "\n\t\tWrong :o :o :o" 
     guess=guess+1 
     return 1 


    else 

     puts "\n\t\tCorrect!!!"  
     return 0 

    end 

    end 

end 




def check() 

    case guess 

     when 1 

      puts "\n\n\n\n\n\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t  _|_" 

     when 2 
      puts "\n\n\n\n\n\n\t\t\t\t__________" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t  _|_" 


     when 3 
      puts "\n\n\n\n\n\n\t\t\t\t__________" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|  O" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t  _|_" 

     when 4 
      puts "\n\n\n\n\n\n\t\t\t\t__________" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|  O" 
      puts "\n\t\t\t\t|  \\|/" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t  _|_" 

     when 5 
      puts "\n\n\n\n\n\n\t\t\t\t__________" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|  O" 
      puts "\n\t\t\t\t|  \\|/" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t  _|_" 

     when 6 
      puts "\n\n\n\n\n\n\t\t\t\t__________" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|  O" 
      puts "\n\t\t\t\t|  \\|/" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|  /\\" 
      puts "\n\t\t\t\t|  --------" 
      puts "\n\t\t\t\t|  | |" 
      puts "\n\t\t\t\t|  | |" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t  _|_" 
      puts "\n\n\t\t\t\t\tOne Chance Left-> :) " 

     when 7 
      puts "\n\n\n\n\n\n\n\t\t\t\t!!!The Man is Hanged!!!" 
      puts "\n\n\n\n\n\t\t\t\t__________" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|  0" 
      puts "\n\t\t\t\t|  \\|/" 
      puts "\n\t\t\t\t|  |" 
      puts "\n\t\t\t\t|  /\\" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t\t|" 
      puts "\n\t\t\t  _|_" 
      puts "\n\n\t\t\t\t\t\t\t Man Died :o :o :o" 
      puts "\n\n\n\t\t\t\t !!!Game Over!!!" 

     else 
      puts "\n\t\t\t\tProceed Press Enter->" 

    end 
end 



    puts "\n\n\n\n\n\n\n\n\n" 
    puts "\n\t\t\t\t-------------------------" 
    puts "\n\t\t\t\t|      |" 
    puts "\n\t\t\t\t| !!!HangMan Game!!! |" 
    puts "\n\t\t\t\t|      |" 
    puts "\n\t\t\t\t-------------------------" 
    puts "\n\n\nRules: " 
    puts "\n------" 
    puts "\n\n1. You have 10 Questions." 
    puts "\n\n2. You have 7 Chances." 
    puts "\n\n3. For every Wrong Answer Man will be stepped towards hanging :O :O :O " 
    puts "\n\n4. Answer all the 10 questions before the man hangs!!!" 
    puts "\n\n\n\n\n\n\t\t\t\t !!!Best of Luck!!!" 
    puts "\n\n\n\t\t\t\t\t  Game designed by DHANABHARATHI,PEC"  

    for i in 1..10 do   

     k=0  
       j=10-i 
     puts "\n\n\t\t\t\t\t\t\t\t#{j} Questions More" 
     k = questions(i) 

     if k==1 
      check 
     end 

     break if guess>=7  
     i=i+1 
       end 


    end //LINE 357 

    if guess<7 
    puts "\n\t\t\t\t  You Won!!! Congrats!!!" 
    puts "\n\t\t\t\t  ________ ______________" 

    else 
    puts "\n\n\n\t\t\t\t  You lose!!!" 
    end 

Пожалуйста, научи меня, как исправить эту ошибку и сделать мой код работает

+3

Я не вижу никакого кода. Пожалуйста, отправьте код, не заставляйте людей отслеживать его. Если это слишком долго, то потратьте усилия на то, чтобы изолировать проблемное место, даже если проб и ошибок. И признаем, что существует большая разница между «может отвечать» и «будет гнев», особенно когда возникает вопрос: «Я получаю эту заметку об ошибке, смотрю на нее и исправляю». –

+0

@DaveNewton откат, чтобы включить ссылку. Я скопирую его и, возможно, немного почищу. –

+0

Я бы порекомендовал его; есть большие куски дублированного кода, и когда вы продвигаетесь дальше, вы увидите возможности использовать классы, чтобы избежать других дубликатов. –

ответ

1

У вас есть конец на линии 354, что я не думаю, что должно быть там, это изменить:

break if guess>=7  
    i=i+1 
    end 


end 

:

break if guess>=7  
    i=i+1 


end 
+0

Большое спасибо – user2102450

+0

Почему я не могу ввести вход. Моя программа попала в «ans = gets.chomp» – user2102450

+0

Я использую codepad.org, эта строка кода не принимается :(:(:(Я прочитал в учебнике, что это работает, но он не работает get_character «ans = gets.chomp» любые другие альтернативы для этого. Я получаю входной один ch aracter a или b или c .. Я также попробовал get_character, он также не работает – user2102450

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