diff --git a/RPG.rb b/RPG.rb index a4cb3af..deae752 100755 --- a/RPG.rb +++ b/RPG.rb @@ -1,27 +1,92 @@ #!/usr/bin/env ruby # -*- coding: utf-8 -*- -status = [] +prorogu = ["_me_:う、うっ", + "強い頭痛を感じ_jibun_は意識を失った", + "_me_:こ、ここは どこ?", + "その瞬間すべてを思い出した", + "剣術や魔法 世界のことわり", + "そして魔王を倒さなければ ならないという強い使命感を覚えた", + "_me_:魔王を倒さなければ", + "_me_:なぜだか わからないけど そんな気がする", + "_me_:あっ そして ここは どこなんだろう", + "_me_:そこの お方 ここが どこか わかりますか", + "村人:何いってるんだい?", + "村人:ここは「パクス村」ディーヴァス川のほとりにある小さな農村さ", + "村人:ここが初めてなら注意しておくけど「ポルタ平原」には魔物が出るから用意なしには行くなよ", + "村人:じゃぁな", + "_me_:とりあえずポルタ平原を探索しようかな", + ] -q1 = ["男","女"] +status = [] #[名前、性別、一人称] + +q1 = ["男","女"] #変数名の最初は大文字NG q2 = ["俺","僕","私"] -def question(situmon,list) +def question(situmon,list) #質問を出すメソッド kaisu = 0 select = -1 while kaisu < list.length printf("%s(%d)\n",list[kaisu],kaisu) kaisu += 1 end - while select < 0 || select >= list.length + while select < 0 || select >= list.length #回答の仕分け print(situmon+":") select = gets if select == "\n" redo end + select = select.to_i + end + return list[select] #ただ見やすくしてる +end + +def dot(time,kaisu) #「.」のためにいろいろ打ちたくなかったのメソッド + re = 0 + while re < kaisu + sleep(time) + print"." + re += 1 end end +def story(hanasi,status) #物語のgetsをサボりたいのメソッド + for i in hanasi + puts(i.sub("_me_", status[0]) #subがiのキーワードを + .sub("_jibun_", status[2]) #特定の文字に + .sub("_seibetu_", status[1])) #置き換えてくれる + gets + end +end + + + +nani = [["名前","性別","一人称"], + ["ステータス","宿屋","武器屋","教会","戦闘(仮)","メニューを閉じる"]] + +def menu(status,nani) #メニュー画面(仮)のメソッド。 + while true #今のところ見るだけ。選択肢の中身ができたらいじる。 + puts" メニュー" + + x = 0 + y = question("何をする?(仮)",nani[1]) #yはPLの回答を拾ってくる + + if y == "ステータス" + puts" ステータス" + for mystatus in nani[0] #mystatus = ["名前","性別","一人称"] + printf("%s:%s ",mystatus,status[x]) #名前性別一人称 + x += 1 + end + elsif y == "メニューを閉じる" #elsifを増やすことでできることを増やす予定 + break + else + print"それは まだできないよ" + end + print"\n" + end +end + + while true puts("〇〇RPG") #スタート画面 @@ -38,52 +103,25 @@ if select == 1 name = "\n" - while name == "\n" - puts("PL名を決めてください") - puts("name…") - name = gets + while name == "\n" #この辺少し変だから真似はよく見てやって + puts("PL名を決めてください") + puts("name…") + name = gets end name = name.chomp - + status << name status << question("性別を決めてください",q1) status << question("一人称を決めてください",q2) end puts("ゲームを起動します") sleep(1) -print("Loading") -sleep(0.5) -print(".") -sleep(0.5) -print(".") -sleep(0.5) -puts(".") + + +print"Loading" +dot(0.5,3) sleep(3) -printf("%d:う、うっ\n",name) -gets -printf("強い頭痛を感じ%dは意識を失った\n",status[2]) -sleep(5) -printf("%d:こ、ここは どこ?\n",name) -sleep(3) -puts("その瞬間すべてを思い出した") -sleep(2) -puts("剣術や魔法 世界のことわり") -sleep(2) -puts("そして魔王を倒さなければ ならないという強い使命感を覚えた") -sleep(5) -printf("%d:魔王を倒さなければ\n",name) -sleep(3) -printf("%d:なぜだか わからないけど そんな気がする\n",name) -sleep(4) -printf("%d:あっ そして ここは どこなんだろう\n",name) -sleep(2) -printf("%d:そこの お方 ここが どこか わかりますか\n",name) -sleep(2) -puts("村人:何いってるんだい?") -sleep(1) -puts("村人:ここは「パクス村」ただの農村だよ") #パクス=ラテン語で平和という意味 -sleep(1) -puts("村人:俺 用事があるから じゃぁな") -sleep(3) -print("%d:とりあえず近場で魔物を倒そうかな\n",name) -sleep(1) -puts("Mennu") +print"\n" +story(prorogu,status) + +menu(status,nani) + diff --git a/zikken.png b/zikken.png new file mode 100644 index 0000000..f64c475 --- /dev/null +++ b/zikken.png Binary files differ diff --git a/zikken.rb b/zikken.rb new file mode 100755 index 0000000..8936322 --- /dev/null +++ b/zikken.rb @@ -0,0 +1,6 @@ +#!/use/bin/env ruby +# -*- coding: utf-8 -*- + +pid = spawn "display -geometry +10+20 zikkengazou.png" +sleep(10) +Process.kill(:INT,pid) diff --git a/zikkengazou.png b/zikkengazou.png new file mode 100644 index 0000000..e16123f --- /dev/null +++ b/zikkengazou.png Binary files differ