空想曲線

吉里吉里2/KAG3でのゲーム制作に使える小ネタ置き場。ゲーム用素材も置いてます。

吉里吉里/KAG:絶対に勝てない数取りゲーム  

2012-07-16
2017-06-16
cm0
tb0

更新ストップって言ったクセに戻ってくる。それが私だヽ(・∀・ )ノキャッホイ
というか、作業が行き詰まったので息抜きにきました。

今回のお題は「絶対に勝てない数取りゲーム」です。

元ネタは癸生川の「海楼館殺人事件」の冒頭でイクルミさんと伊綱ちゃんが遊ぶやつ。
お互いに1~6までの数字を足して50を言ったほうが負けなゲームです。
伊綱ちゃんのセリフは作中のものを拝借しました。

ゲームとしては成立しないスクリプトですので、使えそうな部分(@つき文字列即値の書き方とか、選択肢をループで表示させるとか、へぼい関数の作り方とか)だけでも持って行ってください。


では、れっつごーε≡≡ヘ( ´Д`)ノ



*001|準備
[cm]
それじゃあさっそく始めましょうか。[r]
では、お先にどうぞ。[p]

;カウント・数字用の変数リセット
;tf.count :いま何回目か
;tf.select :イクルミさんが選んだ数字
;tf.izuna :伊綱ちゃんが選んだ数字
;tf.sum1 :イクルミさんが選んだあとの合計
ltf.sum2 :伊綱ちゃんが選んだあとの合計


[eval exp="tf.count = tf.select = tf.izuna = tf.sum1 = tf.sum2 = 0"]

;練習用にむりやり関数を作る
[iscript]

function ans(pat){
  if(pat == 0){
   tf.izuna = 7 - tf.select;
   return tf.izuna;}

  else if(pat == 1){
   tf.sum1 = 7 * (tf.count-1) + tf.select;
   return tf.sum1;}

  else if(pat == 2){
   tf.sum2 = 7 * tf.count;
   return tf.sum2;}
}

[endscript]


;パターンの内訳
;pat=0 : 伊綱ちゃんが選ぶ数字
;pat=1 : イクルミさんが選んだあとの合計
;pat=2 : 伊綱ちゃんが選んだあとの合計


*002|数字選択
[cm]
[nowait][style align=center][locate y=150]


;数字を並べるときのチェック用変数
[eval exp=tf.numck = 1]

*loop
;1~6までの数字を並べる。全部並べるまで*loopの中身をくりかえす
;tf.selectには選んだ数字が入る
;kag.current.lastLinkだと1少ないので辻褄合わせで+1しておく

[link target=*003 exp="tf.count++, tf.select=kag.current.lastLink + 1"]
[emb exp="tf.numck"][endlink][r]
[jump target=*loop cond="++tf.numck < 7"]
[resetstyle][s]


*003|1~6回目のメッセージ
[cm]

;@つき文字列即値を使う練習。これだけ使えば忘れまい(`∀´)
;改行してるけど実際の記述は一行

;1回目

[if exp="tf.count == 1"]
[emb exp=@"${tf.select}ですか……。\n
じゃあ私は${ans(0)}。合計は${ans(2)}ですね"]


;2回目
[elsif exp="tf.count == 2"]
[emb exp=@"${tf.select}で合計${ans(1)}ですね。\n
私は……${ans(0)}にします。これで合計${ans(2)}です。"]


;3回目
[elsif exp="tf.count == 3"]
[emb exp=@"はい、${tf.select}を足して${ans(1)}ですね。\n
では……私は${ans(0)}で、合計${ans(2)}になりました。"]


;4回目
[elsif exp="tf.count == 4"]
[emb exp=@"${tf.select}……だと、合計で${ans(1)}ですか。
\nでは、それに${ans(0)}を足して${ans(2)}です。"]


;5回目
[elsif exp="tf.count == 5"]
[emb exp=@"ということは${ans(1)}か……。\n
それじゃ私は${ans(0)}を足して${ans(2)}にします。"]


;6回目
[elsif exp="tf.count == 6"]
[emb exp=@"${tf.select}だと……${ans(1)}かな。
\n私は${ans(0)}にします。これで${ans(2)}ですね。"]


;7回目は*004にジャンプ
[else]
[jump target=*004]
[endif]


;1~6回目は*002に戻す
[p]
[jump target=*002]


*004|7回目
[cm]
[emb exp=@"${tf.select}でいいんですね?\n
じゃあ合計${ans(1)}なので、私が${ans(0)}を足して……"][p][r]
[emb exp=@"はいっ、合計${ans(2)}です。私の勝ちですね♪"][s]

【タネ明かし】

伊綱ちゃんは合計が7の倍数になるように数字を選んでいます。
イクルミさんが5を選べば2を選び、3を選べば4を取るといった具合。
そんなこんなで進めていけば最終的に伊綱ちゃんが49を取り、イクルミさんは50を取らされます。
つまり、イクルミさんはどんだけ頑張っても勝てません


絶対に勝てないゲームスクショ1

▲逆ギレする青年


絶対に勝てないゲームスクショ2

▲返り討ち


あー楽しかった(´∀`*)
ということで今回はこれにて終了。ではまた来月。


関連記事

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://kopacurve.blog33.fc2.com/tb.php/241-347487f9
この記事にトラックバックする(FC2ブログユーザー)

Author

Recent

Category

Link

Comment

Mailform

Twitter