プチコン3号 SmileBASIC コミュニティ投稿けい kei0baisoku2015/03/24 03:39:52プレイ自慢格ゲーのコマンド判定プログラムを作りました(^O^) 【KE8Q43P】 (他の人へのコメントで作ったものです) リングバッファという仕組みを利用しています。 下→右下→右→Aで波○拳が、右→下→右下→Aで昇○拳が出ます。(しゃべるだけですが) ゲームではありませんが、参考になりそうでしたらどうぞ(^O^)19そうだね 50返信プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿せいら sutenukoice2015/3/24 7:37格ゲーはやったことないけど、中身作るの楽しそう!0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿********* 1105HAYA2015/3/24 9:36ストリー●ファイターですね!?w0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿けい kei0baisoku2015/3/24 9:42>せいらさん きっと楽しいですよー(´∀`) ……って、遊んだことないんかい!(°Д°)/ ストリー●ファイター? はて、「は○けん」なんて無かった気が(´з`)♪0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿きのっこ citronsoda2015/3/24 11:23さすが仕事がはやいです! は○けん 世界ふしぎは○けんですよねw1そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿りょうま R-S14372015/3/24 11:41これは凄いですね、僕はこれを活用するほどの腕はありませんが(笑)。このプログラムに「ハマるけん」的な感じの発音ですね。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿たつひこ TATUHIKO732015/3/24 11:52ストリート●ファイターだw1そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿スー thanks_0u02015/3/24 12:21気付いてしまいました。プログラム内ではひらがなでしたけれど、コメントを見たらちゃんと漢字で書いてありますね!( `・ω・´ ) これを元に類推すると…波乱拳と昇降拳?波形拳と昇天拳?波間拳と昇段拳? それはさておき、自分で作ってみたコマンド入力は妙に判定がシビアだったりして、本当はどうやるのか気になっていたのでお勉強になります。ありがとうございます(*´∨`*)ノ0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿けい kei0baisoku2015/3/24 12:44ふしぎは○けんw >tathuhikoさん ちょっと!伏せ字伏せ字! 隠れてないですよ!(^O^;) >スーさん 参考になりましたら幸いです(´∀`) ネタばらししますと「波○拳」とは、たくさんの「グー」が円形の陣形を組んでサインカーブを描きながら進んでいく技で、「昇○拳」とはそれの動きが上に昇る版の技です。 技名が伏せ字だとは一言もいってません(`・ω・´) ………というところまで実装してからアップしようかとも思ったのですが、大幅に睡眠時間削ってまでやるほどのことではないと、すんでの所で気付いてやめました(`・ω・´)0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿スー thanks_0u02015/3/24 13:11まさかのそのままのパターン!そしてすごくよけにくそう∑(゚Д゚) 睡眠大事です。無理はなさいませんよう( ´ ▽ ` )ノ2そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿たつひこ TATUHIKO732015/3/24 13:15けいs»失礼致しました!w1そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿せいら sutenukoice2015/3/24 14:32これってゼルダのアクションでも同じですか?(あいにくDLできてないのですが) B連打してると三回目で攻撃変わるじゃないですか。格ゲーとアクションゲーはまた違うのかな?0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿せいら sutenukoice2015/3/24 14:37ところで、波動拳って現実にある技ではないのですか?0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿けい kei0baisoku2015/3/24 14:56>せいらさん 頑張れば出せる。 そう思っていた時期が私にもありました………(´ω`) ゼルダのアクションは全く別だと思います。 その仕様なら、リンクが今何の動きの途中かと言う変数があるはずですので、一撃目の終わりの期間に押したら二撃目、二撃目の終わりの期間に押したら三撃目、という感じの作り方が素直だと思います。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿せいら sutenukoice2015/3/24 15:11普通のパンチ攻撃ではないのですか? 素直な攻撃(´ω`) アクションによってもプログラムの組み方が違うのですね。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿けい kei0baisoku2015/3/24 16:45いつ押しても必ず同じ攻撃が出るなら普通のパンチですが、連続だと変わる~みたいな仕様があると、連続か否かを判定する処理が必要になります。 遊ぶ方から見てほとんど同じでも、ちょっと仕様が違うだけで大きく工夫する必要があることも多いのです(´ω`)1そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[16]親投稿 901 901kyuumaruiti2015/3/24 23:09ローリングイヅナドロップ決めたい。 せいらさんが言ってるのをスト2で言うとフェイロンの烈火拳だと思う。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[17]親投稿けい kei0baisoku2015/3/25 0:02やばい、両方分からない…… 私の知らないスト2だ………(`・ω・´;)1そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[18]親投稿せいら sutenukoice2015/3/25 1:11格ゲーはよくわからんとです…0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[19]親投稿りゅうまご ryumago2015/3/25 1:53格ゲーだけじゃなく裏技的なコマンド入力にも使えそうですよね EX●ELのイースターエッグみたいにツールに仕込むとかも 見つけた人がニヤリとしていいかもしれませんね0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[20]親投稿けい kei0baisoku2015/3/25 2:05格ゲー、なんとなぁくは分かるのですが……(・ω・) >りゅうまごさん ツールの裏技………!? それは考えてませんでしたが、プチコンなら少々フリーダムにやっても許されますね!(^O^) 夢が膨らみます!そういう遊び要素大好きです(´∀`)0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[21]親投稿けい kei0baisoku2015/3/25 2:07ほかの方から質問がありまして、写真の「BUFの中身を取る関数」の説明をします。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[22]親投稿けい kei0baisoku2015/3/25 2:14GETBUF(OFST) の関数です。 まず前提として、このプログラムはキー入力を、サイズ16の配列 BUF[16] に保存して覚えています。 ただし16回入力されたら終わりでなく、17回目は配列の先頭を上書きして使います。で、また順番に右へ進み、たくさん入力があっても永久にぐるぐる回して保存し続けます(これがリングバッファです) 今BUFのどの位置に保存しているかを、POSという変数で覚えています。 このGETBUFは、今の位置から数えて左に一つや、左に4つ戻った位置の配列の値を楽に取得するための関数です。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[23]親投稿けい kei0baisoku2015/3/25 2:2064~66行目のWHILE文で、下準備として引数のOFSTがもし負だったら、配列サイズの16(=BSIZ)の倍数を足して、OFSTを0以上の値にしてます。 67行目でPOSに足してます。 しかし、単に足しただけでは配列のサイズである16を越える可能性があります。もし16以上だったら16を引いて0~15の範囲にしたいのですが、これをやっているのが MOD BSIZ(=16)です。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[24]親投稿けい kei0baisoku2015/3/25 2:32MODは、割った余りを求める演算子です。 まとめますと、具体的にはこうなります。 (例)POS=4 の状態で、2つ左のBUFの値を知りたい場合 ・引数はOFST==-2 ・16を足してOFST==14 ・POSの4と足すと18 ・18を16で割った余りは2 ・知りたいBUFの値は、BUF[2] (例2)POS==1の状態で3つ左の値を知りたいとき ・-3 → 13 →1+13は14 →14 MOD 16 は14 ・知りたいBUFの値は、BUF[14]0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[25]親投稿けい kei0baisoku2015/3/25 2:33以上、MODを使うと楽になる例でした。 あと、このプログラムで多用してますがビット演算も慣れるととても便利です。0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[26]親投稿むゆー muyu-pon2015/3/25 7:40おお、とても分かりやすい! 一旦すこし自分でプログラムを作って見たいと思います。 (ちなみにフェイロンの烈火拳を三回連続で出せるようになるまで一週間かかりました^^;)1そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[27]親投稿むゆー muyu-pon2015/3/25 19:37何度も質問すいません、 今のけいさんのプログラムでは同じボタンを連続で押した時(AA,→→等)に対応していませんよね。どこをどうすれば対応させる事ができるのでしょうか?0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[28]親投稿けい kei0baisoku2015/3/25 19:48>むゆーさん 私も作りながら気付いて考えてました。 対応してない理由は、今の仕様が「何かボタンを押していて、最後のボタンの状態から変わった時だけ保存する」だからです。 では、どうしたら「→→」を判定できるでしょうか? 途中でボタンを離すことが想定されてないなら、それも保存するようにすれば良さそうです。 (ボタンを何か押していたら、の条件を外す) とまあ、ゲームを作るときはこんな感じで、作りたいものの完成形をイメージして、どうやったらそれを実現出来るか試行錯誤します。 正解はありません。全く同じものは誰も作ったことがないことも多いです。 ちなみに↑も、試してませんがうまくいく確率は80%くらいだと思います。 ダメだったらそのダメな原因をよく見て、さらに対策を練ります。 有名な言葉で「トライ アンド エラー」と言います。 頑張ってみてください(´ω`)/0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[29]親投稿むゆー muyu-pon2015/3/25 20:26おーできました! プログラムを読み解いて自分の思い通りの動きになった時は感動ものですね。ありがとうございました。1そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[30]親投稿Lejenne roberingue20122015/3/25 20:44リングバッファと聞くと、BGMで使用するバッファってイメージがありました。ww0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[31]親投稿けい kei0baisoku2015/3/25 22:18あれ?BGMもなんかバッファ関係あるんでしたっけ?(´Д`) ストリーミングのバッファかな?0そうだね プレイ済み2017/11/03 22:41:36に取得
プチコン3号 SmileBASIC コミュニティ返信[32]親投稿Lejenne roberingue20122015/3/25 22:27すみません。さすがに別メーカーのゲーム機の仕様をココに書くのはまずいので削除します。m(_ _)m0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[33]親投稿Lejenne roberingue20122015/3/25 22:30誤解を招くと、あれなんで、昔とある人からとある書籍を見せていただきました。なのでワタシはゲームプログラマ未経験です。ww プチコンで頑張るぞっと。ww1そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[34]親投稿 901 901kyuumaruiti2015/3/25 23:11ローリングイズナドロップはバルログのスーパーコンボ。コマンドは左下タメ 右下 左下 右上でジャンプしたあと壁キックしてから相手を掴むというロマンたっぷりの技。 MODとかダルいから%復活して欲しい。1そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[35]親投稿けい kei0baisoku2015/3/26 1:23おお!ローリングイズナドロップかっこいい!(°Д°) ニホンゴマザテルケドキニシナイ! ちなみに今回私が作ったのだと溜めは完全に未対応なので、根本的に仕組みを考える必要がありますねー。 あっ、ボタンキープの時間も一緒に保存したらいけそう……… %復活同意。 復活と言っても私前作は知らないですけども(´ω`)1そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[36]親投稿 901 901kyuumaruiti2015/3/26 23:54スペイン忍術だから日本語まざっても仕方ない。ちなみに百裂張り手とかのボタン連打技は五回目で発動だから弱4回強1回押せば強を連打しなくてもいい。 %ならスペース要らないから楽。0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[37]親投稿けい kei0baisoku2015/3/27 0:47なるほど、細かい仕様を知るとアルゴリズムが推測できますね。0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[38]親投稿 901 901kyuumaruiti2015/3/27 23:35おしらせの調子悪い。 そういえばザンギエフのスクリューパイルドライバーはレバー1回転で有名だけど、実は半回転と真上だったりする。0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[39]親投稿けい kei0baisoku2015/3/28 0:12>901さん そうなんですか!? リアルタイムでスト2やってた頃は270度回転だと認識して出してました。 厳密に一回転だと厳しすぎたから工夫したのかな?とか想像できますね。0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[40]親投稿 901 901kyuumaruiti2015/3/28 0:37ガチで1回転だとジャンプしちゃうし。1そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[41]親投稿せいら sutenukoice2015/3/30 20:38けいさんけいさん大変です! DLしたのはいいですけど、遊び方がわかりません。0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[42]親投稿けい kei0baisoku2015/3/31 1:11仕方ないなぁ、せい太くんは(´з`) いいかい?一回しか言わないからよく聞くんだよ? これはね、 「遊びじゃねぇんだ(´°Д°`)」 平たく言うと、ゲームじゃなくてサンプルプログラムだね。 ストリー○ファイターの波○拳か昇○拳のコマンドを入れるとボイスが出るよ! 格ゲーコマンド的なプログラムを作りたい人は参考にしてみてね!(´з`)1そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[43]親投稿せいら sutenukoice2015/3/31 7:30(´;ω;`)0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[44]親投稿けい kei0baisoku2015/3/31 9:41やーい、泣かしたー 泣かしたー(°з°) ……すいませんしたm(__)m0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[45]親投稿きのっこ citronsoda2015/3/31 21:14はいっ!ゲラゲライヤホン~0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[46]親投稿むゆー muyu-pon2015/3/31 21:34ここにはもうコメントしないつもりでいましたが…一つ教えて頂きたいです。 思っていた通りボタン長押しのところで詰まりました^^^^;;;; 是非どうすれば長押しに対応できるのか、アイデアをくれませんか?0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[47]親投稿けい kei0baisoku2015/3/31 22:42>きのっこさん どうもですー(´з`)/ >むゆーさん らじゃーです。 ちょっとややこしいかもしれませんが取りあえず文章で。 今は「どのボタンを押したか」だけをリングバッファに保存しています。全く同じ大きさのリングバッファをもう一つ用意して、そちらに「そのボタン状態を何フレームキープしたか?」を毎フレームカウントすることで数えるようにします。 これで、ボタンの状態とキープした時間の情報があるので、順に辿ることで理論上溜めも判定できるはずです(自信70%くらい) 上だけ押しっぱなしと斜め上は別物として判定されますので、そこは溜め判定の際に工夫が必要かもしれません。 これが難しかった場合、後は「溜め専用のバッファを作る」でもできそうです。専用を作る方がたぶん簡単で、代わりに管理するものが二種類になるので少し大変(バグとか出やすい)になると思われます。0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[48]親投稿けい kei0baisoku2015/3/31 22:47溜め専用バッファは、毎フレームキーの四方向を押しているか否かチェックして、押してたら+1、押してなかったらゼロにします。 これでいつでも、キーのそれぞれを何フレーム押しっぱなしにしているかを調べられます。 (例)左下方向に1秒以上溜めたか判定 →左のカウントと下のカウントが、両方60以上ならOK0そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[49]親投稿むゆー muyu-pon2015/4/2 12:19なるほど……やってみます。1そうだね プレイ済み2017/11/03 22:41:34に取得
プチコン3号 SmileBASIC コミュニティ返信[50]親投稿むゆー muyu-pon2015/4/12 10:40なんとかできそうです!(問題点はありますが) ありがとうございました!1そうだね プレイ済み2017/11/03 22:41:34に取得