マドノマグラの初心者自作ゲーム制作日誌 迷走モード
プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。
ブログ履歴
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ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
じゃんけんゲームVer1.03 でハッシュを利用
じゃんけんゲームVer1.02 を改良。ジャンケンの手と勝ち負けの判定に対して、ハッシュを用いる事にした。
とりあえず、case when でゴチャゴチャしていた部分は解消された。
こうすることが正しいのかどうかは知らん。
#! ruby -Ks
# 数字とジャンケンで出した手の対応 数字を引数にして文字を返す
def janken_hand(hand)
# ハッシュ、数字とジャンケンの手
values = {
1 => "グー",
2 => "チョキ",
3 => "パー",
}
# 1以上3以下で、ハッシュ対応
if hand >=1 and hand <= 3
te = values[hand]
# それ以外は舌
else
te = "舌"
end
return te
end
# 判定 クラス化
class Janken_judge
# n1:自分の手の数字 n2:コンピュータの手の数字 c1:自分が出した手の文字表記
def initialize n1,n2,c1
@anata= n1
@compu= n2
@fuuji= c1
end
# 判定開始
def hyouji
# ハッシュ 自分の手 => [空、相手グー、チョキ、パーであるときの結果]
# ハッシュ 結果 => [メッセージ文]
kekka = {
1 => [nil,"draw","win","lose"],
2 => [nil,"lose","draw","win"],
3 => [nil,"win","lose","draw"],
"win" => ["あなたの勝ち"],
"draw" => ["引き分け"],
"lose" => ["あなたの負け"],
}
# 自分の手がちゃんとした手の場合
if @anata >=1 and @anata<=3
# dochi に 自分の手の数値に応じた箱を用意
dochi = kekka[@anata]
# kachimake に コンピュータの手に応じて 鍵(draw","win","lose")を用意
kachimake = dochi[@compu]
# message に 鍵に応じた箱を用意
message = kekka[kachimake]
# 箱の内容物(結果)を画面表示
show_kekka = message[0]
puts show_kekka
# 自分の手が、その他(この場合では舌)の場合
else
puts @fuuji + "を出すなんて私をなめているんですか"
puts "そんなあなたは無条件で負けです"
end
end
end
puts "じゃんけんゲーム Ver.1.03 START"
puts "どの手を出しますか? 数字で答えてください(小数点以下切捨)"
printf "1:グー\n2:チョキ\n3:パー\n"
# プレイヤーの手 数字を入力
your_hand = gets
# コンピューターの手はランダム使用
computer = rand(3)+1
# 数字に応じた、手の文字変換
comp_te = janken_hand(computer)
puts "コンピューターは" + comp_te + "を出した"
puts ""
# 自分の手を文字から数字に変換
player = your_hand.to_i
# 数字に応じた、手の文字変換
your_te = janken_hand(player)
puts "あなたは" + your_te + "を出した"
puts ""
# インスタンスの作成
judgement = Janken_judge.new(player,computer,your_te)
# メソッド呼び出し
judgement.hyouji
PR
この記事にコメントする
PR
カテゴリー
最新記事
(04/22)
(11/20)
(11/11)
(11/11)
(11/09)
(11/07)
(11/07)
(11/07)
(11/07)
(11/06)
アーカイブ
プロフィール
HN:
マドノマグラ
HP:
性別:
非公開
職業:
謎
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人