diff --git a/asobi.rb b/asobi.rb index 54f0ac6..4864a08 100755 --- a/asobi.rb +++ b/asobi.rb @@ -24,6 +24,17 @@ end end +def mycompact(henkou) + hen = henkou.compact + if hen == nil # なーんでだ + print"nilです" + return henkou + else + print"nilではないです" + return henkou.compact! + end +end + if false puts"ゆびすま" #アップデートもがんばる sleep(0.5) #いじってるのでどっか飛ぶかも @@ -46,7 +57,9 @@ n = 0 -namae = [] # ついに人数選択が #実装!! +memberMax = ["Aさん","Bさん","Cさん","あなた"] +namae = [] #ゲームをプレイするメンバー +# ついに人数選択が #実装!! #もっといい方法はないものか? while check != "ok" && check != 10 print"人数を決めてください(2〜4人):" @@ -57,44 +70,51 @@ redo end end -ninzuu = ninzuu.to_i + ninzuu = ninzuu.to_i + + (ninzuu -1).times do |n| # 頼んだインタプリタ(?!) + namae << memberMax[n] + end + namae<<"あなた" + if ninzuu >= 2 - namae << "あなた" << "Aさん" + te_you = 2 te_a = 2 yubi_you = 0 yubi_a = 0 end if ninzuu >= 3 - namae << "Bさん" + te_b = 2 yubi_b = 0 end if ninzuu == 4 - namae << "Cさん" + te_c = 2 - yubi_c = 0 # 実行されなかったifの変数はnilになるっぽい + yubi_c = 0 # 実行されなかったifの変数は存在していてnilになるっぽい end -yubi = [yubi_you,yubi_a,yubi_b,yubi_c] # ハッシュにできんかな -te = [te_you, te_a, te_b, te_c] -te.compact! # nil消し -yubi.compact! +yubi = mycompact([yubi_a,yubi_b,yubi_c,yubi_you]) # ハッシュにできんかな +te = mycompact([te_a, te_b, te_c,te_you]) # nil消し -yubi_max = te.sum -p yubi_max +p yubi p te -p yubi # 来てるよ?来てるよ!? +p namae -if false # 次がんば + +yubi_max = te.sum # 来てるよ?来てるよ!? +p yubi_max + +if false while true printf(" %d周目\n",kaisu) sleep (0.5) printf("%sが数を言う番です\n",namae[jyunban]) puts "いっせーの!" - if jyunban == 0 + if namae[jyunban] == "あなた" while check != "ok" && check != 10 #あなたの番 printf("言う数を入力してください(0〜%dまで):",yubi_max) iu = gets @@ -121,39 +141,39 @@ end printf("%d!\n",iu) - yubi_a = cyuusen(te_a +1) - yubi_b = cyuusen(te_b +1) - yubi_c = cyuusen(te_c +1) - yubi = [yubi_a,yubi_b,yubi_c,yubi_you] + yubi_a = cyuusen(te_a +1) #ひとりじゃない + yubi_b = cyuusen(te_b +1) if !yubi_b.nil? + yubi_c = cyuusen(te_c +1) if !yubi_c.nil? + yubi = mycompact([yubi_a,yubi_b,yubi_c,yubi_you]) # 徹底的にnil消し puts" 指の数" - while n < 4 + namae.length.times do |n| printf("%s:%d ",namae[n],yubi[n]) n += 1 end n = 0 - kei = yubi_a + yubi_b + yubi_c + yubi_you + kei = yubi.sum printf(" 合計:%d\n",kei) sleep(2) if kei == iu #誰かが当てたとき printf("%sが数を当てました!\n",namae[jyunban]) yubi_max -= 1 - if jyunban == 0 + case namae[jyunban] + when "Aさん" te_a -= 1 - elsif jyunban == 1 + when "Bさん" te_b -= 1 - elsif jyunban == 2 + when "Cさん" te_c -= 1 - elsif jyunban == 3 + when "あなた" te_you -= 1 end sleep(0.5) puts" 手の数" - te = [te_a,te_b,te_c,te_you] - while n < 4 + te = mycompact([te_a,te_b,te_c,te_you]) # nil消し愛してる(?) + namae.length.times do|n| printf("%s:%d ",namae[n],te[n]) - n += 1 sleep(1) end print"\n" @@ -164,7 +184,7 @@ end end jyunban += 1 - if jyunban == 4 + if jyunban == namae.length # これのおかげでいない人の順番は来ない jyunban = 0 kaisu += 1 end diff --git a/csquiz.rb b/csquiz.rb index 881a995..7f25b7c 100755 --- a/csquiz.rb +++ b/csquiz.rb @@ -91,6 +91,7 @@ fuseikai += 1 wrong print("\e8") + end end sleep(0.5) diff --git a/kenkyu.rb b/kenkyu.rb index fc5d804..57dd2ed 100755 --- a/kenkyu.rb +++ b/kenkyu.rb @@ -104,3 +104,16 @@ end +if false + #指定桁まで取得 + flo = 1.41421356 + # puts flo.to_f(3) # yamete(ArgumentError) + + p flo.truncate(5) # =>1.41421 + +end + +ary = ["こ","ん","に","ち","は"] +ary.each do|a| + puts a +end diff --git a/quiz.csv b/quiz.csv index 9c00999..6bfe4c0 100644 --- a/quiz.csv +++ b/quiz.csv @@ -1,5 +1,5 @@ 問題,三択1,三択2,三択3,答え,オプション -もんだい1,,,,せんたくし1,三択なし +もんだい1,,,,せんたくし1,三択 やあ、なんか作ったよ,やあ,なにつくったの?,ここが正解,ここが正解, すべて選んだってや,あ,い,う,,すべて三択 さいしょっから三択,1ばん,2ばん,3ばん,3ばん,三択 diff --git a/quizod.ods b/quizod.ods new file mode 100644 index 0000000..5cfcdb0 --- /dev/null +++ b/quizod.ods Binary files differ