Skip to content

Instantly share code, notes, and snippets.

@edgerunner
Created November 14, 2012 16:03
Show Gist options
  • Save edgerunner/4072980 to your computer and use it in GitHub Desktop.
Save edgerunner/4072980 to your computer and use it in GitHub Desktop.
örnekler

Ellibir oyunu

İki kişilik bir oyun. Amaç 51 puanı geçmeden en yüksek puanı almak

Kurallar

  • Oyunun başında her iki oyuncuya birer kart dağıtılır.
  • Her kartın değeri 1 ile 10 arasında rastgele bir sayıdır.
  • Puanı düşük olan oyuncuya kaç kart almak istediği sorulur. Cevap en az 1 olabilir. Oyuncunun istediği kadar kart, eline eklenir.
  • En son kart alan oyuncunun puanı rakibinin puanına eşitlenir veya geçerse kart alma sırası rakibe geçer. Puanı rakibinin altında kalır veya 51 puanı geçerse oyunu kaybeder.

Özellikler

  • Oyununuz her adımda her iki tarafın puanlarını belirtmeli ve sırası gelen oyuncuya kaç kart istediğini sormalıdır.
  • Oyununuz oyun başında oyuncuların isimlerini sormalı ve sırası gelen oyuncuya ismiyle hitap etmelidir.
  • Kullanıcı bir soruyu cevapladığında eğer cevap anlamsız veya geçersiz ise program kullanıcıya bir uyarı mesajı vermeli ve cevabı tekrar sormalıdır.
  • Oyun sonunda puanlar, kazanan ve kaybeden belirtilmelidir.
print "Yaşın kaç? "
yas = gets.chomp.to_i
if yas > 65
puts "allah uzun ömür versin"
elsif yas > 18
puts "Geleceğe dair hedeflerin neler?"
hedef = gets.chomp
puts "Kaç sene sürer?"
sure = gets.chomp.to_i
puts "Hadi #{sure} senelik #{hedef} planı yapalım..."
sure.times do |yil|
puts "#{yil+1}. yıl için planın nedir?"
# daha sonra burada cevapları alıyor olacağız
end
elsif yas > 14
puts "araba istiyo musun?"
else
puts "büyüyünce ne olacaksın bakiim?"
end
n = 0
while true
n = n + 1
puts "Loop " + n.to_s
break if n > 50
end
n = 0
while n < 50
n = n + 3
puts "While " + n.to_s
end
n = 0
until n > 50
n = n + 3
puts "Until " + n.to_s
end
for q in 0...insanlar.length
puts "#{q+1}: Naber #{insanlar[q]}, nasıl gidiyor?"
end
for insan in insanlar
puts "Naber #{insan}, iyi mi herşey?"
end
insanlar.each do |insan|
puts "Şş, #{insan}, naber?"
end
rastgele = rand 1..20
puts "1 ile 20 arasında bir sayı tuttum, nedir sence?"
tahmin = gets.to_i
deneme = 1
until tahmin == rastgele
puts "Olmadı, bir daha..."
tahmin = gets.to_i
deneme += 1
end
mesaj = if deneme == 1
"Vay!"
elsif deneme <= 5
"Bravo,"
elsif deneme <= 12
"Eh,"
else
"Yuh, ancak"
end
puts "#{mesaj} #{deneme} denemede #{rastgele} sayısını buldun"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment