Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
115 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3547
次のページ(過去)
返信[6]
親投稿
あきと SideBurnsM
すごく単純なのはX座標・Y座標で自分の座標と比べて主人公に向かうようにするという方法です。 ただしくの字に曲がっている場所ではまってしまう可能性があります。
0そうだね
プレイ済み
返信[13]
親投稿
あきと SideBurnsM
今回のケースで言うとソートじゃなくて数えあげの方がFOR文も2重にならないし楽なんじゃないのかなと思います。 トリオの判定もC1C2C3に指定のかーどの種類を渡してやる関数でいいのかなと思うんですが DEF JUDGECOMBI(C1,C2,C3) IF COUNT[C1]!=0 &&COUNT[C2]!=0&&COUNT[C3]!=0 THEN RETURN 1 RETURN-1 END
0そうだね
プレイ済み
返信[12]
親投稿
あきと SideBurnsM
5枚のカードから3・4・5カードは一つしか成立しませんが、2枚ペアの場合はペアが2つ出来上がることがあるのでnobuさんにどう扱うか考えてもらう必要がありそうです。 麻雀のように役が複数成立するゲームなのか、ポーカーのように必ず一つの役に絞られるのか決めないといけないかなと。 たとえばトリオとペアも同居したらどうする?みたいなことになると思います。
0そうだね
プレイ済み
返信[11]
親投稿
あきと SideBurnsM
みけらんジェロさんの考え方に似てます。 これで3カードから5カードまで判定できます DIM TE[5] '手札 DIM COUNT[26] '種類毎の枚数 '26種類のカード毎に数える FOR I=0 TO 125: INC COUNT[TE[I] DIV 5]:NEXT R=JUDGE345CARD(5) '5カードか判定 R=JUDGE345CARD(4) '4カードか判定 R=JUDGE345CARD(3) '3カードか判定 DEF JUDGE345CARD( NUM ) FOR I=0 TO 25 IF COUNT[I]=NUM THEN RETURN I NEXT RETURN -1 END
0そうだね
プレイ済み
返信[5]
親投稿
あきと SideBurnsM
それですね。(関数外ジャンプ) 関数の中にラベルを作るのは大丈夫ですが外にでるのはエラーになります。 処理を分けるのであればもうひとつ関数を作れば良いと思います。
1そうだね
プレイ済み
返信[3]
親投稿
あきと SideBurnsM
エラーのスナップショットもはってもらえますか?
1そうだね
プレイ済み
返信[1]
親投稿
あきと SideBurnsM
@STARTTITLEの名前は確かに合ってますね。しかしこれはファイルではなく「ラベル」です。 ファイルが無いというエラーが出てるのは別の行ではないですか?
0そうだね
プレイ済み
返信[2]
親投稿
あきと SideBurnsM
泊まってどうする。「止まり」ね。 ちなみにスライドしたあとBGPUTの場所が変になっているのではなくてBGOFSでズラした場所にでていただけですね。 横スクロールゲームのマップエディターでしょうか。頑張ってください。
0そうだね
プレイ済み
返信[1]
親投稿
あきと SideBurnsM
9行目を BGPUT 1,(X+TX)/16,TY/16,1 にすることで対処できます。 BGPUTは範囲外(マイナスも)を指定するとエラーがでて泊まってしまうので、計算結果が範囲外のときはBGPUTを呼ばないようにしたほうが良いと思います。
0そうだね
プレイ済み
返信[7]
親投稿
あきと SideBurnsM
旋光の輪舞とかティンクルスタースプライツとかぺんぎんくんウォーズとかですかね(どんどん古く)
3そうだね
プレイ済み
返信[8]
親投稿
あきと SideBurnsM
BGHANTEIどうぞ使ってください。 Hanzoさんと内容がまるかぶりしてしまった…。 ボンバーマンみたいな挙動で面白いですね。遊べるのを楽しみにしてます。
0そうだね
プレイ済み
返信[3]
親投稿
あきと SideBurnsM
変更してみました。 139行目:STM=DEG(ATAN(STX,-STY))+180 140行目:COSとSINを入れ替える 225行目~229行目はカーソル移動と同じことをしてるだけなのでコメントアウトでも動きます。 スティックの移動はY方向は逆転してるのでSINとCOSを逆にしてるのかなと思いましたが、角度取得後はX=COSθ、Y=SINθで算出しないとおかしなことになります。 ということでATANを使うときにY方向は反転させるようにしました。
0そうだね
プレイ済み
返信[1]
親投稿
あきと SideBurnsM
それは公開をやめた方がいいと思います。著作権侵害になりますよ。
1そうだね
プレイ済み
返信[1]
親投稿
あきと SideBurnsM
3DSの通信ができる外部機器というのは聞いたことがありません。 またテレビリモコンは赤外線を飛ばして操作することが多いのですが3DSにも赤外線端子はあります。ただしプチコンにはその赤外線端子を制御する命令は用意されてません。(イタズラ防止?) ハヤブサさんはプチコンのギリギリ外をついた質問をしますねー。あれ?そんなことできたっけ?→できないみたいな事が何回か。もしかしたらできるかも…という感じもして面白いですけとね。
3そうだね
プレイ済み
返信[2]
親投稿
あきと SideBurnsM
そこで関数で大きさを比較して大きい数字を書く処理を作ります。 DEF WHICHBIG( A, B ) IF A>B THEN RETURN A RETURN B END 呼び出す側では RET=WHICHBIG( A,B ) となります。 関数の良いところは R=WHICHBIG(C,D)と書いても動くところです。GOSUBではAとBの比較しかできなかったのが関数では引数で渡す事でCとDの比較もできるようになっています。 返り値もGOSUBの時は必ず「RET」に入れていましたが、関数では受けとる側で書き換えることができるのでC,Dの比較時Rにいれてます。
2そうだね
プレイ済み
返信[1]
親投稿
あきと SideBurnsM
サブルーチンは長くなった処理をまとめて切り出すだけですが、関数には引数があることで呼び出し側から振る舞いを変えることができます。また、返り値があることで呼び出した結果を受けとることができます。 例えばAとBに格納されている数字がどちらが大きいか判定して大きい数字を得るという処理をGOSUBで書くには @whichbig IF A>B THEN RET=A ELSE RET=B RETURN と書くとRETという変数に結果が入ることになります。 しかしこれだと本当にAとBの比較しかできません。CとDの比較がしたくなったら別のサブルーチンを書くことになります。
1そうだね
プレイ済み
返信[29]
親投稿
あきと SideBurnsM
>対戦相手の難易度に段階を持たせたい nobuさんが考えているカードゲームがどういうプレイをするものなのか分からないので難易度に関してはまだ考えずにゲームのプレイの流れと判定をを作っていった方がいいのではないでしょうか。 カードが130枚あるゲームという事しか分からないので、まずは同一条件でプレイできるようになってから難易度を考えても遅くないと思います。
1そうだね
プレイ済み
返信[27]
親投稿
あきと SideBurnsM
>使えるカードは無限でもいい カードはいくらでも交換できるから乱数で次のカードを決めれば良いという風に考えてるかもしれませんが…。 上の方法で130枚を先に決めておけば「必ず」130枚の中に5枚は同じカードが出ますが、その場の乱数で選ぶと「延々と」欲しいカードが出ないこともあるので注意が必要です。
0そうだね
プレイ済み
返信[23]
親投稿
あきと SideBurnsM
すいません。ALLCARDを途中からCARDSと書いてしまいました。 一回目のFOR文で順番に数字を一つずつ格納したあと2回目のFORでランダムに中身を入れ替えています。 (本当はもっといい方法がありますがここではシンプルにしました)
0そうだね
プレイ済み
返信[22]
親投稿
あきと SideBurnsM
nobuさんは手札5枚だけでカードを決めようとしていますが途中の説明で「カードは全部で130枚あり、26種類のカードが5枚ずつ存在」と説明しています。 最初の5枚の事だけ考えるとあと125枚とのチェックが大変になるので最初にすべて用意してしまった方が楽になります。 DIM ALLCARD[130] FOR I=0 TO 129 :ALLCARD[I]=I:NEXT FOR I=0 TO 129 SWAP CARDS[I],CARDS[RND(130)] NEXT これで0~129までの数字が重複なくバラバラの順番で格納されます。
0そうだね
プレイ済み