掲示板一覧:[4 ゲーム開発・創作仲間募集(依頼先を探している方一覧)] [5 ゲーム・創作のお仕事募集(依頼を請け負っている方一覧)] (閉鎖:[1 初心者・質問] [2 ゲーム攻略] [3 ゲーム開発・創作の話題])
便利リンク1:[ふりーむ] [ゲーム制作ツール集(素材リンク集)] [素材ライブラリ]
便利リンク2:[イラスト投稿(サンプルやポートフォリオ用に)] [ふりーむプレミアムサービス(外部広告の削減を目指して取り組んでいます)]
下記掲示板は投稿の受付を終了しました(投稿できません)。一定期間後に公開も終了されます。2005年からご愛用頂きありがとうございました。なお、上記掲示板一覧の「4」「5」は現段階では「様子見」でしばらく投稿可能です。
便利リンク1:[ふりーむ] [ゲーム制作ツール集(素材リンク集)] [素材ライブラリ]
便利リンク2:[イラスト投稿(サンプルやポートフォリオ用に)] [ふりーむプレミアムサービス(外部広告の削減を目指して取り組んでいます)]
下記掲示板は投稿の受付を終了しました(投稿できません)。一定期間後に公開も終了されます。2005年からご愛用頂きありがとうございました。なお、上記掲示板一覧の「4」「5」は現段階では「様子見」でしばらく投稿可能です。
吉里吉里で数字当てミニゲーム
件名 | : 解決 |
投稿日 | : 2013/04/07 21:14 |
投稿者 | : 拓郎 |
・二つの窓に3桁ずつの数字を入力させる
edit
・入れる数字は000~999を扱える
commit
入力文字種判定
・数字じゃない文字列が入っていたら
エラーを打ち出しやり直し
if exp="/[^0-90-9]/.test(tf.hoge)"
入力桁数判定
・3桁じゃない場合は
エラーを打ち出しやり直し
elsif exp="tf.hoge.length!=3
endif
・全角数字だったら半角に置き換える(ここがうまく行かない)
・まず全角に
eval exp="tf.hoge=han2zen(tf.hoge)"
・次に頭の0がなくなるまで取り除く
eval exp="tf.hoge=tf.hoge.replace(/^0+/,'')"
・半角に置き換える
eval exp="tf.hoge=str2num(tf.hoge)"
・抜き出した桁数にあわせて頭に0を付ける
eval exp="tf.hoge='%03d'.sprintf(tf.hoge)"
ここから番号の判定
・左右窓ともに正解なら
そのまま次のシナリオへ
・左右窓のどちらか一方があっていれば
その旨伝えてやり直し
・左右のどちらもあっていなければ
その旨伝えてやり直し
色々とありがとうございました
件名 | : Re: 吉里吉里で数字当てミニゲーム |
投稿日 | : 2013/04/07 08:03 |
投稿者 | : 拓郎 |
お礼が反映していませんでした・・・
通りすがりさん
まさにその通りです
色んな数字でテストしてみておかしいとは思っていたんですが
8進数とは思いませんでした
2桁だとエラーの起きるのが08か09だけなので気付きませんよね
zen2hanとやらも同じかもしれませんね
今は使えないということで試せないのが悔やまれます
通りすがりさん
まさにその通りです
色んな数字でテストしてみておかしいとは思っていたんですが
8進数とは思いませんでした
2桁だとエラーの起きるのが08か09だけなので気付きませんよね
zen2hanとやらも同じかもしれませんね
今は使えないということで試せないのが悔やまれます
件名 | : Re: 吉里吉里で数字当てミニゲーム |
投稿日 | : 2013/04/07 06:35 |
投稿者 | : 通りすがり |
str2num使うと
00~07
00~07なら0~7になるのに、
08、09、08、09がどれも0になっちゃう。
一桁になってからは条件で0足すかどうか、
判定すればいいだけだからうまく行くけど。
手前でツマヅク><;
ためしに3桁のでやったらあらビックリ。
頭に0つけるとTJSが8進数として判断するらしい。
str2numを掛けなければそのまま00だろうと09だろうと99だろうと
入れた数字で判断するけど、
str2numを入れた時点で8進数で置き換えられる。
つまり2桁の場合
00~07
11~77
数字の8と9を使わない組み合わせのみで使うことが出来る。
先頭に0が来ないもの限定でしか使えないということです。
先頭に0がついてもできる方法があったらどなたか教えてください。
これは初心者が頭使った程度で出来る代物ではないw
00~07
00~07なら0~7になるのに、
08、09、08、09がどれも0になっちゃう。
一桁になってからは条件で0足すかどうか、
判定すればいいだけだからうまく行くけど。
手前でツマヅク><;
ためしに3桁のでやったらあらビックリ。
頭に0つけるとTJSが8進数として判断するらしい。
str2numを掛けなければそのまま00だろうと09だろうと99だろうと
入れた数字で判断するけど、
str2numを入れた時点で8進数で置き換えられる。
つまり2桁の場合
00~07
11~77
数字の8と9を使わない組み合わせのみで使うことが出来る。
先頭に0が来ないもの限定でしか使えないということです。
先頭に0がついてもできる方法があったらどなたか教えてください。
これは初心者が頭使った程度で出来る代物ではないw
件名 | : Re: 吉里吉里で数字当てミニゲーム |
投稿日 | : 2013/04/03 22:19 |
投稿者 | : 拓郎 |
ヒントありがとうございます!
早速試してみましたが、
初心者にはちょっと難しいようです^^;
今回はメッセージで誘導して
半角じゃないと判定できないと伝える形で行きます。
いずれは対応が出来るように
暇を見つけてチョコチョコいじってみようと思います。
どうもありがとうございました。
早速試してみましたが、
初心者にはちょっと難しいようです^^;
今回はメッセージで誘導して
半角じゃないと判定できないと伝える形で行きます。
いずれは対応が出来るように
暇を見つけてチョコチョコいじってみようと思います。
どうもありがとうございました。
件名 | : Re: 吉里吉里で数字当てミニゲーム |
投稿日 | : 2013/04/03 10:22 |
投稿者 | : muwa |
吉里吉里使った事ないけど下記URLのサイトで調べてみたら、
"str2num"は全角数字を半角にするのではなく、
文字列を数値に変換するので、頭のゼロがなくなるのは正しい動きです。
"zen2han"っていう関数があったらいいんですけど、なさそうなんで考え方は以下の方法でうまくいくと思いますよ。
"05"が入力された。
↓
"str2num"で5になった。
↓
5が0~9の範囲内だったら頭に"0"をつける。
↓
変数a = '0' + 5
↓
変数a= '05'
http://homepage1.nifty.com/gutchie/kirikiri_kag3/game_dev.html#dev_variable012.html
"str2num"は全角数字を半角にするのではなく、
文字列を数値に変換するので、頭のゼロがなくなるのは正しい動きです。
"zen2han"っていう関数があったらいいんですけど、なさそうなんで考え方は以下の方法でうまくいくと思いますよ。
"05"が入力された。
↓
"str2num"で5になった。
↓
5が0~9の範囲内だったら頭に"0"をつける。
↓
変数a = '0' + 5
↓
変数a= '05'
http://homepage1.nifty.com/gutchie/kirikiri_kag3/game_dev.html#dev_variable012.html
どうしてもうまく出来ません
・二つの窓に2桁ずつの数字を入力させる
・入れる数字は00~99を扱える
・全角数字だったら半角に置き換える(ここがうまく行かない)
・左右窓のどちらか一方でも数字じゃない文字列が入っていたら
エラーを打ち出しやり直し
・左右窓のどちらか一方でも2桁じゃない場合は
エラーを打ち出しやり直し
・左右窓ともに正解なら
そのまま次のシナリオへ
・左右窓のどちらか一方があっていれば
その旨伝えてやり直し
・左右のどちらもあっていなければ
その旨伝えてやり直し
どうも組んだものが悪いのか
想定したように判定してくれません
edit :入力
str2num(tf.~) :全角数字を半角に
/[^0-9]/.test(tf.~) :正規化表現判定
場合によっては/[^0-9^0-9]/.test(tf.~)
tf.left.length!=2(であってるのかな?) :文字数判定
tf.right.length!=2(多くても少なくても駄目)
&& と || :両方満たす と どちらか満たす
if
elsifなど色んな順番で組んでみましたが
全角だけど頭に0の入った二文字を入れると
str2numが頭の0を取ってしまいます
(00~09 = 0~9とされてしまうため、その後の正解不正解判定のとき桁数が合わずエラー)
必ず半角で入力をさせるようにエラーではじかないと
後から内部で半角に直すのはうまくできないんです
(によっては/[^0-9^0-9]/.test(tf.~)で入力受け付けていますが、
/[^0-9]/.test(tf.~)で処理させてから半角に変えると
頭桁0の問題が起こります)
文字を入力した時は全角半角問わずはじけます
字数が多かったり少なくてもはじけます
何が問題なのでしょうか?
やはり入力時に半角数字のみに制限させる
/[^0-9]/.test(tf.~)を使った方がいいのでしょうか?