ゲーム 800x450 公開中

脱 牢 獄

投稿者:@ryu_i3 投稿日時: 2013/07/20 18:26:50
・トゥルーエンド
・ハッピーエンド
の2つのエンドがあります。

操作はタップ・クリックして行き先や行動を選択しよう!
閲覧: 412 評価: 10
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
  • Starwhite
あなたはまだ評価していません。
# ゲーム全体のローディング処理 game.loading do |loader| # 画像ファイルのローディング loader.add :window, :system => "window" loader.add :gui_item, :system => "gui_item" loader.add :haikei, 35 loader.add :ikidomari, 45 loader.add :sayu, 42 loader.add :deguti, 43 loader.add :wakare, 44 loader.add :migi, 46 loader.add :sime, 47 loader.add :hiraku, 48 loader.add :hidari, 49 loader.add :owari, 50 loader.add :clear, 51 loader.add :kanzen, 52 end game.on_init do set_window_image :window set_gui_image :gui_item scene_change :s1 end # 選択肢の結果を保存する変数 select_result = {} # プロローグ scene :s1 do |scene| scene.add :image, :texture => :sime, :align => :fullscreen scene.on_init do speak("僕はどこにでもいる大学生\n無実の罪で投獄されてしまった。") speak("死刑執行まで数時間、何とか脱出したい。") speak("さっき囚人訓練時間の時に看守から盗めたこの鍵で、あの扉が開くはずだ。") scene_change :s0000 end end # 選択肢を表示するシーン scene :s0000 do |scene| scene.add :image, :texture => :sime, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行動を選択せよ>", [ "扉を開く", ] ) end end scene :s0001 do |scene| scene.add :image, :texture => :wakare, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "左へ", "直進", "右へ", ] ) end end scene :s0002 do |scene| scene.add :image, :texture => :sayu, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "左角へ", "右角へ", ] ) end end scene :s0003 do |scene| scene.add :image, :texture => :ikidomari, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "引き返す", ] ) end end scene :s0004 do |scene| scene.add :image, :texture => :wakare, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "ヒだリ", "まっスぐ", "みギ", ] ) end end scene :s0005 do |scene| scene.add :image, :texture => :hidari, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "左へ", "ギブアップ", ] ) end end scene :s998 do |scene| scene.add :image, :texture => :owari, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, " ", [ "時間を戻す", "立ち上がる", ] ) end end scene :s0006 do |scene| scene.add :image, :texture => :sayu, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "左へ走る", "右へ走る", ] ) end end scene :s0007 do |scene| scene.add :image, :texture => :deguti, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "光の先へ", ] ) end end scene :s0008 do |scene| scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<スイッチを選択せよ>", [ "赤", "青", "黄", ] ) end end scene :s0009 do |scene| scene.add :image, :texture => :deguti, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, "<行き先を選択せよ>", [ "光の先へ!", ] ) end end scene :s999 do |scene| scene.add :image, :texture => :owari, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, " ", [ "時間を戻す", ] ) end end scene :s000 do |scene| scene.add :image, :texture => :clear, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, " ", [ "時間を戻す", "終わる", ] ) end end scene :s001 do |scene| scene.add :image, :texture => :kanzen, :align => :fullscreen scene.on_init do show_select_window( scene, :select_result_scene, select_result, " ", [ "時間を戻す", "終わる", ] ) end end # 選択肢の結果を表示するシーン scene :select_result_scene do case select_result[:result] when "扉を開く" speak("扉が開いた") speak("早速、奥へ進むとするか") scene_change :s0001 when "左へ" speak("左へ向かった") speak("また分かれ道か") scene_change :s0002 when "直進" speak("そのまま直進した") scene_change :s0003 when "右へ" speak("右へ向かった。") speak("しかし、見張りの看守に見つかってしまった。") scene_change :s999 when "引き返す" speak("行き止まりか、引き返すか。") speak("しかし、見張りの看守に見つかってしまった。") scene_change :s999 when "左角へ" speak("左角へ進んだ。") speak("しかし、極度の空腹で倒れてしまった。") scene_change :s999 when "右角へ" speak("右角へ進んだ。") speak("極度の絶望で、精神が少し不安定になった。") scene_change :s0004 when "ヒだリ" speak("ひ..ダリへ進んだ。") speak("なぁんか見た事あるような場所だ。") scene_change :s0001 when "まっスぐ" speak("まっ..スぐに進んだ..。") speak("とにかく仲間や家族の為に自分を落ち着かせた。") speak("「こんなとこで、死んでたまるか!」") scene_change :s0005 when "みギ" speak("み..ギへ進んだ。") scene_change :s0003 when "ギブアップ" speak("「駄目だ、もう足が痛い、動けない。」") speak("僕はその場に倒れ込んでしまった。") scene_change :s998 when "立ち上がる" speak("「駄目だ、こんなとこで諦めちゃ!」") speak("僕は自分自身に言い聞かせ立ち上がった!") speak("人生のゲームオーバーを回避したぞ!") scene_change :s0006 when "光の先へ" speak("こうして僕は外へと出ることが出来た。") speak("いつの間にか、僕の手には不思議な紙切れを握っていた") speak("よ う こ そ \n天 国 と い う 名 の 外 へ") speak("僕の目の前は真っ白になった。") speak("トゥルーエンド:天国への脱獄") scene_change :s000 when "引き返す" speak("「仕方がない・・・ 引き返そう・・・」") speak("「ってここはどこだ?」") scene_change :s0006 when "左へ走る" speak("左へひたすら走った。") speak("なんか薄っすらと光が見えてきた。") scene_change :s0007 when "右へ走る" speak("右へひたすら走った。") speak("目の前には3つのスイッチがある。") speak("貼り紙に\n『押すとランダムでワープ。』\nと書いてある。\n") scene_change :s0008 when "赤" speak("赤いスイッチを押した。") speak("「ぽちっとな」") scene_change :s0001 when "青" speak("青いスイッチを押した。") speak("「ぽちっとな」") scene_change :s0009 when "黄" speak("黄色いスイッチを押した") speak("「ぽちっとな」") scene_change :s0007 when "時間を戻す" speak("こ..ここは..") scene_change :s0001 when "光の先へ!" speak("こうして僕は外へと出ることが出来た。") speak("目の前には土下座する警察・検事がいた。") speak("「真犯人が見つかった。本当に申し訳ない。」") speak("「分かってもらえれば良いんです。」\nと一言残し、僕は刑務所を去った。\n") speak("ハッピーエンド:無実の土下座") scene_change :s001 when "終わる" speak("Presented by リューイ") # スタートメニューへ game.change_project "start_menu" scene_change :s0000 else speak("エラー") scene_change :s999 end end # 以下、選択肢を表示する関数 def show_select_window(scene, scene_name, select_result, message, selecteds = []) if selecteds.length == 0 speak("選択肢がありません") return -1 elsif selecteds.length == 1 points = [ [350, 100], ] elsif selecteds.length == 2 points = [ [150, 100], [550, 100] ] elsif selecteds.length == 3 points = [ [150, 100], [325, 100], [550, 100] ] else # 選択肢の座標のリスト points = [ [50, 100], [250, 100], [450, 100], [650, 100] ] end # メッセージの表示 text = scene.text :position => [250, 410] text.set_text_area_size 500, 200 text.set_font_point_size 32 text.set_text(message) # 選択肢の表示 index = 0 selecteds.each do |item| text = scene.text :position => points[index] text.set_text_area_size 500, 200 text.set_font_point_size 32 text.set_text(item) text.event :on_click do |event| select_result[:result] = item scene_change scene_name end index += 1 end end
コード一覧
  • start.rb

コメントするには、ログインする必要があります。

コメント一覧
Thumb 21
ikosami (投稿日:2013/07/20 20:46:31)

やっぱり背景あるとゲームらしいですねー(^^)

コメントするには、ログインする必要があります。


お知らせ

2014/03/04 ver. 0.1.39 を公開しました!
・0.1.36でWindowsで起動しない問題を修正しました
(Android版はバージョン番号のみの変更です。)

2014/03/04 ver. 0.1.36 を公開しました!
・アプリケーションアイコンを変更しました
・セーブ・ロードを繰り返すとアプリが強制終了する問題を修正しました
・他、重大なバグを修正しました

ダウンロードはこちらから。

2013/07/17 Code on Rmakeをα公開しました!