マドノマグラの初心者自作ゲーム制作日誌 迷走モード
プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。
ブログ履歴
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ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
赤ちゃんドラゴンと会話「初めてのプログラミング」13.4追加練習問題2問目
初めてのプログラミングの13.4追加練習問題2問目、赤ちゃんドラゴンと会話を考えてみる。
初めてのプログラミングのp134からのドラゴンクラスをベースに考えることにした。
とりあえず、1文字を入力するとそれに応じたコマンドが実行されるというものにした。さらに、終了コマンドで、すぐこのプログラムを終われるようにした。
初めてのプログラミング
posted with amazlet at 08.09.02
Chris Pine
オライリー・ジャパン
売り上げランキング: 161616
オライリー・ジャパン
売り上げランキング: 161616
おすすめ度の平均:
Rubyを使ってHello, Worldから丁寧な解説
Ruby
dragon.rb
class Dragon
def initialize name
@name = name
@asleep = false
@stuff_in_belly = 10
@stuff_in_intestine = 0
puts @name + "は生まれました"
end
def feed
puts "あなたは" + @name + "に食べ物を与えます"
@stuff_in_belly = 10
passage_of_time
end
def walk
puts "あなたは" + @name + "をトイレに連れていきます"
@stuff_in_intestine = 0
passage_of_time
end
def put_to_bed
puts "あなたは" + @name + "寝かしつけます"
@asleep = true
3.times do
if @asleep
passage_of_time
end
if @asleep
puts @name + "はいびきをかいて、部屋中煙だらけ"
end
end
if @asleep
@asleep = false
puts @name + "はゆっくり目を覚まします"
end
end
def toss
puts "あなたは" + @name + "を空中に投げ上げます"
puts "彼はキャハキャハ笑い、あなたの眉毛は焦げまくりです。"
passage_of_time
end
def rock
puts "あなたは" + @name + "を優しく揺すります"
@asleep = true
puts "彼は軽くうとうとと…"
passage_of_time
if @asleep
@asleep = false
puts "でもやめるとすぐ起きちゃう"
end
end
# 追加部分ここから
def quit
puts @name + "を置いて旅立つことにしました"
exit
end
def input_command
while true
puts "ドラゴンに対してどういう対処をとりますか?"
puts "b:寝かしつける,、f:えさを与える,、r:優しくゆする"
puts "t:空中に投げる、w:トイレに連れて行く、q:終了"
command = gets.chomp.downcase
puts
case command
when "b"
self.put_to_bed
when "f"
self.feed
when "r"
self.rock
when "t"
self.toss
when "w"
self.walk
when "q"
self.quit
else
puts "やり直してください"
end
puts
end
end
# 追加部分ここまで
private
def hungry?
@stuff_in_belly <= 2
end
def poopy?
@stuff_in_intestine >= 8
end
def passage_of_time
if @stuff_in_belly > 0
@stuff_in_belly -= 1
@stuff_in_intestine += 1
else
if @asleep
@asleep = false
puts "彼は突然目を覚まします"
end
puts @name + "は飢え死にしそう!やけになってあなたを食べてしまいました"
exit
end
if @stuff_in_intestine >= 10
@stuff_in_intestine = 0
puts "おっと!" + @name + "はやっちゃったようです"
end
if hungry?
if @asleep
@asleep = false
puts "彼は突然目を覚まします"
end
puts @name + "のおなかはゴロゴロ鳴っています"
end
if poopy?
if @asleep
@asleep = false
puts "彼は突然目を覚まします"
end
puts @name + "はうんちをしたくて踊っています"
end
end
end
pet = Dragon.new "Norbert"
pet.input_command
PR
この記事にコメントする
PR
カテゴリー
最新記事
(04/22)
(11/20)
(11/11)
(11/11)
(11/09)
(11/07)
(11/07)
(11/07)
(11/07)
(11/06)
アーカイブ
プロフィール
HN:
マドノマグラ
HP:
性別:
非公開
職業:
謎
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人