diff --git a/csquiz.rb b/csquiz.rb index 7c97f31..c9d1d61 100755 --- a/csquiz.rb +++ b/csquiz.rb @@ -34,7 +34,6 @@ ansIsEmpty = (ansAry.empty?) ansLength = ans.length santakuNumbers = ["1","2","3"] - santakuNakami = [san[0],san[1],san[2]] santakuTotalLength = san.join.length ansHasA = (ans.include?(san[0]))if san[0] # sanにnilがあるとinclude?で diff --git a/intro/j2102_intro.rb b/intro/j2102_intro.rb index 240c453..55a8112 100755 --- a/intro/j2102_intro.rb +++ b/intro/j2102_intro.rb @@ -4,13 +4,14 @@ myIntro = [ "こんにちは。澤田 羽衣です。", "私の自己紹介ということで、何にしようかなーなんて思いましたが、結局クイズになってしまいました。。", - "今回の個人テーマは「わかりやすさ」です。", - "と書いても、使用者側の「わかりやすさ」ではありません。", + "単なるクイズではつまらないので、カスタマイズができるようにしました。", + "どうも柔軟に対応させるのは難しいようで、まだまだ改良点があり、", - "ソースを見る側(主に自分)のわかりやすさです。", + "一時的な成果のようなものになってしまいましたが、", + "三択クイズとしてはそれなりのものになっているかとおもいます。", "話が長いと思いましたか?実は、skipと入力してからenterを押してくれれば本題に入りますよ。", "もっとも、もっと話を聞きたいならこのままでいいのですが。", - "さて、話を戻しましょう。", + "さて、話は変わりますが。", "ある時、見つけてしまったのです。", "「わかりやすいプログラム」というやつを。", "もう一目惚れですよ。こんなん書けたらもう最高じゃないか、なんて。", @@ -21,13 +22,16 @@ "「うわぁ...」ってなるんです。でもこれがすごく大事で、こうなるってことは、", "「画力が向上してる」んですよね。", "というわけで(?)、今自分にある技術の中で一番読みやすいプログラムにしました。", - "時々ローマ字なのは単語力の問題です。勉強しときます。。", + "時々ローマ字なのは単語力の問題です。勉強しときます。", + "他にも「ん?」ってなる部分があれば指摘していただけると励みになります。", "まあそんな感じで、やんわ〜り触れましたが、私は物心ついたときから絵の練習をしています。", "人物を描き始めたのはつい最近です。小6くらいですね、今が中3だから、2018年頃ですかね。", "私の大好きな白猫プロジェクトというゲームで勉強をしています。", "もちろん今も勉強中です。", "まあ、自己流なので勉強に見えないかもしれないのですが。。", + "と、長々と喋っている通り、私は論点の定まらない話をするのが好きです。", + "でもこのままではずっと書き続けてしまいそうなので、そろそろ本題へ。" ] hondai = [ @@ -89,7 +93,6 @@ ansIsEmpty = (ansAry.empty?) ansLength = ans.length santakuNumbers = ["1","2","3"] - santakuNakami = [san[0],san[1],san[2]] santakuTotalLength = san.join.length ansHasA = (ans.include?(san[0]))if san[0] # sanにnilがあるとinclude?で diff --git a/odquiz.rb b/odquiz.rb index 091c932..4ef6106 100755 --- a/odquiz.rb +++ b/odquiz.rb @@ -8,7 +8,7 @@ require 'csv' require 'roo' -ods = Roo::Spreadsheet.open("quiz2102.ods") #odsをもってくる +ods = Roo::Spreadsheet.open("quizod.ods") #odsをもってくる neta = CSV.parse(ods.to_csv, :headers => true) #odsをcsvにする fuseikai = 0 @@ -31,10 +31,9 @@ # ans = answer,opt = row["オプション"],san = santaku,seikai = row["答え"],fu = fuseikaiと書きたいけど無理だった def isRightAns(ans,opt,san,seikai,fu) - - ansIsA = (ans == san[0]) # この変数群 - ansIsB = (ans == san[1]) # カッコ付きはTF、カッコ無しはその他の値 - ansIsC = (ans == san[2]) # A,B,Cは選択肢の文字を仮で表している + #ansIsA = (ans == san[0]) # この変数群 + #ansIsB = (ans == san[1]) # カッコ付きはTF、カッコ無しはその他の値 + #ansIsC = (ans == san[2]) # A,B,Cは選択肢の文字を仮で表している alreadySantaku = (fu >= 3) ansIs1 = (ans == "1") @@ -48,16 +47,22 @@ santakuTotalLength = san.join.length - for num in 0..(san.length)-1 #どうしようか - aboutAnsA = + if san[0] #どうしようか,,まとまるkun + aboutAnsA ={ansIsA: (ans == san[0]), ansHasA: (Regexp.new(san[0]) =~ ans),} end - ansHasA = (ans.include?(san[0]))if san[0] # sanにnilがあるとinclude?で - ansHasB = (ans.include?(san[1]))if san[1] # エラーになるのでこうなった - ansHasC = (ans.include?(san[2]))if san[2] + if san[1] + aboutAnsB ={ansIsB: (ans == san[1]), ansHasB: (Regexp.new(san[1]) =~ ans),} + end + if san[2] + aboutAnsC ={ansIsC: (ans == san[2]), ansHasC: (Regexp.new(san[2]) =~ ans),} + end + #ansHasA = (ans.include?(san[0]))if san[0] # sanにnilがあるとinclude?で + #ansHasB = (ans.include?(san[1]))if san[1] # エラーになるのでこうなった + #ansHasC = (ans.include?(san[2]))if san[2] ansHasAll = ([ansHasA,ansHasB,ansHasC].compact).all? - ansIsAllNumbers = ((ansAry + santakuNumbers).tally == ) + ansIsAllNumbers = ((ansAry + santakuNumbers).tally == {}) ansIsAll = (ansHasAll && ansLength == santakuTotalLength) #ansIs順不同 @@ -98,6 +103,14 @@ end end +def makeSelectHash(keyAry,valAry) + if keyAry.compact.length < 3 + keyAry.compact! + + mergeAry = [keyAry,valAry].transpose + newHash = mergeAry.to_h.compact + return newHash +end setumei = ["カスタムクイズ", " 説明", @@ -135,10 +148,14 @@ comeback = 0 printf("第%d問\n",count) printf("%s\n", row["問題"]) - santaku = [row["三択1"], row["三択2"], row["三択3"]].compact + santaku = [row["三択1"], row["三択2"], row["三択3"]] + sanHash = makeSelectHash([:'1',:'2',:'3'],santaku,) + santaku.compact! fuseikai = 0 # fuseikai >= 3で三択表示 kaitou = nil - + p sanHash + p sanHash[:'1'] + break while true #入力と三択システム @@ -194,10 +211,10 @@ gets print"\e[1A" end - + print("--------------------------\n") #何個でもいい仕切りの機能 } - +if false # 終了時演出の変数の準備 finishTime = Time.now.to_i @@ -225,3 +242,4 @@ puts"終了!!おつかれさまでした!" end # おつかれさまでした!! +end diff --git a/quizod.ods b/quizod.ods index a889ef8..26fa88a 100644 --- a/quizod.ods +++ b/quizod.ods Binary files differ