diff --git a/CAFE.rb b/CAFE.rb deleted file mode 100644 index 434796f..0000000 --- a/CAFE.rb +++ /dev/null @@ -1,52 +0,0 @@ - -#!/usr/bin/env ruby -# -*- coding: utf-8-*- - - -puts "いらっしゃいませ!" -puts "ようこそいらっしゃいました!" -puts "メニューをお選びください!" - -while true - - puts "ハンバーガーセットと焼肉定食、どちらにいたしますか?" - print"1.ハンバーガーセット\n" - print"2.焼肉定食\n" -erabu = gets.chomp - - -if erabu==1 - puts "わかりました。ハンバーセットでよろしいですね." - break -elsif erabu==2 - puts"わかりました。やきにくていしょくですね!" - break -else - puts "すいません焼肉定食かハンバーガセットしかないんですよ。" - redo - -end -end - - -puts "お飲み物はご注文されますか?" -dousuru = gets.chomp - - -if dousuru == "はい" -puts "ココアとメロンソーダがありますよ!" -puts "どちらにいたしますか?" -puts "どっちでもいいですよ!" -kimeyou = gets.chomp - - -if kimeyou == "ココアをください" -puts "わかりました。ごゆっくり。" -else -puts"わかりました。ごゆっくりしていってください。" -end -else -puts"ごゆっくりしていって下さい(#^^#)" -end - - diff --git a/R.rb b/R.rb deleted file mode 100755 index 9868678..0000000 --- a/R.rb +++ /dev/null @@ -1,252 +0,0 @@ -#! /usr/bin/env ruby -# -*- coding: utf-8 -*- -Encoding.default_external = 'utf-8' -require"csv" -data=CSV.read("data2.csv",headers:true) -data.each{|row| - printf("名前 %s 性別 %s 武器 %s 防具 %s 経験値 %d \n",row["name"],row["sei"],row["buki"],row["bougu"],row["keikennti"])} - -CSV.open("data2.csv","w+")do|data2| - ("w+") - -end - -money = 0 -mone = 0 -w = 0 - -def doko(z) - if z==1 - puts"" - elsif z==2 - puts"" - - else - print"行けないよ\n" - end - -end - - -def hp(q,money) - if q==1 - money -= 200 - hp_bougu=10 - - elsif q==2 - money -= 100 - hp_bougu=7 - - elsif q==3 - money -= 50 - hp_bougu=5 - - else - print"その防具はごめん売ってないんだ\n" - print"1.2.3から選んでね\n" - - end - return hp_bougu,money - -end - -def power(a,mone) - - if a==1 - mone -= 700 - power_buki=20 - - - elsif a==2 - mone -= 500 - power_buki=15 - - elsif a==3 - mone -= 300 - power_buki=10 - else - print"その剣はごめん売ってないんだ\n" - print"1.2.3から選んでね!\n" - end - return power_buki,mone - -end - -def ou(s) - if s==1 - print"行くのか!\n" - print"ならこれを持ってけ\n" - print"-勇者の剣をゲットした-\n" - power_ken=100 - - end - power_ken -end - -def uo(w) - if w==2 - puts"行かぬのか" - puts"これで身でも守っとれ" - puts"-勇者の盾をゲットした-" - power_tate=100 - end - hp_tate -end - -print <<~setumei -<ゲーム説明> -このゲームでは、どこに行くかで決まります。 -何かをするときは表示されている番号を入力してください -(主)=主人公 ガル=お金 hp=体力 power=攻撃力 -Enterを押すと、会話が次に進みます。 -これは魔王を倒すことが目的です -頑張ってください -setumei -gets -puts" - - -" -puts"名前を決めてね!" -nama=gets.chomp -puts"性別を決めてね! - 1.男 - 2.女" -seibetu=gets.chomp - - -puts"(主)ここはどこだ" -gets -puts"(主)確か家で寝てて・・・" -gets -puts"(主)誰かが入ってきて刺されたんんだ!" -gets -puts"(主)でもなんでこんなところに?" -gets -puts"(主)まさかいま話題の転生か!" -gets -puts"(主)一度はアニメとかみたいにやってみたかったんだよな。" -gets -puts"(謎の男)お前見ない顔じゃな" -gets -puts"(謎の男)敵ではなさそうじゃ" -gets -puts"(村長)名を名乗れ" -gets -printf("(主)%sといいます。\n",nama) -gets -printf("(謎の男)%sかなかなか興味深い名だな。\n",nama) -gets -puts"(謎の男)なんにもないだろ" -gets -puts"(謎の男)これやる" -print"-謎の男から1000ガルもらった。-\n" -gets -puts"(謎の男)これで少しは生活してくれ" -gets -puts"(謎の男)すぐ近くに城があるから、そこに行ってると良いぞ" -gets - -money += 1000 -while true - puts"-------------------------------------------" - puts"どこ行く?" - puts"1.城" - puts"2.防具屋" - puts"3.スタート草原" - ddo=gets.to_i - - doko(ddo) - - if ddo==1 - if w==0 - puts"" - puts"(王)何だ?" - gets - puts"(主)男に言われてきました" - gets - puts"(王)まさか魔王討伐に行ってくれるのか" - puts"1.行く!" - puts"2.行かない" - iku=gets.chomp.to_i - if iku==1 - keke = ou(iku) - printf("powerは%dだよ。\n",keke) - elsif iku==2 - tata = uo(iku) - printf("hpは%dだよ\n",tata) - else - puts"行くのか行かないのか" - redo - end - elsif w ==1 - w+=1 - end - end -end -if ddo==2 - if w==0 - puts"誰だよ" - puts"出ていけ!" - - elsif w<=1 - - while true - puts"防具" - - puts"1.金の鎧700ガル 2.医師の鎧500ガル 3.動の鎧300ガル" - bougu=gets.to_i - puts"武器" - puts"1.剣200ガル 2.斧100ガル 3.ツルハシ50ガル" - buki=gets.to_i - - power_buki,mone=power(buki,mone) - hp_bougu,money=hp(bougu,money) - - p bougu,buki - if bougu <= 4 - break - - elsif bougu >= 3 - redo - - elsif buki <= 4 - break - - elsif buki >= 3 - print"その剣はごめん売ってないんだ\n" - redo - - end - printf("ステータスは、power%d,hp%dです。\n",power_buki,hp_bougu) - w+=1 - end - end -end - -teki=[["デビル", "インキュバス", "スライム","ウルク","アルゴス","アルコン","イフリート","ゥリスク"] - - - yabai = rand(teki.size) - mon = teki[reki] - printf("「%s」が出てきた!\n", mon) - - - - - - - - - - - - -CSV.open("data2.csv","w+")do|data2| - data2<<[power_buki,hp_bougu,name,sei,] - -end - - - - diff --git a/RPG.rb b/RPG.rb deleted file mode 100644 index bea9db0..0000000 --- a/RPG.rb +++ /dev/null @@ -1,611 +0,0 @@ -#!/usr/bin/env ruby -# -*- coding: utf-8 -*- - -#変数名の最初は大文字NG - -ability = [20,3,8,5,5,20,15,1] #能力値最大 -#HP(0体力)MP(1魔力)ATS(2攻撃力)MAT(3魔法攻撃力)DEF(4防御力)DEX(5素早さ)AGI(6器用さ)LUK(7運) - -current = [20,3] #現在の能力値 -#現在のHPとMP - -lv = [1,0,0] #レベル関連 -#Lv(レベル)EXP(経験値) - -lvup = [0,8] - -g = [30] #お金(Gold) - -count = [0,0,0,0] #0=バトル数1=勝利数2=敗北数3=逃走数 - -progress = 0 #ストーリーの進行度 - -gamedescription = ["ゲーム説明","このゲームはメニューで行動を選択して遊びます", - "ステータスを見る・宿屋へ行く・武器屋へ行く・教会へ行く・探索へ行くの中から好きなのを選びます", - "ステータスを見るは今の自分のステータスを見ることができます", - "HP=体力 MP=魔力・魔法防御力 ATS=攻撃力 MAT=魔法攻撃力 DEF=防御力 DEX=素早さ AGI=器用さ LUK=運", - "宿屋はGを支払うとHP・MPが回復します", - "武器屋は武器・防具を購入することができます", - "教会はセーブをすることができます", - "探索は魔物の生息地に行き 戦いをします", - "戦いは行動を選択して魔物を倒します", - "死んでしまったら'GAMEOVER'でGを失い村・街からやり直しです", - "目標は魔王を倒すこと!", - "じゃぁクリア目指して頑張ってね", - "※このゲームは共同制作作品です"] -#ゲーム説明 - -prorogu = ["\e[96m_me_:う、うっ", - "\e[96;2m(強い頭痛を感じ_jibun_は意識を失った)", - "\e[96;2m(目覚めると そこは見知らぬ村だった)", - "\e[96m_me_:こ、ここは どこ?", - "\e[96;2m(その瞬間すべてを思い出した)", - "\e[96;2m(剣術や魔法 世界のことわり)", - "\e[96;2m(そして魔王を倒さなければ ならないという強い使命感を覚えた)", - "\e[96m_me_:魔王を倒さなければ", - "\e[96m_me_:なぜだか わからないけど そんな気がする", - "\e[96m_me_:あっ そして ここは どこなんだろう", - "(近くに村人らしき人が見える)", - "\e[96m_me_:すみません ここが どこか わかりますか", - "\e[2m村人:何いってるんだい?", - "\e[2m村人:ここは「パクス村」ディーヴァス川のほとりにある小さな農村さ", - "\e[2m村人:ここが初めてなら注意しておくけど「ポルタ平原」には魔物が出るから用意なしには行くなよ", - "\e[2m村人:まぁ旅人なら宿屋で休んでいきな", - "\e[96m_me_:あっ _jibun_ お金持ってないんですけど", - "\e[2m村人:なんだお前さん一文無しかよ", - "\e[2m村人:しかたねーなー ここで会ったのも何かの縁だ", - "\e[2m村人:30Gやるから あとは魔物でも倒して自分で稼げ", - "(_me_は村人から30Gをもらった)", - "\e[2m村人:じゃぁな", - "\e[96m_me_:とりあえずポルタ平原を探索しようかな"] -#最初の会話シーン -#\e[○mは色を変えるコマンド -#_me_などはPLの名前などに置き換える - -credit = ["スタッフロール(クレジットタイトル)","システム","村井侑平 澤田羽衣", - "システムアドバイザー","佐藤隆之助 阿部光峻", - "広瀬雄二様 東北公益文科大学の皆様", - "シナリオ","村井侑平 高橋真翔 佐藤風斗 佐藤然", - "シナリオアドバイザー","佐藤隆之助 澤田羽衣 疋田琉莉 阿部光峻", - "グラフィック","村井侑平", "この作品に関わった すべての方に感謝の意を申し上げます", - "制作","「#みんなでゲームを作ろう」の会"] -#クレジットタイトル(スタッフロール) - -battleselect = ["攻撃","アイテム","逃げる"] -#バトルの行動の選択肢 - -attack = ["スラッシュ"] #攻撃名 -attackdetail = [[1,0,0]] #攻撃の詳細 - -monster = ["スライム","デーモンビースト","\e[93mゴールデンスライム","黒い影"] #モンスター名 - -enemy = [[12,12,8,8,4,0,3,15,10,1,3,"突進","Error"],[15,15,5,5,10,0,5,30,18,1,7,"突進","Error"], - [12,12,20,20,6,0,30,10,10,1,30,"突進","Error"],[8,8,15,15,0,8,20,35,25,3,13,"Error","闇の刃"]] -#モンスターの能力値 - -kakuritu = [0]*91 + [1]*5 + [3]*3 + [2]*1,[0]*82 + [1]*10 + [3]*5 + [2]*3,[0]*72 + [1]*15 + [3]*8 + [2]*5,[0]*52 + [1]*25 + [3]*15 + [2]*8,[0]*25 + [1]*40 + [3]*25 + [2]*10 -#モンスターの出現確率 - -status = [] #PLが入力する[名前、性別、一人称etc.] - -item = [] #アイテム - -area = [] #探索に行けるエリア - -searchselect = ["深部に進む","拠点に戻る"] - -sentaku = ["プレイ","ゲーム説明","クレジットタイトル"] - -q1 = ["男","女"] #性別 -q2 = ["俺","僕","私"] #一人称 -#キャラ設定の選択肢 - -nani = [["名前","性別","一人称"],["Lv","EXP"],["HP","MP"],["ATS","MAT","DEF","DEX","AGI","LUK"], - ["ステータスを見る","宿屋に行く","武器屋に行く","教会に行く","探索に行く"]] - -yadoya = ["泊まる10G","泊まらない"] -kyokai = ["祈りを捧げる(セーブ)","聖水を買う(20G)"] -bukiya = ["石剣10G ATS+1","買わない"] -#各施設の選択肢 - -def status(status,ability,current,nani,lv,g) #ステータスを表示するためのメソッド - x = 0 - puts" ステータス" - for i in nani[0] #i = ["名前","性別","一人称"] - printf("%s:%s ",i,status[x]) #名前性別一人称 - x += 1 - end - x = 0 - printf("Lv.%s ",lv[0]) - printf("EXP:%d ",lv[1]) - printf("所持金:%dG",g[0]) - print("\n") - for i in nani[2] - printf("%s:%d/%d ",i,ability[x],current[x]) - x += 1 - end - x = 2 - for i in nani[3] - printf("%s:%d ",i,ability[x]) - x += 1 - end - print("\n\n") -end - -def question(situmon,list) #質問を出すメソッド - kaisu = 0 - select = -1 - while kaisu < list.length - printf("%s(%d)\n",list[kaisu],kaisu) - print("\e[m") - kaisu += 1 - end - 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 query(situmon,list) #質問を出すメソッド - kaisu = 0 - select = -1 - while kaisu < list.length - printf("%s(%d)\n",list[kaisu],kaisu) - print("\e[m") - kaisu += 1 - end - while select < 0 || select >= list.length #回答の仕分け - print(situmon+":") - select = gets - if select == "\n" - redo - end - select = select.to_i - end - return select #数字版 -end - -def dot(time,kaisu,ten) #「.」のためにいろいろ打ちたくなかったのメソッド - for i in 1..kaisu - sleep(time) - print(ten) - end -end - -def description(hanasi) #会話を出すためのメソッド - for i in hanasi - puts(i) - print("\e[m") - gets - 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])) #置き換えてくれる - print("\e[m") - gets - end -end - -def encounter(list) #何のモンスターが出現するか決めてくれるメソッド - return list[rand(list.length)] -end - -def enemyturn(probability,monster,enemy,ability,current) #敵のターンの一連の処理をまとめたメソッド - if probability > 3 - rand(100) + 1 - if probability > 2 - enemymagic(probability,monster,enemy,ability,current) - else - if rand(((enemy[probability][4]*1.5).round) + 1) < rand(enemy[probability][5] + 1) #左:物理攻撃 右:魔法攻撃 - enemymagic(probability,monster,enemy,ability,current) #魔法攻撃 - else - enemyattack(probability,monster,enemy,ability,current) #物理攻撃 - end - end - end -end - -def process(damage) #ダメージの表示をする - if damage < 1 - puts("攻撃失敗") - else - printf("%dダメージ\n",damage) #ダメージの表示 - end -end - -def battle(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect) #バトルの一連の処理をまとめた"すごい"メソッド - escape = [1] - printf("%s\e[mが現れた\n",monster) - print("戦闘") - dot(0.01,28,"=") - print("\n") - turn = rand(2) - enemy[probability][0] = enemy[probability][1] - enemy[probability][2] = enemy[probability][3] - while true - if current[0] <= 0 - return 0 #負け - elsif enemy[probability][0] <= 0 - return 1 #勝ち - elsif escape[0] == 0 - return 2 - end - - if ability[5] < enemy[probability][7] #敵の方がDEXが早かったとき - enemyturn(probability,monster,enemy,ability,current) - - if current[0] <= 0 - return 0 #負け - elsif enemy[probability][0] <= 0 - return 1 #勝ち - elsif escape[0] == 0 - return 2 - end - - myturn(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,escape) - - elsif ability[5] == enemy[probability][7] #敵とPLのDEXが同じ値だったとき - - if turn == 0 - - myturn(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,escape) - - if current[0] <= 0 - return 0 #負け - elsif enemy[probability][0] <= 0 - return 1 #勝ち - elsif escape[0] == 0 - return 2 - end - - enemyturn(probability,monster,enemy,ability,current) - - else - enemyturn(probability,monster,enemy,ability,current) - - if current[0] <= 0 - return 0 #負け - elsif enemy[probability][0] <= 0 - return 1 #勝ち - elsif escape[0] == 0 - return 2 - end - - myturn(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,escape) - end - - elsif ability[5] > enemy[probability][5] #PLの方がDEXが早かったとき - myturn(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,escape) - - if current[0] <= 0 - return 0 #負け - elsif enemy[probability][0] <= 0 - return 1 #勝ち - elsif escape[0] == 0 - return 2 - end - - enemyturn(probability,monster,enemy,ability,current) - end - end -end - - -def enemymagic(probability,monster,enemy,ability,current) #敵の魔法攻撃の処理 - if not enemy[probability][2] == 0 - print("\n") - printf("%s\e[mの攻撃\n",monster) - mp = (enemy[probability][3])/10.round + rand(3)+1 - if mp > enemy[probability][2] - mp = enemy[probability][2] - elsif mp > 100 - mp = 100 - end - damage = (enemy[probability][5] + (mp / 2).round - current[1] / 2).floor - printf("%s!",enemy[probability][12]) - enemy[probability][2] -= mp - damage += (damage/10).floor*rand(3) + rand(4) - if damage <= 0 - if damage <= -100 - damage = 0 - else - damage = rand(4) - end - end - if rand(enemy[probability][8]*2 + enemy[probability][7] + (enemy[probability][9]/2).floor*2) > rand(((ability[5]*2 + ability[6] + (ability[7]/2).floor)/2).floor) - if rand(enemy[probability][8]*2 + enemy[probability][7] + (enemy[probability][9]/2).floor/4) > rand(((ability[5]*2 + ability[6] + (ability[7]/2).floor)/2).floor) - printf("クリティカル") - damage = (damage*1.5).floor - end - current[0] -= damage - else - damage = 0 - end - else - damage = 0 - end - process(damage) -end - -def enemyattack(probability,monster,enemy,ability,current) #敵の物理攻撃の処理 - print("\n") - printf("%s\e[mの攻撃\n",monster) - damage = enemy[probability][4] - ability[4]/2.floor - damage += (damage/10).floor*rand(3) + rand(4) - printf("%s!",enemy[probability][11]) - if damage <= 0 - if damage <= -100 - damage = 0 - else - damage = rand(4) - end - end - if rand(enemy[probability][8]*2 + enemy[probability][7] + (enemy[probability][9]/2).floor*2) > rand(((ability[5]*2 + ability[6] + (ability[7]/2).floor)/2).floor) - if rand(enemy[probability][8]*2 + enemy[probability][7] + (enemy[probability][9]/2).floor/4) > rand(((ability[5]*2 + ability[6] + (ability[7]/2).floor)/2).floor) - puts("クリティカル!") - damage = (damage*1.5).floor - end - current[0] -= damage - else - damage = 0 - end - process(damage) -end - -def myturn(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,escape) - status(status,ability,current,nani,lv,g) - select = question("行動…",battleselect) - if select == "攻撃" - select = query("攻撃…",attack) - damage = ability[2] * attackdetail[select][0] - ((enemy[probability][6] / 2).floor) - damage += (damage/10).floor*rand(3) + rand(4) - if damage <= 0 - if damage <= -100 - damage = 0 - else - damage = rand(4) - end - end - printf("%s!",attack[select]) - if rand(enemy[probability][7]*2 + enemy[probability][8] + (enemy[probability][9]/2).floor) < rand((((ability[6]*2 + ability[5] + (ability[7]/2).floor)/2).floor)*2) - if rand(enemy[probability][7]*2 + enemy[probability][8] + (enemy[probability][9]/2).floor) < rand(((ability[6]*2 + ability[5] + (ability[7]/2).floor)/2).floor/4) - puts("クリティカル!") - damage = (damage*1.5).floor - end - else - damage = 0 - end - current[1] -= attackdetail[select][1] - current[0] -= attackdetail[select][2] - - enemy[probability][0] -= damage - process(damage) - damage = 0 - - elsif select == "アイテム" - - - elsif select == "逃げる" - if rand((ability[5] + ability[7])*2) > rand(enemy[probability][7] + enemy [probability][9]) - puts("逃げ切れた") - escape[0] = 0 - return - else - puts("逃げ切れなかった") - return - end - - end -end - -#detaの配列は[0]がダメージ[1]が消費MP[2]が反動ダメージ - -def game(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,searchselect,lvup,count) - sleep(rand(40)/10) - result = battle(probability,monster[probability],enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect) - count[0] += 1 - if 0 == result - gameovre #GAMEOVREのメソッド - current[0] = ability[0] #HP全快 - current[1] = ability[1] #MP全快 - g[0] -= ((g[0]/10).floor + 10)#Gを減らす - if g[0] < 0 #Gが0未満になった場合 - g[0] = 0 - end - count[2] += 1 - return 0 - - elsif 1 == result - print("\n") - printf("%sに勝った!\n",monster[probability]) - print("\e[m") - x = enemy[probability][10] + ((enemy[probability][10]/10).floor * (rand(3) + 1) + (rand(3) + 1)) - lv[1] += x - lv[2] += x - g[0] += ((enemy[probability][10] + ((enemy[probability][10]/10).floor * (rand(3) + 1) + (rand(3) + 1)))*1.5).floor - level(lv,lvup,status,ability,current,nani,g) - count[1] += 1 - select = question("どうする",searchselect) - if select == "拠点に戻る" - return 0 - end - - elsif 2 == result - count[3] += 1 - return 0 - end - return 1 -end - -def appearance(monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,kakuritu,n,limit,searchselect,lvup,count) - while not n == limit - probability = encounter(kakuritu[n]) - if 0 == game(probability,monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,searchselect,lvup,count) - return 0 - end - n += 1 - if n == limit - puts("この先から禍々しい気配がする それでも進みますか?") - if "深部に進む" == question("どうする",searchselect) - #ボス用メソッド - else - return 0 - end - end - end -end - -def gameovre - puts("GAMEOVER") - picture = spawn "display -geometry +0+0 gameover.png" - gets - Process.kill(:INT,picture) -end - - - -def level(lv,lvup,status,ability,current,nani,g) - exp = lvup[1] - if not lv[0] == "50(MAX)" || lv[0] == "\e[93mSPECIAL\e[m" - while 0 >= exp-lv[2] - puts("レベルアップ!") - x = lv[0]+1 - printf("Lv%s→Lv%s\n",lv[0],x) - lv[0] += 1 - lvup[0] = lvup[1] - lvup[1] = (lvup[0]*1.2).floor - ability[0] = (ability[0]*1.065).ceil - ability[1] = (ability[1]*1.1).ceil - ability[2] = (ability[2]*1.04).ceil - ability[3] = (ability[3]*1.035).ceil - ability[4] = (ability[4]*1.05).ceil - ability[5] = (ability[5]*1.045).ceil - ability[6] = (ability[6]*1.045).ceil - ability[7] = lv[0] - lv[2] -= exp - if lv[0] == 50 - lv[0] = "50(MAX)" - ability[1] = 800 - ability[2] = 120 - ability[4] = 150 - ability[5] = 250 - ability[6] = 200 - end - end - end - status(status,ability,current,nani,lv,g) -end - -while true - puts("RPG") #ここから やっとメソッドじゃない - select = question("選択",sentaku) - if select == "ゲーム説明" - print("\n") - description(gamedescription) - redo - end - if select == "クレジットタイトル" - print("\n") - description(credit) - redo - end - - if select == "プレイ" - name = "" - puts("PL名を決めてください") - while name == "" #この辺少し変だから真似はよく見てやって - print("name…") - name = gets.chomp - if name == "administrator" || name == "管理者" #スーパーアカウント(^_^;) - lv[0] = "\e[93mSPECIAL\e[m" - ability[0] = 1000 - ability[1] = 1500 - ability[2] = 500 - ability[3] = 300 - ability[4] = 400 - ability[5] = 500 - ability[6] = 400 - ability[7] = 100 - current[0] = ability[0] - current[1] = ability[1] - g[0] = 100000000 - puts("スーパーアカウントの使用を許可します") - puts("PL名を決めてください") - redo - end - end - name = name.chomp - status << name - status << question("性別を決めてください",q1) - status << question("一人称を決めてください",q2) - end - - puts("ゲームを起動します") - sleep(1) - - print"Loading" - dot(0.5,3,".") #「.」を0.5秒間隔で3回表示する - sleep(1) - print("\n\n") - - story(prorogu,status) #ストーリを表示する - - progress += 1 #進行度を進める - - area << "ポルタ平原" #行けるエリアを増やす - - while true #今のところ見るだけ。選択肢の中身ができたらいじる - puts(" メニュー") - x = 0 - y = question("行動…",nani[4]) #yはPLの回答を拾ってくる - print("\n") - - if y == "ステータスを見る" - status(status,ability,current,nani,lv,g) - - elsif y == "宿屋に行く" - puts("宿屋の主人:一泊10Gだよ") - select = question("どうする",yadoya) - if select == "泊まる10G" - if g[0] >= 10 #10Gで泊まれる - g[0] -= 10 - print"Sleeing" - dot(0.5,3,".") - sleep(1) - print("\n") - current[0] = ability[0] - current[1] = ability[1] - puts("宿屋の主人:また 来いよ") #泊まるとHPとMPが全快する - - else - puts("宿屋の主人:お前 金持ってないのか!") - puts("宿屋の主人:ひやかしは帰れ!!") #お金が足りなかった場合 - end - else - puts("宿屋の主人:なんだ泊まんねーのかよ") #泊まんなかった場合 - end - print("\n") - - elsif y == "探索に行く" - select = question("どこに探索に行きますか",area) #どこに行くかの選択 - if select == "ポルタ平原" - n = 0 - limit = 5 - appearance(monster,enemy,ability,current,item,status,nani,lv,g,attack,attackdetail,battleselect,kakuritu,n,limit,searchselect,lvup,count) - redo - - end - end - end - - redo -end diff --git a/data.csv b/data.csv deleted file mode 100644 index c5bf621..0000000 --- a/data.csv +++ /dev/null @@ -1,2 +0,0 @@ -name,sei,buki,bougu -a,dann,sodo,よろい diff --git a/koyakusu_fix.rb b/koyakusu_fix.rb deleted file mode 100644 index 84892fe..0000000 --- a/koyakusu_fix.rb +++ /dev/null @@ -1,45 +0,0 @@ -#! /usr/bin/env ruby -#-*- coding:utf-8 -*- - -def yakusu(x) - i = 1 - yaku =[] - while i <= x - y = x % i - if y == 0 - yaku << i - end - i += 1 - end - return yaku -end - -def koyaku(x,y) - a = 0 - koyakusu = [] - while a != x.length - y.each do |n| - if x[a] == n - koyakusu << n - end - end - a += 1 - end - return koyakusu -end - -puts"最大公約数を出します" -puts"1つ目の数字を入力してください" -suzi1 = gets.to_i -puts"2つ目の数字を入力してください" -suzi2 = gets.to_i - -yakusu1 = yakusu(suzi1) -yakusu2 = yakusu(suzi2) -koyakusu = koyaku(yakusu1,yakusu2) - -if koyakusu.reverse[0] != nil - printf("%dと%dの最大公約数は%dです\n",suzi1,suzi2,koyakusu.reverse[0]) -else - printf("%dと%dに公約数はありません\n",suzi1,suzi2) -end diff --git a/method.rb b/method.rb deleted file mode 100644 index a0ce3ef..0000000 --- a/method.rb +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/koeki/bin/ruby -# coding: utf-8 - -def speed(distance,time) - distance/time -end - -puts"分速を計算するよ!" - -puts"距離を入力してね(単位:m)" -x = gets.to_i - -puts"時間を入力してね(単位:分)" -y = gets.to_i - -printf("%dmを%d分で走ったときの分速は%dm/mです\n",x,y,speed(x,y)) - -# defとは -# def メソッド名(仮引数)で最初に実行したい処理を定義し、メソッド名で呼び出すことで決められた処理を実行することができるもの - -# プログラム解説 -# 分速を求めるプログラム -# 速度は距離÷時間で求めることができるので、speedというメソッドで定義する -# 10行目から14行目で計算に必要な距離と時間を入力してもらう -# 16行目で結果を表示 - -# 改善案 -# 入力してもらうところをメソッド定義してみよう! -# 距離と時間の求め方もメソッド定義してwhileでどれを求めるか選択できるようにしよう! -# 例) -# def kazu(x) -# printf("%sを入力してね\n",x) -# end -# def speed(distance,time) -# 時速を求める処理 -# end -# def distance(speed,time) -# 距離を求める処理 -# end -# def time(distance,speed) -# 時間を求める処理 -# end -# while true -# puts"求めたいものを選択してね" -# puts"1.時速" -# puts"2.距離" -# puts"3.時間" -# puts"4.終了" -# sentaku = gets.to_i -# if sentaku == 1 -# x = kazu("距離") -# y = kazu("時間") -# speed(x,y) -# elsif sentaku == 2 -# . -# . -# . -# end - - diff --git a/next.rb b/next.rb deleted file mode 100644 index 46bdb69..0000000 --- a/next.rb +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/koeki/bin/ruby -# -*- coding: utf-8 -*- - -number = 30 #30の数をnumberの関数に代入する - -while number > 0 #0より小さい数を出さないようにする - number -= 1 #30から1ずつ引いていく - if number%2 == 0 #2で割って余りが0のとき(偶数)、 - next #処理を飛ばし、次のループに入る - end #30から0まで、ループして処理を繰り返す -printf("奇数は%d \n",number) #奇数の値が表示される -end - -#nextとは:処理をスキップして、次のループに移る -# 今回は偶数の処理をスキップして、その他の数は処理されるようになっている -# このように、スキップしたい処理があるときに活用できる - - -#改造する時の注意点 -#ifからendの中に、nextが入っているか確認する -#ifからendの中には、スキップしたい処理を記入する diff --git a/presentetion.odp b/presentetion.odp deleted file mode 100644 index ef5b7ba..0000000 --- a/presentetion.odp +++ /dev/null Binary files differ diff --git a/ramen.rb b/ramen.rb deleted file mode 100755 index 8a6d3e6..0000000 --- a/ramen.rb +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env ruby -# -*- coding: utf-8 -*- - -print"カップラーメンを食べるよ!\n" -print"何ラーメンを食べたい?\n" -kappu=gets.chomp -printf("%sのカップラーメンだよ。\n",kappu) - -while true - - print"何分まつ?\n" - matu=gets.to_i - - if matu < 11 - printf("%d分待つよ\n",matu) - break - - elsif matu > 10 - printf("%d分も!すごく柔らかくなっちゃうけど本当に待つ?\n",matu) - puts"1.待つ" - puts"2.やっぱやめる" - katasa=gets.to_i - - if katasa == 1 - break - - elsif katasa == 2 - redo - - else - print"しっかり決めた?\n" - redo - end - end -end - - - -print"スタート!\n" -print "お湯を入れました\n" -nokori = matu - -while nokori > 0 - sleep(60) - nokori = nokori - 1 -end -print "いただきまーす!\n" - -taberu=3 -while taberu > 0 - sleep(60) - taberu = taberu -1 -end - -if taberu == 2 - print "やばいあと2分だ\n" - -elsif taberu == 1 - print"あとちょっと ってあと1分じゃん" -elsif taberu == 0 -print"間に合ったぁ ごちそうさまでした!\n" - -end diff --git a/rand.rb b/rand.rb deleted file mode 100755 index 0d60a9e..0000000 --- a/rand.rb +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env ruby -# -*- coding: utf-8 -*- - -# randを使ったおみくじプログラム -a=0 -# おみくじの結果リストを配列として定義 -omikuji = ["少凶中凶大吉吉中吉小吉凶少凶中凶大吉吉中吉大凶大吉吉中吉小吉凶少凶中凶大凶"] - -# omikuji配列の中からランダムなおみくじを選ぶ -# sizeの他にlengthがあります。lengthに変えても結果が変わらないことを確認しましょう -while a<=999999999999999999999999 -erabu = rand(omikuji.length) - - -# 選ばれたおみくじの結果を取得 - -kekka = omikuji[erabu] - -printf("あなたの運勢は「%s」です。\n", kekka) -a+=1 -end - - - -# ---------------randとは---------------- - -# 例えばrand(5)のとき0から4までの中でランダムに数字を発生させるメソッド。 -# もし5までの自然数をランダムに表示したいときはrand(5)+1と書く。詳しくは教科書p27を参照 - - -# ---------------改良してみよう!---------------- - -# 内容をおみくじではなく自由ししてみよう! -# 果物をランダムに選ぶプログラムなら kudamono = ["りんご", "みかん", "ぶどう", "バナナ", "イチゴ"]などのように最初に配列を用意しよう! - -# 結果が一回しかでないのでwhile endを使って繰り返し出るようにしてみよう! -# yesかnoを入力させて、noが入力されたら「break」でループを抜け出そう! - diff --git a/rpg.rb b/rpg.rb index 9b052ea..6044688 100755 --- a/rpg.rb +++ b/rpg.rb @@ -1,5 +1,6 @@ #! /usr/bin/env ruby # -*- coding: utf-8 -*- + Encoding.default_external = 'utf-8' require"csv" data=CSV.read("data2.csv",headers:true) @@ -228,7 +229,7 @@ yabai = rand(teki.size) - mon = teki[reki] + mon = teki[yabai] printf("「%s」が出てきた!\n", mon) diff --git a/tasizan.rb b/tasizan.rb deleted file mode 100644 index a5b0156..0000000 --- a/tasizan.rb +++ /dev/null @@ -1,57 +0,0 @@ -#!/uar/bin/env ruby -# -*- coding: utf-8 -*- -while true - -print"かけ算、割り算、足し算、引き算のうちどれかを選んでね!\n" -puts"1.かけ算" -puts"2.割り算" -puts"3.足し算" -puts"4.引き算" -puts"5.終わり" - - - print"やりたい物のすうじをいれてね!を入れてね\n" - go=gets.chomp.to_i - - if go==1 - print"掛けられるを入力してね。\n" - k=gets.to_i - print"掛ける数を入力してね。\n" - kake=gets.to_i - answer=k*kake - printf("答えは%fだよ!\n",answer) - redo - - elsif go==2 - print"割られるを入力してね!\n" - w=gets.to_i - print"わるかずをいれてね!" - wari=gets.to_i - kota=w/wari - printf("答えは%fだよ!\n",kota) - redo - - elsif go==3 - print"足される数入力してね!\n" - t=gets.to_i - print"足す数を入れて\n" - tasu=gets.to_i - ko=t+tasu - printf("答えは%fだよ!\n",ko) - redo - - elsif go==4 - print"引かれるを入力してね!\n" - h=gets.to_i - print"引く数を入れて\n" - hiku=gets.to_i - k=h-hiku - printf("答えは%fだよ!\n",k) - redo - - elsif go==5 - break - - end -end - diff --git a/tesuto.csv b/tesuto.csv deleted file mode 100644 index 7edb2fa..0000000 --- a/tesuto.csv +++ /dev/null @@ -1 +0,0 @@ -, diff --git a/tukuru.rb b/tukuru.rb new file mode 100755 index 0000000..cfd59f1 --- /dev/null +++ b/tukuru.rb @@ -0,0 +1,7 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'csv' +CSV.open("data2.csv","w+")do|data2| + data2<<[power_buki,hp_bougu,name,sei,] +end diff --git a/tyuka.rb b/tyuka.rb deleted file mode 100755 index 2184076..0000000 --- a/tyuka.rb +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/env ruby -# -*- coding-8 -*- -syougou=0 -puts"<ゲーム説明>" -puts"会話を進むときは、Enterを押してね。" -gets -puts"これは電卓ソードを使って、モンスターを倒すゲームだよ。" -gets -puts"答えを入力するときは、電卓を閉じてから入力してね" -gets -puts"それでは頑張って" -gets -puts"★計算冒険★" -gets -puts"モンスターを倒して、メンドー将軍を倒そう" -gets -puts"電卓はモンスターが出たときに出てくるからそれを使ってがんばってね" -puts"-電卓ソードをゲットした-" -gets - -mamono = ["デビル", "インキュバス", "スライム","ウルク","アルゴス","アルコン","イフリート","ゥリスク"] - -while true - teki = rand(mamono.size) - mon = mamono[teki] - printf("「%s」が出てきた!\n", mon) - gets - m=["+","-","÷","×"] - a=rand(1..200) - b=rand(1..200) - c=rand(m.size) - ma=m[c] - if ma=="+" - kotae=a+b - elsif ma=="-" - kotae=a-b - elsif ma=="÷" - kotae=a/b - elsif ma=="×" - kotae=a*b - end - printf("問題はこれだ。(%i%s%i)さぁ解けるかな。\n",a,ma,b) - - start=Time.now - system"ruby K.rb" - puts"答えを入力してね" - ansa=gets.to_i - stop=Time.now - time=stop-start - - if time>30 - puts"30秒も立たないとできないのか、まだまだだな、やり直してこい" - - else - if ansa==kotae - puts"くそ正解だ。" - syougou+=1 - if syougou==1 - puts"初めての討伐" - elsif syougou==10 - puts"★討伐ビギナー★" - elsif syougo==50 - puts"★プロ討伐戦士★" - elsif syougou==100 - puts"★神討伐★" - elsif syougou==200 - puts"★エクセレントプロ猛者プレイヤー討伐★" - else - puts"そんなでメンドー将軍様に勝てると思ってんのか -お前は帰れ!" - end - end - - puts"" - puts"メンドー将軍に挑む?" - puts"1.挑む" - puts"2.まだ挑まない" - tan=gets.to_i - if tan==2 - redo - - elsif tan==1 - break - end - end -end - -while true - printf("メンドー将軍が出てきた!\n", mon) - gets - m=["+","-","÷","×"] - a=rand(1..1000) - b=rand(1..1000) - c=rand(m.size) - ma=m[c] - if ma=="+" - kotae=a+b - elsif ma=="-" - kotae=a-b - elsif ma=="÷" - kotae=a/b - elsif ma=="×" - kotae=a*b - end - printf("問題はこれだ。(%i%s%i)さぁ解けるかな。\n",a,ma,b) - - start=Time.now - system"ruby K.rb" - puts"答えを入力してね" - ansa=gets.to_i - stop=Time.now - time=stop-start - - if time>30 - puts"おそすぎるよ -" - - else - if ansa==kotae - puts"正解だ。こんなやつと戦ったのは初めてだ" - puts"-魔王を倒した-" - - break - else - puts"まだまだだな、全然ダメージを食らってないぞ" - redo - end - end -end -sleep(1) - -puts"計算を繰り返し、力を蓄え、魔王を倒したのは君だ!" -gets -puts"これからもモンスターが現れるかもしれない" -gets -puts"そんなときは、これまでの経験を活かし、自分を信じて歩んでいこう" -gets -puts" 作:梅チーム - システムアドバイザー:東北公益文化大学の皆様" -gets -puts"★終わり★" -puts"このゲームを遊んでくれてありがとう!" - - - diff --git a/tyuuka.rb b/tyuuka.rb deleted file mode 100755 index e2b279b..0000000 --- a/tyuuka.rb +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env ruby -# -*- coding-8 -*- -hhp=0 -hp=10 -kou=0 -tata=5 -puts"<ゲーム説明>" -puts"会話を進むときは、Enterを押してね。" -gets -puts"これは電卓ソードを使って、モンスターを倒すゲームだよ。" -gets -puts"答えを入力するときは、電卓を閉じてから入力してね" -gets -puts"それでは頑張って" -gets -puts"★ここにゲームの名前★" -gets -puts"モンスターを倒して、メンドー将軍を倒そう" -gets -puts"電卓はモンスターが出たときに出てくるからそれを使ってがんばってね" -puts"-電卓ソードをゲットした-" -gets - -mamono = ["デビル", "インキュバス", "スライム","ウルク","アルゴス","アルコン","イフリート","ゥリスク"] - -hhp=30 -while true -yabai = rand(mamono.size) -mon = mamono[yabai] -printf("「%s」が出てきた!\n", mon) -gets - -mondai=["18+21", "23+97", "19+32", "13+64", "45+12", "16+24", "15+98", "72+31", "43+98", "72+26", "5×2", "6×3", "8×6", "7×9", "3×5", "4×8", "5×6", "3×8", "4×7", "5×12", "9×22", "222×2", "43×6", "8÷2", "4÷1", "6÷3", "8÷4", "9÷3", "12÷4", "72÷2"] -erabu = rand(mondai.length) -keisan = mondai[erabu] -while true - printf("問題はこれだ。(%s)さぁ解けるかな。\n", keisan) - stop=Time.now - start=Time.now - system"ruby K.rb" - puts"答えを入力してね" - stop=Time.now - time=stop-start - a=gets.to_i - - - if time>15 - puts"お先に" - - else - - end -end -puts"魔王城に行く?" -puts"1.行く" -puts"2.まだ行かない" -tan=gets.to_i -if tan==1 - redo - -elsif tan==2 - break -else - puts"1か2をえらんでね" -end -end diff --git a/tyuuuka.rb b/tyuuuka.rb index cee374e..f33c35a 100755 --- a/tyuuuka.rb +++ b/tyuuuka.rb @@ -26,7 +26,7 @@ hhp=30 while true teki = rand(mamono.size) - mon = mamono[reki] + mon = mamono[teki] printf("「%s」が出てきた!\n", mon) gets m=["+","-","÷","×"] diff --git a/zisin.rb b/zisin.rb deleted file mode 100755 index 9a80c2a..0000000 --- a/zisin.rb +++ /dev/null @@ -1 +0,0 @@ -#!/usv/bin/