VB厨が作ったゲーム
■ このスレッドは過去ログ倉庫に格納されています
0001あきまさ(VB厨であり、リ厨)
01/11/18 12:03ID:aaVnfHyi友達(だと思ってる奴)にやらしてもつまらんとか言うし。
どうすれば面白くなるかネタくれませんか?
ゲーム名は"realUFO"。
できるだけネタ盗り込もうと思っているのでよろしく。
まぁ、自分で言うのもなんだけど糞スレの予感…。
0317305
01/12/31 19:58ID:???VC++使ってる人に聞きたいんだが、MFC使ってる?
>>あきまさ
>それはVC++ランタイムの入っていない環境のPCでも動くということでしょうか?
そういうこと。
ランタイムがいるとすれば、DirectXぐらいのもんだと思う。
0319あきまさ
01/12/31 21:08ID:???・一応敵が出現
・敵が移動してくる
・敵が弾を撃ってくる
・敵をショットで倒せる
です。
ちょくちょく製作していきます。
完成は来年だなぁ、多分…。
http://blue.ribbon.to/~akimasa/
0320あきまさ
01/12/31 23:27ID:???敵を多数登場させてみて分かりました…。
VC++は速いという噂ですがどうなんでしょう?
0321あきまさ
01/12/31 23:57ID:???0322あきまさ
02/01/01 00:11ID:???更に鬱な気分に。
とりあえず敵が3種類に増えて、攻撃もしてきます。
氏ねます。
遅すぎます。
VBでこれ以上のスピードを出せないでしょうか?
http://blue.ribbon.to/~akimasa/
0323名前は開発中のものです。
02/01/01 00:42ID:???VBは遅いよ
どうしてかと言うといらない(使わない)機能までプログラムの中に入ってるから
でも、プログラムはちゃちゃっと書けるし、最近のPCのパワーでごり押し
出来るから使える
VC++は早いというより、使うものだけを自分で選択して使える
こんな感じで理解してもらえばいいと思う
ボーランドのC++ Compiler↓はタダだから試してみれば?
h ttp://www.borland.co.jp/cppbuilder/freecompiler/index.html
0324あきまさ
02/01/01 00:58ID:???ほぉ、そうなんですか…。
>ボーランドのC++ Compiler↓はタダだから試してみれば?
多分、自分の性格からして、ヴィジュアルな環境でしかコードを組むことができません…。
それに、MAD32を作らなければいけませんしね…。
あと、
こんな時間に2chを見ているなんて、貴方は相当ヘヴィですね…(自分もか…)。
0325名前は開発中のものです。
02/01/01 01:09ID:???とか、書いておく。
で、VBが遅いのは
VBがインタプリンタ型言語だからだ。
VC++は(っていうかC、C++など)は
コンパイラ型言語ゆえに速い。
0326あきまさ
02/01/01 01:13ID:???明けましておめでとうございます。
などと逝ってみる。
>で、VBが遅いのは
>VBがインタプリンタ型言語だからだ。
インタプリンタ型言語って…。
なんでしたっけ?
何処かで聞いたような…。
>VC++は(っていうかC、C++など)は
>コンパイラ型言語ゆえに速い。
え、じゃぁ、VBのコンパイルっていうのは一体何なんでしょうか…?
自分では理解不能です…。
いや、ヘヴィな人が多いなぁ…。
0327325
02/01/01 01:16ID:???インタプリンタ型ってのは
プログラムを一行ずつマシン語に翻訳して実行するので遅くなる。
0328あきまさ
02/01/01 01:23ID:???ちがったらスマソ。
0329325
02/01/01 01:25ID:???>自分では理解不能です…。
実際、プログラム板でもVBの「コンパイル」には
違和感を感じている人がいるよ。
一応、C++などは、機械語に全て変換するので
いちいち翻訳する必要がない。よって速い。
0330あきまさ
02/01/01 01:29ID:???ほぼリアルタイムだ…。
さすが2ch…。
>実際、プログラム板でもVBの「コンパイル」には
>違和感を感じている人がいるよ。
>一応、C++などは、機械語に全て変換するので
>いちいち翻訳する必要がない。よって速い。
ほぉ〜、そうなんですか…。
アセンブラじゃなくて機械語なんですね?
0と1の。
なんか、速い訳が分かった気がします。
もし今のMAD32をC++で書いたらまともに動くようになるでしょうか…?
0331325
02/01/01 01:31ID:???http://www.melma.com/mag/99/m00010999/a00000126.html
ここで、インタプリンタ型の簡単な解説が載ってる。
0333あきまさ
02/01/01 01:41ID:???多分。
0334325
02/01/01 01:54ID:???プログラマがプログラム言語で作成したプログラムのことであって。
Cも、C++もBasicもアセンブラも原始プログラム。
これは、人間には理解できるが、コンピュータは理解できない。
だから、理解できるマシン語(機械語)に翻訳するわけだ。
つまり、インタプリンタ型は
一行ずつ原始プログラムを翻訳してマシン語に直して行く。
実行中に翻訳時間が必要。よって遅い。
コンパイル型言語は
コンパイル時に全てマシン語に直してコンピュータが理解できるようにする。
実行中に翻訳は不要。よって速い。
0335325
02/01/01 01:59ID:???↑ここらへんが参考になるだろう。
そろそろ、ネットは切り上げてプログラムでも書くかな。
0336あきまさ
02/01/01 02:00ID:???ほぉ〜、それではVBでかいたプログラムも一応原始プログラムなんですか。
あ、インタプリンタって言うんだから当然か…。
夜遅くにすみません。
ところで、他に知っておいたほうがイイ事って無いでしょうか?
あったらお願いします。
ちなみに、眠たかったら寝てくださいね…。
余計なお世話か…。
0338325
02/01/01 02:09ID:???ソフトウェアの事だけでなく、ハードウェアの面も勉強できるので吉。
でも、まだ早いかもな。
0339325
02/01/01 02:14ID:???いや、趣味のほうだよ。
>ちなみに、眠たかったら寝てくださいね…。
最近は、4時寝は普通なので何ともない。
プログラム技術ってのは上を見たらきりがない。
上には上がいる(下は底があったりするけどな)。
地道に上に登っていくのが良いね。
とりあえず今は、VBを極めるのに専念すべし。
じゃぁ、落ちる。
0340あきまさ
02/01/01 02:19ID:???無事に工房に成れたら勉強したいと思います。
>>339
>いや、趣味のほうだよ。
ゲィムですか?出来たら紹介してください。
>最近は、4時寝は普通なので何ともない。
ヤパーリパソコン関係の人はそれぐらいが普通なのでしょうか…?
>プログラム技術ってのは上を見たらきりがない。
>上には上がいる(下は底があったりするけどな)。
>地道に上に登っていくのが良いね。
>とりあえず今は、VBを極めるのに専念すべし。
ガムバリます。
>じゃぁ、落ちる。
寝ます。
今日に備えて。
0341ななしさんお腹いっぱい
02/01/01 02:23ID:???プログラムの最適化とコードの綺麗さがVB使いの腕の見せ所
まあ、もともとVBはシューティングやアクションには向いてない
0342名無しさん
02/01/01 04:58ID:???遅いよ。それでも遅い場合コードの最適化。それでも
遅ければもうVBの限界(ワラ
0343名前は開発中の名無しさん
02/01/01 09:57ID:???http://www2.makani.to/akutoku/upload/dat/1009846340.gif
正月から何やってんだか。明日への一言をくれ。
0344あきまさ
02/01/01 11:36ID:???いやぁ、まだまだ改良の余地ありですか〜。
今年も精進します。
あと、もしかしたらVC++すぐ買えるかも…。
でもウゼェ厨学校があと1週間足らずで始まると思うと…。
鬱駄氏脳。
>>342
ラーニングエディションなのでネイティブコンパイルできません…。
無惨。
できるだけ高速化できるようガムバリます。
>>343
あ〜、いや〜、わざわざ時間を割いて下さってありがとうございます。
ありがたく使わせていただきます。
でも、ちょっと大きいかもしれないので、
もしかしたら縮小させていただくかもしれません…。
とりあえず、readmeには
スペシャルサンクス:名前は開発中の名無しさん
などといれさせていただきます。
>明日への一言
日々鍛錬
…。
こんなんしか思いつきません…。
自分の抱負にしよう…。
今から年賀状作らないと…。
リアルドラえもんでも送りつけてやる〜…。
0345名前は開発中のものです。
02/01/01 12:28ID:YwsXNczB0347あきまさ
02/01/01 15:04ID:???・敵それぞれにに氏にかたがある
・画像をありがたくいただいたものに差し替える
・テスト用としてA:敵出現
です。
http://blue.ribbon.to/~akimasa/
頂いた画像が16色で書かれていたことに気づき、ショックを受けました。
あと、COMっていうのは何の事なんでしょうか?
検索してみてもイイサイトが見つからない…。
0348名前は開発中のものです。
02/01/01 15:31ID:???MSは手を変え品を変え色々やってるってことで・・・
MSのCOMについてかかれたHPにいけばわかるよ
ttp://www.microsoft.com/com/default.asp
0349あきまさ
02/01/01 15:37ID:???おぉ、情報提供ありがとうございます。
見てみます。
ところで、音をつけようと効果音が置いてあるサイトを巡回しているわけなんですが、
なかなかイイサイトが見つかりません…。
どこかオススメがあったら教えてください。
お願いします。
0350あきまさ
02/01/01 15:39ID:???自分じゃ読めませんね…。
0351あきまさ
02/01/01 16:27ID:???今度は音が鳴るようになりました。
ザ・マッチメイカァズなるサイトから音をパクってきました。
感謝。
http://blue.ribbon.to/~akimasa/
0352あきまさ
02/01/01 18:13ID:???・datディレクトリに"bgm.wav"なるファイルを置くと演奏される
・タイトルの表示
です。
プログラミングは一人で細々やって逝く感じ…。
http://blue.ribbon.to/~akimasa/
0353あきまさ
02/01/01 19:59ID:???ちょっと遅すぎる気がするので…。
お願いします。
0354名前は開発中のものです。
02/01/02 00:16ID:???GDIでやってるの?
0355名前は開発中のものです。
02/01/02 01:56ID:o+IkdH7u三角関数やVariant型は使わず、整数のみ使う様にする。
ネスティング内でやっている計算はネスティングの外でまとめてやっておく等。
それでも数%の高速化しか期待出来ない場合もあり。
大胆なアルゴの見直しが必要と思われ。
0356名前は開発中のものです。
02/01/02 06:48ID:???MAD32をプレイする前にもうちょっと前作への要求を書かせてください。
(明文化したいので)
プレイヤーとしての要求
次の自機を出す、タイミングにちょっと「待ち」を入れましょう。
なおかつほんの短時間でいいので「無敵状態」にしてください。
(MAD32製作の方への参考にしてください)
では。
0357あきまさ
02/01/02 11:09ID:???GDIって…。なんでしたっけ…?Win標準の描画機能でしたっけ?
>>355
>ネイティブコンパイルして見たけど、大差無い様な感じ…。
そうですか〜…。
>大胆なアルゴの見直しが必要と思われ。
う〜ん、どのように組めば速くなるか分かりません…。
どんな処理が遅くしているかも分かりませんしねぇ…。
とりあえず、
Laser(255)をLaser(127)ぐらいにしたらかなり速くなった(といってもまだまだでしたが…)と思います。
具体的に、どうすれば高速化されるかが分かるならご教授お願いします。
>>356
あけましておめでとうございます。
>次の自機を出す、タイミングにちょっと「待ち」を入れましょう。
入れてみます。
>なおかつほんの短時間でいいので「無敵状態」にしてください。
一応、1秒ぐらい無敵になっているんですが…。
短すぎましたか…。
いやぁ、昨日は時間があったにもかかわらず効率が悪かったです。
スマソ。
0358あきまさ
02/01/02 11:29ID:???・死亡したときに、出現までに多少時間がある
・無敵時間の増加
・DSの解放(忘れてました…)
です。
http://blue.ribbon.to/~akimasa/
0359名無しさん
02/01/02 12:04ID:2RcEk73hそうするとやっぱりコードの最適化が重要だな。
特にfor〜nextやdo〜loopの中は重要。って
あたりまえか…。もっと突き詰めたいなら割り算を
掛け算で置き換えるとかselect〜caseをif文に
置き換えるとか、だね。
0360あきまさ
02/01/02 12:17ID:???・一部画像の変更
・スコアの表示
です。
http://blue.ribbon.to/~akimasa/
ゲーム中に原因不明なエラーで止まってしまうことがあります。
自分でも原因を探してはみたのですが、見つかりませんでした。
多分、自分が何処かでミスをしています。
原因が分かる方は是非教えてください。
お願いします。
0361あきまさ
02/01/02 12:22ID:???うぉ、
更新してみたら…。
>特にfor〜nextやdo〜loopの中は重要。
ほぉ〜、
>もっと突き詰めたいなら割り算を 掛け算で置き換えるとか
割り算のほうが負荷が大きいんですか?
>select〜caseをif文に 置き換えるとか、だね。
う〜、なんかの本に(ベーマガだったかなぁ…)に
Select Case はコンパイル時にIf に変換されるようなことが書いてあったと思うんですが…。
どうなんでしょうか…?
0362名無しさん
02/01/02 12:29ID:2RcEk73hうむ、select caseがifに変換されるってのは初耳。
オレの勉強不足かもしれないが。でも実際に
サンプルつくってFPSとってみたら若干ifが早いのよ。
割り算や小数、三角関数もね。だから数多く回すfor
やdoの中身で差が出てくる。
0363名前は開発中のものです。
02/01/02 13:54ID:xfbeCZHNこれ程大量に画面表示しないとダメなのか?ゲーム・デザインの問題になると思うけど。
例えば、敵キャラのサイズを縦横×2倍の大きさにする。
その分キャラの数や弾の数を減らす。例えば、laser(63),enemy(31),bomb(63)位。
ついでにキャラが大きくなった分、1回の移動量を倍にしても目立たないと思う。
プログラム自体も突っ込み所が多いんだけど、設計段階で後々の事も考えておかないと苦労するよ。
ところで、Variantを使っている事でかなり重くなっていると思うが…何とかならないのかい?
0364名前は開発中のものです。
02/01/02 18:31ID:???For i = 0 To 10
For j = 0 To 20
'... 処理 ...
Next j, i ←コレ
0365ななしさんお腹いっぱい
02/01/02 20:58ID:???あと integer より long のほうがはやいと聞いたことがある
0366あきまさ
02/01/02 21:02ID:???ほぉ〜…、そうでしたか…。
いや、自分の記憶違いだったかもしれません…。
変えてみます。
>>363
おぉ〜、そういう風にすればある程度解決されそうですね…。
>プログラム自体も突っ込み所が多いんだけど、
よろしければ具体的に教えてください。
自分のスキルアップを図りたいので…。
>設計段階で後々の事も考えておかないと苦労するよ。
設計というのはプログラムの設計ですよね?
自分は設計についてはまったく勉強していないのでどうすれば手入れがしやすくなるとか分かりません…。
参考になるイイサイトって無いでしょうか?
>Variantを使っている事でかなり重くなっていると思うが…
Variantってそんなに重いんですか?
よく知らずに使っていましたが…。
>>364
ネストって、重なっているという意味でしょうか?
>Next j, i
は、jとiに同時に数値を加えるのでしょうか?
みた感じだとそんな気がするのですが…。
0368あきまさ
02/01/02 21:32ID:???・敵のサイズ2倍
・変数定義の部分の変更
です。
まだすべてのアドバイスをとり入れることができたわけではありませんが、
大幅に高速化されたかと思います。
まだ改良しきれていない部分は明日改良します。
http://blue.ribbon.to/~akimasa/
0369名無しさん
02/01/03 00:13ID:ujT3yCXNアドバイスしながら他の人のレスで勉強になる
ことも多くてさ。これからも一緒に頑張ろうぜ。
0370名前は開発中のものです。
02/01/03 00:38ID:ZS3Az44sttp://www3.plala.or.jp/sardonyx/smart/
ゲーム関連のページではないが、「VB Tips」に細かい高速化の話有り。
(もう知ってたらスマン。)
0371356
02/01/03 00:55ID:???(「多分」製作終了。←「多分」てのが俺のせいかも?と思ってちょっと申し訳なくなりました。)
あらら、無敵状態はいってましたか、、。うーん余りにも連殺されるので、、、。
原因は何でしょうね、、、。
MAD32ダウンロードしましたので、後から感想書きます。
0372名前は開発中のものです。
02/01/03 02:32ID:???ってわけわからないね・・・
若いもんにも分かるような言い方はないものか・・・
0373名前は開発中のものです。
02/01/03 09:44ID:???多重ループの内側は最適化必須。
0374あきまさ
02/01/03 09:44ID:???いやぁ、スキル的には全然ですが、今後ともよろしくお願いします。
>>370
お…、良さげなサイトですね…。
存在を知りませんでした…。
勉強してみます。
>>371
>いやぁ、即座に修正が入るので驚かされます。ッンクス!
いえいえ、それだけが取り柄ですからね…。
>(「多分」製作終了。←「多分」てのが俺のせいかも?と思ってちょっと申し訳なくなりました。)
多分っていうのは結構前から入っていましたよ。
決して356さんへのあてつけではありませんので…。
>あらら、無敵状態はいってましたか、、。うーん余りにも連殺されるので、、、。
>原因は何でしょうね、、、。
無敵状態の間は一応コックローチの色が変わっているはずなんですが…。
どうでしょうか?
>MAD32ダウンロードしましたので、後から感想書きます。
本当にありがたいです。
これからも感想をお願いします。
>>372
うぅ〜ん…。
なんとなく分かるような気もするんですけどね…。
多分、分かっていないと思われる…。
0376あきまさ
02/01/03 10:33ID:???・変数の型の変更
・Withをenemy_mainで使用
・描画順の変更
です。
時間がかかる上に、面白くないですね…。
http://blue.ribbon.to/~akimasa/
0377名前は開発中のものです。
02/01/03 11:49ID:kh1fmQcMいや、あきまさは確実に上達しているぞ!
で、漏れからのアドバイス。
とにかく、コメントを大量に入れる事。
変数、サブルーチンなど全てにだ。
あきまさの部屋で君と顔付き合わせて相談している訳じゃ無いのだから。
具体的な指摘のレスが来ないのはこの為だよ。
例えば、変数なんかは、
'自機のX座標(0〜639まで)
'小数を加える場合もあるのでSingleにしている。
Dim px As Single
こんな風にコメント入れてくれていれば、解かりやすいだろ?
自分だけ解かれば良いとか、自分が解かるから他人も解かるだろうと
言うのはダメダメだね。
0378あきまさ
02/01/03 13:08ID:???>いや、あきまさは確実に上達しているぞ!
そう言ってもらえるとありがたいです。
ホントに。
>とにかく、コメントを大量に入れる事。
ほぉ〜、そうですか…。
コメントを入れてみます。
>自分だけ解かれば良いとか、自分が解かるから他人も解かるだろうと言うのはダメダメだね。
了解です。
ガムバリます。
0379あきまさ
02/01/03 14:19ID:???しんどかった…。
1時間15分かかった…。
意味不明なコメントがあるかもしれませんが勘弁してくださいね…。
http://blue.ribbon.to/~akimasa/
0380あきまさ
02/01/03 21:35ID:???やらないほうが良かったとか…?
0381あきまさ
02/01/03 22:54ID:???レスが帰ってこないと鬱な気分になります。
誰か批評してください…。
お願いします…。
0382あきまさ
02/01/03 23:24ID:???スマソ。
0383名前は開発中のものです。
02/01/04 00:58ID:???面倒だし、超個人的な意見なんだけどw
0385あきまさ
02/01/04 06:46ID:???自分が思いつくものは
Type StgType
existtime as long '出現するタイミング
existx as single '出現するX座標
existy as single '出現するY座標
existtype as long '敵タイプ
End Type
Public stg(63) as StgType
'で、後にこの変数にちまちま格納してやる(多分、関数を作って1行で済ませる)
stg(i).existtime=128
stg(i).existx=320
stg(i).existy=0
stg(i).existtype=0
ぐらいですが…。
これで問題無いでしょうか?
なんか、凄く面倒になりそう…。
0386名前は開発中のものです。
02/01/04 11:21ID:???同じ敵に違う攻撃方法をさせるような場合はバリエーション番号も持たせると吉。
データの入力が面倒なのは仕方がないね。諦めること。
0387名前は開発中のものです。
02/01/04 11:45ID:???ラジアンであってるよ
2π=360度
中学校で習わなかったっけ?
0388あきまさ
02/01/04 13:12ID:???おぉ、そうですか。
バリエーションは、多分enemy.typeだけで管理するのでイイかと思います。
>データの入力が面倒なのは仕方がないね。諦めること。
プログラマの皆さんはもっとしんどい事をしている、と。
諦めます…。
>>387
厨学校では多分やってません…。
π=3.14…
としか習った覚えが無いです。多分ですよ。多分。
自分が覚えてないだけかも…。
ラジアンの定義が分からないとマズーですか?
今日はホントに時間が…。
0389名前は開発中のものです。
02/01/04 13:24ID:???概算で57度くらい?
だから、半径1の円で180度の円弧を書くと、
その円弧の長さが3.14 ...になる、ということ。
>今日はホントに時間が…。
忙しいなら無理せんでも。
0390名前は開発中の名無しさん
02/01/04 18:25ID:???>数配列に格納してみたいのですが
2次元のマップに格納するのがいいかと。
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 ←1,2...が敵。
0 0 0 0 0 0 0 0
0 0 0 0 0 2 0 0
0 0 1 0 0 0 0 0
これで、自機が一定距離進むごとにマップを一行ずつ読む。
マップの右端が画面の右端に対応してると。
>中学校で習わなかったっけ?
今は、普通なら高校2年で習うはず。(エリート諸君はどうか知らんが)
たぶん、オッサン世代が今の高校生の教科書見たら「なんでアレが
載ってねぇんだ!」って思う。
行列で座標変換したりするのも削除されてるし(これが一番痛いかもしれん)
0391名前は開発中のものです。
02/01/04 19:23ID:???うむむ・・・
自分もオサーン世代に分類されるのか・・・
ソースみるとたいしたもんでないからこれ以上VBでは高速化できないかも
ポインタ使えないんだよねぇ?
思いつくのはIFのかわりに配列で分岐処理するくらいかな
0392あきまさ
02/01/04 21:29ID:???おぉ、ラジアンとはそういうものなんですか。
なんとか図を書きながら理解しました。
時間が無いといっても、
学校(意義の無いテストをやりに)→飯(この間に5分PCをいじることに成功)→部活→塾(長い…)→帰宅→現在に至る
って感じです。
夜はいつも1時間は確保できるので、無理してるわけでは無く、健康的です。多分。
…。
蛇足でしたね…。
>>390
ほぉ〜…。
そういうやり方もありますか〜…。
でもGates32とは違うような…。
まぁ、Gates32と同一である必要は無いのでありがたく使わせていただきます。
工房…。
無事に逝けるようになれるとイイ…。
>>391
ポインタってなんなんでしょうか?
なんか、Cを使うと出てきて、しかも異常に難しい印象があるのですが…。
えぇ〜と、まぁ、高速化は結構できたかなぁ〜と思うので、目に見える部分を作っていきたいと思います。
それに、作業地味たことをやっていたので精神的にキツかった気もしますし…。
部活が始まってしまって萎えますが、自分の趣味なので時間を割いてでも作ります。
多分(勉強もしないと逝けないけど…)。
0393あきまさ
02/01/04 22:11ID:???・敵が一応規則的に出現
・スコア表示に無意味なエフェクト
です。
上からだけだとやはり、つまらないので下からも出現するようにしました。
ちなみに、A:敵出現は一応残っています…。
http://blue.ribbon.to/~akimasa/
0394名前は開発中のものです。
02/01/04 22:29ID:XiInaram0395名前は開発中のものです。
02/01/05 00:11ID:wMQASIdb・getangleの引数の型が指定されていない(As...がない)。これだと全部Variant型なので遅いよ。
・plySndは、文字列の比較でどの音を出すか決めているようだが、文字列の比較は遅い。
Long型のConstを使ったら?。
Const SOUND_HIT As Long = 1
plySnd SOUND_HIT
みたいな感じ。
0397あきまさ
02/01/05 13:15ID:???・レベルアップの導入
・敵が規則通りに出現
・新しい敵を追加
です。
無限ループです。
http://blue.ribbon.to/~akimasa/
0398あきまさ
02/01/05 21:51ID:???・LIFEの導入
・氏んだときにボンバー
・レべルの表示
・あの音をあの音に変更
です。
LIFEの表示は明日作ります…。
http://blue.ribbon.to/~akimasa/
0399あきまさ
02/01/06 14:05ID:???・LIFEの表示
だけですが…。
ここを改良したほうがイイ!というところがあったらご指摘お願いします。
http://blue.ribbon.to/~akimasa/
0400名前は開発中のものです。
02/01/06 16:01ID:kA10WYefしゅみわるいっすー
0401あきまさ
02/01/06 16:10ID:???しゅみわるいです〜
…。
初心者モードみたいなのを作ろうかな…。
自分もレベル1どまりだし…。
0402あきまさ
02/01/06 16:41ID:???カナーリ簡単になったと思います。
モード選択は、タイトルが表示されきってからカーソルキーで選択できます。
アドバイスがありましたらお願いします。
http://blue.ribbon.to/~akimasa/
0403名前は開発中のものです。
02/01/06 17:15ID:???趣味悪いってのは同感かなw
もう少し健全というか、個人を特定できないのがいいかな
0404あきまさ
02/01/06 19:27ID:???ははは…、まぁ、その通りですね。
一応ウケねらいのゲームなので、次に作るものは『超健全』ぐらいのものを作りたいと思います。
とりあえず、ウケねらいっていうことで許してください〜。
0405あきまさ
02/01/06 20:25ID:???ジョイパッドを使いたくて、検索をかけて、一応それらしいサンプルは見つかったのですが、
同時にボタンを検出する方法が分かりません…(発想力が乏しいだけかもしれませんが…)。
ボタンを押すと数を返してきますが、同時に押すとプラスされた数が返されてくるのでどのボタンが同時に検出する方法が分からないのです。
分かる方は、どうか教えてください。
お願いします。
一応、自分が作ったものです。
http://blue.ribbon.to/~akimasa/files/JoyPadTest.zip
0406名前は開発中のものです。
02/01/06 23:15ID:???論理演算でいいじゃん。
ボタン3(&H08)とボタン4(&h10)が同時に押されていることを検出
if (j.dwButtons and &H08) and (j.dwButtons and &H10) then ..
例によってVBはよく分からないので適当に書いてるけど、こんな感じ。
論理演算とかビット演算って知ってる?&H08とか&H10の意味わかる?
0407名前は開発中のものです。
02/01/06 23:18ID:???あぁ、間違ってるかもしれん。
Cだと、
if (j.dwButtons&0x08 && j.dwButtons&0x10){...}
なんだけど、'&'と'&&'の違いってVBではどうするんだっけ?
0408名前は開発中のものです。
02/01/06 23:56ID:???(3年位前から使ってない)
SDKの中にサンプルプログラムあったよ
0409名前は開発中のものです。
02/01/07 00:44ID:???0410名前は開発中のものです。
02/01/07 01:34ID:???0411名前は開発中のものです。
02/01/07 01:48ID:???C言語はビット演算と論理演算が別演算子なんだす。
VBは知らん。昔のMicrosoft BASICはそんな区別は無かったかな?
if (j.dwButtons and &H08) <> 0 and (j.dwButtons and &H10) <> 0 then ...
が正解?
0412あきまさ
02/01/07 06:34ID:???おぉ、動きました(コピペだけれど…)!
>論理演算とかビット演算って知ってる?&H08とか&H10の意味わかる?
論理演算はXorぐらいしか意味を覚えてません…(しかもあやふや…)。
ビット演算…。はじめて聞いた単語だと思われます。
&H08とかはかろうじて16進数ということが分かるくらいです…。
正直、なぜif (j.dwButtons and &H08) thenで動くか分かりません…。
>>408
SDKは…。あまり見たことがありません…。
>>409
高度…。
>>410
一応>>406さんのやつで動きました。
>>411
自分はCはまったく分からない…。
あと、今、>>406さんので同時にボタンを検出しようとしたらできなかったので
>>411さんのやつをやってみたら同時に検出できました。
どうして動くのか分からない…。
0413あきまさ
02/01/07 06:51ID:???一応、検出はするのですが、
&H64などのボタンを検出しようとすると関係無いボタンが押されていても検出されてしまいます…。
原因が分かりません…(構造も理解していないので…)。
原因が分かる方は、是非教えてください。
参考になるサイトとかでもイイです。
おねがいします。
0414名前は開発中のものです。
02/01/07 08:34ID:???数値を2進数にして,「目で」見ると意味が分かると思うよ。
で,ジョイスティック関数で取得した数値とか画面に出せるなら,その数値を2進数と
して,「目で」見ると理解が深まると思う。
Windowsに付いてくる,電卓の関数電卓モードとか使ってもいいし。
16,10,8,2進数を相互変換出来て便利だよ。
0415名前は開発中のものです。
02/01/07 13:00ID:???0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, ...
と数えていく。
で、2進数のある桁に注目すると、'0'と'1'しかないわけだから、
デジタル機器なんかでは、これを'OFF', 'ON'に対応付けて考えたりする。
2進数表記の何桁目っていうのを、何ビット目と呼んだりもする。
ジョイスティックのボタンも↑のように、各桁がボタンのON,OFFの状態に割り当てられてる。
dwButtonsは、32ビット整数だから、1桁目から32桁目までがそれぞれボタン1〜ボタン32に割り当てられてるわけだ(多分)。
たとえば、ボタン4が押されたときは、00001000と4桁目が1になる。
ボタン5の場合は、00010000と5桁目が、両方押された場合は、00011000と2つの桁が1になる。
ちなみに、0001000を16進数にすると'&H10'(10進で'16')になる。
00001000は、'&H08'(10進で'8')だ。
次に論理演算(ビット演算とも言う)、and, orについて。
これらは、2進数表記での各桁の数字同士を計算する演算子で、
andは、両方'1'なら計算結果は'1'、それ以外なら'0'、
orは、どちらか片方が'1'なら計算結果は'1'、両方'0'なら'0'という様に計算される。
0110 and 0010 => 0010
0101 or 1010 => 1111
ここまではOK?
■ このスレッドは過去ログ倉庫に格納されています