マドノマグラの初心者自作ゲーム制作日誌 迷走モード
プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。
ブログ履歴
2010/11/06:
HSP3.22の環境を整えてみる
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
99本のビール再び「初めてのプログラミング」10.5追加練習問題4問目
初めてのプログラミングの10.5追加練習問題4問目、99本のビールの歌を english_number メソッドを用いて表示を行う。
さらに拡張しそうです…「初めてのプログラミング」10.5追加練習問題2問目 と「初めてのプログラミング」練習問題7.5の1問目を考えてみたのプログラムを利用することにする。
english_number メソッド で数値を英語表記
beerbottle メソッド で数値から、Bottle かBottles にするのかを決定 (0の場合はNo Bottles)
songs メソッド で 実際の歌の表示
を行うことにした。
また、英語での数字の先頭を大文字にするため .capitalize を用いた。
初めてのプログラミング
posted with amazlet at 08.09.02
Chris Pine
オライリー・ジャパン
売り上げランキング: 161616
オライリー・ジャパン
売り上げランキング: 161616
おすすめ度の平均:
Rubyを使ってHello, Worldから丁寧な解説
Ruby
beer99wall1.rb
def english_number number
if number < 0 # 負の数は不可
return "負でない数を入力してください"
end
if number == 0
return "zero"
end
num_string = ""
expander = [[1_000_000_000_000," trillion"],[1_000_000_000," billion"],
[1_000_000," million"],[1_000," thousand"]]
ones_place = ["one","two","three",
"four","five","six",
"seven","eight","nine"]
tens_place = ["ten","twenty","thirty",
"fourty","fifty","sixty",
"seventy","eighty","ninety"]
teenagers = ["eleven","twelve","thirteen",
"fourteen","fifteen","sixteen",
"seventeen","eighteen","nineteen"]
left = number
expander.each do |content|
write = left/content[0]
left = left - write * content[0]
if write > 0
place =english_number write
num_string = num_string + place + content[1]
if left > 0
num_string = num_string + " "
end
end
end
write = left/100
left = left - write * 100
if write > 0
num_string = num_string + ones_place[write-1] + " hundred"
if left > 0
num_string = num_string + " "
end
end
write = left/10
left = left - write * 10
if write > 0
if ((write == 1) and (left > 0))
num_string = num_string + teenagers[left-1]
left = 0
else
num_string = num_string + tens_place[write-1]
end
if left > 0
num_string = num_string + "-"
end
end
write = left
left = 0
if write > 0
num_string = num_string + ones_place[write-1]
end
num_string
end
def beerbottle bottles
if bottles == 0
"No Bottles "
elsif bottles == 1
"One Bottle "
else
(english_number bottles).capitalize + " Bottles "
end
end
def songs bottles
drink = "of beer "
drinkwall = drink + "on the wall"
takepass = "Take one down and pass it around"
puts (beerbottle bottles) + drinkwall
puts (beerbottle bottles) + drink
if bottles > 0
puts takepass
puts beerbottle(bottles - 1) + drinkwall
puts
songs(bottles-1)
else
puts "There are no more to pass around"
puts "No Bottles " + drinkwall
end
end
songs 99
PR
この記事にコメントする
PR
カテゴリー
最新記事
(04/22)
(11/20)
(11/11)
(11/11)
(11/09)
(11/07)
(11/07)
(11/07)
(11/07)
(11/06)
アーカイブ
プロフィール
HN:
マドノマグラ
HP:
性別:
非公開
職業:
謎
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人