R,G,Bの色の数値のバランスから、表示する二色の組み合わせに勝手に名前を付けてくれるプログラムが有ったら面白そう。
1そうだね プレイ済み
不等式って代入挟まずに一行に連続して書いてもエラーにならないんですね。
計算の優先順位が同じ演算子だと、(V>0)<3みたいな暗黙の括弧がある感じなんでしょうか。
0そうだね プレイ済み
3号だとプログラム中のテキストを操作する命令もあるので、DATA文にしてなくても使い方によっては再利用可能ですよ。
2そうだね プレイ済み
まず何でもいいので、思い付いた「面白い事」を披露する所から始めた方がいいんじゃないです?
プログラムの事が何も分かってなくても、ここで質問すれば実際に動くプログラムにすることはそんなに難しいことじゃなかったりしますけど、
面白い事を考えることの方がずっと難しくて、むしろ本命だったりしますから。
別にクラウドさんオリジナルのアイデアが浮かばなければ、既存のゲームのタイトルを挙げて、こんな感じのゲームが作りたいって質問にすれば話はもっと早いと思いますよ。
2そうだね プレイ済み
これ
1. 2<<8
2. 2*2*2*2*2*2*2*2*2
3. 2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+…
でやったらどんな結果になるか気になる…
0そうだね プレイ済み
なるほどー。スプライトの重ね合わせとSPCOLORで、カラーパレットの色切り替えを再現してるんですね。
参考になりますー。
0そうだね プレイ済み
ニコチャンの移動先を調べる変数と、敵1の移動先を調べる変数が同じ名前(CH)ですね。
敵1の方が処理が下の行に書いてあるので、上書きされてそっちが優先されてるんですね。
変数CHを使い回すなら、ニコチャンの方の処理を先に表示まで終わらせてから、敵1についても同様の処理を書けば大丈夫なはず。
0そうだね プレイ済み
行動パターンの作り方の手順を考える時の参考になるか分からないですけど、自動車教習所でだと車を運転する上で基本的なこととして「認知・判断・動作」っていう一連の流れを教わるんですが
認知「キャラクターの周りのマスの状態や、目標とするポイントの情報を集める」
判断「集めた情報を基に、どういう行動を取らせるか決定」
動作「実際にキャラクターを動かす」
って言うふうに、処理をブロック化してやれば上手く行くんじゃないでしょうか。
後はループを作ってこれの繰り返しで。
nattoさんの「敵一人づつに行動パターンを作らせて…」っていうのは、「判断」の部分を色んなパターン用意しておいて、上手いこと差し替えすれば可能かと。
2そうだね プレイ済み
0から数え始めるのは配列に限らず、グラフィック画面の座標なんかもそうなので、8ドットずつの幅で座標をずらして行く時なんかも0~7,8~15,16~…みたいな感じになりますね。
境界と実線を勘違いしてて、計算は合ってるはずなのに、実際に描画される絵が予想と違うなー、なんて事も日常茶飯事(自分だけかも)だったり。
2そうだね プレイ済み
配列を使う時に誰もがハマる落とし穴なんですけれど、コンピュータで数を扱う時のお約束で、最初に数え始める数は「1」ではなく「0」なので、宣言した配列の[ ]の中に使える数字の最大は宣言した数値からマイナス1した数になります。
便利な使い方も百聞は一見に如かず。
色んな人のプログラムを読んでみて、もし配列を使わないで同じ処理を再現してみたら…、と試行錯誤してみると便利さが良く分かると思いますよ。
1そうだね プレイ済み
FOR文のループカウンタで制御するんだったら「50回使える」ってのも間違いじゃないんですけど、正確には「使えるのが50個ある」ですね。
配列変数の[ ]の中の数はいわゆる番地みたいなもので、スプライトが管理番号でそれぞれを区別しているみたいに、同じ名前の変数に管理番号を付けて変数の管理を簡単にするのが主な用途ですね。
3そうだね プレイ済み
ゲームを作りたいのが目的でも、作りたいものが思い付かないと何も手に付かなかったりするので、気になるゲームがあるなら実際に本物を購入して遊び倒した方が結果的に近道だったりしますよ。
伝聞だけから色々想像して作るってのも楽しかったりしますけど、かなり遠回りなのでオススメはしないですね。
0そうだね プレイ済み
>うえこうさん
学生時代にプログラム触ってたら、多分自分も同じ事考えながら数学の授業聞いてたと思います。
英語も文節のブロックや文法をプログラムに例えて覚えちゃえば、好きな事は上達早いから赤点とは無縁だったかもなのにー。
0そうだね プレイ済み
2進数表記ってそんなに使う機会無いから、省略されちゃったんですかね?
コンピュータの計算の仕組みを勉強するにはもってこいだったので残念ですけど。
MK2でいったん2進数の文字列に変換してから、文字列操作命令で無理矢理シフト演算とかやってましたねー。
1そうだね プレイ済み
でも多重のIF文で条件を区切った方が、その先の処理は飛ばしてくれますし、読みやすかったりもしますよね。
2次元配列を使いたいけれど1次元配列じゃないと適用されないPUSH命令とかを使うために、擬似的に1次元を無理矢理2次元化する時とかにもスーさんの式は応用出来そうですね。
モンタージュは応用範囲が広そうなので応援してますよー。フレッ!フレッ!nobuさん。
1そうだね プレイ済み
X=X+1やY=Y+Aをやる前に元の位置を覚えておく変数、例えばTP_XやTP_Yみたいなのを作っておいて、TP_X=Xした後にXの中身を変えるっていう順番で書くと一つ前の状態に戻すの楽ですよ。
応用で、絶対に中身を変更しないで読み込み用途だけに使う初期値みたいな変数を作っておくと、プログラムを改造するとき便利だったりします。
#で始まるアレを自分で設定しちゃおうってことですね。
0そうだね プレイ済み
>In Japanさん
画面上の座標からSP上のドットの座標はSPOFSとSPHOMEから割り出せますよね。
SPの定義番号からSPの絵を置いてあるグラフィックページでの座標も割り出せますよね。
なので座標系の合わせ方さえ分かれば、GSPOITが使えるんじゃないかと。
SPDEFがデフォルトの状態だと、最初の方は16×16のサイズのSPがズラッと並んでるので、X座標は(定義番号 MOD 32)×16、Y座標は(定義番号 DIV 32)×16がSPの左上端の座標になるはず、なのでSPHOMEで基準点を変更していないSPだと、例えばSPSET 0,0、SPOFS 0,2,3で画面上で(7,9)の点のSPをGSPOITするとX=(0 MOD 32)*16:Y=(0 DIV 32)*16:GPAGE 0,4:C=GSPOIT(X+(7-2),Y+(9-3))みたいな感じで可能かと。
0そうだね プレイ済み
複数の行動を、例えば3つのコマンドをひとまとめにして入力して、そのターンのバトルスタートとかやれば、1対1の戦闘でもグループバトルっぽいことやれるかもしれないですね。
二つ分のコマンド入力と引き換えに大技くりだすとか。
1そうだね プレイ済み