@drtvader
Вечный студент

Почему не работает программа?

Привет всем. Начал изучать руби, написал небольшую программу, но почему то не работает. А почему не пойму, вроде всё правильно сделано.
После того, как я указываю, что возраст больше 18 и я согласен на игру появляется запись "Введите Enter, чтобы дернуть ручку..." и всё, программа завершена, хотя должна начаться "игра".
paste2.org/AEEjFcF1
# encoding: cp866

print "Сколько вам лет? "
x = gets.to_i
if x >= 18
	 print "Хотите играть? (Y/N)"
	answer = gets.strip.capitalize
end
if x <= 18
	puts "Извини!"
	exit
end
if answer == "Y" && x >= 18
	puts "Хорошо, поиграем!"

	money = 1000

	puts "Введите Enter, чтобы дернуть ручку..."
	gets	
    x = rand(0..9)
	y = rand(0..9)
	z = rand(0..9)
	if x == 0 && y == 0 && z == 0
		puts "Ваш баланс обнулён!"
		money = 0
		
	end
	if x == 1 && y == 1 && z == 1
		puts "Вам зачислено 10$"
		money = money + 10
				
	end
	puts "#{x}#{y}#{z}"
	puts "Осталось #{money} долларов"
end
if answer == "N"
	puts "Не вопрос!"
end


UPD: исправил сам. Всем спасибо.
  • Вопрос задан
  • 235 просмотров
Пригласить эксперта
Ответы на вопрос 3
@ldvldv
После генерации случайных чисел. у вас проверка на (0,0,0) (1,1,1) и выход из программы. Цикл, наверное, сделать надо?
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Текст программы следует поместить в вопрос. Не работает бывает разным, вы не указали как именно не работает.
Ответ написан
2ord
@2ord
Нужно сначала продумать логику, а затем приступать к программированию.

Цикл должен с условием выхода из него, чтобы не зациклить программу.
Так как речь об игральном аппарате, то нужно учитывать каков начальный баланс и объявить об окончании игры, сделав проверку при обнулении баланса.
Цель игры в чём? Достигнуть какого-то выигрыша? Какой суммы? Проигрыша? Что такое проигрыш?

Не забыть вынести за пределы цикла money = 1000, а то получится что с баланса деньги не уйдут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы