■掲示板に戻る■ ■過去ログ倉庫めにゅーに戻る■

貴様ら!ブロック崩し作るので見てください
1 名前: ヒッキー@プログラミング 投稿日: 01/11/04 15:31
VBでWinAPIを使う方法がわかってきたので
作りたくなりました。

Bitbltなど使う予定ですが、細かい技術がないので、
小出しにプログラムしようと思います。
(タマが動くだけとか、キーボードで自機を動かすだけとか)

オナーニスレだけどよろしくね。


2 名前: デフォルトの名無しさん 投稿日: 01/11/04 15:33
名スレの予感!


3 名前: デフォルトの名無しさん 投稿日: 01/11/04 15:33
オナニでもがんばれYO!


4 名前: デフォルトの名無しさん 投稿日: 01/11/04 15:41
「完成しない」に3万5000薬師丸ひろ子


5 名前: ヒッキー@プログラミング 投稿日: 01/11/04 15:49
この前、軽くやってみたんですが、
タマが45度以外の方向に進むのがどうやればいいのか考え中です。

三角関数使って、傾き計算するだけでいいですかね?
とりあえず今からやってみます。


6 名前: デフォルトの名無しさん 投稿日: 01/11/04 15:50
がんばれ。
ただ、その前に物理の勉強が必要だな。(藁


7 名前: ヒッキー@プログラミング 投稿日: 01/11/04 15:55
あ、ヤパーリ物理の勉強しないとダメですか。

高校の数学もろくにできてないんで、難しいです。


8 名前: デフォルトの名無しさん 投稿日: 01/11/04 15:55
三角関数?簡単なブロック崩しだったらそんなの使わんぞ
壁の反射のヒントは「ビリヤード」かな?


9 名前: デフォルトの名無しさん 投稿日: 01/11/04 15:56
ヒント:直角で構成された世界では、玉の角度が変化するのは動いている物体に
あたった瞬間だけ。


10 名前: デフォルトの名無しさん 投稿日: 01/11/04 15:59
てめぇ!拝見させていただきますゴルァ


11 名前: 8 投稿日: 01/11/04 16:03
つーか、玉の軌道をX軸で反転すれば問題なし。


12 名前: ヒッキー@プログラミング 投稿日: 01/11/04 16:05
>>8
ビリヤードですか…苦手です。反射がイメージできない…。

>>9
角度の変化は動いている物体にあたった瞬間だけですか。
ほおほお。

>>10
ゴルァ!よろしくお願いします。


13 名前: 8 投稿日: 01/11/04 16:05
あ、Y軸軌道であればX軸を中心に軌道反転、
X軸軌道であれば、Y軸を中心に反転だな。

誤りゴメソ


14 名前: 8 投稿日: 01/11/04 16:18
ttp://www2.makani.to/akutoku/upload/dat/1004858247.bmp

こんな漢字?>1氏


15 名前: ヒッキー@プログラミング 投稿日: 01/11/04 16:23
>>14
おお、すばらしい手書きの画像をありがとうございます!
そういえばそういうの習いました…。

www.geocities.co.jp/SiliconValley/2530/block01.zip
↑ちょっと埋まってしまっておかしいですが、
 評価よろしくお願いします。ソース付き。
 いまんとこ45度です…


16 名前: デフォルトの名無しさん 投稿日: 01/11/04 16:24
 まあ、ビリヤードは跳ね返り係数を考慮しないといけないけど、ブロック
崩しならいらないかな。
 なので、>>13に加えて動いてる自機にあたったときに、どういう処理を
するかだね。


17 名前: デフォルトの名無しさん 投稿日: 01/11/04 16:26
>>15
ど、どうって。もっとおっきくしよーよ。
くらいしか・・・(汗


18 名前: 8 投稿日: 01/11/04 16:30
いやーVBワカンネ(藁

しかし、頑張ってプログラム作っている1氏に漏れはカンドーした!
Cが少しでもわかるなら、直線描画のソースやるけどいるか?
始点と終点入れるとライン描画する関数なんだけどさ、
ブロック崩し作るなら、この知識は絶対必要にナルヨ!
Cわからんっていうなら、文章形式で説明スルヨ


19 名前: ヒッキー@プログラミング 投稿日: 01/11/04 16:35
>>16
跳ね返り係数ですか。あとでビリヤード系のページ探して
見てみますね。ありがとう。

>>17
たしかに小さすぎた。でかくしてみます。

>>18
おー、ありがとうございます。
実は、Cはちょこっとやってるのですが、なにぶん、DOS窓で
動くのしか作れないもので…VESAのライブラリ拾って16bit色
出してみたいと思いましたが、英語の文書が読めなくて挫折しました。
ソースいただけるならかなり嬉しいです!


20 名前: デフォルトの名無しさん 投稿日: 01/11/04 16:35
「貴様ら!」と来て、「見てください」と突然丁寧になるのにワロタ


21 名前: デフォルトの名無しさん 投稿日: 01/11/04 16:55
つぎはとりあえず、キーボード入力でバーを動かすプログラムかな?


22 名前: 8 投稿日: 01/11/04 16:57
>1氏

ttp://www2.makani.to/akutoku/upload/dat/1004860590.txt

これね。10分後には削除するのでお早めに。


23 名前: ヒッキー@プログラミング 投稿日: 01/11/04 17:07
>>22
いただきました。どもども。
じっくり読ませていただきます。

>>21
今がんばって製作しております。


24 名前: ヒッキー@プログラミング 投稿日: 01/11/04 17:16
www.geocities.co.jp/SiliconValley/2530/block02.zip

一応キーボードで動くようになりました。
しかしZキーとXキーです。
当たったときの跳ね返り処理はまだないです。


25 名前: 8 投稿日: 01/11/04 17:28
次はバーの当たり判定とバー移動の狡猾化だな。

当たり判定は、最初は難しく考えずに、ボール画像の底辺の座標とバー画像の上辺が
交わっている時に、ボール軌道を壁と同じ処理にぶち込めばいいだけだ。

ガンバレ


26 名前: デフォルトの名無しさん 投稿日: 01/11/04 17:30
玉の速度をX成分Y成分に分ければヨシ。
考え方の詳細は物理の教科書で力学部分を参照。
跳ね返り係数はまず跳ね返り出来たときでいいんじゃない?


27 名前: デフォルトの名無しさん 投稿日: 01/11/04 17:41
跳ね返りのとき、単に速度符号を反転するだけだと
振動しまくって壁から抜けられなくなるときがあるので注意。


28 名前: デフォルトの名無しさん 投稿日: 01/11/04 17:45
../../HeartLand-Keyaki/7104/oha/free_8.htm
ここの、タキオンブロックっていうのを参考にしてみてください。面白いですよ。


29 名前: デフォルトの名無しさん 投稿日: 01/11/04 17:56
お前頑張ってるので鯖を提供してやる。
ttp://takuomix.homeip.net/


30 名前: ヒッキー@プログラミング 投稿日: 01/11/04 18:14
www.geocities.co.jp/SiliconValley/2530/block03.zip
次、うぷしました。なんとかバーから跳ね返ることに成功。
しかしたまに失敗します…

>>25
参考にさせていただきました。

>>26
ほおほお。了解しました。
物理の教科書…あるかな。

>>27
うい〜。次に実行ファイル作るとに考えてみます。

>>28
DLしてみますね。

>>29
まじですか?ありがとう。

ちょっと飯食ってきます


31 名前: 仕様書無しさん 投稿日: 01/11/04 21:07
>>5
> この前、軽くやってみたんですが、
> タマが45度以外の方向に進むのがどうやればいいのか考え中です。

http://www.cs.unc.edu/~mcmillan/comp136/Lecture6/Lines.html
を参考にせよ。(digital-devide line drawingとか呼ばれたalgorithm)

それから、90度(縦にまっすぐ)と45度の二つで、同じ速度で玉動かす事考えろや。
45度の時、1.414倍の速度になったら駄目だぞ。
時間軸と玉の移動も、線を書く時のx軸y軸と同じような間引きを考えないというこった。


32 名前: デフォルトの名無しさん 投稿日: 01/11/04 21:39
>>1
とりあえず、「ブレセンハム」って言葉を検索してみろ。


33 名前: デフォルトの名無しさん 投稿日: 01/11/04 21:46
ん。スレタイトルとは裏腹に良スレage


34 名前: 投稿日: 01/11/04 22:12
>>31
昔の元祖ブロック崩しはそんな高尚なことやってなかったと思うが、、、


35 名前: デフォルトの名無しさん 投稿日: 01/11/04 22:33
>>34
それは、ただ貴方が知らなかっただけだと思われ(w


36 名前:   投稿日: 01/11/04 22:35
>>31
それ、全然参考にならんって。(ワラ
玉の動きは角度とスピードから計算するのがヨロシ。
x = x + speed * cos(angle)
y = y + speed * sin(angle)
floatで保存しておいて、画面に描く時にintに変換せよ。


37 名前: デフォルトの名無しさん 投稿日: 01/11/04 22:50
>1
テメェ!早く拝見させてください


38 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:10
考えてるはずだ!
角度とか。



ごめん。言ってみたかった。


39 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:35
うおぉ・・・・、初めてこのスレに気づいたが、
なんだかプログラム始めたばかりの自分を思い出すぜー!
アップしてあるアプリとか見ても、なんだか初々しくて感動するぜ!
俺にもこんな時代があったなぁ。
1さん頑張れよぉ。


40 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:35
俺もVBで肩身が狭いので、1を何気に応援したい。

キー入力について(既に知ってたらごめんね)

Private Sub Form_keydown(KeyCode As Integer, Shift As Integer)

Ebd Sub
でキー入力イベントつかってるよね?

ここで引数の KeyCode に入力されたキーが入ってて、
上下左右のキーを押した場合、
vbKeyUp
vbKeyDown
vbKeyLeft
vbKeyRight
っていう値がそれぞれ入ることになってる。

だから、
If KeyCode = vbKeyUp Then 何他羅漢多良
っていう判別式をかけば、上下左右のキーで移動処理が可能になるよ。
ほかの動作キーにもそういう値があるからヘルプで確認してみて。
ついでに俺も初心者だ。


41 名前: ヒッキー@プログラミング 投稿日: 01/11/04 23:39
>>31
ほお、そうですよね。XとYを同時に足したら1.414倍になりますね…。
リンク先のページ、参考にさせていただきます…が、読めるかな。
あ、ソースはCか(藁

>>32
検索してみました。
割り算使わない&整数のみで可能ですか。ゲームに向いてそうですね〜。
できたら実装したいです。それにしても意外とブロック崩しって難解なんですね…。
ゲームってそういうもんでしょうか。

>>36
おお、めちゃくちゃ分かりやすいです。
ひとまず、36さんの方向で…

>>37
漏れも早く次うぷしたいんだモルァ!

>>38
計算してます。角度とか。


42 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:41
ブロック崩しの場合
横方向の速度は一定でよかったんじゃなかったっけか


43 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:44
ゲームとして成立させるためには、
キーボードのオートリピートの対策も絶対必要だな。


44 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:47
>43
メッセージキューにキー入力が残る事?


45 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:55
というかブロック崩しならマウスにすれば?


46 名前: デフォルトの名無しさん 投稿日: 01/11/04 23:56
おいおい、意外にも名スレだな。最近珍しいぞ。


47 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:02
いやぁ、VBでやるよりC++でやるほうが手軽で簡単だと思うぞ。
一回、DirectXのライブラリ組んでしまえば、アルゴリズムは全く同じなんだから。
VBの見えないフォームにビットマップ読み込んでデバコンを指定して・・・なんてかっこ悪いからな。


48 名前:  デフォルトの名無しさん 投稿日: 01/11/05 00:03
スレタイトルに好感が持てタ


49 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:04
衝突は
点でやるなよ
線でやれ


50 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:07
>47
VBでDirectX使えば良いのでは?


51 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:12
ブロックは4つに分解して飛び散り、その
破片にも当たり判定つけてください。


52 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:19
美女を背景にしてください。


53 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:21
自前で用意したバッファにボールからバーまで全部
自力で描画したりして、基礎を覚えるのも良いよ。
VBやDirectXのインターフェース覚えるのを頑張ってもいいが、
こっちは一生使える知識だし。
時代錯誤か?


54 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:27
>49
俺が昔VBで作ったブロック崩しが変な動作だったのは点で判定したせいだったのか。


55 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:28
4人対戦できる様にしてください。
画面を正方形にして、上下左右の各辺にプレイヤーを配置する形で。


56 名前: 40=44=50 投稿日: 01/11/05 00:28
>53
連続書き込みで悪いけど、やり方教えて。
特に、自前でバッファを用意するってとこ。
VBだけで可能なの?


57 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:32
どうせAPIつかうんならCでやった方が良いと思うけど。
VBでやる利点無いよね?


58 名前:   投稿日: 01/11/05 00:35
>>51
中々面白そうなので、俺が作る事にした(w
剛体力学ブロック崩し。


59 名前: 40=44=50=56 投稿日: 01/11/05 00:43
>57
初心者がプログラミングを勉強しやすいのが利点。
なんてったって、インタプリタだし。


60 名前: デフォルトの名無しさん 投稿日: 01/11/05 00:45
衝突は
線でもダメなら
面でやれ


61 名前: デフォルトの名無しさん 投稿日: 01/11/05 01:13
あれ?
1は?


62 名前: ヒッキー@プログラミング 投稿日: 01/11/05 01:30
>>39
ありがとうございます。がんばります。
>>40
うい〜。vbKeyLeftとかで矢印つかえるようになりました!
>>47
C++ですか…MFCというのがどうもよく分からなくて放置してました。
>>49
線で衝突というのはどうしましょう?四角く範囲区切るということですか?
>>51
難しいです…
>>52
完成したあかつきにはどっかから画像探して貼り付けます。
>>53
はーい。がんばりたいと思います。
>>55
Winsockコントロール使ったことがあるので、何とかなるかも。
最後に考えます
>>61
帰ってきました。


63 名前: デフォルトの名無しさん 投稿日: 01/11/05 01:31
ネットワーク対戦可にしてください


64 名前: ヒッキー@プログラミング 投稿日: 01/11/05 01:35
http://www.geocities.co.jp/SiliconValley/2530/
↑次のファイルうぷしました。
 とりあえず、Y軸方向へ進むときに角度を計算しました。
 >>36氏に感謝。

>>63
なるだけがんばります。


65 名前: 40 投稿日: 01/11/05 01:43
>61
あと、タイマーコントロールを使わないで、
代わりにループさせると処理が安定して早くなる。
VBのタイマーコントロールは優先度が一番低いらしいから。
で、ループ処理のなかに DoEvents と sleep をいれると、
うまくOSにも制御が戻るから。
sleep はAPIで、使い方は sleep(100)とか。
括弧の中の数字が、アプリの実行の停止時間で、1=0.001秒だったはず。


66 名前: デフォルトの名無しさん 投稿日: 01/11/05 01:58
背景の美女を脱がしてください。


67 名前: デフォルトの名無しさん 投稿日: 01/11/05 02:10
口調が変わってるじゃねーかゴルァ!!

似たスレどこかで見ました。


68 名前: 40 投稿日: 01/11/05 02:13
バグ報告

右に移動中、右からきた玉が自機を透ける。


69 名前: ヒッキー@プログラミング 投稿日: 01/11/05 02:14
>>65
ほおほお。sleep入れてみました。
VBのタイマーコントロールは怪しいらしいですね。
APIのGetTickCount使うようにしました。

>>66
脱がしたいです。

>>67
おもしろかったので真似しましたゴルァ!


70 名前: ヒッキー@プログラミング 投稿日: 01/11/05 02:18
>>68
ありがとうございます。
なんか、あまり考えずに書いたので、右側が跳ね返るときも
左側が跳ね返るときも同じ処理を書いていたようです…鬱

04を再アップしました


71 名前: 40 投稿日: 01/11/05 02:29
>70
了解!
俺は初心者だし、お互いがんばろう。
ついでに言うと、GetTickCountの使い方がわからん(ー_ー;


72 名前: デフォルトの名無しさん 投稿日: 01/11/05 05:28
>>1
スレタイトルの最初が>貴様ら<で、最後が>ください<になってるので
思わずみてしまった。

伽藍とバザール的良スレ。最後までやりとげてほしい。
このスレと結果報告を兼ねるHPで有意義な情報を公開にょ


73 名前: デフォルトの名無しさん 投稿日: 01/11/05 09:41
1、flag_x,flag_yは不要
  毎回SIN/COSを計算させずに 変数VX,VYを使う事
    ball_x = ball_x + VX;
    ball_y = ball_y + VY
  そして、壁にあたれば VX,VYを
    左右壁なら VX = -1*VX 上の壁がラケットなら VY=-1*VY と符号を変更する
  その場合-1ではなく -1.0001 のようにするとだんだん速度が大きくなって面白い


2、あたり判定は ball_x/y と VX/Y を足した後の線分との距離を使う事
   ラケットとなら線分の交差と点との距離を使え
  交差なら 交差判定で検索しろ
  点と線分の距離は
  http://pc.2ch.net/test/read.cgi/tech/1003559977/3


74 名前:   投稿日: 01/11/05 10:21
遅レスですまんが、
>>36
角度でやると、衝突後の反射ベクトル求めるのが大変だから、
素直にxyのベクトルでやった方がいいのでは?
応用(たとえば重力とか)やろうとしたときも、角度と長さでやると
後々困難になるしー。

>>62
線での衝突判定というのは、ボールのすり抜け防止の策です。
現在の位置と次ステップの位置の二点を結ぶ直線として、目的の線分との
交差判定を行います。
こうすると、どんなに速いボールでもブロックすり抜けなどの検出エラーは
出ませんぜ。
まあ今は壁だけの段階だからまだ関係ないけどね。
頑張ってね。


75 名前:   投稿日: 01/11/05 10:22
>>73
あらら、かぶった。ごめん


76 名前: ヒッキー@プログラミング 投稿日: 01/11/05 12:17
>>71
GetTickCountは、Windowsが起動してからの時間をミリ秒単位で
返す関数のようです。引数は無しです。
で、10ms経った時間を計ろうと思ったら、現在時間から前に計った時間を
引いて、10を超えたら…みたいに書いたらいいみたいです。

>>72
はい、なんとかHPにまとめてみたいと思います。
有意義な意見をくださる方がイパーイいらっしゃるので、
僕の為にだけではもったいないです。

>>73
そうですよね。Sinとか毎回計算してたら遅くなりそうですしね。
んで、線分の交差を検索したところ、外積やら知らない単語が
出てきたので、それを調べようとして泥沼状態です…
>その場合-1ではなく -1.0001 のようにするとだんだん…
ほおほお、たしかに(藁 取り入れてみたいです。

>>74
そういうことでしたか。ようやく納得できました。
ありがとうございます!


77 名前: デフォルトの名無しさん 投稿日: 01/11/05 12:28
線分の交差
http://piza2.2ch.net/tech/kako/996/996157997.html


78 名前: デフォルトの名無しさん 投稿日: 01/11/05 12:38
普通のブロック崩しって、
バーの端っこにぶつかったら急角度で跳ね返る、
要するに物理法則を無視した動きをするけどその辺はどのように解決する?

その辺をどうにかしないと、
バーやブロックや壁の垂直面・水平面が全て水平だったらボールの動く角度は
常に一定になるけど……。


79 名前: デフォルトの名無しさん 投稿日: 01/11/05 12:45
スライスで軌道が変わったりすると面白そう。
アナログなコントローラでないと無理だけど。


80 名前: 40 投稿日: 01/11/05 12:49
ボールの運動量とバーの摩擦係数から、反射後のx成分を求めるの?
俺としては、物理学的なものは無視して、まずは形にすることをお勧めする。


81 名前: デフォルトの名無しさん 投稿日: 01/11/05 12:51
そこらへんは作って楽しい所だから好きにやればいいんじゃないの?
 単純に端に8ピクセルより近ければ 端からの距離を Dとして
 VY:=-VT : VX=VX*D/8 とかでもそれなり


82 名前: デフォルトの名無しさん 投稿日: 01/11/05 13:47
>>81
それじゃボールのスピードが変わっちゃうYO!


83 名前: デフォルトの名無しさん 投稿日: 01/11/05 14:29
キー入力はAPIを使うこと(GetAsyncKeyState)
リアルタイムゲームでキー押下イベントを使うVBアプリは糞と呼ばれます

描画はバックバッファを使うこと
非表示のPictureコントロール(AutoRedraw=True)に全部描いてから
FromにPictureコントロールの内容をコピーしよう


84 名前: デフォルトの名無しさん 投稿日: 01/11/05 14:30
s/From/Form/


85 名前: デフォルトの名無しさん 投稿日: 01/11/05 14:49
貴様、ShiftKeyでバーの移動速度を倍くらいにしてください(w
>>83
キーコード
カーソルキー左 37 、カーソルキー上 38、シフトキー 16
だっけ?左右逆かも。


86 名前: 85 投稿日: 01/11/05 14:52
>>85
右39だ。上は関係ないや。
逝ってくる。


87 名前: デフォルトの名無しさん 投稿日: 01/11/05 15:35
キーコードはキー入力定数を使えば間違いない
vbKeyLeftとかってやつな


88 名前: デフォルトの名無しさん 投稿日: 01/11/05 15:52
ところで1さんはいつプログラミング始めたの?


89 名前: デフォルトの名無しさん 投稿日: 01/11/05 16:12
新しいファイルがアップされてた。


90 名前: ヒッキー@プログラミング 投稿日: 01/11/05 16:22
http://www.geocities.co.jp/SiliconValley/2530/block05.zip
↑次のファイルうぷしました。なんか、めり込みます…
 線で跳ね返る処理をコピペしたら、おかしくなりました。
 タマに、斜め方向に線をいれてます。(X状に)

>>77
リンク先、参考にさせてもらいます。どもです。
>>78
そうですね〜。完成が見えてきたら考えてみます。
>>79
アルカノイドのコンパネみたいなやつあったら嬉しいんですけどね(藁
>>80
うい〜。形を作ることを考えます。
>>81
そうですね〜。まずは好きにやってみます。
>>83
う…今回うぷした分でキー入力は修正しました。さんくす。
>>85
うい。してみました。
>>87
APIでキー入力の処理をしたので、VK_LEFTに変わってしまいました。
>>88
う〜ん、どのくらいでしょう。
趣味でたまにちょくちょくするくらいで、
期間的にはだいぶ長いことやってます…。
最初はファミリーベーシックで挫折(小学生時代)
ポケコンのベーシックにはまる(中学3年〜高校生)
CとVB勉強(高校〜)みたいな。


91 名前: デフォルトの名無しさん 投稿日: 01/11/05 17:04
>90
バグが酷いんだが、なんとかならんか?
激しく酷いぞ。


92 名前: デフォルトの名無しさん 投稿日: 01/11/05 17:06
まだ次期尚早かもしれないけど、マスクパターンを使った
擬似スプライト処理をしたほうがいいね。ボールのフチが見えて萎える。

それからバックバッファを使わないと後々困ると思うよ。
いまのままだと、ボールやバーの移動量をふやすと軌跡がのこっちゃうでしょ。


93 名前: デフォルトの名無しさん 投稿日: 01/11/05 17:10
それから、FormをUnloadしたときに正しく終了してないので
これは今すぐ直しなさい。
Form1_Unloadイベントに一行End書くだけでしょ。
タスクマネージャ見て驚いたよ。


94 名前: ヒッキー@プログラミング 投稿日: 01/11/05 17:30
>>91
すいません、徐々に直していきます。
>>92
うい。了解。
前にフチを消す処理を書いたような覚えが…探してみます。
バックバッファですか。そこに書いてから実際の画面に転送ですよね。
やってみます。
>>93
ごめんなさい…ウチでもタスクマネージャ見たら溜まってたんで
焦りました。05を再アップしました。
今まで試してくださった方、大変申し訳ないです。


95 名前: ヒッキー@プログラミング 投稿日: 01/11/05 18:39
http://www.geocities.co.jp/SiliconValley/2530/block06.zip
↑次うぷしました。
 背景になじませてみました


96 名前:   投稿日: 01/11/05 22:17
ちょっとおかしい部分あるけど、昨日に比べて格段に出来上がってるじゃん。
覚えるの早いねー。
ブロックの管理あたりで一騒動ありそう・・・。
何か考えてる?


97 名前: デフォルトの名無しさん 投稿日: 01/11/05 22:56
なんかペースが早いな。
消化できてても吸収できてないと後々にひびく。
1が無理してなきゃいいが・・・


98 名前: デフォルトの名無しさん 投稿日: 01/11/05 23:09
こんぐらいで消化不良起こすようじゃ・・・


99 名前: デフォルトの名無しさん 投稿日: 01/11/05 23:33
>98
消化はできてるだろ。
問題は、覚えたかどうかだ。


100 名前: デフォルトの名無しさん 投稿日: 01/11/05 23:38
100ゲット!


101 名前: デフォルトの名無しさん 投稿日: 01/11/06 00:46
名スレ!
このスレをヴァカ学生どものテキストに使いたいくらいじゃよ。
結局GDI描画にしたのねん。
メモリ上に仮想VRAMおったてて、スクリーンにBitBltかけるライブラリとか
なら探せばいくらでもありそう。
でも、プログラム的にはGDIのBitBltと同じような処理になっちまうだがな。
まあ、ともかく1よ、テキトーにがんばってくれや。
燃え尽きんようにな。


102 名前: デフォルトの名無しさん 投稿日: 01/11/06 01:00
あー見ている間に1に技術的に抜かれてしまった(w


103 名前: デフォルトの名無しさん 投稿日: 01/11/06 01:35
>102
そうなの?


104 名前: デフォルトの名無しさん 投稿日: 01/11/06 02:13
このスレはプロゲームプログラマのネタスレと見た。
ソースは全然見てねーけどな。


105 名前: デフォルトの名無しさん 投稿日: 01/11/06 07:59
>>104
いや、その線はないだろう。ソースを見てみれ。
ある程度経験を積んだ奴はどんなに素人らしいコードを
書こうとしても、必ずその「痕跡」がコードに現れてくるものだ。

ただ>>1は、スレの育て方のコツを知っているみたいなので
もしかしたら「プロの2チャンネラー」かもしれん・・・


106 名前: デフォルトの名無しさん 投稿日: 01/11/06 08:36
応援age


107 名前: 73 投稿日: 01/11/06 09:21
昨日言った事の1はクリアしたが2が出来ていいない
 衝突判定の為にはBallMove()の先頭で
  next_x = ball_x + vx
  next_y = ball_y + vy

 として ball_x/y next_x/y の線分との距離判定を使いなさいと言った筈だ
1、まず、線分と線分の距離を求めるルーチンを作りなさい。
  そして、 枠とラケットへの線分との距離を順に求めなさい
 その距離がボールの大きさより小さければその回に衝突する


108 名前: ヒッキー@プログラミング 投稿日: 01/11/06 09:29
おはようございます。今日もがんばろうと思います。
だんだん難しくなってきたので昨日ほどの進捗は無いかもしれませんが…。

>>96
おー、ありがとうございます。嬉しいです。
ブロックの管理ですか…配列の中に入れようと思いますが、
まだぼんやりとしか思い浮かばないので、ちょっと紙に書いて考えます。
>>97
ちょっと無理目です。でも努力をしないと技術がつかないと思うので
がんばりたいと思います。
>>101
どもです。
スクリーンにBitbltですか。ウインドウから位置を計算してその上に
乗せればいいわけですね。
学校の先生ですか?がんばってください。
先生から受ける影響(ソースの書き方とか)大きいです。
>>105
2chねらー歴は数ヶ月です(藁
何度かスレ立てて、どうやったら面白いか考えてました。
おっしゃる通り、素人でございます。


109 名前:   投稿日: 01/11/06 09:33
>>107
強制するのはよくないよ。
自分で考えて作るのがプログラムの楽しさだ。


110 名前: デフォルトの名無しさん 投稿日: 01/11/06 10:04
メインループの書き方がどうもね…
いまのままだと処理内容が増えるにつれて
リニアに遅くなるよね


111 名前: デフォルトの名無しさん 投稿日: 01/11/06 10:27
>>110
ゲームってそうゆうもんだよ。


112 名前: デフォルトの名無しさん 投稿日: 01/11/06 12:48
>>19
>動くのしか作れないもので…VESAのライブラリ拾って16bit色
漢発見!


113 名前: デフォルトの名無しさん 投稿日: 01/11/06 13:10
>>111
んなこたーない

1フレームの処理Pにかかる時間をn(msec)とし、
フレーム更新間隔をm(msec)としたら、
本来1フレームはPを処理したあとに(m-n)msecを
sleepすべきである。(これを画面走査線の動作に
あわせるのが、vsyncである)
したがって、n<=mである限り1フレームの更新間隔は
nによらず一定で、その値はmである。


114 名前: デフォルトの名無しさん 投稿日: 01/11/06 13:22
一方、このブロック崩しは
1フレームの更新間隔m=(10+n)msecとなることは自明。
プログラムの組み方によるが、たとえばブロック1つにつき
処理時間lを要するとすれば、ブロック数kに対しn=a+l*kである
つまり、m=(a'+l*k)となり、変数kによってmが線形的に変化する
こととなる。

これは、「ブロックが大量にあるスタート時とブロック残り数が
少ない最後のほうでフレーム更新間隔が異なる」ことを意味する。
フレーム更新間隔の変化は、パドルの動作、ボールや演出の動作にも
影響を与え、ゲームとしての品質を低下させる。


115 名前: ヒッキー@プログラミング 投稿日: 01/11/06 14:49
http://www.geocities.co.jp/SiliconValley/2530/block07.zip
sleepの処理を改善してみました。>>113氏に感謝。

>>107
線分と線分の距離を求めるアルゴリズムを検索してみます。
ちょっと考えがついていってないので、しばしお待ちを…
>>110 - >>113 - >>114
ご指摘ありがとうございます。
たぶん、おっしゃる通りに改善できたと思います。


116 名前: デフォルトの名無しさん 投稿日: 01/11/06 14:56
>>114
ブロックとの衝突判定をどうするのかまだ決まっていない状態で
議論しても始まらんだろ。

とりあえずぱっと思い付いた(つーか、ありがちな)方法だが、
普通ブロックって奴を画面に配置する時は縦横きれいに整列されているので、
その構造を利用するだけでも

     線1本との交差判定にかかる処理時間
     縦方向に配置するブロックの最大数を r
     横方向に配置するブロックの最大数を c

とした場合、その衝突判定にかかる処理時間は(生存しているブロックの
数に関わらず)

     l * r * c

で済むんではないの?
(ついでに線との衝突判定を律義に1本ずつ計算せずに
「どの線とぶつかる可能性があるか」を計算で拾い出せば
もっと速いけどな)


117 名前: 116 投稿日: 01/11/06 15:03
あ、悪りぃ。細かい事だけど、
>線1本との交差判定にかかる処理時間

>線1本との交差判定にかかる処理時間を l
に読み替えてくれ。


118 名前: ヒッキー@プログラミング 投稿日: 01/11/06 15:12
やっぱ07おかしいかも…いったん削除。


119 名前: ヒッキー@プログラミング 投稿日: 01/11/06 15:31
再アップしました。


120 名前: デフォルトの名無しさん 投稿日: 01/11/06 15:55
1はホントにヒッキーなの?


121 名前: デフォルトの名無しさん 投稿日: 01/11/06 16:00
>>116
別に今回のブロック崩しでどういう処理をするかは論じてない
あくまでゲームループ一般の話題であり、ブロック衝突に
かかる計算量は、あくまで一例としたまでで
気に食わないなら「ボールが複数に分裂した場合」でも
「敵が複数出現する場合」でもかまわない

それよりあれだけの情報で新しいリリースではちゃんと修正している
>>1はかなり理解力が高いと思う
ソース見たけど、いわゆる「処理落ち」まできちんと考慮してるみたいだ
初心者は初心者なんだろうけど、頭はかなりよさそうだね


122 名前: デフォルトの名無しさん 投稿日: 01/11/06 17:09
なんでこのスレsage進行してるの?ageてもいいんじゃ・・・


123 名前: デフォルトの名無しさん 投稿日: 01/11/06 17:35
まだ、ボールがパドルにめり込んでスタックするというバグが残ってるよね
反射の処理が冗長な割に正確じゃないのよね。思い切って書き直したほうがいいと思う

if パドルの上端(上半分)に接触 then vy=-abs(vy)
if パドルの下端(下半分)に接触 then vy=abs(vy)

ってなふうにad hocに書いたほうが妙なバグに悩まされずに済むよ


124 名前: 速報 投稿日: 01/11/06 17:41
1頑張れ。完成したぞ。

http://game.2ch.net/gamedev/


125 名前: デフォルトの名無しさん 投稿日: 01/11/06 17:46
>>124
おお、待ち望んでいたものが。ワショーイ


126 名前: デフォルトの名無しさん 投稿日: 01/11/06 18:08
ブロポンみたいにしようよ・・


127 名前:   投稿日: 01/11/06 21:53
>>124
ってことは、これは板違いにつき終了ってことね。


128 名前: デフォルトの名無しさん 投稿日: 01/11/06 22:22
>127
まだインフラ整備されてないようだから、それまではいいんじゃない?


129 名前: デフォルトの名無しさん 投稿日: 01/11/06 22:30
とりあえずこのスレは使い切って欲しい


130 名前: デフォルトの名無しさん 投稿日: 01/11/07 00:12
移転するならアドレスかいてくれYO!


131 名前: ヒッキー@プログラミング 投稿日: 01/11/07 12:28
http://www.geocities.co.jp/SiliconValley/2530/block08.zip
↑次あぷしました。
 1.タマがめり込む現象の改善
 2.線分の交差で跳ね返っていたのを消して、もっと単純に

>>123
思い切って書き直しました。
めり込みがなくなったかと思います。
>>124
昨日、記念カキコしてきました(藁
これが終ったら、向こうに逝きたいと思います。
>>127
あああああああああああああああああああああ、ちょっと待って(w

久々age


132 名前: デフォルトの名無しさん 投稿日: 01/11/07 20:03
珍しく良スレだな。
こういうのがゲ術板でも出てくるといいのだが。


133 名前: デフォルトの名無しさん 投稿日: 01/11/07 20:27
http://www.tkcity.net/~lucify/top/pikumin.jpg


134 名前:   投稿日: 01/11/07 22:28
ゲ術板、PCのカテゴリに移動したね。
厨房減ればいいけど。


135 名前: ヒッキー@プログラミング 投稿日: 01/11/07 22:38
http://www.geocities.co.jp/SiliconValley/2530/block09.zip
↑次あぷしました。
 ブロックとぶつかるようにしました。

>>120
本当にヒッキーです。かれこれ数ヶ月になります。
>>133
ワラタ
>>134
おぉ、ほんとだ。良い板になるといいですね。


136 名前: デフォルトの名無しさん 投稿日: 01/11/07 23:13
>1
もっとスピード早くして。


137 名前: ヒッキー@プログラミング 投稿日: 01/11/07 23:20
http://www.geocities.co.jp/SiliconValley/2530/block10.zip
早くしてみました。


138 名前: デフォルトの名無しさん 投稿日: 01/11/07 23:28
>>1
いまんとこ定数ごっちゃになってないけど、
大丈夫か?きちんと見た目わかりやすく定義した方がよくないか?

そんなこという俺もいっつも適当だけど、鬱


139 名前: ヒッキー@プログラミング 投稿日: 01/11/07 23:59
http://www.geocities.co.jp/SiliconValley/2530/block11.zip
↑ついにゲームっぽくなりました。

>>138
定数ですか。
AND演算に使ってないので、大丈夫だと思います。
ただ、マジックナンバーをなくそうかと。
定義、見やすくしてみたいと思います。


140 名前: デフォルトの名無しさん 投稿日: 01/11/08 00:27
ついでに変数もint〜〜などと書いてほしい

などと言ってみるテスト。


141 名前: デフォルトの名無しさん 投稿日: 01/11/08 02:02
>>139
210点でクリアー.
1はいい調子だね.


142 名前: デフォルトの名無しさん 投稿日: 01/11/08 10:31
>>139
いいね、いいね。シンプルだけど遊べるよ。
ただ、「この角度でボールに当たったら、こうは動かんだろ〜」という
ストレスが多少ありますね〜。


143 名前: デフォルトの名無しさん 投稿日: 01/11/08 10:59
まじで名スレ (・∀・)ガンバレ!
実は、リリース版まで上がってて小出しにしてるのかとか
一瞬疑ってしまったよ
モチベーションって大切だよな、うんうん


144 名前: デフォルトの名無しさん 投稿日: 01/11/08 15:21
ゴルァ>>1!!がんばって下さい。


145 名前: 初心者 投稿日: 01/11/08 16:03
漏れはプログラム始めたばかりでAPIサパーリだが、応援させてもらうぞゴラァ
>>1!頑張ってください


146 名前: 2 投稿日: 01/11/08 16:07
漏れもうれしいぞ。


147 名前: ヒッキー@プログラミング 投稿日: 01/11/08 17:20
http://www.geocities.co.jp/SiliconValley/2530/block12.zip
↑計算してみました。角度とか。
 あと、ステージ2を追加しました。

>>140
間違えそうになりましたよ(藁
>>141
おお、どうもありがとうございます。21個、ブロックがあるので
210点になります。
>>142
たしかにちょっと変ですね…。
自機の横にあたったときは上に行くようにしてます。
>>143
このスレ立てたときに1から作りました。
みなさんのおかげで、なんとかゲームらしくなりました。ありがと〜。
>>144
まだまだがんばります!
>>145
うい〜。APIは僕も最初、ちんぷんかんぷんでした。
ある日、突然目覚めました。
>>146
お〜、どもです。スレ維持する為にがんばります。


昨日、アルゴリズムの本を買ってきました。
もうちょっと勉強します…


148 名前: デフォルトの名無しさん 投稿日: 01/11/09 09:17
なんかいい雰囲気だな。オレもむかし、MSXでブロック崩し作った。
昔のブロック崩しは、ブロックの横からの判定がなくて当たり前で、
衝突判定はかなり単純なものだったなあ。

ボールの角度も、エポック社の取説では、ラケットに当たった位置に
よって、4方向(!)ぐらいだけだったような。
そのレベルはとっくに超えてて、いいぞゴルァ!


149 名前: デフォルトの名無しさん 投稿日: 01/11/09 11:34
1さんの作品が完成したら、プログラミング始めたばかりの人たちによる、
「貴様ら!○○作るので見てください」をシリーズ化キボン。


150 名前: デフォルトの名無しさん 投稿日: 01/11/09 14:16
>>149 ただし「貴様ら!HelloWorld作るので見てください」は却下な。


151 名前: ヒッキー@プログラミング 投稿日: 01/11/09 14:20
http://www.geocities.co.jp/SiliconValley/2530/block13.zip
↑3面追加&グラフィック変更しました。

>>148
おぉ、MSXですか。
当時はプログラムを打つと言えばファミリーベーシックしか知りませんでした。
MSXを知ったのはプレステ出てからです(藁
お褒めいただき、ありがとうございますゴルァ!
>>149
これ終ったら、また新たなスレ立てようと思っております。
みんなでシリーズ化したら面白そうですね。


152 名前: デフォルトの名無しさん 投稿日: 01/11/09 14:50
>>149
それちょっと考えてみた。
しかし、現時点でかなり1に遅れをとっている状態であり、
怖くて立てる勇気がない。


153 名前: 141 投稿日: 01/11/09 18:11
>>151
660点でクリア.
1,成長早いね.exeのアイコン変わってるし.

途中で1回玉がブロックの下素通りしたよ.
玉はもうちょっと早くてもきもちいいなぁ.


154 名前: ヒッキー@プログラミング 投稿日: 01/11/09 19:10
あれ、書いたのに書けてなかった…ショック
さっきなんて書いたっけ…

http://www.geocities.co.jp/SiliconValley/2530/block14.zip
↑次あぷしました。
 2周目以降の追加&ブロックから確実に跳ね返るようにしました。

>>152
厳しい意見をもらっても、凹まない精神があれば大丈夫と思います。
一緒にがんばりましょう。
>>153
テストプレイ、さんくすです。
ちょっと玉の加速度を上げました。


155 名前: デフォルト 投稿日: 01/11/09 19:22
ステージのデータをファイルから読み込むようにして欲しいなァ。
効果音とかあると気持ちいいかも。


156 名前: デフォルトの名無しさん 投稿日: 01/11/09 19:23
>>149
でも乱立されるとちょっと。


157 名前: デフォルトの名無しさん 投稿日: 01/11/09 20:10
>>149
ゲ製作技術板でやるべき


158 名前: デフォルトの名無しさん 投稿日: 01/11/09 20:14
>>157
ゲームとは限らないの方向で一つ。
「貴様ら!コンパイラ作るので見て下さい」とか


159 名前: デフォルトの名無しさん 投稿日: 01/11/09 21:35
>>158
「貴様ら!ゲームライブラリ作るので見てください」だったら萎え


160 名前: デフォルトの名無しさん 投稿日: 01/11/09 21:45
「貴様ら!コドモ作るので見て下さい」キボーン


161 名前: ヒッキー@プログラミング 投稿日: 01/11/09 22:01
http://www.geocities.co.jp/SiliconValley/2530/block15.zip
↑音が鳴るようになりました。

>>155
ステージデータ、ファイルから読めるようにしてみたいですねー。
Txtで作れるようにしようかな…。
>>160
それ、見てみたいです。
あ、行為だけならビデオで見てるか…


162 名前: デフォルトの名無しさん 投稿日: 01/11/09 22:04
そこの女!オナニーするので見ていてください


163 名前: デフォルトの名無しさん 投稿日: 01/11/09 22:12
貴様ら!物理法則のシミュレーションを教科書の最初から順にやっていくので見てください!


164 名前: デフォルトの名無しさん 投稿日: 01/11/09 22:18
>>163
真面目に嫌。


165 名前: デフォルトの名無しさん 投稿日: 01/11/09 22:22
なんかコメントとかしっかりしてるけど。
>>1は何か他の言語の経験者?


166 名前: ニセイチ 投稿日: 01/11/09 22:26
>>165
COBOLとForthとアセンブラやったことあります。


167 名前: デフォルトの名無しさん 投稿日: 01/11/09 22:33
>>166
で?そのレスのどこで笑え・・・・・と?


168 名前: デフォルトの名無しさん 投稿日: 01/11/09 22:35
>>165
細々とやってたらしいよ。
基礎は身に付けてるみたい。


169 名前: デフォルトの名無しさん 投稿日: 01/11/09 23:04
最初はヘタレてても、ちょっとアドバイスするとそれ以上のものを
作ってくる1は、正直すごい。
さて、ステージデータのファイル形式、どんなのを作ってくるかな?
ステージエディタなんかも作ってみては?


170 名前: デフォルトの名無しさん 投稿日: 01/11/09 23:13
>>168
そうなんだ。誰かコメントつけなさいってアドバイスしたのかと思った。
(すまんスレ全部読んでない)プログラマとしての素養は備えているね。
俺はだめだ。もうやーめたっと。


171 名前: デフォルトの名無しさん 投稿日: 01/11/09 23:17
>>167
うるへーばか('Д´)お前はそこでかわいてゆけ


172 名前: デフォルト 投稿日: 01/11/09 23:18
>>1=>>2だとしたら、かなりのやり手だな。


173 名前: デフォルトの名無しさん 投稿日: 01/11/09 23:27
>>171
「うしおととら」の偽なまはげ編だな。 


174 名前: デフォルトの名無しさん 投稿日: 01/11/09 23:33
>169
えへへ・・・お前・・・優しいなぁ・・・


175 名前: 2 投稿日: 01/11/09 23:34
残念、>>2はオレだ。
マジで予感したよ。


176 名前: デフォルトの名無しさん 投稿日: 01/11/10 00:40
魔○シュ○ティ○グのときは、こんなに温かくなかったなあ(藁


177 名前: デフォルトの名無しさん 投稿日: 01/11/10 00:42
これをHSPで作ってたら、
また違った展開になっていたと思われ。


178 名前: 171 投稿日: 01/11/10 01:02
ってか、うしとらに反応あって嬉しい。


179 名前: デフォルトの名無しさん 投稿日: 01/11/10 01:22
>>1
漏れも応援してるよ! ガンバレ!


180 名前: 141=153 投稿日: 01/11/10 01:29
>>161
動かしてみたよ.いいじゃん.音.
動きも速くなってていいね.

あとは,玉とラケットが接触するとき,
ラケットと玉との相対スピードで飛ぶ方向変えれると,
もっとはまるね.


181 名前: デフォルトの名無しさん 投稿日: 01/11/10 06:37
1の件が一段落付いたら。

貴様ら! プログラマークエスト作るので見ていて下さい。ってのやろう。

プログラマークエストII-悪霊のクライアント
http://pc.2ch.net/test/read.cgi/prog/1000130870/


182 名前: デフォルト 投稿日: 01/11/10 11:01
>>1にはシューティングとか作ってもらったほうがいいかも。
ちょっと期待しちゃう。


183 名前: デフォルトの名無しさん 投稿日: 01/11/10 12:29
>>182のような物もいいかも知れないけど、
VBを卒業してLinuxでもいれてCを勉強したほうが1の為に良いだろう。
1は素質があるようなのでオープンソースの場で活躍が期待できそう。

そんなわけで期待age


184 名前: デフォルトの名無しさん 投稿日: 01/11/10 13:38
>>4はこのスレの参加者全員に薬師丸ひろ子を配ること


185 名前: デフォルトの名無しさん 投稿日: 01/11/10 14:00
ワラタ


186 名前: デフォルトの名無しさん 投稿日: 01/11/10 16:45
>>1
VCでやったほうがいい
VBは所詮厨が使うもの


187 名前: デフォルトの名無しさん 投稿日: 01/11/10 17:31
>>186
1をM$依存症にする気か?
1の明るい未来のためにCのほうがいいと思われ。
つーか、あなたは既にM$依存章のようですが?(藁


188 名前: デフォルトの名無しさん 投稿日: 01/11/10 17:39
/. jp 的アンチ MS 主義者ですか?
Windows 使っている限り MS の掌の上なんだから諦めも肝心。
それはそれとして opensource 活動もするのが大人のやり方。


189 名前: 187 投稿日: 01/11/10 17:43
Windowsなど使っていませんが何か?


190 名前: ヒッキー@プログラミング 投稿日: 01/11/10 18:13
http://www.geocities.co.jp/SiliconValley/2530/
↑16個目UPしました。
 ステージエディットできるようにしました。
 あと、毎秒100フレームは計算しすぎかと思って、50フレームにしました。

>>180
一応、ラケットの進む向きで角度を変えられるようにはしてあります。
でも、物理法則に反してるかもしれません(藁
コマンドラインオプションで、/dをつけて起動してみてください。
>>181
リンク先、見てみます。
>>182
シューティングつくりたいです。怒首領蜂みたいなやつ。
>>183
Linuxですか…ちょっと敷居が高いです。
インストールしたことはあるんですけどね…
>>186
VC、いじってみようかと思います。
>>187
僕もすでにVBいじってる時点でM$依存症かも…

ちょっと疲れ気味です。
>>4さんから送られてくる予定の薬師丸ひろこでなごみたいと思います。


191 名前: デフォルトの名無しさん 投稿日: 01/11/10 18:41
>>186
( ´,_ゝ`) VC・・・   p


192 名前: デフォルトの名無しさん 投稿日: 01/11/10 19:33
>>190
> ちょっと疲れ気味です。
> >>4さんから送られてくる予定の薬師丸ひろこでなごみたいと思います。
ウマイ!!!
で、ちゃんと休憩しているか?


193 名前: デフォルトの名無しさん 投稿日: 01/11/10 20:08
>>187
グラフィックスやサウンド絡んだら、いずれにせよ Generic な C/C++ の範囲外だから、環境依存に
なるのは仕方ないと思われ。

まぁ SDL あたりのライブラリを使うって手もあるけどさ。


194 名前: デフォルトの名無しさん 投稿日: 01/11/10 23:05
>>189
で、結局のところ何を言いたいの?

ゲームなんか作ってないで、C 勉強して Linux の開発やれって意見なら大きなお世話だし、Win32
ではなく Linux にターゲットを移そうという提案にしても、ゲーム開発に限れば Win32 + GDI と比較
して Linux + svgalib, Linux + X11 で特にメリットがあるとは思えないけど。

Win32 は

- マルチメディア関連の API が標準化されている
- 情報も豊富
- 開発環境も整っている
- 利用者が多い

という点で、趣味のゲーム開発者にとっては、これを選択する十分な理由があるよ。

>>1
とりあえず VB + GDI でしばらくやってみて、限界を感じたら VB + DirectX なり VC に移れば良い
と思う。趣味でやってることなんだし、プラットホームや言語はなんでも良くて、ゲーム作って本人も
周囲も楽しむのが最優先でしょ :D


195 名前: ヒッキー@プログラミング 投稿日: 01/11/10 23:31
http://www.geocities.co.jp/SiliconValley/2530/
↑17番UPしました。
 サウンドを、毎回ファイルから読むのではなくて、
 実行ファイルのリソースの中に入れてみました。

>>192
夜は早めに寝ています。
あんまり全力でやらないように、適度に努力してみます。
>>193
SDL、検索してみましたが面白そうですね〜。
使ってみたくなりました。
>>194
うい〜。DirectXはかなり興味があります。
VBで使うのはめんどくさそうなので、VCから使いたいです。
もっと勉強しないと…


196 名前: デフォルトの名無しさん 投稿日: 01/11/10 23:39
>>1
( ´ゝ`) < MacOSXの世界に来ないかい?


197 名前: デフォルトの名無しさん 投稿日: 01/11/10 23:45
VB+DirectXなんてできるの?
どうでもいいが。
>>196
なんのメリットが?


198 名前: デフォルトの名無しさん 投稿日: 01/11/10 23:46
>>197
できるYO!


199 名前: デフォルトの名無しさん 投稿日: 01/11/11 00:09
>>197
( ´ゝ`) < 偏見パレードかもしれないけどね

・ProjectBuilderだと、VB並てかそれ以上の操作性+各オブジェクトの
 関係の理解がし易くなる
・Appleだけあって、メディアが作り易い
・C言語の拡張であるObjectiveCとJavaが使える
http://www.big.or.jp/~crane/cocoa/ ←ここでほとんど理解できる。

( ´ゝ`) < いじょーだよ。
( ´ゝ`) < あくまでも偏見だからね。
( ´ゝ`) < でもProjectBuilderはマヂに生産効率アップできるよ。


200 名前: 199 投稿日: 01/11/11 00:11
( ´ゝ`) < 日本語が以上に変。鬱蛇志之右


201 名前: デフォルトの名無しさん 投稿日: 01/11/11 00:24
ttp://mackoy.cool.ne.jp/
ここはVBだったはず。
昔はVBって書いてあったけど今は見つけられなかった


202 名前: ROM 投稿日: 01/11/11 04:06
>>各位
それぞれの信念理念を元にした野外での議論は必要無いのではとおもわれ
>>1
いろんな意見があるが最終的には1自身できめてください。
少し休憩して、ロールプレイング的な感覚を楽しませてください。
応援してますぞ


203 名前: デフォルトの名無しさん 投稿日: 01/11/11 10:15
>>1
なんか知らんが、こう言うスレの中では、
ここの>>1がすき。

応援しとるぞ、折れも。


204 名前: ヒッキー@プログラミング 投稿日: 01/11/11 20:45
hp.vector.co.jp/authors/VA019204/programming/
↑ここのページ見てちょっと凹みました。
 中学生でもこんなにすごい人がいるとは。
 ちなみに僕はコンピュータ系専門学校に逝っていましたが
 あまりに酷いので逝かなくなりました。親に悪いことをした…

>>199
Macでプログラムってあんまり考えなかったです。
いろいろソフトがあるんですね。ほおほお。検索してみようと思います。
>>201
電車のゲームですか?
Direct3D使ってるんですねー。すごい。
>>202
うい〜。応援どうもです。
今日は休憩しました。またがんばろうと思います。
>>203
ケコーンしましょう。

一覧から消えたのであげ


205 名前: 203 投稿日: 01/11/11 21:28
>>204
オランダあたりじゃないと、結婚できないな、
>>1さんは男みたいだし。


206 名前: デフォルトの名無しさん 投稿日: 01/11/11 22:43
>204
本にいくらでも書いてあるんだから、そんなHPでへこむな。
やってないだけで、やればできるだろ。


207 名前: リア厨 ◆3JQchEFY 投稿日: 01/11/11 22:55
>>204
前に見たときはスゴイって思ってたけど、
「プログラムは何故動くのか」とかいう本みたら
「たいしたことないじゃん。」って思えたよ。
つまり、206に激しく同意


208 名前: デフォルトの名無しさん 投稿日: 01/11/11 22:57
というか、やろうという意思、モチベーションを
維持しつづけられる若さと情熱にあふれた>>1
何よりも眩しく、羨ましい。


209 名前: 141=153=180 投稿日: 01/11/12 00:00
>>195
1360点でクリア.
1,ほんとえらいよ.言語とかどうでもいいから,とにかく
このゲームををひとつしあげてほしい.

思ったこと.
玉が加速して面白いね.そのせいか,
そろそろShift2倍速もつらくなってきたね.
アナログコントローラじゃない壁をどうやっておもしろく取っ払おう?
圧縮ファイルの作り方は,16個目のより17個目のほうが好き.
いちおうこわいからソース調べてからVBでコンパイルして遊んでるので,
別フォルダになってないほうが手間がすくなくてうれしい.
あとさ,こまかいことだけどさ,ボールの影の形四角っての
そろそろやめない?

とにかく1,楽しみにしてるからがんばれ.


210 名前: デフォルトの名無しさん 投稿日: 01/11/12 00:03
>四角
関数変えるだけだと思うので1行書き換えておK


211 名前: ヒッキー@プログラミング 投稿日: 01/11/12 00:47
>>205
スイマセン、男です(藁
>>206 >>207
そうですねー。そういう分野の本も読めばいいんですね。
ちょっと救われました。
>>208
ありがとうございます。
ヒッキーなので、日々の生活で精神が乱されることがないので
継続できているんだと思います。学校に通ってた時は苦悩の日々
でした。
>>209
毎度、ありがとうございます。
ボールの影、ウチの環境(Win2000)では出ていなくて、
今までわかりませんでした…。
ちょっとBitbltの引数を考えたいと思います。
それから、これからは17個目のような形式であぷします。


212 名前: ヒッキー@プログラミング 投稿日: 01/11/12 20:17
http://www.geocities.co.jp/SiliconValley/2530/block18.zip
↑処理を簡素化&ボールの後ろの四角が見えないようにしました。
 だいぶ軽くなったと思います。
 あと下に落ちたときに、はじめからやるボタンを追加しました。

http://www.geocities.co.jp/SiliconValley/2530/block_ed.zip
↑それから、どなたかステージエディタを試して頂けないでしょうか。


213 名前: デフォルトの名無しさん 投稿日: 01/11/12 20:21
これから試してみますね。age!!!


214 名前: デフォルト 投稿日: 01/11/12 20:54
重なったブロックにボールが当たると、ボールが当たったほうは
消えますが、当たってない方が欠けてしまいます。


215 名前: ヒッキー@プログラミング 投稿日: 01/11/12 21:03
>>213
ういー。どもです。
>>214
あー、たしかにそういう風に書いてしまいました…
見直します。サンクス!


216 名前: ヒッキー@プログラミング 投稿日: 01/11/12 23:08
http://www.geocities.co.jp/SiliconValley/2530/block19.zip
↑ブロックの跳ね返りの処理を見直しました。
 ちょっとストレスが減ったかな…。
 それから、重なったブロックが欠けないようにしました。
 処理をだいぶ減らしたので、おかしくなってる部分があるかも。


基本的な動きができるようになってきたので、そろそろ
壊せないブロックや、点数の違うブロック、2回当てないと壊れないブロック
など追加したいと思います。あと、空中にいる間に壊したブロックを
格ゲーのコンボ(?)みたいにカウントしようかとも思っています。


217 名前: デフォルト 投稿日: 01/11/13 01:04
自機にボールが食い込んじゃう。


218 名前: デフォルトの名無しさん 投稿日: 01/11/13 01:22
点数の増加についてですが、1ブロック10点固定ではなく自機を離れてから
連続してブロックを壊した場合、コンボ点を導入するってのはどうですか?
1個 - 10点
2個 - 20点
3個 - 40点
4個 - 80点
5個 - 160点・・・


219 名前: デフォルトの名無しさん 投稿日: 01/11/13 01:26
ブロックを崩すだけでなく、自分が崩される機能というのはどうですか?


220 名前: デフォルトの名無しさん 投稿日: 01/11/13 01:32
それだとブロック崩し崩されになってしまいますが。


221 名前: デフォルトの名無しさん 投稿日: 01/11/13 01:36
座右の銘 ブロック崩し崩され


222 名前: デフォルトの名無しさん 投稿日: 01/11/13 02:00
>>219-221
warata


223 名前: デフォルトの名無しさん 投稿日: 01/11/13 03:00
あのー、移動しながら玉を跳ね返すときに、
機体にボールが吸い付いて振動してしまうのですが、
僕だけでしょうか?


224 名前: デフォルトの名無しさん 投稿日: 01/11/13 07:34
>204
彼の成長と君の成長は直接に関係があるわけじゃないよ。
君がもっと成長したあと、そのページを見直してみたとき、
「なんだ、大げさにいうほどのことじゃなかったな」
と思える日が来るかも知れないんだし。


225 名前: 141=153=180=209 投稿日: 01/11/13 22:26
>>216
やってみたよ.
>>223が言うように,ボールが機体にくっつくね.
特にボールのスピードがおそいときに,そうなるね.
おいらもWin2Kだけど,影は消えました.

ブロックを打ち返す,ってとこさ,このゲームの要だから,
ちゃらいところに凝るのもいいけど基本的なところで「味がある」
操作系にできないかなぁと思うんだけど.
ってことで1がんばれ.


226 名前: デフォルトの名無しさん 投稿日: 01/11/14 13:01
初めて覗いたけど、すごいよ・・・
自分がヘタレだと改めて感じました・・・
>>1さん、頑張ってください


227 名前: ヒッキー@プログラミング 投稿日: 01/11/14 17:48
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。

・自機にめり込まないように修正
・画面変更

などしてみました。

>>217 >>223
スイマセン、変なソース書いてました…修正しました。
(直ってないかも…)
>>218
ほお。面白そうですねー。
次の更新時に考えてみます。
>>219-221
ダウンタウンのネタっぽくてワラタ
>>224
そうですねー。もうちょっと勉強して、たいしたことなかったと
思えるようにしたいです。
>>225
影が出るのはOSの問題じゃなかったんですねー。
あまり考えずに言ってしまってスイマセンでした。
確かに基本的なことができてなかったら、画面等にこだわっても
面白くないものになってしまいますね…。書き直します。
>>226
おぉ、ありがとうございます!
応援していただけるとやる気が出てきます。


228 名前: デフォルトの名無しさん 投稿日: 01/11/14 18:14
いいねいいね
わずか10日でこの成長っぷり
>>4から35,000薬師丸ひろ子がもらえる日は近いね


229 名前: RE: block20.zip 投稿日: 01/11/14 18:21
Stage_Data.basはもうちょっと書き方があるだろう。


230 名前: デフォルトの名無しさん 投稿日: 01/11/14 18:29
>'ここにループを書くとウインドウ描画前に始まってしまうので、
>'タイマー使用

show
doevents
のコンボをform1_loadに書いておけば
その時点でwindowが表示されるよ


231 名前: デフォルトの名無しさん 投稿日: 01/11/14 18:33
>>229
もっともな指摘だがさすがに1もこれを放置する気はないだろう
それよりファイルナンバーの直指定はやめるべき
使用可能なファイルナンバーはFreeFileで取得しよう


232 名前: ヒッキー@プログラミング 投稿日: 01/11/15 02:04
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。

・ブロックとボールの判定回数の減少

とかしてみました。

>>228
>>4さん、そろそろ2万薬師丸ひろ子程度、用意しておいてください。(藁
>>229
Stage_Data.bas、書き直しました…
さすがに前のはかっこ悪かったと思います。反省。
>>230
う〜ん、やってみたんですけど、なぜかうまく逝きませんでした…
で、MainLoopをTimer内に書かずにサブルーチンにしてみました。
>>231
今回、FreeFile使うように修正しました。
ご指摘、ありがとうございます。


233 名前: デフォルトの名無しさん 投稿日: 01/11/15 02:54
気合がびしびし


234 名前: デフォルトの名無しさん 投稿日: 01/11/15 03:07
ブロックの下に、おねーチャンのヌードってどうですか?
実装無茶苦茶簡単で、熱中度異常にアップします。
コストパフォーマンス最高です。
重要な部分?のブロックは、頑丈だとよいです。


235 名前: デフォルトの名無しさん 投稿日: 01/11/15 03:58
結構作りが丁寧でちょと感動
やっぱ同じ作るにしても
他人に見られることを意識して作ると違うね〜


236 名前: デフォルトの名無しさん 投稿日: 01/11/15 06:30
貴様ら!はどうかと思うが、ほのぼのマターリとした進行で感動した!

というわけで、漏れもスレに参加。

sin,cosを毎回計算するなって言ってる人いるけど、そんなの今の段階で言うべき
事じゃないと思うよ。だいたい今時のマシンで1フレームに1回程度のsin,cosの
計算なんか全く負担にならないし。むしろ、意味の無い最適化でソースが複雑に
なることの弊害の方が大きいかと。あ、VBって知らないんで、VBのsin,cosが死ぬ
ほど重かったらゴメソ。

パドルとボールの当たり判定だけど、ボールが画面下に動いているときだけ処理
するといいよ。そうすればめり込んだり、打ち返すまでに2回跳ねかえるような
事が無くなって良い感じ。

あと、壊れないブロックを作ると球が永遠に落ちてこなくなる事があるので注意。
■■■■■
■□  ■
■   ■
■   ■
■■■ ■
こんな地形で(■は壊れないブロック。□は壊れるブロック)□の右側に45度で
当たるように打ち込むと無限ループ突入。
単純なブロック崩しなら、たまーにランダムで反射する方向が微妙にズレるように
して回避するのが吉。名作アルカノイドでは敵キャラが無限ループ防止の役になっ
てた(ランダムでズレる手法も使われてた気がするが)。


237 名前: 236 投稿日: 01/11/15 06:44
おもいっきりズレてて恥ずかしい。

操作系に関しては色々あるが、最近2chで流行りのワンキーにしちゃうってどお?
ボタン押してると右に移動して、離してると左に移動。
少し慣性を加えておくのがミソ。


238 名前: 236 投稿日: 01/11/15 06:45
あと、タイトルを「貴様ら!ブロックを崩してください」にしたらどうかな?


239 名前: デフォルトの名無しさん 投稿日: 01/11/15 08:41
いや、sin/cosを使わない事で DDAアリゴリズムになってていいよ

 たとえば、
1) y方向の速度vyを常に非常に小さな量加算する
-->まるで重力があるかのように

2) vx = vx-vx*vx*vx/10000 みたいにすると空気抵抗に

3)特定のブロックに引力や反力を導入する

とかね


240 名前: デフォルトの名無しさん 投稿日: 01/11/15 09:26
引力の例
Private Sub gravitation(x0, y0, g)
  Dim L2 As Double
  Dim dx, dy As Long
  dy = ball_y - y0
  dx = ball_x - x0
  L2 = g / (dx * dx + dy * dy)
  vx = vx - dx * L2
  vy = vy - dy * L2
End Sub

呼び出しは BallMove 手続き内で
gravitation 100, 70, 0.3
みたいに


241 名前: デフォルトの名無しさん 投稿日: 01/11/15 09:56
sub main のiniファイルにデフォルトのステージデータファイル名を
書き込むコード、あれも綺麗に書き直そう
連番ファイル名以外にも対応したいならば、リソースに
ストリングテーブルとして書いておき、それを読み出す形にすべきだろう

それにしてもこのへん、丁寧な設計思想で好感が持てる


242 名前: ヒッキー@プログラミング 投稿日: 01/11/15 16:39
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は、

・画面効果の追加

です。

>>233
うおー。がんばります。
>>234
僕も考えているんですが、ネットに落ちてる画像勝手に使ったりしたら
まずくないかなーと思って考え中です。→ >>52(藁
>>235
ありがとうございます。
やっぱ、一人で作ってるとあんまり見た目考えないですねー。
プログラム板のかたに見て頂けてうれしいです。
>>236
おぉ、ご意見ありがとうございます。
Sin・Cos関数を使う部分は1つにしてみてます。なんかVBの標準機能って
どうも遅い気がするので…。
2回跳ね返るとどうも動きに違和感がありますね。画面内の方向に
跳ね返るようにしました。
壊れないブロックって、そういう事も考えられるんですね。
そういえばアルカノイドって敵いてましたね。敵キャラがそんな役目も
果たしているとは…。ちゃんと考えられてるんですね。

ワンキーにしたら、熱中しそうですね(藁
考えてみます。

タイトルを「貴様ら!ブロックを崩してください」にしてみました。

>>239
おお、実用的な例をありがとうございます。
ボールに動きが出て面白そうですねー。
(ところでDDAとは何でしょうか…検索してみます。)
>>240
具体的なソースまで挙げて頂いて、ありがとうございます。
頭でイメージするのが難しいので、一回実験してみたいと思います。
>>241
そうですねー。あのままだと何かあるたびにiniファイルに書くコードを
考え直さないといけない気がします。
そういえばストリングテーブルってありましたね。調べてみます。


243 名前: 233-242だけ読んだ 投稿日: 01/11/15 17:11
スコアのつけ方をもう少し何とかしてほしい。
連続してブロック壊したらポイントが2倍とか
ブロック壊せなかったら5ポイント減らすとか
ずっと同じポイントだったら、意欲がうせる?


244 名前: デフォルトの名無しさん 投稿日: 01/11/15 17:42
DDA=デジタル微分解析 で検索すると日本語サイトがヒットするよ・・・きっと・・たぶん


245 名前: ヒッキー@プログラミング 投稿日: 01/11/15 22:54
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は、

・コンボボーナスの追加

です。

>>243
ういー。最近のシューティングゲーム的に点が増えるようにしました。
>>244
出てきましたー。どもです。
でも言葉の意味はいまだ良くわからず…


246 名前: ヒッキー@プログラミング 投稿日: 01/11/15 22:56
あ…バグありました。
直します…


247 名前: ヒッキー@プログラミング 投稿日: 01/11/16 00:23
直しました。
ゲームをストップさせてもコンボのカウントが動いてました。


248 名前: おすぎ 投稿日: 01/11/16 00:50
最近見たどの映画よりもこのスレッドに感動しました。
私はこのスレを応援します。


249 名前: デフォルトの名無しさん 投稿日: 01/11/16 08:32
> ball_x = ball_x + vx * (90 - Angle) / 90
> ball_y = ball_y + vy * Angle

Angle という変数は何?
 このAngleさえなければ このball移動はDDAなのに惜しいね

進行方向の角度だけを変えたい場合は、
s= sin(PI()*Angle/180)
c= cos(PI()*Angle/180)
 として
wk=vx*c-vy*s
vy=vy*c+vx*s
vx=wk
のようにするんだよ。


DDAなら色々とボールの動きに面白い加工が可能だから
ぜひ修正してみるといいよ


250 名前: デフォルトの名無しさん 投稿日: 01/11/16 14:24
>>249
それってDDAって言うの?
ただのベクトル演算にしか見えないが。


251 名前: デフォルトの名無しさん 投稿日: 01/11/16 15:55
ね。DDA直線発生とはゼンゼン違う。
DDA使うと1単位の直線移動距離が傾きによって変わるので
素人にはお勧めできない、てゆかフレーム単位に描画する
リアルタイムゲームではお勧めできない。
この程度のプログラムで小数点演算を忌避する理由も特にないことだし
存分にベクトル演算してくれ。

それに>>249の書き方だと移動量は変わっても角度変数angleは変わらない。
2回目以降の反射のときはどうするんだろうか。


252 名前: デフォルトの名無しさん 投稿日: 01/11/16 19:51
コピペ許可ねがいます>>1 >>1
----------------------------------
そんな事より4よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
昨日、近所の2ちゃん見に言ったんです。2ちゃん。
そしたらなんか人がめちゃくちゃいっぱいで座れないんです。
で、よく見たらなんか垂れ幕下がってて、「完成しない」に3万5000薬師丸ひろ子、とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、「完成しない」如きで普段来てない2ちゃんに来てんじゃねーよ、ボケが。
「完成しない」だよ、「完成しない」。
なんか親子連れとかもいるし。一家4人で2ちゃんか。おめでてーな。
よーしパパ,完成しない>>1を煽っちゃうぞ〜、とか言ってるの。もう見てらんない。
お前らな、うまいぼうやるから3万5000薬師丸ひろ子、調達しろと。
2ちゃんってのはな、もっと殺伐としてるべきなんだよ。
3万5000薬師丸ひろ子 をほしそうに見つめている奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。
女子どもは(除:3万5000薬師丸ひろ子)すっこんでろ。
で、やっと3万5000薬師丸ひろ子もらえたかと思ったら、隣の奴が、金玉なめて、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、「金玉なめて」なんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、金玉なめて、だ。
お前は本当に金玉なめてもらいたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、金玉なめてって言いたいだけちゃうんかと。
2ちゃん通の俺から言わせてもらえば今、2ちゃん通の間での最新流行はやっぱり、
チンコはみらせる、これだね。
横ちんはみって勃起中。これが通の頼み方。
チンコはみらせるってのはパンツのよこからからチンコがもろに出ている。
そん代わり ウェイトレスが最高裁に訴えてくる(ニュー速に前スレたってた)。これ。
で、それに横ちん勃起中。これ最強。
しかしこれを頼むと次から3万5000薬師丸ひろ子にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、自分のちんこをなめてなさいってこった。

(http://8931.com/yosinoya.php3 で作成)


253 名前: 249 投稿日: 01/11/16 19:52
>それってDDAって言うの?
 前半とは別の発言のつもり・・・
  >>249 Angleを小さくして毎サンプルかければカーブを描けるけど
    それならDDAかな

>>251  直線発生だけじゃなくても、浮動小数点演算でも
  差分方程式ならDDAって言うと思うけどなあ・・・


254 名前: デフォルトの名無しさん 投稿日: 01/11/16 19:57
>>252
面白かった。リンク先でいろいろやってみたり(藁
ニュー速たってたのはしってるけど、スレ倉庫にもないって。
9月ごろのスレだし、、、

1のレスが面白そう。


255 名前: デフォルトの名無しさん 投稿日: 01/11/16 19:59
>吉野家コピペジェネレータ
作るなこんなもん〜(爆笑)
なんだかもう。


256 名前: ヒッキー@プログラミング 投稿日: 01/11/16 20:12
そんな事より>>252よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
昨日、近所の漏れのスレ覗いたんです。漏れのスレ。
そしたらなんか人がめちゃくちゃいっぱいで座れないんです。
で、よく見たらなんか吉野家コピペとか張ってあるんです。
もうね、アホかと。馬鹿かと。
お前らな、吉野家コピペ如きで普段来てない漏れのスレに来てんじゃねーよ、ボケが。
吉野家コピペだよ、吉野家コピペ。
なんか親子連れとかもいるし。一家4人で漏れのスレか。おめでてーな。
よーしパパもコピペ作っちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、ブロック崩しのソースやるからコピペやめろと。
漏れのスレってのはな、もっと殺伐としてるべきなんだよ。
熟練プログラマな奴といつ喧嘩が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと落ち着いたかと思ったら、隣の奴が、薬師丸ひろ子もらった、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、薬師丸ひろ子もらったなんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、薬師丸ひろ子もらった、だ。
お前は本当に薬師丸ひろ子もらいたかったのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、薬師丸ひろ子もらったって言いたいだけちゃうんかと。
漏れのスレ通の俺から言わせてもらえば今、漏れのスレ通の間での最新流行はやっぱり、
Win32API、これだね。
VB、Win32API。これが通の頼み方。
Win32APIってのはWindows依存。そん代わり使いこなすとGUIバリバリ。これ。
で、それにVB、。これ最強。
しかしこれを頼むと次から熟練プログラマにマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、HTMLでも書いてなさいってこった。


257 名前: デフォルトの名無しさん 投稿日: 01/11/16 20:32
>>256
普段からこのスレには来てたり<252

まぁ、行数が多いから面倒なんだよな。読むのも。
なんか俺って荒らしみたいだな。何行も貼りつけて。

なんとなく「ちゆ」見に行ったんです。
そしたら、>吉野家コピペジェネレータ
があったんですね。実験に使ってみたり(藁

1さん、頑張れ!俺もなんか作ってみるよ、最近疲れ気味だが
ひまだ氏。


258 名前: デフォルトの名無しさん 投稿日: 01/11/16 20:34
>>256
あと今 HTML と CSS , JavaScript かいてた。
どうせド素人だから……ブツブツ
#ギコぺダウソしたてでちょっとウキウキ(藁


259 名前: デフォルトの名無しさん 投稿日: 01/11/16 20:35
おめでとう0xff君!

で、薬師丸ヒロミが・・・なにか?


260 名前: ヒッキー@プログラミング 投稿日: 01/11/16 20:36
>>257
ごめんなさい、煽るつもりはなかったんです。
吉野家コピペジェネレータが面白かったので…。

何か作られたらUPしてみせてください。


261 名前: デフォルトの名無しさん 投稿日: 01/11/16 20:48
いや、長いのは読まない主義だったのに
読んで得したスレだ。いや、筆舌っぽいんでドーモ


262 名前: 249 投稿日: 01/11/16 21:20
>それに>>249の書き方だと移動量は変わっても角度変数angleは変わらない。
>2回目以降の反射のときはどうするんだろうか。
 angleはソースを見た所、単にラケットの動きのバリエーションをつける為だから
 反射した後に微調整したいだけだけじゃない?

 VBにはAtnしかなくて C/Delphiにあるatan2が無いのでvx/vyから進行方向角度
 に変換するのがメンドクサイんだけど
 反射は既にやってるように vx,vyの符号を反転するだけでいいんだし

なお、angleを使わなくても ラケットの移動でコスレル雰囲気を出すなら
 1)vxをラケットの進行方向に一定値加える
 2) ラケットにぶつかったらw=±0.1 程度にして
   if abs(w)>0.01 then
    ax=vy*w
    ay=vx*w
    vx=vx-ax
    vy=vy+ay
    w=w*0.99
   endif
 みたいにするともっと簡単


263 名前: デフォルトの名無しさん 投稿日: 01/11/16 22:11
ふつー、vx,vyから角度なんて求めないけどね。
角度を10度変えたいなら、直接vx,vyを10度回転させる。


264 名前: デフォルトの名無しさん 投稿日: 01/11/17 01:18
>>263
一次変換を忘れてるに 3 ガノッサ。


265 名前: デフォルトの名無しさん 投稿日: 01/11/17 01:56
ガノッサという264は、カノッサを間違えて覚えているに東京ドーム2杯分。


266 名前: デフォルトの名無しさん 投稿日: 01/11/17 02:00
>>265
じゃー漏れは薬師丸ひろ子2人分


267 名前: (・ε・) 投稿日: 01/11/17 03:15
ステージデータをテキスト形式にして2chとかに貼り付けて
交換できるようにして欲しいに、4ガノッサ。


268 名前: デフォルトの名無しさん 投稿日: 01/11/17 03:55
>>253
>直線発生だけじゃなくても、浮動小数点演算でも
>差分方程式ならDDAって言うと思うけどなあ・・・

DDAの最初のDが何を意味するか?
DDAがどういう要求から生まれたものか?
を考えれば、DDAは「実数演算を用いない」ことが
定義に含まれていると考えるのが自然
でなきゃ単なる微分解析じゃん


269 名前: デフォルトの名無しさん 投稿日: 01/11/17 05:37
DDAは考え方としては、実数を分数で扱うような感じだな。
正直言うと、いまどきそんな考え方は必要無い。
(ラスタライザとか書くなら別だが)


270 名前: ヒッキー@プログラミング 投稿日: 01/11/17 08:04
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は

・他の色のブロックの追加
・ステージエディタの修正

です。

>>249
毎回除算してた部分を書き直してみました。
次うぷするときは重力とか入れてみたいです。
>>251
ういー。なんかDDAというのは難しそうなので、
また今度調べてみようと思います。
>>262
アークタンジェントってどうやって使ったらいいのでしょうか…。
ラケットにこすれる時、vxを直接変えたほうが簡単かもしれないですねー。
>>263
ほおほお。そういうことも考えられるんですね。参考になります。
>>267
してみました。
4ガノッサください。


271 名前: ヒッキー@プログラミング 投稿日: 01/11/17 08:05
なんとなくageとこう。


272 名前: デフォルトの名無しさん 投稿日: 01/11/17 08:22
DDAは Bresenham の アルゴリズムで線・円描画で有名だけど
考え方としての応用範囲は広いよ。 差分解析だよね。
整数演算だけで実現出来るけど、無理に整数に拘る必要はないと思うよ

でもデジタル微分とか差分とか難しく考える必要はないよ
 説明は x=f(t) を  x=∫f'(t)t として f('t) を積分するだけ
 tの多項式なら何度かこの変換をすれば定数になる
 また2変数の多くは相互に参照すればt項が消せる
 ・・・・というのが理屈だけど、ゲームなんかだと理屈関係
 なく自然に使ってるよね。

 というか px,pyにvx,vyを毎回足すという処理が既にDDAだから
難しいというより 既に使ってるよ >>270


273 名前: 249 投稿日: 01/11/17 09:33
ソース見た所、まだAngleを変な感じに使ってるね・・・反射が難しいのかな

反射 は 回転(カーブ)に似てるけど壁の角度をAngle
 水平 Angle=0度
 垂直 Angle=90度
 とすると vx,vyに対して
Private Sub reflect(Angle)
Dim s, c
 s = Sin(PI * 2 * Angle)
 c = Cos(PI * 2 * Angle)
 x = vx: y = vy
 vx = c * x + s * y
 vy = -c * y + s * x
End Sub

となる 0度の時は c=1,s=0 になるから yだけ符号が反転
 90度なら c=-1,s=0で xだけ符号反転
 というのは既に使ってるよね。
 これを一般化したのが上の式

だからラケット位置や動きの効果を反射で表現したいなら
水平との反射=0度でなく±45度の範囲で反射させればいい

ラケットの左右のスミの場合は、スミ座標とボール中央と90度
の方向に反射させればいい


274 名前: 249 投稿日: 01/11/17 09:36
上で使ってる PI は 3.1415/180 という定義になってるからそれを使ってる

でもPIは3.1415にして PiDegみたいな変数名の方がいいと思うな


275 名前: 249 投稿日: 01/11/17 09:52
 ラケットのスミでの反射はatnを使って角度を求めてもいいけど
  スミ座標と玉の中心座標の差 dx,dyを使って直接s,cを求めてもいい

1、正規化    c=dx/sqr(dx*dx+dy*dy) : s=dy/sqr(dx*dx+dy*dy)
2、90度反転 これは s,cを入れ替えて片方の符号を反対に
3、2倍角    c'=c*c-s*s s'=2s*c
と3つの手順で求まる
 でも、幸い ボールは上からしか来ないから dyは0にならないはずとして
  atn(dx/dy)*180/3.14 で角度求めた方が判り易くいていいと思うけどね


276 名前: デフォルトの名無しさん 投稿日: 01/11/17 10:38
うーむむ
 三角関数が判らないと というより行列がわからないとゲームも作れない雰囲気だな


277 名前: デフォルトの名無しさん 投稿日: 01/11/17 10:51
ここ読んでも判るようにさ
http://members.tripod.co.jp/snishi/text/index.html
みんなそんな難しい手法使ってないから安心しろよ>>1


278 名前: 吾輩は名無しさんである 投稿日: 01/11/17 10:57
うむ。吾輩などはむりやり型が好みだな。


279 名前: デフォルトの名無しさん 投稿日: 01/11/17 11:07
でも、まあ、三角関数と行列ベクトルが判る程度に勉強はするべし


280 名前: デフォルトの名無しさん 投稿日: 01/11/17 11:12
さらに微積分も必要かもな


281 名前: 249 投稿日: 01/11/17 11:16
いや、別にゲームだから中でどんな処理しようが動いてるなら問題ない
と俺も思うよ。
 でも、1はソースを公開してるし、習得も早いからさ、
 つい、スタンダードというか普通はこうするってのを教えたくなったのさ

 基本的なアイテムの動かし方を身に付けた方がいいだろって余計なお世話かもしれんけどな


282 名前: sage 投稿日: 01/11/17 13:27
数学関係の参考テキストも少しこのスレであげといた方が( ・∀・)イイ


283 名前: デフォルトの名無しさん 投稿日: 01/11/17 14:05
なんかさ、ずーっとボールが同じ速度にするのではなくて
壁に当たったら少しずつ速度がUPみたいなほうが
おもしろいとおもう。

実際、テトリヌなんか、ブロックの落ちる速度が速くなったりするしね。

# あんまりテストプレイさせてもらっていないから分からないけど…


284 名前: デフォルトの名無しさん 投稿日: 01/11/17 14:18
http://jp.shockwave.com/games/arcade/bricks/bricks_frame.html
のブロック崩しみたいに、ボールの角度変え + 敵きぼんぬ>>1


285 名前: デフォルトの名無しさん 投稿日: 01/11/17 14:43
>>284
カコイイ!


286 名前: 吾輩は名無しさんである 投稿日: 01/11/17 15:04
制作中の人間に、あまり同ジャンルのゲームは見せないほうがいいと思うぞ。


287 名前: デフォルトの名無しさん 投稿日: 01/11/17 15:06
>>286 スマソ。
パクリだ!なんて騒がれたら、1がかわいそう。
1さん、オリジナル な要素を含めてね(♥


288 名前: デフォルトの名無しさん 投稿日: 01/11/17 15:13
ブロック崩し自体、既にパクリなので大丈夫です。


289 名前: (・ε・) 投稿日: 01/11/17 16:17
>>270
http://shinkiro.tripod.co.jp/valkyrie/cd_gano.html

す、すいません。1ガノッサしかないんです。


290 名前: デフォルトの名無しさん 投稿日: 01/11/17 19:14
/*  ここからコメント

>>260
煽るつもりはって言われても、
こっちもわざと書いてみたりしただけだし(藁 カメレススマソ
完成したらどっかにうぷしておきます。ただしURIは公開しません(藁

# なんとなく今暇だからアプリ作りつつ例の吉野家コピペ
# 作成ScriptをJavaScriptでかいてたり。

重力もいいね。なにかボールと反発するようなブロックとかも追加きぼん!
ボールが風か何かで吹き飛ばされるみたいなのとか。

みんながアイデア出すから、結構ゲームの発想の手間が省けてたり
してるんじゃないかと。

厨房のとき発想力の無さからあきらめたんだよね。折れ。
だからこそ応援しているぞ1!

ここまでコメント */


291 名前: デフォルトの名無しさん 投稿日: 01/11/17 19:17
>>284
アルカノイドのつもりで敵にパドルぶつけたら、パドルが破壊された(笑

同ジャンルのゲームを見た方がいいかは微妙だね。
パクり以前にモチベーション下がるか上がるか・・・それは本人次第だけど。
俺なんかは、自分のアイディアが既出だったりすると萎えるタイプ。

最初このスレ見たとき俺もブロック崩し作ろうかと思ったけど、1が萎えそう
だからやめたよ。


292 名前: デフォルトの名無しさん 投稿日: 01/11/17 23:54
けっこう面白いじゃん。みんな何点くらいいったよ?
おれは7314点が最高。三面がクリアできない。。。


293 名前: 292 投稿日: 01/11/18 00:05
記録更新。5面までで16,258点


294 名前: (・ε・) 投稿日: 01/11/18 00:06
>>292
それは何?
インターネットランキングに対応しろと言うことかい・・・?(笑)


295 名前: デフォルトの名無しさん 投稿日: 01/11/18 00:13
わざわざ落としてまでやる気無し


296 名前: (・ε・) 投稿日: 01/11/18 00:14
あれ?ステージエディタはテキスト化されてないの?
作って公開しようと思ったんだけど。


297 名前: デフォルトの名無しさん 投稿日: 01/11/18 00:32
ときどきブルブルいいながらブロックにくっついて移動するね


298 名前: あきまさ 投稿日: 01/11/18 17:27
age


299 名前: デフォルトの名無しさん 投稿日: 01/11/18 18:35
ステージクリアした時の、ご褒美エロCGキボンヌ (´Д`;)ハアハア


300 名前:   投稿日: 01/11/18 18:46
いろいろみんな1を応援してるようだけど、
ソースまで載せて手ほどきするのはどうかと思うよ。
最初の頃のようにキーワードや概要だけを載せてあげたほうが、
1も試行錯誤するだろうし結果的に身に付けるスピードも速くなると思う。

まあ1が鵜呑みにせず自分なりに解釈して作り出すタイプ(根っからのプログラマ気質?)
なら全然構わないんだけどさ。
頑張って欲しいね。


301 名前: デフォルトの名無しさん 投稿日: 01/11/18 19:23
>>299
ステージクリアまで待てないよ・・・
ステージの背景に描いて頂戴!


302 名前: デフォルトの名無しさん 投稿日: 01/11/18 20:09
>>300 そうは言っても、衝突や反射をちゃんと解説してるサイトってある?


303 名前: デフォルトの名無しさん 投稿日: 01/11/18 20:24
26180てん!わ〜い


304 名前: デフォルトの名無しさん 投稿日: 01/11/18 23:09
つまんね〜。ちょうくそげーじゃん。
もっとましなの作れよ。


305 名前: 吾輩は名無しさんである 投稿日: 01/11/18 23:15
>>304
お主が作ればよかろう。


306 名前: ヒッキー@プログラミング 投稿日: 01/11/19 09:21
http://www.geocities.co.jp/SiliconValley/2530/
↑つぎうぷしました。変更点は

・マウスモードの追加
・残機を3に変更
・難易度の調整

です。

>>272
ほお、そうなんですか?既に使っていたとは(藁
理屈的にはムズカシそうですねー。ちゃんと理解できるようにします…。
>>273
ちょ、ちょっとまってください…理解するのに紙に書いてみないと
難しいです…正規化とはなんでしょう?ヘイホウコン使うんでしょうか。
もうちょっと頭使います。
>>277
お、ちょっと安心しました(w
ラケットがあたる位置で判定してたりするんですねー。
>>279
了解。頭に刻んでおきます。
>>280
ビブンセキですか。できるかな…。
>>281
おー、ありがとうございます。そういう意図があったんですね。感謝します。
>>283
一応、書いてはいたんですが、上がり方がしょぼかったようです。
難易度調整しました。
>>284
やってみました。ShockWaveって結構すごいですねー。
まだまだ負けてる…。敵っておもしろいので考えてみたいです。
>>289
ありがとうございます。1ガノッサ頂きます…ってガノッサって
おっさんだったんですね。
>>290
ご意見ありがとうございます。風とか吹いてもおもしろそうですね。
結局重力は今回、いれれませんでした…

更新age


307 名前: ヒッキー@プログラミング 投稿日: 01/11/19 09:29
>>291
自分のアイデアが既出だったらちょっと悲しいと思います。
ブロック崩し、2chの人も結構作ってるみたいで、ヒッキー崩しというのを
発見したんですが、(鬱打のページ)それもコンボ点とかありました…
VBでDirectXつかってるし。鬱氏
>>292
おぉ、感謝感謝。やってくださる人がいてると嬉しいです。
>>294
完成したらインターネットランキング作ってみたいと思います。
>>295
う…
>>296
一応テキスト化したんですが、拡張子がSTGになっています。
>>297
そうですねー。壊れないブロックにあたるとぶるぶるします。
今回は修正できませんでした…
>>299
エロ画像描いてくれる人キボンヌ
>>300
がんばりますー。
ソースは参考にさせていただいてます。…が、ちょっと難しいです(藁
>>303
僕は最高15000点くらいです。26000点…すごい。
>>304
ちゃんとゲームとして認識されるようになっただけでも嬉しいです。
最初はゲームどころではなかったので(w


308 名前: デフォルトの名無しさん 投稿日: 01/11/19 09:58
じゃあ参考図書
本物のヒッキ-なら
 高専の数学1,2 これの問題集とセットで勉強するといい
http://www.morikita.co.jp/mokuji/0481.html
http://www.morikita.co.jp/mokuji/0482.html


309 名前: 249 投稿日: 01/11/19 10:54
ええと、やっぱりベクトル・行列を勉強した方がいいよ
といっても、
 ベクトルは単に複数の数をまとめて扱うというだけ
 行例は、数式の係数をまとめて扱うというだけという理解でとりあえずスタート

たとえば、玉の動きは
  x = x + speed * cos(angle)
  y = y + speed * sin(angle)
これは正しい でも
  ball_x = ball_x + vx * (90 - Angle)
  ball_y = ball_y + vy * Angle
 こではダメっての説明してみるね。
 前者は回転だけど、後者は、伸張になってしまう。

○回転というのは
  vx*cos(w) - vy*sin(w)
  vx*sin(w) + vy*cos(w)
 という形になっている。これはひとつのスタイルだから覚える。
 そして、掛算してるのは vx,vyと4つの係数だからそれぞれ
 |vx| |cos ,-sin|
 |vy| | sin , cos| と分離して考える。
 左がベクトルで右側が行列だ
 で、元の格好に直す規則は・・・判るよね?
 ここまでいい? とにかく2つの数がこういう格好に並んでいれば回転だって事で

○反射は既にやってるように
 vx=vx
 vy=-vy
 という格好になっている これも分離すると
 |vx| | 1 , 0|
 |vy| | 0 ,-1| となる。
  上の回転では角度がどうであれこの格好にならないの判るよね?

 任意の角度で反射させるには回転を組み合わせればいい。
 ただ、反射する時は反射面に対して倍角で反射するというのに注意
 で、組み合わせる時は この反射を掛算した結果のベクトルは
 | vx|
 |-vy| となるなら、上の回転の vyを単に-vyにするだけでいい

○伸張 y軸が斜面で、斜めにあるのを上から見る場合は
  | 1 , 0|
  | 0 , a | というようになるよね? これが伸張さらに裏から見たら 上にある反射になる

○拡大/縮小 これは簡単で全体に
  | a , 0|
  | 0 , a | とaを掛算すればいい


310 名前: デフォルトの名無しさん 投稿日: 01/11/19 11:44
>>309
気持ちはうれしいけど、その説明は
ちゃんと数学の本を手にして読まないと
わけわからんかと。


311 名前: デフォルトの名無しさん 投稿日: 01/11/19 12:46
 演算子法的立場からの解説って奴だね
 遅延演算子も導入してさ
 一挙に微積分飛び越してフーリエ・ラプラス変換の世界にご招待ってのは?


312 名前: 249 投稿日: 01/11/19 13:38
>>310 そうかもしれないね。
 Web上の教科書は 特にベクトル 行列は少ない。基礎だからね
 だから高校の教科書でも手に入れて勉強するしかないね。

 ちょっと調べてみつけたのは
 高校:
ttp://www.kwansei.ac.jp/hs/z90010/hyousi/2106.htm

応用数学なら見つかるんだけどね
ttp://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/diffpub/diffpub.html


313 名前: 249 投稿日: 01/11/19 14:15
どうも探し方が悪かったみたい

数学玉手箱
http://www.nikonet.or.jp/spring/sanae/MathTopic/MathTopic.htm

ベクトルとは
http://www.nikonet.or.jp/spring/what_v/what_v.htm


314 名前: デフォルトの名無しさん 投稿日: 01/11/19 14:49
>>1
エロ画像ソース!

★☆★いやんエッチ!見ないでよ!★☆★
http://piza2.2ch.net/test/read.cgi/kao/1000818283/


315 名前: デフォルトの名無しさん 投稿日: 01/11/19 16:07
どうせ回転くらいにしか使わないなら、行列は回転後の座標系の単位ベクトルを
組み合わせたものと教えるのが一番分かりやすくていいんじゃないか?
もっとも、ブロック崩しごときで行列を持ち出す必要ないと思うけど。

方向変えるなら、vxを適当にいじったあとに、√(vx*vx+vy*vy)がvxをいじる
前と同じになるようにするだけでも十分だよ。
例えばC言語で書くと
v = sqrt(vx*vx+vy*vy);
vx1 = vx / v;
vy1 = vy / v;
vx1 += (適当な値。例えばパドルのX座標-ボールのX座標など);
v1 = sqrt(vx1*vx1+vy1*vy1);
vx = (vx1 / v1) * v;
vy = (vy1 / v1) * v;
この程度で十分かと。


316 名前: 249 投稿日: 01/11/19 17:24
>>315 そりゃそれで、十分といえば十分。

だいたい、今のAnglleで傾斜させる方式でもゲームが今の状態で完成だとすれば十分。
  実現方法は面白さとは何の関係もないしね


317 名前: デフォルトの名無しさん 投稿日: 01/11/19 18:28
>>309
 |vx| |cos ,-sin|
 |vy| | sin , cos|
じゃなく
 |cos ,-sin| . |vx|
 | sin , cos|  |vy|
てかいてよ


318 名前: (・ε・) 投稿日: 01/11/19 18:33
ブロックを全部壊した後、自機で球を受け止めてクリアにしてはどうだろうか。


319 名前: (・ε・) 投稿日: 01/11/19 18:47
Block00,9,000,032#Block01,9,016,016#Block02,9,032,000#Block03,9,216,032
Block04,9,200,016#Block05,9,184,000#Block06,9,024,008#Block07,9,008,024
Block08,9,192,008#Block09,9,208,024#Block10,9,048,080#Block11,9,056,088
Block12,9,064,096#Block13,9,072,104#Block14,9,168,080#Block15,9,160,088
Block16,9,152,096#Block17,9,144,104#Block18,3,088,040#Block19,3,128,040
Block20,3,128,056#Block21,3,088,056#Block22,3,088,072#Block23,3,128,072
Block24,3,088,024#Block25,3,128,024#Block26,9,096,136#Block27,9,120,136
Block28,3,192,128#Block29,3,024,128

-----
>>1 これでプレイしてみて。"#"は改行に置き換えて。
ブロックにくっつくバグが置きやすいよ。


320 名前: (・ε・) 投稿日: 01/11/19 19:04
要望ばかりでゴメン。
ステージファイルをパラメータに与えて起動するとそのステージだけ
プレイできるとステージのテストプレイがやりやすいなぁと。


321 名前: >318 投稿日: 01/11/19 20:04
なぜ?


322 名前: デフォルトの名無しさん 投稿日: 01/11/19 20:09
>>318
なんかいいね。


323 名前: デフォルトの名無しさん 投稿日: 01/11/19 20:34
>>318
なんだそりゃ
マッピーで盗品全部集めた後に
開けたドアを全部閉めたらクリア
って言ってるのと同じだぞそれ


324 名前: (・ε・) 投稿日: 01/11/19 20:49
Block00,9,104,184#Block01,2,024,120#Block02,9,184,152#Block03,2,024,096
Block04,9,024,152#Block05,2,080,096#Block06,2,080,120#Block07,2,128,120
Block08,2,128,096#Block09,2,184,096#Block10,2,184,120#Block11,1,128,072
Block12,1,128,048#Block13,1,080,072#Block14,1,080,048#Block15,1,184,072
Block16,1,184,048#Block17,1,024,072#Block18,1,024,048#Block19,3,080,024
Block20,3,080,000#Block21,3,128,024#Block22,3,128,000#Block23,3,184,024
Block24,3,184,000#Block25,3,024,024#Block26,3,024,000#Block27,1,024,184
Block28,1,184,184#Block29,1,104,152
------
かなりバグります。球の速度に制限を設けた方がいいかもしれませんね。

>>321 なんとなく。ゲーム性があがらないかな?
>>323 マッピー知らんです。ゲームはあまりやらないもんでして。


325 名前: (・ε・) ◆LbaGYMio 投稿日: 01/11/19 20:58
要望は出すけど、組み込むかは>>1が判断してね。当たり前だけど。


326 名前: デフォルトの名無しさん 投稿日: 01/11/20 02:01
とりあえず、ゲームのバランス調節等のアドバイス

基本は、難しいことをしたら見返りがあって、簡単なことをしたらペナルティ。
見返りってのはボーナス点が貰えるとか、ブロック崩しなら速度が遅くなるとか。
ペナルティはその逆。
とは言っても、必ずしもこれに従う必要は無いよ。
例えば同等の難易度の2種類の行為について、片方だけ点を高くしておくと
点を稼ぐにはそれだけを狙う必要があって、結果的に難易度の向上に繋がる。

クリアだけなら簡単、稼ごうとすると難しくなるようにようにするのが俺流。


327 名前: デフォルトの名無しさん 投稿日: 01/11/20 09:27
>>320
iniファイルのステージファイル名を書き換えるのがいいと思われ


328 名前: 初心者さん 投稿日: 01/11/20 12:48
漏れも超級素人なんで見てておもしろい。
がんばってね。>>1


329 名前: コーダーさん 投稿日: 01/11/20 15:25
今更発見したが、いいスレだ。

>>1
俺は始めて作ったゲームっぽい作品はBio100%の戦艦シューティングもどき
だった。なつかしい。
最後までがむばれYO!


330 名前: ななし 投稿日: 01/11/20 16:00
コンボボーナスの点数がカウントされないことがあるみたいだよ。
水平に近い弾道でブロック壊したら、
2Hitsって出たけど、ポイントが0から増えなかった。

うまく再現できないんで、もう少し試してみる。


331 名前: デフォルトの名無しさん 投稿日: 01/11/20 19:35
なんか、自機の真中心で跳ね返したらブロックを突き抜けて
壊すみたいのがいいなぁ。

要望ばっかだが、>>330の 問題をぼくも確認してみます。


332 名前: デフォルトの名無しさん 投稿日: 01/11/20 19:46
/*    ↓これが
http://www.google.co.jp/search?q=%83u%83%8D%83b%83N%95%F6%82%B5+%95%9E&hl=ja&lr=
ブロック崩し + 服 で検索。
さすがにエロ系が多かった。


333 名前: デフォルトの名無しさん 投稿日: 01/11/20 21:08
>>332
コメントかい。(誰かのレスにそんなかんじのが…パクリ?)
しかもコメントとじれてないし。

それより>>1のヒッキー@(略)
やってみたけど、結構おもしろかった。
ず〜っと前のヴァより断然面白くなってるよ。
コンボ点&角度変化&玉の速度アップで。
vectorにでも、こういうゲームはうようよあるから、
頑張れ!


334 名前: デフォルトの名無しさん 投稿日: 01/11/21 01:13
ごめんな。俺には1794点しか取れないよ(;´Д`)


335 名前: ヒッキー@プログラミング 投稿日: 01/11/21 02:52
>>308
ほお、高専の教科書ですかー。穴場的ですね。
普通の本屋で注文できるのかな…
>>309
おー、とてもよくわかりました。
回転の式はCGの本に載ってたので、1回画像の回転のプログラムを作るときに
使ったことがあります。そのときは行列の意味がよくわからなかったんですが(藁
反射は単に符号を反転させるだけで良いというのは分かるのですが、
ボールが早すぎる時に、反転しても画面に戻ってこなくなる事があったので、
ifをいれて、画面内の方向のみを向くようにしました。
伸張は…(y軸が斜面で、斜めにあるのを上から見る場合は)というのが
よく分かりません…。
>>312
高校の方のページ、なんか読めそうです。
分からないところ、全部読んでみようと思います。
>>313
わざわざいくつも探して頂いて申し訳ないです…
あとで、ウチのページでまとめて紹介したいと思います。
>>314
あの…エロ画像ならHDDにも入っています(w
でも、やっぱ使ったらまずいかなぁと
>>318
はは。そうですねー。おもしろいかも。
今の段階では、受け止めてクリアの表示を出してる間、
ボールが自機に埋まる or 変な位置にあるような気が
するので、ちょっと考えてみます。
>>319
やってみました。
うまりますね…。残像残ってるし。埋まらないように考えたいと思います。
わざわざ上げていただいて、サンクスです。
>>320
あー、たしかに。
いじってみようと思います。
>>324
今、実験的に速度の制限つけてみました。
直るかどうかはもうちょっと試験運転しないとわからないですが。
>>326
あー、そういうのおもしろいですねー。
ゲーセンでシューティングゲームやってると、そういう設定のが
結構ありますね。名作ほど微調整が細かかったり。
>>328
ういー。がんばりますよー。もうちょっと完成度あげたいです。


336 名前: ヒッキー@プログラミング 投稿日: 01/11/21 03:03
>>329
この前、Bio100%のページいきました。
戦艦のゲーム、以前にどっかでやった事あるような…(藁
>>330
実は水平に近いほど点が入らないようにしてあります。
テストしてると、10度くらいの角度にしたら、簡単にクリアできるし、
点もかなり入ってしまったので。
>>331
おぉ、そういう設定の仕方もあるんですねー。参考になります。
>>332
服がだんだん欠けていくゲームがイパーイありますね。
全部同じ様に見えるのは気のせいでしょうか。
>>333
どもども。ありがとうございます。
vectorですかー。一回、ゲームのところ覗いてみます。
>>334
今回のUPしたやつは前より難しいです。
僕もそんなに点が取れなくなりました…


337 名前: ヒッキー@プログラミング 投稿日: 01/11/21 03:13
この前、この板のスレ「シューティングゲームを作りたい!!」
http://pc.2ch.net/test/read.cgi/tech/990219336/
を読みました。

作ってみないと気付かないような所にワナがいっぱい潜んでるんですねー。
(3Dシューティングで、リプレイのデータが浮動小数点で
 管理してるとずれてくるなど)

あと、雷電のレーザーはどうやって実現してるのか気になりました…。

それから、ひとつ疑問なんですが、ローカル変数とグローバル変数は
どういうときに使い分けたらいいんでしょう。全てグローバルでも
よさそうに感じるのですが…。
ローカルだと関数呼び出すたびにメモリを確保しないといけないと思うし、
関数に引数を使うときも、スタックに積んだりしてたら余計に遅くなったり
しないかなぁと、ふと疑問に思いました。


338 名前: ヒッキー@プログラミング 投稿日: 01/11/21 03:15
あぁ何か日本語がおかしかった。


339 名前: デフォルトの名無しさん 投稿日: 01/11/21 06:25
>>337
グローバル変数はなるべく使わない方がいいよ。
理由は色々あるけど、一番恐いのはどこで変数の内容が破壊されるか分からない事。
以前、全てグローバル変数で組んでて原因不明のバグで悩んでる人の相談にのった
ときは、ループ用のカウンタをグローバル変数にしていて、ループの中で別の関数
を呼んでいるんだけど、その呼ばれた先でも同じ変数を使ってループしていた。
その関数呼ぶとループ用の変数が書き換えられるから、それが原因で無限ループに。

まぁ、この辺はグローバル変数でトラブってみないとピンとこないかもしれないが。
昔のBASICはグローバル変数しか無かったから苦労した。

ちなみに速度で言えば、ローカル変数の方が速いよ。
ローカル変数が使うメモリ領域ってのはスタックメモリって呼ばれていて、あら
かじめ決められたサイズで最初に確保してあるの。だから、メモリ確保に関する
コストはほとんど0に等しい。
(ちなみに通常のメモリはヒープと呼ばれていて、グローバル変数はヒープに
確保される)

ローカル変数の方が速い根拠だけど、1つはコンパイラの最適化がかかりやすいこと。
ローカル変数ってのはその関数を抜けたら消えてなくなるものだからメモリに値を
保存しておく必要が無いので、実際にはメモリを確保せずにCPUのレジスタを割り
当てる場合がある。レジスタはPCの中で最も高速にアクセスできるメモリ。
もう1つは、ローカル変数は関数に入った時点で順番に確保されるから、関数内で
使う変数がメモリの中で近い位置に確保されること。CPUのキャッシュは32バイト
単位でキャッシュしてるから、1つの変数にアクセスした際に他の変数もキャッシュ
に入る可能性が高くなる。

ローカル変数とグローバル変数に関しては、構造化プログラミングを勉強してみると
いいかも。いまどき構造化プログラミングなんて参考書無さそうだけど。

ちなみに、スタックメモリはコンパイル時にサイズが決まっていて、通常はあまり
大きくないのでローカル変数で巨大な配列とか使うとエラーが出るので注意。
グローバル変数ならヒープに確保されるので、20MBくらい使っても平気。


340 名前: 339 投稿日: 01/11/21 06:32
こういう事を疑問に思って、質問してみるってのは良い傾向だと思うよ。
(大事なのは聞いてみることより、むしろ疑問に思うこと)


341 名前: デフォルトの名無しさん 投稿日: 01/11/21 08:38
せっかく VBには構造体があるから まず ボールを構造体にしよう

 ball_xとか vx とかを一つの構造体にまとめたら 関数呼び出しが楽だし
 ボールを2つにするのも簡単になる


342 名前: デフォルトの名無しさん 投稿日: 01/11/21 11:52
>>339
>グローバル変数ならヒープに確保される

…ん?


343 名前: デフォルトの名無しさん 投稿日: 01/11/21 14:35
>>342
間違っていないと思うけど。グローバル変数はプログラムの
開始から終了までずっと残っているものなので、ヒープ領域
に確保されると習った。

あと、ローカル変数でも static 宣言した変数はその関数が
終了しても値が残っていて、これもヒープに確保されると
習った。

間違っている?


344 名前: デフォルトの名無しさん 投稿日: 01/11/21 14:39
>>343
間違ってる。BSS で検索。


345 名前: デフォルトの名無しさん 投稿日: 01/11/21 18:25
初期値があるやつはdataセクションに入ると思われ。


346 名前: デフォルトの名無しさん 投稿日: 01/11/21 18:45
>>344
BSSとかって環境依存な気がする。


347 名前: デフォルトの名無しさん 投稿日: 01/11/21 19:24
>>346
いずれにせよ、ヒープに確保されるのは間違いって話では?

C の規格ではメモリの分類に関しては何も言ってないが、一般には

text プログラムのコード (サイズ固定)
bss 初期化されない変数 (サイズ固定)
data 初期化された変数 (サイズ固定)
stack 自動変数 (サイズ可変)
heap 動的に確保/解放されるメモリ (サイズ可変)

ぐらいに分けて管理してることが多いと思われ。Win32 だとヒープもプロセスヒープ以外に、プライベート
ヒープとか複数持てたり、スレッドが絡むとスタックも並行して複数存在することになるから、いろいろと
話がややこしいけど。


348 名前: デフォルトの名無しさん 投稿日: 01/11/21 19:38
>>347
習ったって話なので一般論を習っただけでわ?
bss やら data ってのは環境依存というより実装依存だと思われ


349 名前: デフォルトの名無しさん 投稿日: 01/11/21 21:00
>>348
とりあえずこういう用語は一般的に使われるし
覚えておいて損は無いでしょ。
得も無いかもしれんけどな。


350 名前: デフォルトの名無しさん 投稿日: 01/11/21 21:01
>>347
漏れがC覚えたのZ80だったから、スタックとヒープしか無いような状態だったよ。


351 名前: デフォルトの名無しさん 投稿日: 01/11/21 21:38
なんでそう言い張るんだ!
 ヒープはヒープ! alloc系の操作で確保する領域
 普通の変数はそれとは別のセクションに取られる

領域は大まかにコード用の領域、グローバル/staticデータの領域、ヒープ用、スタック用と
4つに分割される。 一般的にはスタック用とヒープ用の領域は重なっていて、
スタックは下から ヒープは上から確保される

 基本はZ80用でも構成は殆ど同じ 違いはROM用に定数用の領域があったりする程度


352 名前: デフォルトの名無しさん 投稿日: 01/11/21 22:29
>>351
> スタックは下から ヒープは上から確保される
他は知らんが x86 は逆だな。


353 名前: ヒプ子 投稿日: 01/11/21 22:46
私のために、喧嘩はやめて〜!


354 名前: デフォルトの名無しさん 投稿日: 01/11/22 02:26
1がついて来れないから、そろそろやめにしないか?


355 名前: (・ε・) ◆LbaGYMio 投稿日: 01/11/22 03:56
有名どころかな?
http://www.interq.or.jp/tohoku/kenta/


356 名前: デフォルトの名無しさん 投稿日: 01/11/22 05:00
下というのが
番地nからn+1,n+2と向かっていくのか
番地nからn−1、n−2と向かっていくのか分かりづらいですな。
上位って一般的に番地0のこと?


357 名前: デフォルトの名無しさん 投稿日: 01/11/22 05:01
太陽のあるほうが上。
地面のあるほうが下。


358 名前: デフォルトの名無しさん 投稿日: 01/11/22 06:23
big endianでは0番地が上
little endianでは0番地が下


359 名前: デフォルトの名無しさん 投稿日: 01/11/22 07:43
ソース見てないけど、反射してボールの進路が変わったときに、その新しい進路で
当たり判定してる?>>1


360 名前: ヒッキー@プログラミング 投稿日: 01/11/22 12:10
ほおほお、みなさん、ご意見ありがとうございます。
ヒープやBSSという単語を知らなかったので、勉強になりました。

メモリについて検索していたら、とても興味深い内容のページをハケーンしました↓
http://www-6.ibm.com/jp/developerworks/security/000721/j_smash.html
メモリとはどういうものかというイメージが以前よりつかみやすくなりました。

>>339
グローバル変数は他のところで書き換えられる可能性があるんですねー。
そこまで頭が回りませんでした。ありがとうございます。
そういえばコンパイラが最適化してくれるような事がどこかに書いてありました。
registerってキーワードいれたら自分で調整する事もできるんですね。
(といってもどれをレジスタに入れたら早くなるのか検討がつきませんが…)
こういうのVBではどうなっているんだろう…

>>341
してみました。
でも、関数の割り振り方の問題からか、ボールを2個にするのが難しいです…

>>347
text、stackは想像がつくんですが、dataやbssの違いがよくわかりません。

>>354
検索してたら頭が割れそうになりました。

>>359
うーん、どういうことなのでしょうか。
2回目の判定ということですか?


361 名前: ヒッキー@プログラミング 投稿日: 01/11/22 12:15
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は

・毎秒60フレームに変更・ソースの見直し

です。

ソースが読みにくくなってきたので、Form1のイベントに関係ない部分は
別ファイルにしました。
あと、今までGetTickCountを使って毎秒のフレームの調整をしていたのですが、
なぜか10ms単位でしか時間を調整できないので、timeGettimeを使うように
変更しました。


362 名前: デフォルトの名無しさん 投稿日: 01/11/22 12:49
このスレ見てたらVB始めたくなりました。
プログラムは初心者レベルなので初心者本買って
勉強してみたいと思いました。
頑張ってください>>1さん


363 名前: 343 投稿日: 01/11/22 12:50
大変勉強になりました。私は今までヒープと bss と data を
全部ひっくるめてヒープと捉えていたようです。

>>360
>http://www-6.ibm.com/jp/developerworks/security/000721/j_smash.html

かなり参考になりますね。この話題に限らず、www-6.ibm.com には
有益な情報が多いと思います。


364 名前: デフォルトの名無しさん 投稿日: 01/11/22 13:36
超なにげにDeveloperWorksのリンクを引いてくるあたり、
やはり>>1はプロかセミプロで、このスレは壮大なネタなのではとか…思ってみたり…
ソースのコメントのつけ方とか………


365 名前: (・ε・) ◆LbaGYMio 投稿日: 01/11/22 14:22
Googleに「ヒープ BSS」を尋ねて見たら2個目にあったよ。
ネタでも実際ゲームが出来てるので、それを楽しんでます。
仕事の合間にちょうどいい。

最新版いい感じになったね。まだたまにすり抜けるけど。
前よりとても良くなった感じ。個人的には球が速すぎるけど。


366 名前: デフォルトの名無しさん 投稿日: 01/11/22 17:10
>>364
VBが初めてであって、C++とか結構やってるんでしょう。

>ヒッキー
パドル?にあたる場所で反射角度を変えてほしい。
端にあたると鋭角に反射で、もう一回あたると鈍角に戻るとか。


367 名前: デフォルトの名無しさん 投稿日: 01/11/22 17:22
つーか、まん丸いパドルにチャレンジキボーンヌ


368 名前: ヒッキー@プログラミング 投稿日: 01/11/22 19:20
http://www.geocities.co.jp/SiliconValley/2530/lifegame.zip
↑なんか、ライフゲームなるものをハケーンしたので、VBで作ってみました。
 なんだかよく分からないけど、セルオートマトンらしいです。

>>362
おー、がんばってください。
なんか、嬉しいです。僕もがんばります。
>>363
ほおほお。他のファイルも見てみようと思います。
>>364
素人ですよ。
プロならもっと保守に便利なソースを組まれるんではないかと
妄想してみたり。僕のは設計も何もしてないのでぐちゃぐちゃです(藁
>>365
どもども。
自分でも球速すぎるんでは…と思います。でもクリアできない
くらいがいいかなぁと。
>>366
う〜ん、それなんですけど、なんとなく取り入れてません。
球が当たる瞬間に、パドルが動いてる方向によってちょっとずつ
変える方式にしてます。
>>367
まん丸いあたり判定…どうしましょう。
シューティングのスレでは8角形で近似するとかいう意見が
書いてありましたねー。…といってもそれすらどうしたらいいのやら。


369 名前: デフォルトの名無しさん 投稿日: 01/11/22 19:52
>>367
ほとんどのゲームは「コレ」じゃないから、
プログラム組むのは難しいけど、
おもしろいかと。


370 名前: デフォルトの名無しさん 投稿日: 01/11/22 19:52
なぜ1さんはいつもさげるんだろう?


371 名前: デフォルトの名無しさん 投稿日: 01/11/22 20:03
丸の方が簡単だよ
 それぞれの中心座標と半径から (x0-x1)^2+(y0-y1)^2 < r0^2+r1^2
 だけで衝突が判定出来るし

反発は >>273 を atn( (x0-x1)/(y0-y1)) *180/3.1415 と角度を求めて呼び出せばいい


372 名前: デフォルトの名無しさん 投稿日: 01/11/22 20:05
× (x0-x1)^2+(y0-y1)^2 < r0^2+r1^2
○ (x0-x1)^2+(y0-y1)^2 < (r0+r1)^2
○ sqr((x0-x1)^2+(y0-y1)^2) < (r0+r1)


373 名前: 359 投稿日: 01/11/22 21:06
反射したときに新しい進路で当たり判定するっていうのは、例えばボールが
左上に進んでいるとして
■■

このちょうど角の部分にボールが当たったときに、左か上のどちらかで反射の
処理をするよね?左のブロックで処理をしたとすると進路は右上になる。
この右上に進路が変わったときにもう一度判定をしないと、既に上のブロック
にも当たっているのに反射の処理をしないから、1回分だけ判定が遅れてブロッ
クの中にめり込む。もし上のブロックが壊れないブロックだった場合は、球が
ブロックの中に入ってしまうよ。

>>371
atnは使わない方がいいと思うよ。
反射後の速度はV'=V-2N(N・V)。
(Vは反射前の速度ベクトル、Nは正規化された球の法線ベクトル)


374 名前: デフォルトの名無しさん 投稿日: 01/11/23 00:01
コントロールの変数名にはプレフィックスをつけるとよりソースが見やすくなるよ。

プレフィックスというのは変数の命名規約みたいなもので、
例えば、コマンドボタンなら必ず変数名の先頭にcmdをつけるとかそんな感じです
MSDNのキーワードに "プレフィックス, コントロールの名前" と
入力すればM$が推奨しているプレフィックス名の一覧が出てくるはず。

1さんのソースで言えば、check1にはchkMouseModeとか、
timer1にはtmrCallMainLoopっていう感じかな。
check1とかcommand1とかは極力さけて、意味のある名前をつけた方がいいよ。


375 名前: 374 投稿日: 01/11/23 00:05
間違えてageチャタヨ...
激しく鬱駄。
内容も偉そうだし。すんまそん。


376 名前: デフォルトの名無しさん 投稿日: 01/11/23 02:27
ageると>>1を愛する8頭身が来るからね。


377 名前: デフォルトの名無しさん 投稿日: 01/11/23 10:09
>>376
       |   |
       |   |
       |   |
       |   |
       |   \
        |   ∧_∧
     // ( ´Д`)\  1さん、もらった!
    / /         | |
   / /         / /
   | |        / /  
   \\((( )))/ /    ガシッ
     U( ;´Д`)U  Σ
      ⊂  ._つ
       人 Y
      し'(_)


378 名前: ヒッキー@プログラミング 投稿日: 01/11/23 10:22
                                          ,-- 、
                                         /   ヽ
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
                      ∧         ∧         |::::   |
                       / ヽ        ./ .ヽ        |::    |      /  |      /  |      |
                    /   `、     /   ヽ       |::    |     / ̄ ̄| ̄ ̄  ./ ̄ ̄| ̄ ̄   |
                   /:::      ̄ ̄ ̄     \      ノ:    | .     __|__   __|__   |
                   l:::::::::              .l    /    丿       /  |        |      |
                  |::::::::::  -=・=-    -=・=-  |  /     /       /   .|        |   
                  .|::::::::::::::     | ̄ ̄|      | /     /       _/    ゝ─'   ̄ ̄ ̄ ̄ ̄  ・
                   ヽ::::::::::::   /__ヽ   ノ /     /
                     丶::::::::         ノ/     /
                     /::::::::              /           捕まりました。
                    /:::::::::             /
                   /::::::::::            /
                 /::::::::::            丿
                 /:::::::::::              |
                /::::::::  /            |
                |::::   ‖            |
                |::    ‖            |
                |    | |            |
                |    | |            |
._               |    | |            |


379 名前: デフォルトの名無しさん 投稿日: 01/11/23 18:47
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          ||   >>1を   。   Λ_Λ  いいですね。
          || 捕まえなさい\ (゚ー゚*)
          ||________⊂⊂ |
  ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
  (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |      |
〜(_(  ∧ ∧ __(  ∧ ∧__(   ∧ ∧ ̄ ̄ ̄
  〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧  は〜い、先生。
    〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)
      〜(___ノ  〜(___ノ   〜(___ノ


380 名前: デフォルトの名無しさん 投稿日: 01/11/23 18:50
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
    | VB使いの1はダメ人間よ!        |
    |  人のCを見てC言語信者になるの! |
    \______ _________/
             ∨             ____
       ___,――――一´ ̄ ̄ ̄    7  |
   | ̄ ̄                        月  |
   |   C言語以外は全て敵           31  |
   |   皆はお前のソースを笑ってる    日 |
   |        ∧∧ 。             (月) |
   |       (゚ー゚* )/           日直 |
   |__       し∀つ            ギ し|
        ̄ ̄ ̄|ψ|――、____   コ ぃ|
              /____|           ̄ ̄ ̄ ̄
            ∪∪


381 名前: デフォルトの名無しさん 投稿日: 01/11/23 18:50
__________
   ______
   |||| |||| ||||
   ||||/| |∧||||   / ̄ ̄ ̄ ̄ ̄ ̄
   ||Φ|(゚|-|゚;)|Φ||  <  ぐすん。。。
   |||| |||| ||||   \______
    ̄ ̄ ̄ ̄ ̄ ̄

__________


    ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (゚Д゚;)ノ < >>1さん、しぃを監禁しましたっ!
    (|  |    \_______
   〜|  |
    ∪∪


382 名前: デフォルトの名無しさん 投稿日: 01/11/23 18:53
っと、AsciiArtばかり貼っちゃった。
>>377=>>379-381=>>382
ごめん。>>378=>>1さん。
その代わり、いろいろバグなど見つけてきます〜。


383 名前: デフォルトの名無しさん 投稿日: 01/11/23 18:54
あげ。
おれあんまりVBは強くないけど、がんばってくる。>>1
しーってどんなキャラかわからんかったから、
適当に編集しちゃった。しぃファンの方、スマソ。


384 名前: デフォルトの名無しさん 投稿日: 01/11/24 01:42
このスレいい!


385 名前:     投稿日: 01/11/24 01:48
なあおい、アイコンを自由に変更できるツールおくれ。。。


386 名前: デフォルトの名無しさん 投稿日: 01/11/24 01:53
>>386
まさかWINDOWSのアイコンじゃないだろうな?


387 名前: マッドハンド 投稿日: 01/11/24 01:54
>>385
窓の手


388 名前:    投稿日: 01/11/24 01:56
>>386
そうだけど、開発はBCC32だから、

作成のしかたでも教えておくれ。
おそらく、どっからどこまでをアイコンデータとして登録してるのか
しらないから。


389 名前: デフォルトの名無しさん 投稿日: 01/11/24 01:57
リソースファイル作るだけじゃないの?


390 名前:   投稿日: 01/11/24 01:58
>>389

もっと分かりやすく、頼みます。


391 名前: デフォルトの名無しさん 投稿日: 01/11/24 02:00
ここは質問スレではありません。


392 名前: デフォルトの名無しさん 投稿日: 01/11/24 02:01
>>391
でた、ゴミ出す曜日以外の日に、ゴミ出し監視おばちゃん!


393 名前: デフォルトの名無しさん 投稿日: 01/11/24 02:06
>>392
でた、朝起きれねえで部屋ゴミだらけなやつ!


394 名前: デフォルトの名無しさん 投稿日: 01/11/24 02:07
どっちも他のスレでやってくれ。
>>1に迷惑かけるな。


395 名前: デフォルトの名無しさん 投稿日: 01/11/24 02:08
>>393
うっせー、あたってるYO!


396 名前: デフォルトの名無しさん 投稿日: 01/11/24 05:28
パドルと玉の摩擦で玉にスピンがかかるようにして
スピンがかかっているとカーブだ!ブロックに当たって
反射するときも変化するぞ!
・・・・・・・・・・とか

パドルを高速に移動させると
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
      ズザーーーーーッ
のアニメーションに変化だ!
・・・・・・・・・・とか

ごめん、逝ってきます


397 名前: デフォルトの名無しさん 投稿日: 01/11/24 08:48
>>396
スピンはいいアイデアだと思う。


398 名前: デフォルトの名無しさん 投稿日: 01/11/24 08:50
スピンとか重力とか空気抵抗やるなら とにかくまず Angle の変な使い方を止めろ


399 名前: デフォルトの名無しさん 投稿日: 01/11/24 10:51
スピンはいいかもしれないけど、ボールの速さとか考えると、
逝って良し難易度だな。


400 名前: デフォルトの名無しさん 投稿日: 01/11/24 11:04
重力いれたらブロック崩しじゃないよ。サーカス。
サーカスのリメイクはタイトーのプランプポップが良かったな。


401 名前:   投稿日: 01/11/24 11:06
>>400

MS-DOS(98)の名作。
ぶろっくでぽん♪も忘れないでほしい。


402 名前: ヒッキー@プログラミング 投稿日: 01/11/24 11:17
昨日は体調悪くて死んでおりました。
ティムの右上辺りが腫れているので脱腸かもしれません(w

しばらくしたらレスします…。


403 名前: デフォルトの名無しさん 投稿日: 01/11/24 12:42
8頭身!!>>1を助けれ!


404 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:00
  ___________...∩ _______──────────
  ───────────[二]─────── ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   / ̄/
                   | |                     _     /  /
              ___/三三)____              \\  /   ./
         __/            _ヽ.              \\   /
       /′     ===      ((_) 丶─┬───────" \\ /
      / ̄// ̄ ̄| | ̄ ̄ ̄ ̄|________| モナー救急        ○<
    イ   //   ||[ ̄ ̄] |            | γ──────ヽ   \\
  / 人_/|ヽ──| .|  ̄ ̄  | __      _|./           \   \\
 ( -     |   / |____| (__\ ./ ̄ ̄                ̄ ̄ \\
  ゝ_     ̄ ̄          ___/                          ̄
      ̄ ̄ヽ ̄ ̄ ̄ ̄|| ̄ ̄ ̄ ̄||
         ヽ二二二二二二二二二二二二二
   Λ_Λ
  ( ;´∀`)    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (    つ  <   >>1さん、病院へ……
  | | |     \___________
  (__)_)

>>377=>>379-381=>>382=>>404


405 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:01
                    I
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡       (⊃))))
                    ミ彡        \\
                    ミ彡         ヽヽ
                    ミ彡      ∧∧ | | < 1さん待ってて〜!
                    ミ彡     (´Д`)丿丿   今うまい棒買ってくるから〜
                    ミ彡  /⌒     (
                    _ミ彡_∠/⌒ヽ @  ヽ
                  / ミ彡   \   \ 命  )
                 /  ミ彡 /\_)   ) /\ \/つ < 全財産ダスヨ〜 ¥940
                /////     //   \ ノ
                し'し'し'し’      ( (
                             し     3    3   3


406 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:06
         ||             >
         ||       ∧ ∧  <
         || 〜′ ̄ ̄( ゚Д゚)  >              / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ||  UU ̄ ̄ U U  <         >・) <  >>405のお金にぶつかってヘリ落ちたモナー
         ||            >         (  彡 \__________________
         ||            <          √ ゞ((○
         |厂 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
         ||               | >>1を救助するモナー |
         ||               |____   ___|
         ||                     \/
         ||                  Λ_Λ
         ||                 ( ´∀`)
〜〜〜〜〜〜 || 〜〜〜〜〜〜〜〜〜〜〜(    つ〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜 || 〜〜〜〜〜〜〜〜〜〜〜| | | 〜〜〜〜〜〜〜〜〜〜〜〜
〜______□____________(__)_)___〜〜〜〜〜〜〜〜〜〜
〜〇        |               \           )〜〜〜〜〜〜〜〜〜〜
〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜( ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
`〜〜〜〜〜〜〜〜

>>377=>>379-381=>>382=>>404=>>406


407 名前: モナー板から移住者ひとり。。。 投稿日: 01/11/24 14:07
 


408 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:07
AAばっかだ・・・鬱だ。
1よ元気になれ。俺はおまえは有望だとみこんだ(藁
寄付金だ↓
 ┏━━━━━━━━━━━┓
 ┃100モナ / ̄\ Λ冂Λ .┃
 ┃     |    |( ´∀` )o ┃
 ┃     \_/ (∪   φ) ┃
 ┗━━━━━━━━━━━┛


409 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:08
>>377=>>379-381=>>382=>>404=>>406=モナ板出身?


410 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:11
俺の予想。
ギコぺを使っていると見られる。
だってギコぺデータ使いすぎ。>>377


411 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:14
   Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( ゚∀`) < 看病に来ました〜。
┌∪┐  )つ  \________
└─┘ ヽ
〃(__人__ノ


412 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:18
1はタマ取って田中の仲間入りですか?


413 名前: デフォルトの名無しさん 投稿日: 01/11/24 14:24
なんかネタスレみたいになってきたけど、、、
1はPCのやりすぎだったりしてな。


414 名前: デフォルトの名無しさん 投稿日: 01/11/24 19:41
402 名前: ヒッキー@プログラミング sage投稿日:01/11/24 11:17
昨日は体調悪くて死んでおりました。
ティムの右上辺りが腫れているので脱腸かもしれません(w

ティムの ティムの ティムの ティムの ティムの ティムの ティムの!!!!


415 名前: デフォルトの名無しさん 投稿日: 01/11/25 03:53

 ■■■■■
 ■ □   ■
 ■      ■
 ■      ■
 ■■■■■


416 名前: デフォルトの名無しさん 投稿日: 01/11/25 13:58
>>415って何?
つーか発展ないな…


417 名前: デフォルトの名無しさん 投稿日: 01/11/25 13:58
1さぁぁぁあん♥(藁


418 名前: ヒッキー@プログラミング 投稿日: 01/11/25 15:00
http://www.geocities.co.jp/SiliconValley/2530/
↑更新しました。

・ボールの動きと自機からの反射を見直し
・無限ループの解消

などしてみました。
ボールの動きは変な計算をしていたので、ちゃんと
毎回、Sin・Cosを計算するようにしました。前のは
なぜちゃんと動いていたかわかりません…。
相変わらず体がおかしいです。


419 名前: デフォルトの名無しさん 投稿日: 01/11/25 15:07
>>1体気ぃつけぃやぁ。
さっそく、ソース覗いてみるは(藁


420 名前: ヒッキー@プログラミング 投稿日: 01/11/25 15:12
>>371
う〜ん…ムズカシイです…。
atnって、タンジェントの逆の計算なんですね。
ってまだ難しくて理解できません…。なぜそうなるんだろう。
>>373
角、ちゃんと上も横も判定するようにしました。
elseifでかいていたので、どちらかになっていたみたいです。
正規化と法線ベクトルとは…?調べてみます。
>>374
そうですねー。
VBの本見てみたら書いてありました。ちゃんと名前付けたほうがいいですよね。
>>382
AA、なごませていただきました(藁
実はリアルモナーも八頭身も好きです。美の追求とか。
バグハッケソ、よろしくお願いしますー。
>>385
既存のファイルのアイコンを変更できるツールでしょうか。
うーん、リソースってどうやって入れ替えるんだろう…。
>>396
う…難しい…(w
でも、おもしろそうです。斬新なアイデアですねー。
>>398
直してみました…。
>>399
たしかに。ゲームとして難しくなるかも。
>>400
サーカスですかー。どんなゲームでしょうか。
サーカスチャーリーとかいうやつとは別物?


421 名前: ヒッキー@プログラミング 投稿日: 01/11/25 15:16
>>401
98ですかー。数年前にエロゲーをよくやりました。
>>377=>>379-381=>>382=>>404=>>406
はは。AA(・∀・)イイ
>>408
どもです。
100モナって…円じゃないのかー。
>>411
どもども。すんまそん
>>412
   ,――、  ,――、
  /    ヽ     |
 |    _.ム   ノ
  \/ ̄    ̄ ̄\  
   /    ,-―――-ヽ
  /  /  /   \ |
  |  /   ,(・) (・) |   
  |  |     __  ● __ |
   | |    =__= |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   | ヽ    /__//  < んなわけねーだろ
 /|  \     /\   \______________


422 名前: ヒッキー@プログラミング 投稿日: 01/11/25 15:18
>>413
やりすぎかも…。
肩がこってしまいました。
>>417
ぐはぁ
>>419
おー、ありがとうございます。
だんだん読みにくくなってきました…。
ちゃんと設計しないとダメですね。


423 名前: デフォルトの名無しさん 投稿日: 01/11/26 19:56
スレの成長が止まってきたね・・・


…あっ!レポート提出期限明日だったっ、


424 名前: デフォルトの名無しさん 投稿日: 01/11/26 21:44
1ってセンス良すぎ。
いや、プログラミングもなんだけど、
このレスがなんとも・・・


425 名前: デフォルトの名無しさん 投稿日: 01/11/26 21:57
>>424 なぁ。
結構初気の頃からここいるけど、1センスいいよなぁ。


426 名前: 249 投稿日: 01/11/26 22:18
>>420 今迄出来るだけ見てたけど、 さすがに限界。

   というかVBだとこの規模になってくると 見るのが限界になるんだよね。
   ノートパットで編集出来る付近がさ


そろそろオブジェクト指向な言語に移ってみたらどう?
手近な所でDelphiとかさ


427 名前:    投稿日: 01/11/26 22:51
Delphiやるくらいなら、Javaのほうがいいかと。


428 名前: デフォルトの名無しさん 投稿日: 01/11/26 23:06
>>427
> Delphiやるくらいなら、Javaのほうがいいかと。

Java って使ったことないけど、ゲーム中に GC かかっても大丈夫 ?


429 名前: デフォルトの名無しさん 投稿日: 01/11/26 23:16
>>428
そもそも Win32 みたいなマルチタスク OS 使ってる時点で、

- メモリ管理(スワッピング/ページング)
- タスク管理(他のタスクとの CPU 時間共有)

などを行ってるわけだし。Java に移行したからといって、大差ないよ。

ただ Java だと描画が遅いから、ゲームには向かんと思う。>>1 は Win32 API 使い始めたところ
に見えるから、ここで C か C++ に行っても良いんじゃないの。Win32 API プログラミングは本気
でやると面倒だけど、ゲームなら

- バックバッファに全部書いて、WM_PAINT を投げる
- WM_PAINT を受け取ったら、バックバッファをウィンドウにコピー

程度のフレームワークで十分だから、それほど覚えることは多くない。


430 名前:   投稿日: 01/11/26 23:41
ブロック崩し系のゲームって沢山作られてるけど、
俺が知ってる中ではこれが最強。
画面
http://www.reflexive.net/Ricochet/Screens.htm
ダウンロード
http://www.reflexive.net/Ricochet/Game%20Demo.htm

是非参考にして欲しい。


431 名前: デフォルトの名無しさん 投稿日: 01/11/26 23:47
>>430
丸いね・・・下の、なんていうだ、あれが。


432 名前: デフォルトの名無しさん 投稿日: 01/11/27 01:35
うむ
頑張ってるねぇ >>1
とりあえず、僕もC++でブロック崩し 作ってみようかな。
とか思っちゃったよ。

低レベルなのでも作ったら 欲しい?


433 名前: 433 投稿日: 01/11/27 04:38
俺が知ってるブロック崩しの最強はコレ。(GameboyColor用)
作り掛けぽいけどとにかくエミュででもやってみれ。

ttp://www.student.oulu.fi/~aeeben/images/berlin.png
ttp://www.student.oulu.fi/~aeeben/download/berlin.zip


434 名前: Javaでゲーム作ってたヒト 投稿日: 01/11/27 06:16
あー、JavaのGCは大丈夫じゃないです。
挙動が予測可能な通常のマルチタスクOSのメモリ管理やタスク管理とは
まったく訳がちがいます。

Java 1.2から1.3、1.3から1.4に入れ替えただけで
今までに作ったほとんどのゲームのGC引っかかりポイントが変わったのには
もうぶち切れ。


435 名前: デフォルトの名無しさん 投稿日: 01/11/27 07:24
自分でときどき都合いいときにgcを呼んどけばいいんじゃない?


436 名前: デフォルトの名無しさん 投稿日: 01/11/27 07:44
なんでもいいから やってみたら?
 今くらいのレベルまで行ったら次の言語に移るの繰り返せば
 本人の勉強にもなるし 見てる方も面白いからさ


437 名前: デフォルトの名無しさん 投稿日: 01/11/27 08:19
別に言語を移る必要はないと思うが。
まだまだ全然VBの限界って訳じゃないし、現時点で重いわけでもないし。


438 名前: デフォルトの名無しさん 投稿日: 01/11/27 08:51
>>437
VB を「限界」まで使うのは、個人的にはお奨めしないけど。(ねぇ)

コードを読んでみたけど、まだ VB でも行ける範囲だとは思う。ただ、そろそろ行き当たりばったりでソースを
拡張するのは辛くなってきてるのは確かだな。


439 名前: 249 投稿日: 01/11/27 09:06
いや、VBの限界ってのじゃなくて、
 ギャラリー側からは気軽に見るのがツライサイズって事ね
 作者側からはまだ頑張れるサイズだと思うよ。

それに、目標は本人のスキルアップにあると思うから
  他の言語も触ってみるのも大事かと
  VBonlyでこれ以上慣れると弊害もあるだろうし

個人的には VBからならDelphiを経由してJava そしてC/C++
というふうなステップがいい感じじゃないかと思うんだけど、どう?


440 名前: デフォルトの名無しさん 投稿日: 01/11/27 09:16
DelphiとJavaは経由しなくていいと思うけど。

Cでプログラムの低レベルな部分を学んだほうがいいと思う。
DelphiとJavaはその後でいいんでないの?

低レベルな部分を知らないで、DelphiやったってVBを続けるの
とほぼ一緒だろうし。Javaは別の利点があるけどね。


441 名前: デフォルトの名無しさん 投稿日: 01/11/27 12:09
VB   1はもう入門段階は卒業証書を発行してあげていいレベル

Delphi  少し厳し目の文法でVBでユルユルになった感覚を正す
      またオブジェクト指向的スタイルへの誘いにふれ
      ボールやアイテムをコンポーネント化してみよう

Java Freeしなくていい気楽さと Cスタイルの気楽さを楽しみながら
     ポトペタじゃないスタイルへの入門

C/C++  Windowsのメッセージ駆動な仕掛けに苦しみながらも
ローレベル処理をシコシコ書く楽しみに触れる


442 名前: 437 投稿日: 01/11/27 12:49
俺はプログラマとして最低のレベルってのが、思った物は何でも作れることだと
思うが、1はまだそこまで行ってないかと。
だから他の言語を覚えるのはそこまで達してからの方がいいかと。
新しい言語を覚えるにはまず文法を覚えなきゃいかんが、文法ってのはいくら
覚えてもプログラミング技術は全く進歩しないから、文法を覚えるまでの期間は
プログラマとしての進歩は無いよ。
大学や専門学校での初等教育では文法を覚える事=上達のような教え方だが、
正直言って文法を覚えた時点でやっとスタートラインに立てたという程度。

プログラミングの本質はアルゴリズムとデータ構造で、プログラミング言語って
のはそれを具現化する道具でしかない。

もちろん文法の制限によって学ぶことが不可能または著しく困難な概念もあるが、
新しい概念を学ぶよりも制限された機能の中で目的を達成する考え方を学ぶ方が
重要だと思うよ。

とりあえず1はそろそろ、ボールを2つ以上動かすことを考えてみては?
あと、どうしたらソースが見やすくなるかを考えてみるといいかと。
他の人のソースがあれば、それを見てみるのもいいかも。


443 名前: デフォルトの名無しさん 投稿日: 01/11/27 14:08
他の言語に移るのは>>1の判断でよいでしょ。
>>1がVBに限界を感じたら移れば良いだけ。
限界を感じなければ>>1はその程度の器ってこと。

まぁ、仕事なら適材適所で言語を選ぶんだけど、趣味だからあま
り外野がアドバイス以上の口出しをしてはいけないな・・・。

>>1
参考程度にな。


444 名前: デフォルトの名無しさん 投稿日: 01/11/28 09:32
8等身。とりあえず>>1が発言しやすいように
いったんお茶を濁してくれ。


445 名前: デフォルトの名無しさん 投稿日: 01/11/28 10:12
             / ) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
            ./ / |  >>1さん
           / /  \          / ̄ ̄ ̄
           / /     ̄|/ ̄ ̄ ̄ ̄| ご自愛を
         ./ /_Λ     , -つ   \
         / / ´Д`)  ./__ノ        ̄∨ ̄ ̄ ̄ ̄
        /    \ / /   ⊂_ヽ、
        .|    へ/ /      .\\ Λ_Λ
        |    レ'  /、二つ       \ ( ´Д`)
        |     /.          . >  ⌒ヽ
       /   /             /    へ \
       /  /               /    /   \\
      /  /               レ  ノ     ヽ_つ
     / ノ               /  /
   _/ /                /  /|
  ノ /                 ( ( 、
⊂ -'                    |  |、 \
                     .  | / \ ⌒l
                       | |   ) /
                      ノ  )   し'
                     (_/


446 名前: コーダーさん 投稿日: 01/11/28 11:21
>>1
ブロック崩し、イイ感じになってきたねぇ。

ちなみにおいらの言語歴、参考になればシアワセ。
QBasic
PC-DOS6.2に付属のやつでシコシコ入門編。ワイヤーフレームの3D迷路
を作る。インベーダーゲームとか。
VisualBasic1.0
Windows3.1でプログラミング開始。ラウンチャーを作る。サンプルに
付属のBitBltのスプライトに夢中になる。
Delphi3.0
BASIC系に無い言語仕様にビックリする。とりあえずAPIとか勉強する。
Bio100%の戦艦ゲームもどきを作る。ちなみにグラフィックはドット打ち
したプリンスオブペルシャの王子様。
VisualC++5.0
MFCのブラックボックスが嫌いでSDKで始める。DIBの存在を認知、そして
夢中になる。

以後○○コーダーになる。今考えればDelphiはすっとばしてもよかった
かな。


447 名前: デフォルトの名無しさん 投稿日: 01/11/28 11:27
>>442
個人的には「思ったものは何でも作れる」ってのはプログラマとしてのゴール(頂点)だと思うんだが…


448 名前: デフォルトの名無しさん 投稿日: 01/11/28 11:32
ゴール?それはピザよりも美味しいのかい?


449 名前: デフォルトの名無しさん 投稿日: 01/11/28 11:43
>>446
○○コーダーっつって、どうせデモコーダーって言うんだろ。
デモコーダー=妄想上級者
このスレは現実主義。よって君はスレ違い。さよなら。


450 名前: Javaでゲーム作ってたヒト 投稿日: 01/11/28 12:05
>>435
やってみりゃ分かるけど、System.gc()はまったく解決策になりません。


451 名前: デフォルトの名無しさん 投稿日: 01/11/28 12:37
オナニスレはわかるがオナニレスはやめれ。


452 名前: ヒッキー@プログラミング 投稿日: 01/11/28 14:40
ちょっとVC始めてみました。
MFCが相変わらずよくわかりません…。
CStringクラスとCTimeクラスというものをハケーンしました。
んで、MessageBoxで時間を出したりしました…。ムナシイ。

やっぱ自分でウインドウ作るところからやろうかなー。
VBで、ウインドウをグラフィカルに設計できるツールつくろうかと。
…ってそれを極めていったら一人MFCになるのか…鬱氏

>>423
リファレンスを読んだりしてたら、
ブロック崩しを作ることがおろそかになってきました。
>>424-425
ありがとうございます。
よくマニアックな人を呼び寄せるオーラがあると自分で感じます。
>>426
そうですねー。
もうちょっと見やすさについて模索してみたいと思います。
Delphiは…新たに文法を覚えるのに時間がかかりそうです。
>>427
Java、やってみようと思うんですが、WinXPでサポートされなく
なったりすると聞いたんで、考え中です。
>>429
ほおほお。参考になります。
WM_PAINTとか、メッセージ(?)がイパーイありますねー…
覚えきれるのだろうか。
>>430
やりました。
ものすごいですね。感動。3Dオブジェクトが(・∀・)イイ
>>432
おー、欲しいです。
できればソースも…。


453 名前: デフォルトの名無しさん 投稿日: 01/11/28 14:53
MFCはまだ早くねえかい?

俺はWindowsAPIを学んだ方がとっつき易いと思う。


454 名前: ヒッキー@プログラミング 投稿日: 01/11/28 14:55
>>433
やってみました。
付属のGBエミュがなんとも味があってよかったです。
ハードの限界をうまく生かしたつくりというか、
率直に言えば、視点がすごいですね。
>>434
GCについて検索してみました。
バージョンによって採用するアルゴリズムを変えているんでしょうか。
低レベル的な処理をあまり知らない僕的には、GC使わなくても、
毎回開放するソースを書いた方がいいんじゃないかと思うんですが。
うーん、そうするとJavaっぽさが減るのかな。
>>436
ういー。いろいろ手を出そうとしています。
昨日、Wave鳴らす処理書いてるときに、自分で波形作りたいなーと
思いまして、WaveOutOpenなどしてみようと思ったんですが、
なぜかうまくいきませんでした(藁
>>437
開発環境、Pen3なのですが、MMX200のノーパソでやったところ、
ガクガクしてました。早くしてみたいなぁという欲求はあります。
>>438
たしかにソースの拡張がしんどくなってきました。
ちゃんとした設計というのをやったことがないので、どのような
仕様書があれば混乱せずにまとめられるのかが分かりません…。
次は自分で理解できる範囲で文書化してから作ろうかと。


455 名前: ヒッキー@プログラミング 投稿日: 01/11/28 15:16
>>439
Delphiで書かれたものをよく見かけるし、興味があります。
でもJavaならCっぽいし、そちら方面へ行こうかと。
>>440
Cはポインタあたりで詰まりそうになりましたが、(藁
情報処理2種受ける時に勉強したので読むことはできます。
本を見ながら、リスト・木構造など作りましたが、
頭が割れそうになりました。
>>441
ほおほお。参考になります。
やっぱC使いたいなぁ…。C++は分かりにくいので好きじゃないですが。
>>442
たしかに。
なんでも作れるという気構えが無いと、もし仕事するなら、
やっていけないでしょうしね。
プログラムはアルゴリズムの方が重要だというのを最近理解できました。
今までは文法覚えた(というか、マニュアルが引けるようになった)だけで
いい気になってました。
ボール2個にするときに、今までのソースを壊してしまうんではないかと
ちょっと戸惑っているところがあります。zipで保存してるから
大丈夫なんですけど、自分で具体的に想像できない部分は弱気になります…。
>>443
今は趣味でプログラムをしていますが、何かの分野で、実用的なソースが
書けるようになったら、プログラムをしている方々に貢献できたらいいなぁと
思っています。
>>444
どもども。
>>445
八頭身…動きが…(藁
ご自愛が多すぎるので困っています。
>>446
あー、QBasicってWin95に入ってましたねー。
といってもUSモード専用でしたっけ?
VB1.0…なんか1.0っていうとものすごく古く感じます。
そういえばDIBって普通のBitmapと違いがあるんでしょうか。早いとか?
プリンスオブペルシャって…シビアな設定のやつですか?


456 名前: ヒッキー@プログラミング 投稿日: 01/11/28 15:26
>>447
思ったものを何でも作れるようになりたいです。
すぐに作れる、というより、何でも作ってしまえる自信を付けろ
ということを、おっしゃってるんではないかと勝手に解釈しています。
>>448
NHKの外国のホームドラマを思い出しました。場外から笑い声が…
>>449
デモってメガデモっていうやつですか?
>>451
あっぁっぁっぁ…
>>453
がんばってAPIを使いこなせるようになります。
まず、プロセス・スレッド・パイプなど謎の単語を理解しようと思います…。
あー、コンピュータ用語はムズカシイ。


457 名前: デフォルトの名無しさん 投稿日: 01/11/28 15:29
>>1って今気がついたんだけど、ほんとにヒッキーなんだね・・・
15時に書きこむって…

# 折れもだけど、テスト2日前だから、結構早く帰ってこれる(藁


458 名前: デフォルトの名無しさん 投稿日: 01/11/28 19:32
いきなりMFCは止めておいた方が良いと思う。
WinAPIなら「猫でもわかるプログラミング」あたりがお勧め。

折れもヒッキーなので応援してます(藁


459 名前: デフォルトの名無しさん 投稿日: 01/11/28 20:30
この本がおすすめ
http://www.amazon.co.jp/exec/obidos/ASIN/4756136001/qid=1006946989/sr=1-9/ref=sr_1_0_9/249-2226099-7449900


460 名前: デフォルトの名無しさん 投稿日: 01/11/29 00:12
そろそろ、ベタベタにグローバル変数を使うのをやめて、少しデータをまとめないか? 今のままだと、
コードを増やすにつれてメンテナンスが厳しくなる。

それと tmp1 とか Form1 みたいな名前は、真面目に付け直したほうがいい。良いソースコードという
のは、詳細を追わなくても字面を見るだけで処理内容が分かるぐらいに、名前の選び方に注意を払っ
てるよ。


461 名前: 442 投稿日: 01/11/29 02:39
ボールを2個以上にするなら、ボールの変数を構造体の配列にまとめて、ボールが
生きてるか死んでるかのフラグを構造体に追加。
ボールの処理しているところをループにして、全ての生きているボールに対して
処理するようにする。
これが一番簡単だと思うよ。ミスの判定は、生きているボールの数を表す変数を
用意するか、ボールを落としたときに全てのボールが死んでるかをチェック等。

何をしたらボールが増えるかってのはゲーム性に関わってくるので簡単には決め
れないが、システム的に一番簡単なのはいつでも次のボールを打てるようにして
しまうのかな。いつでも左クリックで球発射。でも残機が減るとか。その代わり
得点2倍みたいな。


462 名前: 442 投稿日: 01/11/29 13:26
いつでも自由に発射できるようにした場合は、以前あった案のキャッチして
面クリアが良さそうだね。キャッチできなかった球はロスト。


463 名前: ヒッキー@プログラミング 投稿日: 01/11/29 15:13
>>457
本当にヒッキーですよ。
寝て起きてプログラム書いて本読んでの繰り返しです。
大学生ですか?
>>458
MFC、やめようと思ってきました(藁
APIは、本のマニュアルがあるのでなんとかなりそうです。
「猫でもわかるプログラミング」ですかー。ちょっと探してみます。
>>459
ほおほお。なんか硬派っぽい本ですねー。
本屋に逝った時に探してみようと思います。
>>460
自分でもちょっと感じてきてました…。
とりあえず、コントロールの名前をちゃんとつけました。
どの変数をローカルにしたらいいか考え中です。
グローバルのままの方が楽に感じるので、選別が難しいです。
>>461-462
おー、そういう処理の仕方があるんですね。参考になります。
フラグもたせれば処理しやすいですね。
2個以上が同時に出るとなると、ゲーム的には最後にキャッチ
する方がたしかに楽しいかも。
ゲーム性についても、いろいろ考えるようにします。


464 名前: 私的名スレ認定済み 投稿日: 01/11/29 15:35
>>455
> ご自愛が多すぎるので困っています。
ご自愛は週に3度までにしとけ。


465 名前: デフォルトの名無しさん 投稿日: 01/11/29 15:51
>>463
>大学生?
じゃないよ、そんなにおとなじゃない(藁。
中坊だから。いまちょこっとずつ僕も勉強中(プログラムとテスト勉強)


466 名前: ヒッキー@プログラミング 投稿日: 01/11/29 15:52
最近、ちょっと悩んでいる事があります。
あんまり考えるべきことではないかも知れませんが、
どの程度まで内部を把握してプログラムすべきかということです。

VBでも、速さを犠牲にする事を覚悟で、ある程度のCPU以上のもの
限定で作れば、物事を実現する為には簡単だと思うんです。
たとえコンピュータ内部を把握しなくても、実現できればいいんでは
ないかと。(僕は内部をつきつめたい方ですが。)

マクロメディアのディレクターとかでも、言語的は非常に限られていて、
凝ったアプリケーションを表現するには難しいかもしれませんが、
目的はもっと簡単に実現できると思うんです。

何が言いたいかといいますと、どこのレベルで自分で満足を得れるか
という事と、仕事としてはコンピュータをどの程度、低レベルな段階にまで
知ればいいのかということです。

C++にハマって、オブジェクトを組み立てるような感覚でプログラムする
のは非常にプログラムをするユーザとしてはありがたいですが、
機械語レベルでのオーバヘッドは勉強しないとわかりません。

また、機械語まで分解しないと気がすまない性分の人もいらっしゃるかと
思います。

僕は今はC++がわかればそれで満足を得られそうですが、もし、C++をマスター
する段階までいけたら、機械語を勉強せねば…とか思うかもしれないです。

それって、>>442さんのおっしゃる通り、アルゴリズムとは全く関係ない気が
するんですね。新たな言語を勉強していくだけで一生が終ってしまうような…。

ひとつの物事に執着して、殻にこもるのはカッコ悪いと感じますが、
言語をひとつに決めないとアルゴリズムを勉強できないのではないかと。

それからVBのような環境依存言語は、言語を覚えるという手間をヒトに
かけさせる時点でダメなような気がします。
あとCも、環境によって関数の名前が変わったり、(ライブラリを作る人が
違うというか、そのヒトが関数名に著作権的なものを感じさせているというか)
結局どれをやればいいのか思いつきません。

結論としては、僕的にはコンピュータを内部まで知らなくても、1回ソースを
書いたら全ての環境で全く同じソースがコンパイルできるようになったら
いいなと思います。


新たな言語に自分の環境をあわせる事に対する姿勢はどのような感じで
いけばいいのでしょうか。また、今までどうされて来ましたか?
仕事が今までどうりにこなせない不満などあると思うのですが。

せっかく書いたのでage


467 名前: ヒッキー@プログラミング 投稿日: 01/11/29 15:56
なんかフリと結論が違うような書き方になってしまった…鬱駄

>>464
もっとしてるかも(藁
>>465
おー、中学生ですか。2chに来てると病みますよ。
テストは、数学をきっちりマスターするまで勉強した方がいいと思います。
他の勉強も、ゲームなどプログラムするときの糧となりますので、
おろそかにせずに、適当にかじる事をお勧めします。
やー、そんな早くからやってるとは。恐れ入ります。


468 名前: デフォルトの名無しさん 投稿日: 01/11/29 15:59
>>466
> ひとつの物事に執着して、殻にこもるのはカッコ悪いと感じますが、
> 言語をひとつに決めないとアルゴリズムを勉強できないのではないかと。
大丈夫。最初の言語を覚えるのは苦労するけど、二番目は楽、三番目はもっと楽になるから。


469 名前: デフォルトの名無しさん 投稿日: 01/11/29 16:01
>>467
かじってるていわれてもまだまだ(汗
三角関数とか独学で勉強中。

1さんって高校?大学?それ以上?


470 名前: ヒッキー@プログラミング 投稿日: 01/11/29 16:06
>>468
ほおほお。そういうものですか。
僕はまともに書き方がわかるのはVBくらいなので分かりませんでした。
ちょっと救われた気がします。ご意見ありがとうございました。
>>469
おー、三角関数ってだいたい高校で習うんじゃないですか?
僕は年齢的には大学ですね。ハタチです。
このスレで教えてもらったところだけど、ここお勧めです。
http://www.kwansei.ac.jp/hs/z90010/hyousi/2106.htm


471 名前: デフォルトの名無しさん 投稿日: 01/11/29 16:32
ひそかにマターリスレ?


472 名前: 458 投稿日: 01/11/29 16:44
MFCはAPIを理解してないと混乱する事請け合いです。
と言うより、ウィンドウメッセージ関連でしょうか。
クラスですから、C++も解っていた方がより楽ですし。

「猫でもわかる〜」はC/C++の入門にも良いです。
ここのおかげで本が不要(藁
http://www.kumei.ne.jp/c_lang/


473 名前: デフォルトの名無しさん 投稿日: 01/11/29 16:58
matlab教えて


474 名前: デフォルトの名無しさん 投稿日: 01/11/29 18:10
>>470
三角比は外国は中学校でちょこっとやるらしい。

VBが案だけできたらCも余裕でいけるんじゃない?


475 名前: デフォルトの名無しさん 投稿日: 01/11/29 18:24
>>468
>大丈夫。最初の言語を覚えるのは苦労するけど、二番目は楽、三番目はもっと楽になるから。
そうだね。リュウを使えるようになるのに凄く苦労したけど春麗、ダルシムと加速度的に覚える
のが早くなり、一通り全キャラやった後にリュウに戻ると勝手にうまくなってるものだよね

板違いな上に時代錯誤な発言ですまん


476 名前: デフォルトの名無しさん 投稿日: 01/11/29 19:04
>>475
そのマターリ感がこのスレにふさわしい


477 名前: デフォルトの名無しさん 投稿日: 01/11/29 19:41
>>475
俺もそう思う。俺の場合は最初はケンだったけどな。
それでザンギエフとか使ってて、またケンに戻ってくると
通常技の使い方とかが上手になってるんだよ。


478 名前: デフォルトの名無しさん 投稿日: 01/11/29 19:56
>>474
s/案/あれ/g;


479 名前: デフォルトの名無しさん 投稿日: 01/11/29 20:24
┏━━━━━━報告書━━━━━┓
┃                    ┃
>1haヒッキーのため          ┃
15:00前後に良く書きこむようです。 ┃
┗━━━━━━━━━━━━━━┛


480 名前: デフォルトの名無しさん 投稿日: 01/11/29 23:07
あのぅ、ヒッキーさんは C++ を覚えようとしてはるみたいですけど、
C++ はいろんなもの隠蔽しちゃってて、全然低レベルじゃないと思いますよ。
ましてや MFC なんて、裏で何やってんだかわかろうとするだけ無駄です。
やるなら高級アセンブラ C。


481 名前: デフォルト素人さん 投稿日: 01/11/30 00:38
GCって何ですか?


482 名前: デフォルトの名無しさん 投稿日: 01/11/30 00:52
>>480
> C++ はいろんなもの隠蔽しちゃってて、全然低レベルじゃないと思いますよ。
気のせい気のせい。C++ はソースを読んで(最適化前の)アセンブリコードが予想
できる代物で、その意味では C と同様に「高級アセンブラ」です。

ただ、ゲームを書くなら MFC はあまり嬉しくないとは思う。Win32 の基本的なフレー
ムワークは

 メッセージを使った処理

なんだけど、ゲームの場合にはこれを無視してしまった方が書きやすい(PeekMessage
でメッセージを見て、なかったらゲームを進行させるように書く)。MFC はそういうコードを
書くことは想定していないので、いろいろ面倒です。

もし C++ で書くなら、WTL の CWindowImpl あたりを使うか、もしくは素直に自分でウィン
ドウプロシージャを書くのが良いかと。


483 名前: デフォルトの名無しさん 投稿日: 01/11/30 01:09
>>482
CWindowImpl は WTL じゃなくて ATL だな。ごめん。


484 名前: デフォルトの名無しさん 投稿日: 01/11/30 01:23
>>481
ガベージコレクション、で google 検索。


485 名前: デフォルトの名無しさん 投稿日: 01/11/30 01:28
C++でthrowしたのオブジェクトを参照でcatchしたときとか
アセンブリコードが予想できたら結構すごい。


486 名前: デフォルトの名無しさん 投稿日: 01/11/30 03:31
C++=MFCと決めつけるのはよくないかと。
漏れはC++使ってるけど、MFCなんて使ってないよ。


487 名前: PGでもSEでもないシロウトだが 投稿日: 01/11/30 12:18
>>466
> どの程度まで内部を把握してプログラムすべきかということです。

その前に、
グローバル変数とローカル変数の使い分けっつーか、
モジュール化とか意識するようになったほうが良いと思われ。
順番として。

シロウト考えなんで、プロのかたの意見を優先に参考にしてください。


488 名前: ヒッキー@プログラミング 投稿日: 01/11/30 12:45
>>472
猫でもわかるプログラミング、読みふけってしまいました。
間に猫の絵があって、なんとなく読みやすいです。
MFCって、APIの後でやっと分かるものなんですね…
でかでかと売り文句が書いてあるので、それをマスターしないと
いけないのかと、誤解しました。
>>473
検索してみましたが、MATLABってすごくムズカシそうですね(藁
Cで3Dの表示をするより簡単に記述できるんでしょうか。
ソースのC化機能とかついてるみたいですね。
>>474
外国は教育のカリキュラムが違うでしょうしね。
VBはたいした言語ではないので、Cに移ると苦労します。
>>475-477
あー、そうですねー。最初は必殺技のコマンドを入力するだけで
苦労するけど、後から違うキャラの技を覚えるのが楽になったり
しましたね。僕はガイルを最初に使ったので、ブランカだけ楽でしたが(w
>>480
低レベルな処理を知りたいとは思いますが、C++で楽ちんな考え方を
してプログラムしたいというのもあります。
※それにしてもなぜC++をやろうとしたらみんな煙たがるのか…。
>>482
ほおほお。MFCって、ゲームを作るときには使わない方が
いいんですか。たしかにメッセージ処理は関係ないかも。
キーの処理とか決まった位置で自分で書きますしね。
CWindowImpl、検索してみます。ありがとうございます。
>>486
C++って、LINUXにWINのソースを移植するとき、WinAPIを使ってる
所を全部消さないといけないんでしょうか?
MFCを使ってたらさらに移植が難しいですね…。
>>487
そうですね…。たしかに考えが飛躍していたように思います。
僕的には、目標がはっきりしていた方が勉強しやすいので、
悩みを解消したいのもあって、意見を書いてみました。


489 名前: 一応プロ 投稿日: 01/11/30 13:43
煙たいっていうか、基礎を勉強するならCの方が良くねえかい?ってことだ。
今は、アルゴリズムとデータ構造を徹底的に叩き込むべきだと思う。

その後で、効率よくプログラミングするためにはオブジェクト指向で設計した方がいいかもしんない、
って自然に思うようになるから。オブジェクト指向の勉強はそこからでも遅くはない。

「C++って既存のライブラリがいっぱいあるでしょ?そっち使った方が楽じゃん」という考えは
プログラミング初心者はしないほうが良いです。じゃないとスキルは伸びないと思う。

Cでインタプリタを作ってみたら?
基礎的なアルゴリズムを一通り学べるし、ある程度動くようになったら、オブジェクト指向で
メインコードを簡略化したくなるよ。あ、できるだけ文法はCに近いものがいいかも。


490 名前: ヒッキー@プログラミング 投稿日: 01/11/30 14:10
>>489
ご意見ありがとうございます。
たしかに、既存のライブラリに頼って、それを呼び出すだけの
プログラムを書いたところで、自分の技量には何の関係も無いですね。
やはり、経験を積まれた方の意見は重みがあります…。
インタプリタって文を分解して、1行ずつ実行するというアレの事ですか?
うーん、どうやって実装したらいいのでしょう。
文を、中間的なバイナリコードに変換してそれを逐次、実行するような
感じでしょうか。文の内容をそのまま実行して逝ったらいいんでしょうか。
いろいろ考えてみようと思います。


491 名前: 489 投稿日: 01/11/30 14:52
そうだねいったん中間コードを吐いて、VM上で実行すれば生成されたバイナリは
VM上であればWindowsだろうがLinuxだろうが動くから嬉しいかも。

最初は、変数はアルファベット1文字、型は整数のみとかに制限したりするといいよ。

とりあえずこの辺を参考にしてみて。
http://pc.2ch.net/test/read.cgi/tech/981672957/


492 名前: デフォルトの名無しさん 投稿日: 01/11/30 14:59
Cに逝くか、他に逝くか逝かないかは自由だからね。
ただCをお勧めする。


493 名前: デフォルトの名無しさん 投稿日: 01/11/30 15:00
>>491
ちょっと待ちいや。いきなりインタプリタは酷やろ。
ヒッキー、迷路や迷路。迷路作成プログラム作ってみ。結構奥深いで。


494 名前: デフォルトの名無しさん 投稿日: 01/11/30 15:12
>>493
激同。迷路は奥が深い。
折れも昔作ったなぁ。

# 「活字」の関西弁は気持ち悪い(藁
# 一応関西人ですが(私


495 名前: デフォルトの名無しさん 投稿日: 01/11/30 15:12
3D迷路とか。


496 名前: デフォルトの名無しさん 投稿日: 01/11/30 15:18
>>494
まぁええがな(w

>>495
それは単なる表示上の応用やな。基本的には二次元でええやろ
そや、2ちゃんにもカキコできるようにテキスト迷路なんてどや?50x50ぐらいのん。


497 名前: デフォルトな名無しさん 投稿日: 01/11/30 15:19
>>496

優良スレたてるまで出られないとか。


498 名前: デフォルトの名無しさん 投稿日: 01/11/30 15:21
>ヒッキー@プログラミング氏
どんどん挑戦する事が大切!ですね。
>>493氏の提案している迷路なんてどや(藁

# でも騙りも出ずにってすごいなぁ(藁


499 名前: 458だったもの 投稿日: 01/11/30 16:25
挑戦することが大切か…最近その心意気を忘れてる気がするよ。
俺もここで何かやってみるかな。しかし受験もあるし。

鬱堕詩嚢


500 名前: デフォルトの名無しさん 投稿日: 01/11/30 16:37
>>500get !! (藁
挑戦すること…ですね。
折れも受験だしなぁ。来年、ガンバロ〜っと。


501 名前: デフォルトの名無しさん 投稿日: 01/11/30 16:40
受験を来年頑張れ♥


502 名前: デフォルトの名無しさん 投稿日: 01/11/30 16:58
>>501
受験を来年って浪…(自粛)…じゃん(藁

それはそうと、電子投票ほうが成立したね。
┓(´д`)―y。o(どうなるんだろ?)


503 名前: ヒッキー@プログラミング 投稿日: 01/11/30 17:51
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は

・ソースの部分的なモジュール化
・NativeCodeコンパイルに変更

です。見た目と動きはほぼ変わりません…。

>>491
ほおほお。中間コードを吐く方法でよかったですか。
自分で変なこと言ってたらどうしようとか心配してました。
スレ、読んでみます。ありがとうございます。
>>492
了解。Cの方向で。
>>493
やっぱインタプリタは難しいですか…。
迷路でも、ちゃんと完成させるのがムズカシそうだ。
一回、作ってみようと思います。
>>494
いくつもゴールへのルートがあると難しそうですねー。
僕も関西人です。
>>495
3D…がんばれゴエモンみたいなやつですか。
>>496
あー、2chにカキコできるサイズのものだったら面白いですね。
>>497
どういうゲームなんでしょうか(w
最良スレの定義がわからない…
>>498
ういー。どんどん挑戦してみようと思います。
体力が続く限りやります。
>>499
受験生ですかー。たいへんですね。
プログラムはいつでもできるので、まっとうな道を進む事をお勧めします。
僕みたいになると、先が見えないので大変です。
>>500
おぉ、受験生多いなぁ。
やっぱ数学してないと大変です。数学がんばってください。
>>502
電子投票ってどんなんでしょ?
選挙でつかうんでしょうか。


504 名前: 458そのもの 投稿日: 01/11/30 18:04
これも道の一つだと思ってる自分は、終わってるんでしょうか(藁
しかも受験は受験でも高校受験だったりして。
ってスレとは完全に関係ないのでsage


505 名前: デフォルトの名無しさん 投稿日: 01/11/30 20:00
折角ブロック崩しでやってきたんだから ブロック崩しを他言語でやってみる方が違いが判っていいと思うけどなあ
で、VBから一番移動し易いのはやっぱりDelphi。
  Cマガの付録CDに入ってるんだから、お金もそんなにかからんし
 ソースを見る限り VBにしかないselect文とか使ってないから Delphiには殆どそのまま移植可能
 簡単でないのはコントロール配列の扱いくらいかな

それに VBとDelphiの比較サイトは結構あるし
ttp://www.threeweb.ad.jp/~satou/delphi1.htm
ttp://www.ab.wakwak.com/~greenspace/dev-api/develop/step_1.html


506 名前: デフォルトの名無しさん 投稿日: 01/12/01 15:30
言語の違いを学ぶより、アルゴリズムとデータ構造の方が大事だろ。


507 名前: 一応プロ 投稿日: 01/12/01 16:48
>>1
インタプリタの見本っぽいの作ったけどいるか?構文解析の参考になると思う。
インタプリタっつーか、式を入力してそれを計算して結果を表示するだけだけど。

例えば、
>3*(2 + (a - 2) % 3)
と入力すると、
a =
となるので、aに値を入力。
すると答えが表示される。

ただし、入力できる式は、リテラル整数は1桁のみ、変数はa-zA-Zの52種類。
演算子は、+-%*/の5種類。

# ろくな字句解析してないのに4時間もかかった・・・。コード的には300行弱。


508 名前: 一応プロ 投稿日: 01/12/01 16:52
あ、なんか否定されてた(´Д`;)

インタプリタと言ってもピンきりだよ。

add 1 1

とかを解析・実行して結果を2と表示するものとかなら簡単でしょ?
そういうとこから始めたらいいよ。


509 名前: デフォルトの名無しさん 投稿日: 01/12/01 17:46
>>507
どうでもいいけど、それってインタプリタじゃなくて電卓って言わない?


510 名前: デフォルトの名無しさん 投稿日: 01/12/01 18:37
>>509
電卓もインタープリタの一部ともいえる


511 名前: デフォルトの名無しさん 投稿日: 01/12/01 18:52
>>509
いちおう構文解析が入る(演算子の優先順位を考慮に入れる必要がある)から
単なる電卓とは違うけど、そこから言語処理系への道はかなり遠いよな。


512 名前: 一応プロ 投稿日: 01/12/01 19:02
>>511
再帰下降解析すれば、そう遠くないよ。

言語処理系として難しいのは最適化あたりじゃないか?
あと、エラー処理かな。エラーが起きたら中断するだけなら簡単だけど。
最適化まではやったことないから知らんけど。

中間コードを生成して、それを解釈実行するところまではそう難しくないって。
そこまでは別に難しいアルゴリズムなんてないし。


513 名前: 374 投稿日: 01/12/01 19:25
あ、第28段がうぷされてる。ただいま階拝見中...

おっ、名前付けをちゃんとしたんだね、なかなかみやすくなったんじゃないかな?
おおぅ、ブロックをモジュール化したんですね。
よく見てないんですが、いいんじゃないですか。

気になった点をいくつか、Form_Initializeの
   'ここにループを書くとウインドウ描画前に始まってしまうので、
   'タイマー使用
   TmrCallMain.Enabled = True
は画面が表示されずにMainLoopに入ってしまうんでやってるんだと思うんだけど
その場合は、Initializeでフォームを Show して DoEvents かませば大丈夫です。
   Me.Show
   DoEvents
   MainLoop
とこんな感じで書けばいけると思う。

あとは重複して書いてるところが多い。
   With tmpRect
      .Bottom = 220
      .Left = 250
      .Right = 310
      .Top = 140
   End With
これはいっぱいあるんで、
tmpRect = MakeRect( 220,250,310,140 )
とこんな感じのRECTを作る関数を作った方が良いです。
小さい物でもいっぱいあると曲者です。

後はある特定のボタンが押されているときの速度を
変える処理はこんな風に書けばよいです。

   Dim MoveSpeed As Long
   MovdSpeed = 2                   '通常移動速度
   If Press.Shift Then MoveSpeed = MoveSpeed * 2   'SHIFTが押されているときは2倍
   ElseIf Press.Ctrl Then MoveSpeed = MoveSpeed * 3 'CTRL が押されているときは3倍

   If Press.Left Then
     Paddle.X = Paddle.X - MovdSpeed        'この辺を変数に変えてみた
     If Paddle.X < 0 Then Paddle.X = 0
   ElseIf Press.Right Then
     Paddle.X = Paddle.X + MovdSpeed        'この辺を変数に変えてみた
     If Paddle.X + Paddle_width >= Game_area Then Paddle.X = Game_area - Paddle_width
   End If

重複する処理は書いてはいけない、修正や変更が大変になります。
ちょっとづつ値が違うような処理は変数をうまく使えばひとつにまとめられます。
似たような構文が続くものは必ずうまく書く方法があるのでそこに注意してみてください。

あと、実行させると自機が自動で左に移動します。
カーソルきかないっす。仕様ですか(笑。


514 名前: ヒッキー@プログラミング 投稿日: 01/12/01 22:37
>>504
挑戦する事を忘れるのはまだ早いですよ(藁
高校受験ですかー。たいへんですね…。
その頃、今まで生きてきた中で一番勉強してた時期のような気がします。
吸収が良い時期なので、なんでも勉強した方がいいかもしれませんね。
>>505
Delphiは…VBと同じような位置付けに感じるので、やっぱやめとこうかと
思っています。他のOSでもDelphiが使えたら考えるかも。
あ、パスカル言語という風に考えたら検索したら見つかるかもしれないですね。
>>506
はい。アルゴリズムを覚える方をかんばります。
>>507-508
おぉ、ありがとうございます。
見せて頂けるなら欲しいです。
いきなりインタープリタと考えると難しいけど、一個一個解決して
いけばいいんですね。
>>511
うーん、やっぱインタープリタの道は険しいのか…
>>512
最適化って、どの変数にレジスタを割り振るかとか、
ややこしそうな処理のことでしょうか…。
>>中間コードを生成して、それを解釈実行するところまではそう難しくないって。
ほおほお。なんか安心しました(w
>>513
おー、具体的な例を挙げて、教えてくださってありがとうございます。
たしかに重複する箇所が多かったと思います。
RECTのところ、おっしゃる通りに変更してみたら、読みやすくなりました。
他の所も修正しようと思います。
あ、あとForm_initializeのところ、書き直したらいけました。
なぜか前にやったときはうまく逝かなかったんだけどなぁ…うーん。


515 名前: ヒッキー@プログラミング 投稿日: 01/12/01 22:39
あー、そういえば左に動くのは、JoyStickに対応しようとしたから
でした…。joyStickの関数がちゃんと値を返してくれないような…。
もしくわ僕の書き方が悪いのかもしれません。
とりあえず、一時的に消します。


516 名前: 一応プロ 投稿日: 01/12/01 22:55
>>1
ほれ。
ttp://www2.makani.to/akutoku/upload/dat/1007214743.lzh
パッと見て悪いと思う部分は真似ないように!

ダウンしたら>>1のサイトで配布しても良いよ。
上のが消えてもダウンできるように。


517 名前: 一応プロ 投稿日: 01/12/01 23:03
あ、>>516のコードは中間コード生成してないから。


518 名前: デフォルトの名無しさん 投稿日: 01/12/02 01:03
>>516
> ファイルへの直接リンク(アップローダのページからクリックすれば、見れます)
と言われて拾えないんだけど。2:00 以降になれば OK?

>>512
> 再帰下降解析すれば、そう遠くないよ。
ま、数式の解析から言語処理系への過程が遠いか遠くないかは、実物を見て本人
が判断すりゃ良いやね。(俺は遠いと思うけど)

前に勉強がてら書いた Pascal ライクな処理系のコード置いときます。中間コードの
生成と、コンパイル時に 1 + 1 を事前に 2 と置き換える程度の簡単な最適化が入っ
てます。
http://members.tripod.co.jp/lambda_func/pc.zip

#TRY - CATCH とかはお遊びで書いてるので、真似しないようにね。


519 名前: 374 投稿日: 01/12/02 01:24
JoyStickに!?
すごいなぁ。どんどんやってください。
二十歳の実務経験なしでここまでできるとは驚きです。
ソース見てると、欲しいところにうまくコメントを書いているし、
いろいろ調べ物もうまいみたいだし、成長も速いし、
いいなぁ欲しい人材です。ウチの新人もこうであれば...。

あと、インタプリタやらなにやら話があがっていますが、
あなたの好きなところからプログラムをやっていくことがいいと思います。
好きなことをやってると成長は速いです。
APIに興味があるようなのでそちらで何かやってみては?


520 名前: 一応プロ 投稿日: 01/12/02 01:52
>>518
俺はHSP程度なら数式解析とたいした差はないと思ってる。
というか、やってみたら意外と簡単だったっていうのが正直な感想。
# それまですごく難しいものだと思ってた。

もちろん言語処理は奥が深いからピンキリだね。
>>518の"遠い"と言うのはそういうことかな?だったら激しく同意。

実は俺はまだ言語処理系触れ始めと言っていいくらい。
yaccとかlexは使わないで1からゴリゴリ書いてるけど、再帰下降解析
はほとんど差が無く感じるな。管理するデータが多くなったくらいで・・・。

あ、ソース頂きました。

>>519
ま、結局は>>1次第だね。
でも言語処理ってゲームで生かせると思う。
俺も20歳なんだけど、どう?(笑)
仕事中に2chに出入りしてる人間はダメ?

# いちいち長いな(´Д`;)


521 名前: 名無し@就職活動中 投稿日: 01/12/02 03:36
>>519
やっぱ現段階でそこそこできるやつよりも、
1氏のように頭のきれる人のほうがいいですよね・・・

>>1
あなたの情熱がうらやましいです。がんばってください。


522 名前: 投稿日: 01/12/02 05:04
>>521
新卒なら確かにそうだけどな。

でも>>1>>518>>520を目の当たりにして、僻んでるだけの>>521は一番
いらない存在だな。

こんな時間に起きてる俺もいらないな。


523 名前: ヒッキー@プログラミング 投稿日: 01/12/02 19:09
今日は一日中寝ていました。

>>516
どもども。いただきました。
これから拝見させていただきます。
>>518
おー、すんませんです。
いただきました。参考にさせていただきます。
>>1 + 1 を事前に 2 と置き換える
あー、定数の演算の場合、すでに計算しておくっていう方法もあるんですね。
>>519
ありがとうございます。嬉しいです。
あんまり誉められると頭に乗ってしまいます…。
>>あと、インタプリタやらなにやら話があがっていますが、
>>あなたの好きなところからプログラムをやっていくことがいいと思います。
了解しました。
インタープリタは、HSPを知ったときに、ちょっと作ってみたいなぁと
感じていたので、興味はあります。
とりあえず今はもうちょっと簡単な事からやってみようかと…。
APIでウインドウを作って、メモ帳のようなものでも作ろうと思います。
>>520
おー、ハタチなんですか?すごいですね…。
僕もいつか追いつきたいと思います。
>>521
ありがとうございます。
引きこもってると楽なので、勉強がしやすいです。
なぜか学校逝ってる時は勉強の時間に勉強しないんだけど…(藁
社会に出ると、できるかどうかわかりません。
精神的に追い詰められやすい性格なので…。
>>522
いやいや、いらないと思うよりは、できると仮定して
能力を伸ばしていく事の方が大事じゃないですか?
いらないと決めて、いらない人間になってしまったら
本当に社会にとって良くないと思います。
どのような人であれ、同じような量の食事やらをするわけですから。
マジレススマソ。


524 名前: 522@就職活動中 投稿日: 01/12/02 23:52
確かに僻んでる。羨ましいもん。
でもなーんにもしてない、ってわけじゃないよん。
つーか激しく板違いなので消えます。


525 名前: デフォルトの名無しさん 投稿日: 01/12/03 00:26
恐らくblock28.zipが最新版だと思うのですが、
3面から出てくる金のブロックを壊した時に、画面の左上の隅に毎回黄色のブロックが出現します。
ソースを見てないけど自分の推測では恐らく金のブロックは2回当てると壊せるブロックで、
1回当てると黄色のブロックに変化させるつもりが、位置を設定してないため毎回(0,0)の
位置に誤って出現しているのだと思います。
通常じゃ配置されそうにない位置に出現するのと、他のブロックと画像が重なることがあることからそう判断しました。

けどバグじゃなくても直してほしいです。このブロックのせいで4面がいつまでたってもクリアできない…

あとバーが左端にあった時だったと思いますが、真横からボールが当たった時バーが少し壁にめり込みました。
しかしこれは別にゲームに支障がないのでバグとはいえないかな?

あと非常に面白いです。コンボで一気に点が入るところが。


526 名前: 505 投稿日: 01/12/03 12:48
>>514
>Delphiは…VBと同じような位置付けに感じるので、やっぱやめとこうかと
>思っています。他のOSでもDelphiが使えたら考えるかも

 同じといえば同じだけど・・・・・まあいいか・・・
もしC++で躓くようならDelphiを経由するといいよって感じでね


527 名前: デフォルトの名無しさん 投稿日: 01/12/03 13:00
んー、どの言語でも最終的に機械語として実行されるのと同じぐらい
どのWindowsアプリも最終的にAPI呼び出しで実行されるんだから、
CでAPIを叩くのはいい勉強になると思う。
API呼び出しだけでプログラミングするとなるとDelphiよりCのほうが素直
だと思うし。
そのあとC++にいくかDelphiにいくかVBに戻るかVB.netに行っちゃうかは
趣味の問題だと思うけど。


528 名前: デフォルトの名無しさん 投稿日: 01/12/03 16:10
>>527
API呼び出しってのが 猫でものように、SDKレベルのメッセージループを直に書く
ことだとするならDelphiでも素直に書けるよ。

ただし、Cの方がオフィシャルな参考書があるという事が大きいね
 Cの文法も判らないと勉強出来ない。だから必須という事なら賛成するよ。

個人的には VB->C->Delphi->Java->C++の順に学ぶのが王道だと思ってるんだけどね


529 名前: デフォルトの名無しさん 投稿日: 01/12/03 16:30
>>528
A、B、Cの順番を踏襲したからなぁ。


530 名前: クロスボウとやら 投稿日: 01/12/03 17:33
おいら的には
VB->Delphi->C->Java->C++
が良いと思われ。


531 名前: デフォルトの名無しさん 投稿日: 01/12/03 17:33
>>528
Delphiは余計


532 名前: デフォルトの名無しさん 投稿日: 01/12/03 17:41
すすめるのは結構だがRADとそうでないので区別した方がいいと思うが。
漏れはVB->C++でいいと思う。
っていうか、移る前にVB使いこなせっつーの。
VBでDirectX。これが通の頼み方。


533 名前: デフォルトの名無しさん 投稿日: 01/12/03 18:08
>>531 そうか? 俺は色々な面で勉強になったよ。
 今でも自作ツール作る時はDelphiだ。


534 名前: ヒッキー@プログラミング 投稿日: 01/12/03 21:21
http://www.geocities.co.jp/SiliconValley/2530/
↑次UPしました。変更点は

・ボールを3つ同時に出せるように変更
・ボールを全て回収したらステージクリア

です。最後に回収しないといけないようにしました。

>>524
がんばっていらっしゃるなら、前向きになられる事をお勧めします。
後ろ向いて勉強したら自分にとって負担になると思います。

>>525
どうもすみません…変な位置にブロックが移動する現象、直しました。
バーの横からボールに当たったとき、ちょっと動いてしまうような
ソースを書いているのですが、自分でもちょっと変だと思っています…。
直そうかな。
>あと非常に面白いです。コンボで一気に点が入るところが
ありがとうございます。
お褒めの言葉を頂くと、何より励みになります。


535 名前: ヒッキー@プログラミング 投稿日: 01/12/03 21:29
>>526
ちょっとC++は敷居が高くて困っていました…。
うーん、Delphiも触ってみようかな。

>>527
そうですねー。CからAPIを呼び出すほうが簡単に感じます。
Delphiは触った事ないけど…。

>>528
あ、Delphiでも素直に書けるんですね。
だんだん揺らいできた(w

>>529
どういうことでしょう?

>>530
ほおほお。やっぱそういう順路もありなんですね。

>>532
ごめんなさい…。
VBでDirectXですかー。うーん、DirectX使うんだったら
なんとなくC覚えたいなぁ。

>>533
ツールを作るときのような手軽さはやっぱC++にはなさそうですね…。


536 名前: デフォルトの名無しさん 投稿日: 01/12/03 22:26
>>1
早速、やってみたよ。バグじゃないけど報告
ゲームバランスの調整になるかもしれないが
玉が3つゲーム画面上にあると極端に自機の動きが重くなり
玉のスピードについていけない感じがします。


537 名前: ヒッキー@プログラミング 投稿日: 01/12/03 22:44
>>536
ご報告ありがとうございます。
ウチの環境では遅くならないのでわかりませんでした…。
やっぱ知恵を使わないとだんだん重くなりますよね。
ソースを見直します。


538 名前: デフォルトの名無しさん 投稿日: 01/12/03 23:09
29やってみました。
ボールが同時に出るようになったんですね。素晴らしい。
個人的にはボール同士が衝突してほしいです。

Delphi Personalは無料ですし試してみるといいかもしれません。


539 名前: デフォルトの名無しさん 投稿日: 01/12/03 23:11
もう買われてしまったVCがかわいそう(´Д`;)


540 名前: 一応プロ 投稿日: 01/12/03 23:55
背景を縦スクロールさせたり
ブロックが動いたり
ブロックからミサイルが飛んできたり


このままシューティングにシフトしていったら面白いシューティングができるかも。


541 名前: デフォルトの名無しさん 投稿日: 01/12/04 00:13
>>535
> VBでDirectXですかー。うーん、DirectX使うんだったら
> なんとなくC覚えたいなぁ。
マジレス

DirectX 使うなら C ではなく C++。DirectX は COM コンポーネントとして提供
されてるから C++ 使わないと記法が鬱陶しい(設計をオブジェクト指向でやる
必要はないけどさ)。


542 名前: 374 投稿日: 01/12/04 00:29
おおっ、ボール3つ同時は面白い。
でも、そのおかげでオヂサンには、
1面すらクリアできなくなりました。(最高2面。鬱...

ブロック壊すとアイテムが落ちてくるなんてのは面白いかもね。
1アップとかボールが下でも跳ね返る(落ちなくなる)ようになるとか


543 名前: ヒッキー@プログラミング 投稿日: 01/12/04 00:50
>>538
ボーランドのソフト、無償でいろいろ提供されてますね。ビクーリ。
ボールの衝突ですかー。書いてみようと思います。

>>539
実はVisualStudioを買ってしまいました(藁

>>540
スクロールしたら見た目が大幅に変わりそうでいいですねー。
ブロックからミサイル…完全にシューティング化ですね(w

>>541
ほおほお。やっぱC++ですね。
オブジェクト作るときのnewとかどうやってCで書くのかわからない…。
うーん、勉強します。

>>542
僕もクリアできなくなりました…。
アイテム出てくるともっと良くなりそうですね。
まだまだ改良の余地がありそう。


544 名前: デフォルトの名無しさん 投稿日: 01/12/04 01:20
今回のバージョンってブロック壊した後にボール受け止めなくちゃいけないんだね。
次の面に行った瞬間死んじゃったりしたよ。キツイなぁ。これって前のままじゃだめなの?

あとボールが3つに増えると自機が遅くなるバグだけど、
ウチの環境ではマウスで動かしているとそうなったよ。キーボードだと普通に遊べる。

あとアイテムのことだけど、ブロック崩しはもともとバランスのいいゲームだと思うから出し過ぎは危険だと思うよ。
棒が長くなったりボールが分裂したりはいいけど(むしろちょっと歓迎)、間違ってもミサイルでブロックを壊せるなんてものは登場してほしくないなぁ。

最後に口調がちょっと生意気気味ですいません。


545 名前: 一応プロ 投稿日: 01/12/04 01:58
>>544
>あとアイテムのことだけど、ブロック崩しはもともとバランスのいいゲームだと思うから出し過ぎは危険だと思うよ。

その考え方のほうが危険じゃないか?発想力が乏しくなりそう。
個人の好みだけど、そういう考え方は好きではないな。

「ブロック崩しはこういうもの」とかいう定義は勉強中のプログラマにはして欲しくないな。
それはゲームを"するだけの人間"に任せておけばいいだろう。

仮に「ミサイルでブロックを壊す」という機能を実装して、ゲーム性が損なわれたとしたら、
それを補うアイデアを考えればよい。時間は十分にあるんだから。

趣味でやってるんだから、気に入ったアイデアがあったらとりあえず実装してみれ。


546 名前: デフォルトの名無しさん 投稿日: 01/12/04 02:23
>>545
それはそうなんですけどね。
ただ今回のバージョンアップ版をやってみてゲームバランスが崩れかかってるかなと思ったんですよ。
前のバージョンの方がよかったなって。
なんか今回のバージョンになってブロック崩し本来の面白さが欠けたような気がする。(そうはいってもボール分裂は見たい…)
けどミサイルなんて物はブロック崩し本来の面白さを完全にぶち壊してしまうような気がする。

そして一度その方向に進んでしまうと、もう二度と本来の面白さを生かすような方向には転換しない気がする。
まぁそれを1さんが見事に面白くしてくれればいうことなしなんだけど。


547 名前: デフォルトの名無しさん 投稿日: 01/12/04 04:39
1のスキルアップの為に作ってるんだから、今はゲーム性よりもプログラム的な
発展を評価すべきだよ。
ちなみにボールを増やすのを指示したのは俺だけど、1の今の技量でいきなりアイ
テムを出すのはキツいと思ったから暫定的に今のシステムを提案しただけだよ。
もしこの先アイテムを出すとして、ボールが分裂するアイテムが出たとしても、
今の状態からなら新しいボール発生の条件を変えるだけで済むし。

今のシステムを生かすなら、得点システムを変えてコンボボーナスを無くして
変わりに飛ばしてるボールの数によって2倍、4倍の点が入るようにするのが
いいかな。あとは、ボールが2個以上飛んでる場合は右クリックしながら受けると
キャッチできるとか。

ミサイルでブロックを破壊はブロック崩しとしては常識外れだけど、それでも闇雲
に否定するのもどうかと思うよ。例えば、ミサイルで攻撃する対象はブロックでは
なくてボールにして、ボールの動きに干渉できるようにするとか、いくらでも考え
ようはあるかと。


548 名前: 528 投稿日: 01/12/04 08:52
>>531
「習うより慣れろ」  これ大抵の技術の一番の習得方法

そりゃ横に誰かいて手取り足取り教えてくれるなら別だけど、
独習なら手軽に試せて結果も満足いくDelphiを 間に挟むのは良い事だと思うよ


549 名前: デフォルトの名無しさん 投稿日: 01/12/04 11:21
Delphi勧める人多いですね。
better VBって感じですか?


550 名前: デフォルトの名無しさん 投稿日: 01/12/04 13:30
いや、Delphiだと無料だから 他のヒッキーも参加し易いんだろ


551 名前: デフォルトの名無しさん 投稿日: 01/12/04 13:50
マウスのホイール対応キボンヌ
やっぱブロック崩しはローラーでそうさせねば。


552 名前: デフォルトの名無しさん 投稿日: 01/12/04 13:50
ここのスレだと、「Delphi=楽、C++=キツい」みたいな話が多いけど、C++だって
BCBがあるのをお忘れずに。DirectXまで考えるとBorland製品は絶対に奨められ
ないが。

ただ、RAD環境ってのは、ツールみたいな標準GUI主体のソフトには便利だが、
リアルタイムゲームみたいなプログラムにはほとんど何も助けにならないよ。

それと1よ、みんなの意見を取り入れるのはいいが、自分で思いついたアイディア
も積極的に入れていった方がいいと思うよ。実装は難しそうでもここに書いてくれ
れば、実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。


553 名前: デフォルトの名無しさん 投稿日: 01/12/04 14:12
>>552
俺も DirectX 使う場合には、RAD はそれほど「便利」ではないと思うけどね。

DirectX プログラミングは GDI に比べると、ちと難易度が上がる。たとえば GDI だと
バックバッファへの描画は BitBlt() を呼び出せばいいだけだが、DirectX だとこれが
タイミングによっては「失敗」することを考慮する必要がある。

#GDIでも BitBlt() が失敗する可能性はあるんだが、殆どの場合は気にしなくて大
#丈夫。

たとえば DirectDraw を使う場合、IDirectDraw7, IDirectDrawSurface7 関連のメソッド
は、すべて

1. 失敗したら
2. 再描画 (RestoreAllSurfaces()) もしくは IDirectDraw7 の再初期化
3. 失敗した処理のやり直し

ってロジックを埋めておく必要がある。

今のブロック崩しのコードのようにベタにコード中に処理を記述する形式だと確実に破
綻するので、処理を同期的に行わず一旦キューにため、エラー発生を前提にキューに
ある処理を順次処理、みたいな一段高度なアーキテクチャを要求されるよ。(DirectX
は初期化だけでも、最初は面倒だろうし)


554 名前: デフォルトの名無しさん 投稿日: 01/12/04 14:37
>>553
> 2. 再描画 (RestoreAllSurfaces()) もしくは IDirectDraw7 の再初期化
じゃなくて
2. サーフェイスの復元 (RestoreAllSurfaces()) もしくはIDirectDraw7 の最初期化
 +再描画
だな。


555 名前: デフォルトの名無しさん 投稿日: 01/12/04 14:38
>>552
 BCBはあれはコンパイルが遅いから  変更即RUNで試すというサイクルで出来ない。

RADでもDelphiの場合は自分でコンポを容易に作れるから 画面作りの効率化
はもちろん、キャラの設定なんかもキャラをコンポ化すればRAD環境で可能
必要なら、スクリプトをプロパティに設定し設計時からキャラを動き回ったりさせることだって出来る

そういうふうにコンポーネント化してゆく事でどんどん効率的になってゆく体験は大事だと思う。


556 名前: デフォルトの名無しさん 投稿日: 01/12/04 15:26
>>555
それはコードを書く側の問題。
VBでもCでもC++でもコードの再利用をしやすいように組む事はできる。

っていうか話し聞いてると、Delphiに浸ってたら脱初心者は無理のような気がしてくる。
もっとプログラミングそのものに浸ってから最後にDelphiでいいと思われ。

とりあえず、プログラミング入門編としてのRAD系は卒業した方がいいのでは?


557 名前: デフォルトの名無しさん 投稿日: 01/12/04 15:42
>>552

>それと1よ、みんなの意見を取り入れるのはいいが、
>自分で思いついたアイディアも積極的に入れていった方がいいと思うよ。
>実装は難しそうでもここに書いてくれれば、
>実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。

552さんの提案は、非常に有益だと考えます。
プログラム学習者にとってもこのスレがこういう方向に
進むことを期待します。


558 名前: 555 投稿日: 01/12/04 15:52

 VBでも Cでも 確かに再利用し易いように組む事は出来る。
 でも、それは独習で身につくのだろうか?
 指導者がついているか、適性があり経験を重ねて身につくものだと思う

言い切っちゃうとさ、管理者居なくて独習で経験を重ねてるだけじゃ VB/Cだと悪い癖しか付かないよ
 それは実際の現場見りゃ判るでしょ? 経験xx年のプログラマの作るコードがどんなものかさ

なお、Delphiでコンポを作る場面はRADじゃない。
でもその作業がスグにRADに反映してゆくから、 少しの苦労で見入りが大きい。
そういう点から学習効率がいいと思うんだ。

まあ本人の問題だから本人が決めればいいことだけどさ


559 名前: デフォルトの名無しさん 投稿日: 01/12/04 16:24
>>558
> VBでも Cでも 確かに再利用し易いように組む事は出来る。
> でも、それは独習で身につくのだろうか?
はい。

ソフトウェアコンストラクションに関しては、管理者がいようが仕事でやろうが、本人
が勉強してコード書いて頭と身体で覚えないとダメです。RAD や周囲の環境は補助
にはなるけど、それだけで自動的にコンストラクション能力が上がるものではない。

これだけだとなんなんで、推薦図書を。推薦図書スレにも書いたので重複になるけ
ど、今の >>1 に合いそうなものを抜粋ね。

コードコンプリート―完全なプログラミングを目指して
マコネル,スティーブ ;石川 勝
アスキー (1994)ISBN:4756102107

ライティングソリッドコード―バグのないプログラミングを目指して
Steve Maguire
アスキー ISBN:4756103642

プログラミング作法
Brian Kernighan, Rob Pike
アスキー ISBN:4756136494


560 名前:   投稿日: 01/12/04 16:40
>>1が思いついたアイデアをココに書いて欲しいナァ。


561 名前: デフォルトの名無しさん 投稿日: 01/12/04 22:17
そういえば、このグロック崩しで
効果音がなった時、一瞬だけ描画が止まるというか
カクッとなるの、俺だけ?


562 名前: デフォルトの名無しさん 投稿日: 01/12/05 00:48
斜めに傾いたブロックってどうよ? /
反射のバリエーションが増えるよ。名付けてリフレクターブロック(でいいのかな?)!

あと自機を \__/ の形にするってのはどうよ。傾く角度も変わったりして。


563 名前: 超大作 投稿日: 01/12/05 03:00
10 CONSOLE 0,25,0,1:WIDTH 40,25:DEFINT A-Z
15 DIM BK(40,25)
20 LOCATE 10,10:PRINT"BLOCK 崩し"
30 LOCATE 10,11:PRINT"HIT ANY KEY!"
40 IF INKEY$="" THEN GOTO 30
50 FOR I=1 TO 25:FOR J=1 TO 40:BK(J,I)=0:NEXT:NEXT
60 FOR I=3 TO 7:FOR J=2 TO 38:BK(J,I)=1:NEXT:NEXT
70 X=20:Y=23:BX=5:BY=10:BH=1:BJ=1
80 A$=INKEY$
90 LOCATE X,Y:PRINT" "
100 X=X+(A$="J" AND X>0)-(A$="L" AND X<35)
110 LOCATE BX,BY:PRINT" "
115 IF BH+BY<1 THEN BH=-BH
116 IF BJ+BX<1 OR BJ+BX>38 THEN BJ=-BJ
117 IF BK(BX+BJ,BY+BH)=1 THEN
BEEP 1:BK(BX+BJ,BY+BH)=0:BH=-BH:BEEP 0
SC=SC+1:LOCATE 30,1:PRINT SC
END IF
120 BX=BX+BJ:BY=BY+BH
125 IF BY+BH>23 THEN END
126 IF BY=Y AND ( BX=X OR BX=X+1 OR BX=X+2) THEN BEEP 1
BH=-BH
ENDIF
130 LOCATE X,Y:PRINT"---"
140 GOTO 80

はぁ、疲れた、


564 名前: デフォルトの名無しさん 投稿日: 01/12/05 03:23
>>563
どうやってプレイしろと・・・。


565 名前: デフォルトの名無しさん 投稿日: 01/12/05 03:42
>>562
そもそも「ブロック」であることに拘らなくてもいいのでは?
#でもそうすると「ブロック」崩しではなくなるか(w

あと、時機も「パドル」であることに拘らなくてもいいのでは?

などなどと、考えていると面白いアイデアも出てくるのでは?

例えば…

・ブロックでなくてインベーダーだとか
・時機はパドルでなくてバット(昔の野球盤風)

なんてのは?面ごとにそんな趣向を凝らしても面白いかもね。


566 名前: ヒッキー@プログラミング 投稿日: 01/12/05 03:46
>>544
なんか面クリアと見せかけてゲームオーバーになったりしますね…。書き直します。
前のままにすると、なんか足らない気がして、最後に受けた方がいいかなぁと。
ウチでも、マウスで動かすと遅くなりました…。気付かなかった。鬱氏
ミサイルで壊すっていうのは結構いろんなブロック崩しで出てきますねー。
僕もちょっと違和感を感じます。アイテムは何かしら出したいとは思っています。

>>545
そうですね。そういう考え方もできるのか…。ご意見ありがとうございます。
なんか、人の意見を尊重しようとするあまり、自分の意思が欠けてたような
気がします。

>>546
やっぱゲームっていうジャンル上、プログラムの実装の仕方なんて、
ユーザには何も関係ないですもんね…。
面白いものを目指す事を忘れないようにしたいです。

>>547
おー、ボールの分裂の意見をくださったかたですか。
同時に飛んでいるボールの数によって点を変えるようにしたほうが
良いかもしれないですね。必然的にユーザは
ボールをいくつも出す→危険な事に挑戦するという感じで、
面白さに繋がるかもしれませんね。
ミサイルにボールが当たると動きが変わるというシステムは斬新ですねー。
参考にさせていただきます。


567 名前: デフォルトの名無しさん 投稿日: 01/12/05 03:46
背景に裸の女の子


568 名前: ヒッキー@プログラミング 投稿日: 01/12/05 03:55
>>548
手軽に試せるという風に考えると、C++に逝くよりはDelphiの方が
よさそうですね。ついでに無料みたいだし…惹かれてみたり

>>549
うーん、そうなんですかね?どうなんでしょう。
やっぱお勧めになるという事は、それなりのワケがあるんだと思います。

>>550
そういう事だったのか(藁

>>551
あー、そういえばホイールついてましたね。
関係ないけど、目の付け所がシャープですね。

>>552
やっぱウインドウ作ったりボタン作ったりってゲームにはあまり
関係ない要素ですよね。作り始めてやっと気付きましたが(w
>>実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。
ありがとうございます。
僕も何か考えて、まずここで発表してから実装に移ろうかと思います。


569 名前: ヒッキー@プログラミング 投稿日: 01/12/05 04:11
>>553
>>DirectX だとこれがタイミングによっては「失敗」することを考慮する必要がある。
なんかむずかしそうだ…。
キューに処理を貯めて、それを実行するって複雑そうですねー。
何の機能も無い、キューの構造を作るだけでひぃひぃ言いそうなんですが(藁

>>554
サーフェイスって、メモリ上のビットマップのことでしょうか?

>>555
コンパイルする時間ってなんかドキドキします。
たいがい、凡ミスエラーだらけなんですが…。
うーん、なんかプログラムを楽しんでできそうですねー。Delphi。

>>556
いつまでもヌルい環境に浸っていたらダメかもしれないですね。
最初、ウインドウをAPIで作ったとき、驚愕しました。

>>557
僕にとっても非常にありがたいです(藁

>>558
再利用しやすいコードって、非常に難しいです。
汎用的に書いてるつもりでも、実は他のプログラムにコピペしたら
穴だらけみたいなソースをいつも書いています…。
※なんか、全てのパターンを満たすほど意見があって、自分で取捨選択
 するのが難しいんですが…。

>>559
おー、本で勉強すれば自分でもスバラシいコードが書けるように
なるもんですか。本の名前まで挙げていただいて、ありがとうございます。

>>560
思いついたら書こうと思います。

>>561
APIの呼び出し方が間違っているのか、ウチでも、ノートPCでやると
カクカクします…。

>>562
プログラム的に非常に勉強になりそうですねー。
やってみたいけれど、ちょっとまだ難しいかも…。勉強します。


570 名前: ヒッキー@プログラミング 投稿日: 01/12/05 04:15
>>563
何の機種用のBASICなんでしょうか(藁
BEEP 1ってどっかで見たような…

>>564
PC98をおもむろに起動するとか…

>>565
自機がバットって…ワラタ。
殻をぶち破る勢いのある発想ですねー。参考になります。

>>567
そうしたいと思ってはいるんですよ。


571 名前: デフォルトの名無しさん 投稿日: 01/12/05 04:16
>>565
つーか、そもそもインベーダーゲームってのはそういう発想で生まれたはず。


572 名前: デフォルトの名無しさん 投稿日: 01/12/05 06:43
ちょいとシツモンです。
Javaってよくオワッテル言語と聞くのですが
皆さんはなぜ勧めるの?


573 名前: デフォルトの名無しさん 投稿日: 01/12/05 06:49
>>572
オワッテル人たちが言っているに過ぎないため。


574 名前: デフォルトの名無しさん 投稿日: 01/12/05 07:28
死に絶えそうな言語にこそ、新しい血が必要なのです。
メンバー集めないと廃部になるJava倶楽部。


575 名前: :デフォルトの名無しさん 投稿日: 01/12/05 07:33
これはすげぇよ。初レスだが、すげぇよ。
徐々に成長していって、面白かったよ。
これからも頑張れよ。まじで


576 名前: デフォルトの名無しさん 投稿日: 01/12/05 07:48
Javaは結局、Sunがトドメを刺してしまった気がする。


577 名前: 名無し 投稿日: 01/12/05 10:37
>>574
Java倶楽部が廃部になったら、どこ行きます?


578 名前: デフォルトの名無しさん 投稿日: 01/12/05 10:43
>>572
自分だけ被害者になるのが嫌なので
初心者も巻き添えにしてやろうってことです。


579 名前: 572 投稿日: 01/12/05 23:15
うへ・・・・


580 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:22
Javaをたたくのが流行だからです。


581 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:23
>>577
今までずっと囲碁をやって来て、囲碁部がつぶれたから、
じゃあ将棋部へなんて無理だろ
って、俺は574じゃないが


582 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:25
>>581
だから、ずっと囲碁やってて囲碁部がつぶれたらどこ行くの?


583 名前: 572 投稿日: 01/12/05 23:27
やべ・・・・
喧嘩はしないで―


584 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:27
>>582
全国行脚に出る


585 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:27
>>582
ネット囲碁。


586 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:31
JAVAプログラマは諸国漫遊ですか?


587 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:35
かくさんと
すけさんを
わすれずにね


588 名前: ヒッキー@プログラミング 投稿日: 01/12/05 23:35
Javaトークで盛り上がってますね(藁

>>571
そうなんですか?ほおほお。

>>575
ういー。がんばります。


589 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:35
仕事なら来る仕事の勉強をすればよい
趣味ならその時好きなことをすればよい

趣味は酔狂なほどたのしい


590 名前: 589 投稿日: 01/12/05 23:42
だから初心者には N88BASIC を勧めてる


591 名前: デフォルトの名無しさん 投稿日: 01/12/05 23:58
>>589
伊達や酔狂も程々にな。


592 名前:   投稿日: 01/12/06 00:22
ハイスコアキボン


593 名前: デフォルトの名無しさん 投稿日: 01/12/06 05:05
CとC++の違いを誰か語ってください。
というか今主流の言語を語れる人って居るのかな。
このスレならゲームに使われてるものか・・・・
実際このゲームはこうで・・・・とか。

ハーフライフとかKohanて奴がModに対応してるとか聞いたんですが。
そのModってなんなんですか?
3D系ならともかくKohanてゲームはリアルタイムストラテジーなんですが
何となくは解るんですが、実際Mod作ったりしてるプログラマって
いるんですかね?日本に。
CSとかとてもアマチュアが作ったとは思えない出来なんだけれど。


594 名前: デフォルトの名無しさん 投稿日: 01/12/06 06:55
>>593
スレ違い。googleでも行くがよろし。


595 名前: デフォルトの名無しさん 投稿日: 01/12/06 09:41
VB    APIも直接叩ける、ネイテブコンパイラでもあるが、非常に遅い。
     ゲーム作りにはそれが障害になりうる。また文法が緩く、入門者
     は早期に移動しないと悪癖が見に付き易い。
     DLLの利用は出来るが、一般的なDLLは作れない。

Delphi  APIも直接叩ける、インラインアセンブラも使える。 DLLも作成出来
     COM/ActiveXも作成出来る。 Linux用にはKylixもある。
     文法は厳しく、制御構造もVBより少ない。 またbegin/endのような
     書き方が冗長に見えるが、それが逆に冗長でないコードの書き方を
     促進しているともいえる。 ポインタと配列も完全に区別されており、
     初心者の入門言語としては良い。 さらにコンポーネント志向とも言
     えるその設計スタイルは上級者になっても利用出来、かつ他言語
     でも応用可能な身に付けてよいスタイルである。
     ただし、多くのSDKがCスタイルで提供されており、最新技術を利用
     したい場合は両方に通じていなければならない。 その移植の手間
     もDIYとなるのが苦痛な面もある。

Java  基本的にはハードは直接叩けない=制限が多い (MSのは別にして)
     しかし、ブロック崩し程度なら障害にはならない。
     開発環境としてRADもあるが、 VB/Delphiに比べると貧弱
     RADでない環境の足がかりとして良い

C/C++  windowsでは多くのSDKはほぼ C/C++ 特にVCで提供されており
     最低読めなければならない必須言語である。
     しかし入門時からどっぷり漬かると、
     配列とポインタの混同に始まり、豊富なサンプルコードの為に逆に
     コードコピペの癖やアルゴリズムのSTL依存病、などの症状にも
     かかりやすい


596 名前: デフォルトの名無しさん 投稿日: 01/12/06 10:26
正直、このスレの >>1 にチョト感動した。
ガムバレ


597 名前: デフォルトの名無しさん 投稿日: 01/12/06 12:50
>>595
妙にDelphiびいきだなぁ(笑
漏れは別にSTL依存は全く問題無いと思うけど。むしろSTLを使いこなせたら
ちょっと尊敬しちゃう。漏れはコンテナクラスくらいしか使う気しない。

Direct3D使うようになると、DelphiどころかVC++/IC++以外のコンパイラは
たとえC/C++であっても却下なんだよなぁ。
Borlandもさっさと妥協してオブジェクトファイルのフォーマットをMSに合わ
せれば良いのだが。


598 名前: デフォルトの名無しさん 投稿日: 01/12/06 13:11
>>597
> Direct3D使うようになると、DelphiどころかVC++/IC++以外のコンパイラは
> たとえC/C++であっても却下なんだよなぁ。
なんで? 詳細キボンヌ


599 名前: デフォルトの名無しさん 投稿日: 01/12/06 13:23
Delphiびいきの人って多いよね。
言語というより一つの処理系にすぎないと思うんだけど。


600 名前: デフォルトの名無しさん 投稿日: 01/12/06 14:48
初心者がコンポーネントを再利用しまくりで開発するクセがついたらどうするの?

っていうか、VBにもユーザコントロールって無かった?


601 名前: デフォルトの名無しさん 投稿日: 01/12/06 15:20
確かにDephiの場合は コンポーネント検索病にかかるな
 そこで成長が止まるか コンポ自作側に回るかが分岐点かもな

UserControl はActiveXを手軽に作れるのがメリットで、便利とは
思うけど、あくまでもコントロール。

コンポーネントはコントロールも作れるけど、クラスの一種。
コンポーネントにしたからといってオーバーヘッドはクラス化と同じ
程度。(実行時型情報を動的に使えば多少のオーバヘッドは出るけど)

またコンポーネントを作る事でクラス作成の訓練にもなるのがイイ感じ


602 名前:   投稿日: 01/12/06 16:07
>>601
それってC++でも一緒じゃないの?
参考書片手に勉強すればいい話かと。
結局本人次第としか言いようがない・・・。


603 名前: デフォルトの名無しさん 投稿日: 01/12/06 16:13
C++ってそんなに敷居が高いかな。


604 名前: デフォルトの名無しさん 投稿日: 01/12/06 16:52
C++は簡単だよね。
問題はまあ クラス設計とかが難しいって話かもしれないけど
趣味で作るなら 何回か作れば最適なのが見つかるし。


605 名前: デフォルトの名無しさん 投稿日: 01/12/06 16:57
ガイシュツ?
>>1 =ヒッキー@プログラミング
例のブロック崩しですが(この話題ってもうおわったの?)、
ブロックをすべて崩した後に、ボールをキャッチせず、残りのボールを0にすると
「ゲームクリア」となるのはいいのですか?
しかもその後面が変わって即「ゲームオーバー」となってしまう。
ださい と思うんやけど。
ソース見てくるわ
# VBは経験ないので、直感で読みます(藁

# C言語を勉強中http://www.kumei.ne.jp/c_lang/で。
# ポインタってのがよく分からないのが、つらい。


606 名前: ヒッキー@プログラミング 投稿日: 01/12/06 17:55
>>589
的を射たご意見、ありがとうございます。
ちょっとやる気がでました。

>>590
そういえばN88Basic互換のフリーソフトがVectorにありましたね。
サンプルがう○この描画でしたが(藁

>>592
ハイスコア、ネット上で集計するにあたって、何が必要でしょう?
アプリケーション上から自動で処理するには、CGIにPOSTメッセージ
を送ればいいんでしょうか。

>>593
Modって、音楽のModですか?

>>595
Delphiってインラインアセンブラ使えるんですか?
おー、結構すごそうですねー。
KylixってDelphiと互換の開発環境だったんですねー。
参考になります。

>>596
ありがとうございます。ガムバリます。

>>597
STLとは何でしょう?検索してみます。
やっぱWindowsで開発する以上、MSのツール使った方がいいのかなぁ…。

>>600
なんか、OCXというのを作る機能がありましたね。
一回、Web上に張りましたが、ウイルスぽい警告を出されるので
萎えました(藁

>>601
Delphiって、実行ファイルにコンポーネントを埋め込めるんでしょうか。
…としたら、探しまくるようになりそうですね。
僕は人が作ったクラスは内部で何をやってるのか見えないので、
あまり好きではないです。手軽に作りたい方が先行してたら
既にあるものを使わせて頂いた方が楽ですが。

>>602
うーん、いろいろ考え方がありますねー。
やっぱプログラムを勉強する人次第なんでしょうか。

>>603
なんか、開発環境デフォルトでついてる、謎のクラスやらを
覚えるのが大変で、どこに手を付けていいやら分からなくなります。

>>604
クラス、一回作ってみようと思います。
VBで作ってもダメかな…。

>>605
ご指摘ありがとうございます。直してみました。
遊んでくださる人がいる以上、不都合は直そうと思いますが、
1個直す度にUPしてたら、ファイルだらけになるのではないかと
思い、ちょっと戸惑ってました。


607 名前: ヒッキー@プログラミング 投稿日: 01/12/06 17:57
http://www.geocities.co.jp/SiliconValley/2530/
↑次UPしました。変更点は、

・ブロック全て破壊後にボールを落としても、StageClearとなる現象の修正

です。


608 名前: 597 投稿日: 01/12/07 01:33
>>598
MicrosoftとBorlandではオブジェクトファイルに互換性が無いんだけど、
(昔はあったらしいがMSが仕様変更したときにBorlandがついてこなかったとか)
dllならimplib使ってBorland用のlibを作れるからDirectXでもあまり問題
無いんだけど、Direct3Dは重要なライブラリがスタティックライブラリで
提供されてて、それはdllじゃないからBorlandのコンパイラでは利用不可能。

DirectX7の頃はそれほど重要でもなかったんだけど、X8になったらシェーダー
のコンパイル関数とかがスタティックライブラリの方に入ってて死亡。
一応、NVIDIAのNVASM使ってコンパイルできなくも無いけど、試行錯誤するのに
毎回コンパイルしなきゃいけないのは面倒かと。

事実上、DirectX8でBorlandコンパイラには死刑宣告されたようなもんだ。


609 名前: デフォルトの名無しさん 投稿日: 01/12/07 07:48
つーかCOM使ってるくせに他言語/他コンパイラから利用できないDirectXの方がオカシイ。
MSの単なる嫌がらせか?


610 名前: デフォルトの名無しさん 投稿日: 01/12/07 07:51
あと、VBやDelphiの得意とする領域とDirectXの分野は明らかに違う。
その点でDirectXが使えない=死刑宣告というのは偏狭。


611 名前: デフォルトの名無しさん 投稿日: 01/12/07 07:57
>>608 それは coff2omf  でも変換出来ないの?


612 名前: デフォルトの名無しさん 投稿日: 01/12/07 11:19
>>609
だからぁ、Direct3DはCOM使ってない部分があるんだって。
COMにしないのは何故だか分からんが。速度的な問題かも。かなりの部分がインライン
関数になってるくらいだし。

>>610
597に「Direct3D使うようになると」って但し書きしてるから、そこも見てから言っ
てくれ。

>>611
coff2omfでも駄目みたい。
ただ、検索したらボーランド用のライブラリを公開してる人がいたよ。
どんなのか見たら、Direct3DXの関数を全部エクスポートしたdll作って、
それを利用するみたい。
俺もソースの無いdllとかを改良するときに同じ事してるけど、これなら
呼び出しコストが少し増えるだけで利用できるわな。


613 名前: 598 投稿日: 01/12/07 13:34
じゃあ「VC++/IC++以外の」というよりも「Borlandの」コンパイラは全滅なわけね。
gcc(mingw)とかlcc-winとかはどうなのかな。


614 名前: デフォルトの名無しさん 投稿日: 01/12/07 16:46
オブジェクトがCOFFのものなら問題ないと思われ


615 名前: 傍観者 投稿日: 01/12/07 18:04
ねぇ、そのへんの議論は他でやらない??
ここは1の成長を見守るスレなんだから。


616 名前: デフォルトの名無しさん 投稿日: 01/12/07 19:29
>>615
やるとしたら、このあたりか?

鬱だ氏のう DirectX 2
http://pc.2ch.net/test/read.cgi/tech/997101556/


617 名前: デフォルトの名無しさん 投稿日: 01/12/07 19:30
それもそうだ、1の成長を見守り、やさしく教えてあげませう。


618 名前: デフォルトの名無しさん 投稿日: 01/12/07 20:51
1さんのソースを見て勉強させていただいています。
block29.zip の ManageBall.bas について質問なんですが、
286行目から…

---------------------------------------
'キーボードの時の角度の補正
If CBall.vx > 0 Then
 If Press.Shift Or Press.Ctrl Then
  If Press.Right And CBall.Angle >= 25 Then CBall.Angle = CBall.Angle - 10
  If Press.Left And CBall.Angle <= 65 Then CBall.Angle = CBall.Angle + 10
 Else
  If Press.Right And CBall.Angle >= 20 Then CBall.Angle = CBall.Angle - 5
  If Press.Left And CBall.Angle <= 70 Then CBall.Angle = CBall.Angle + 5
 End If
Else
 If Press.Shift Or Press.Ctrl Then
  If Press.Right And CBall.Angle <= 65 Then CBall.Angle = CBall.Angle + 10
  If Press.Left And CBall.Angle >= 25 Then CBall.Angle = CBall.Angle - 10
 Else
  If Press.Right And CBall.Angle <= 70 Then CBall.Angle = CBall.Angle + 5
  If Press.Left And CBall.Angle >= 20 Then CBall.Angle = CBall.Angle - 5
 End If
End If
---------------------------------------

「CBall.vx > 0」というのは右に向かっている状態ということでしょうか。

[SHIFT]で加速パドルになってて、かつ角度が「25度以上」なら、
パドルの力が加わって右方向に流れる角度(-10)になる
というイメージでいいでしょうか?

その次が、同じく加速パドルで「65度以下」なら、パドルによって
左方向の力が加わり、角度が垂直方向より(+10)になる
ということですか?

「25」「20」「65」「70」という角度にはなにか意味があるのでしょうか?
もしよろしければ教えてください。


619 名前: ヒッキー@プログラミング 投稿日: 01/12/07 21:48
>>608
スタティックライブラリって、コンパイラが変わると
使えなくなるんでしょうか?

>>615
実はこういう話題も、僕にはまだちょっと難しいですが
興味があるので、調べながら読ませてもらっています(藁

>>616-617
どもども。お気遣い、ありがとうございます。

>>618
>「CBall.vx > 0」というのは右に向かっている状態…
はい、右に進む場合は座標がだんだん正の方に増えていくので、
そのように書きました。
>「25」「20」「65」「70」という角度にはなにか意味が…
あまり意味はないのですが(w 、ただ、15度以下になったり、
75度以上にならないようにしようかと思いまして。
急角度になりすぎると、角度を修正する事ばかりにとらわれて、
ゲーム性が違うほうに向かってしまうんではないか、
と感じたので、そのようにしました。


620 名前: ヒッキー@プログラミング 投稿日: 01/12/07 21:51
http://www.geocities.co.jp/SiliconValley/2530/
↑次UPしました。変更点は

・マウスモードでボールを複数出すと自機が重くなる現象の修正

です。
ソース、1行の修正で済みました…。
もうちょっと注意深く調べるようにします。


621 名前: 618 投稿日: 01/12/07 22:03
>>619
なるほど、勉強になります。
ありがとうございました。


622 名前: 598 投稿日: 01/12/07 22:11
>>619
> スタティックライブラリって、コンパイラが変わると
> 使えなくなるんでしょうか?

コンパイラというか、コンパイルしてできるオブジェクトファイルの形式ね。
大体はシステムで共通なんだけど、Borlandだけ他と違ってるということかな。
なんでスタティックライブラリだけかというと、DLLの場合はシステムでロー
ドできる必要があるから、独自のものにはできないので問題が起きないから。


623 名前: 傍観者 投稿日: 01/12/07 23:35
>>620
おつかれ〜〜、早速見てみます。

>>616-617
サンクスコ。
やっぱいい奴の周りにはいい奴が集まるって事だねヽ(´ー`)ノ
他スレなら『しきるな(゚Д゚)ゴルァ!!』だし。


624 名前: デフォルトの名無しさん 投稿日: 01/12/08 01:54
マウスモードのチェックをはずしてキーボード操作に戻る時や
マウスモードの時に最小化ボタンをクリックしたりデスクトップのアイコンをクリックすると
ボールが発射されてしまいますね。これは直してほしいところです。

ゲーム画面をクリックすると開始、
ゲーム画面の中だけにマウスの移動範囲を制限するというのはどうでしょうか。
そして一時停止するとマウスの移動制限をなくし、
またゲーム画面をクリックするとマウスの移動範囲を制限し、ゲームを開始する。
このようにすればなんとなく解決する気がします。
ただこれにすると一時停止中でしかマウスモード→キーボードの切り替えができませんが。
あとなんとなく左クリックで開始と一時停止、右クリックでボールを増やすという方が一般的な気がします。恐らく。

とりあえずマウスの移動制限の説明のリンクを。
ttp://www.elixir.co.jp/developer/vb/lib/vb_all.htm


625 名前: デフォルトの名無しさん 投稿日: 01/12/08 02:50
みんないろいろ教えたがってるな。
良い人材を見つけたら自分で育てたくなるのがPGってもんだ(謎

>>1は、もうこのゲームのチューニングは十分ではないだろうか?
ここら辺から先は別の人間が進めても良いと思う。
>>1が作ったソースコードをベースに、有志が独自の改造を施してみては?
そして改造したらジオで公開し、ココに報告する。と。

>>1は次は何を作りたいんだ?


626 名前: デフォルトの名無しさん 投稿日: 01/12/08 03:52
C++かCかDelphiか・・・・


627 名前: ヒッキー@プログラミング 投稿日: 01/12/08 08:31
>>621
いえいえ、こちらこそソースを読んでいただいて
ありがとうございます。

>>622
そういうことでしたか。
DLLは独自のものにできないんですね。
オブジェクトファイルって、exeになる前の中間ファイルのことですか?
(というか、リンクという作業もよくわかりません(w)

>>623
おー、どうもありがとうございます。

>>624
そうですね。画面外をクリックした時に始まるのは変ですね。
マウスの移動範囲を制限するというのは、ゲームを正しく動かす為には
有効なやり方だと思いますが、手軽さが減るのではないかなぁ
と思います。
リンク先、参考にさせていただきます。どもども。

>>625
僕も止め時が難しいなぁと感じてました(w
でも、ソースを放置するにも、説明が少なすぎるし、
何かまとめになるようなモノを書こうかと思っています。
順番的には、次はテトリスを作ろうかと。

>>626
まだいくつかVBで作ってみようと思います。
他の言語に移るのはもうちょっと勉強してからにします。
(次の候補は一応VCにしました。)


628 名前: デフォルトの名無しさん 投稿日: 01/12/08 10:25
テトリスのあとにはぷよぷよというわけですね(藁

テトリスが一応出来たら、ぷよぷよへの応用も結構できる。
ただ、ブロックの消える判定が違うが。


629 名前: デフォルトの名無しさん 投稿日: 01/12/08 15:49
テトリスよりもぷよぷよの方がコード書いてて面白かったなぁ(ボソ


630 名前: 622 投稿日: 01/12/08 17:04
>>627
> DLLは独自のものにできないんですね。
今Windowsで使われてるのはPEフォーマットという奴

> オブジェクトファイルって、exeになる前の中間ファイルのことですか?
そう。というかVBも中間ファイルとかいって作ってるはずだが。

> (というか、リンクという作業もよくわかりません(w)
オブジェクトファイル同士(とライブラリ)をくっつけて実行ファイルを作ること


631 名前: デフォルトの名無しさん 投稿日: 01/12/08 21:53
え?この程度で終わりなの?まぁいいが。
次はテトリスって話だけど、少なくともテトリスはブロック崩しより簡単だよ。
ぷよぷよは再帰使うと簡単だけど、VBって再帰使える?


632 名前: デフォルトの名無しさん 投稿日: 01/12/08 22:11
つーか、1よ、今上がっている候補としては、

テトリス
ぷよぷよ
電卓(俺推奨 藁 (1/3)*3が1と表示されるヤツ

だな。


633 名前: デフォルトの名無しさん 投稿日: 01/12/08 22:20
>>4
薬師丸ひろ子まだ〜。


634 名前: ヒッキー@プログラミング 投稿日: 01/12/08 22:31
>>628
ぷよぷよは面白そうですねー。
でもぷよぷよ、すごく苦手なんです…連鎖のデバッグができない(w

>>629
ほおほお。そうですかー。
次にやってみたいと思います。

>>630
おー、ご教示ありがとうございます。
リンクという作業がようやく納得できました。

>>631
うーん、テトリスならすぐにできそうなので、
それからブロック崩しの続きを考えようと思います。
再帰ですか。VBはできないような……できるのかな。
ぷよぷよで再帰とはどこで使うのでしょう?
くっついた時の判定でしょうか?

>>632
あー、電卓の存在を忘れるところでした。
インタープリタは書いてみたいですが、もう少し経験を積んでから
やり始めようと思います。

>>633
そろそろ髪の毛1本づつとか送って来たりして(w


635 名前: デフォルトの名無しさん 投稿日: 01/12/08 23:19
再帰はVBで使えます。

削除判定のときじゃない?
簡単な塗りつぶしのアルゴリズムと一緒。


636 名前: デフォルトの名無しさん 投稿日: 01/12/09 00:21
テトリスって確か一度ブロックを回転してみて、ブロックが重なっていたり壁からはみ出ていたら元に戻すっていう方法でやるんですよね。
配列変数で仮想画面を作ってそれで判定する・・・であってますか?

いや、というより本当に聞きたいのはブロックの回転の仕方なんです。


■  →    ■
■■   ■■■

と回転させる時、みなさんはどのようにして回転させていますか?
やはり変数に(2次元配列変数)

 │012
 ┼──
0│000
1│001
2│111

などと形を記録しておいて、回転の度に該当する変数を呼び出しているのでしょうか。
ていうか以前にそこらへんをすべてむりやり計算して回転させようとして無茶苦茶になって挫折したんです。

うーん、上手く説明できない。これでわかるかな?


637 名前: デフォルトの名無しさん 投稿日: 01/12/09 01:08
全パターン用意しておけばいいのでは?


638 名前: デフォルトの名無しさん 投稿日: 01/12/09 04:46
回転の処理が分からないなら、あらかじめ全パターンを配列にいれておくのがよいかと。
計算して回転させるのも「むりやり」じゃなくてフツーだよ。
まぁ、やるなら最初にプログラム内で回転させたパターンを全部生成して、それを
使うのが一番良いと思うが。


639 名前: デフォルトの名無しさん 投稿日: 01/12/09 18:29
そんなことより>>1よ、
VBでDirectX使ってみたら?
たしかDirectX7はVBからでも使えたような・・・。


640 名前: デフォルトの名無しさん 投稿日: 01/12/09 20:33
・・・他の言語に移るタイミングが遅れると
モナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/test/read.cgi/tech/1003113413/

の ( = ゚ ω゚ )  みたいになるぞ・・・


641 名前: デフォルトの名無しさん 投稿日: 01/12/09 23:13
誰も知ってる人おらんのかな・・・
俺も詳しく知らないのでほっとけば誰かの講釈が入るだろうと思って
たんだけれど・・・・

MODで名前あってるか知らないけど、確かCSならHL(ハーフライフ)
持ってればただでゲームできるという代物だったよーな。
つまりHLのプログラムを利用したゲームだって事だと思う。
クォーク(クエイク?)とかアンリアルとかもにたようなモノだと
どこかで読んだ記憶がアリ。なんとかエンジンって言うのかな。
俺はこれくらいしかしりません。


642 名前: デフォルトの名無しさん 投稿日: 01/12/09 23:39
>>1よ、
>>640の言うようになるかどうかはお前次第だ。
別に移行のタイミングなんて関係ないから気にするな。


643 名前: デフォルトの名無しさん 投稿日: 01/12/09 23:59
../../SiliconValley-SanJose/4825/tet/index.html


644 名前: デフォルトの名無しさん 投稿日: 01/12/10 01:02
>>641
modは知ってるけど、googleで検索すればいくらでも解説はあるから無視した。
ただ、音楽の方のmodばかりヒットするから、マイナス検索使わないと面倒だが。
そもそもこのスレに関係ないし。


645 名前: デフォルトの名無しさん 投稿日: 01/12/10 01:11
そうなんですか・・・・
ゲーム作りに興味ありそうなんで、
俺が知ってる事を言ってみただけなんですが
すいませんでした。


646 名前: ヒッキー@プログラミング 投稿日: 01/12/11 03:20
現在テトリス作成中であります。
体調悪くて、書き込みできませんでした。

>>635
お、再帰使えますか?実験してみます。
あー、囲まれた領域を塗りつぶすアルゴリズムですか。

>>636
僕も回転の仕方で詰まりました(w
やっぱ回転後の配列を用意したほうがいいのかなぁと。

>>637
そうなんですよね。

>>638
うむぅ。そうしてみようかと思います。

>>639
DirectXをVBから使う方法を解説した本が一応手元にあるんですが、
GDIを使って処理する方が勉強になるかと思いまして。

>>640
読んでみようと思います…

>>641
あー、そういえばグラフィックを入れ替えるデータを
配布している方がいらっしゃいますね。
あれって、自分でデータを解析されているんでしょうか。

>>642
どもです。気楽に逝こうと思います。

>>643
お、回転のパターンが載ってますね。
じっくり見てみます。

>>644
やっぱ有名なんですね。

>>645
おかげ様で、また新たな単語を知る事ができました。
興味があるので、検索してみようと思います。


647 名前: デフォルトの名無しさん 投稿日: 01/12/12 01:08
http://www.google.com/search?q=%83q%83b%83L%81%5B%81%97%83v%83%8D%83O%83%89%83%7E%83%93%83O&hl=ja&lr=


648 名前: ヒッキー@プログラミング 投稿日: 01/12/12 17:05
http://www.geocities.co.jp/SiliconValley/2530/tetris1.zip
↑テトリス、未完成ですがUPしてみました。
 今の所、端に埋まったりします…

>>647
お、このスレ1番上に出てきますねー。感動。

生き返ったのでage


649 名前: デフォルトの名無しさん 投稿日: 01/12/12 17:19
>>648 遊んでみました。イイ!
いちばん上までブロックが積もっても、ゲームオーバにならない・・・。
ランタイムエラーとやらが出て、終了してしまいます。


650 名前: デフォルトの名無しさん 投稿日: 01/12/12 17:20
俺のテトリスからコピペ。プレゼントfor誰か。

private static int[][] pattern = {
 {},
 { 0x00f0, 0x4444, 0x00f0, 0x4444 }, // 棒
 { 0x0660, 0x0660, 0x0660, 0x0660 }, // □
 { 0x0e40, 0x4640, 0x4e00, 0x4c40 }, // 凸
 { 0x0e80, 0x4460, 0x2e00, 0xc440 }, // L
 { 0x0e20, 0x6440, 0x8e00, 0x44c0 }, // 逆L
 { 0x0c60, 0x2640, 0x0c60, 0x2640 }, // Z
 { 0x06c0, 0x8c40, 0x06c0, 0x8c40 }, // 逆Z
};


651 名前: デフォルトの名無しさん 投稿日: 01/12/12 18:35
>>648
(・∀・)イイ!!VBはよくわからんが、とりあえず指摘。
>>649さんのに加えて、回転する時の軸が変(つーか普通のと違う)から、ちょっと違和感あり。
回転のほうは、壁にめり込む場合は回転できないようにするのかな??
あまり役に立てなくてスマソ。
1、頑張れよ〜〜


652 名前: デフォルトの名無しさん 投稿日: 01/12/12 19:21
651さんの普通が何か分からないけど、
回転法則自体は>>643の仕様どおりになってると思う。
(壁にめり込むのは別として)

市販されてるテトリスは回転法則がソフトによってまちまちです。
例えばこの辺を参照
ttp://www.din.or.jp/~koryan/t_r01.htm


653 名前: デフォルトの名無しさん 投稿日: 01/12/12 20:56
テトリスと言えば、漏れはやはりセガのアーケード版だな。
同時期に出た各社のテトリス(アーケードでもATARI版とかあった)の中では
セガのが一番良かった。落下スピードが反則的に速いかわりに、地面について
からくっつくまでの時間がとても長い。
BPSのパソコン版はイマイチ。


654 名前: デフォルトの名無しさん 投稿日: 01/12/13 04:46
>>636
 ぶっちゃけ、回転パターン用意した方が速い(両方の意味で)けど、
一応、計算で求めれ無い事も無い。

 │012
 ┼──―
0│000
1│001
2│111

 ↑を配列変数「block」として、

for(x=0;x<3;x++)
for(y=0;y<3;y++)
work[y][2-x] = block[x][y];

 ってーやれば、一応workの中に回転後のブロックが出来る(多分)

 もちろん、

 │0123
 ┼──――
0│0010
1│0010
2│0010
3|0010

 なんつー場合は、

for(x=0;x<4;x++)
for(y=0;y<4;y++)
work[y][3-x] = block[x][y];

 っつー事になるわけだけどもね。

 まぁ、よっぽどカラフルなテトリス(個々のブロックに色がついている)でも
作ろうとしない限り必要ねーんだけど。

 俺だったら>>650使うね。


655 名前: ヒッキー@プログラミング 投稿日: 01/12/13 11:47
http://www.geocities.co.jp/SiliconValley/2530/tetris2.zip
↑テトリス、次UPしました。
 今のところ問題点としては

・壁に埋まる
・レベルが上がらない(早くならない)

などです。

>>649
どもども。
一番上まであがったら座標が-1になるときがあって、それで
エラーを吐いていたようです。応急処理的に、MsgBoxを出してみました。
ご報告、ありがとうございます。

>>650
僕もそういう感じで処理したかったんですが、
VBだと冗長な処理になってしまいます…。
宣言時に初期化できないもんでしょうか。

>>651
ういー。がんばります。
>>652 さんのおっしゃる通り、いろいろ回転が違うみたいですね。
ゲームボーイでさっきやりましたが、>>643 さんにリンクして頂いた
回転と違っていました。
って、>>652さんのページ、すごいですね(藁

>>653
あー、セガのってサルのやつですですよね。
僕は当時お小遣いが少なくてほとんどできませんでした…。
なんかOL風の人が、異様な形相ですごい速度を
さばいてたのを見ました。
テトリスってパソコン版あったんですか?知らなかった。

>>654
回転、計算でもとめれるんですねー。
僕は回転の仕方を考えていたら頭がよじれそうになりました。
やっぱ配列に回転後のデータを格納しておいた方が速いのでしょうか。


656 名前: バード大佐 投稿日: 01/12/13 12:29
すげー
いつのまにかテトリス開発に移ってたのかw


657 名前: デフォルトの名無しさん 投稿日: 01/12/13 12:42
(´-`).。oO(なんでみんな既存のゲームに似せようとするんだろ...)


658 名前: デフォルトの名無しさん 投稿日: 01/12/13 13:08
>>657
ブロック崩し、テトリス、パックマン、リバーシ(オセロ)、ぷよぷよ、インベーダー……
このあたりはゲームプログラミング初心者に最適な題材だからだ。

ゲーム会社の研修の課題にも使われるぞ(マジで)。


659 名前: デフォルトの名無しさん 投稿日: 01/12/13 14:51
テトリス、プレイさせて頂きました。
操作レスポンス非常に良好ですが、落としたブロックが固まる前に
次のブロックを回転させようとして大変な状態になること多数。
下キーで落とした時にはすぐに固まって次に行って良いかと思いました。
あと、揃えた列が消える時に画像効果が欲しいですね。

それと、この際タイトルに
「貴様ら! 落ちてくるブロック揃えて消してください」なんてどうかと。


660 名前:   投稿日: 01/12/13 15:42
シンプルに、
『貴様ら!ブロックをそろえてください』でいいんじゃない?


661 名前: デフォルトの名無しさん 投稿日: 01/12/13 18:33
ストレートに
貴様ら!テトリス作ったからプレイしてください
でどう?


662 名前: デフォルトの名無しさん 投稿日: 01/12/13 19:05

「貴様ら!ブロック崩し作るので見てください (662)」
               ↓
「貴様ら!ブロック消し作るので見てください (3)」


663 名前: デフォルトの名無しさん 投稿日: 01/12/13 19:06
>>662
>けしって何
の部分が
「こけしって何」に見えた俺は逝ってよし?


664 名前: デフォルトの名無しさん 投稿日: 01/12/13 21:52
>>663
(´-`).。oO(逝かないで・・・)


665 名前: ヒッキー@プログラミング 投稿日: 01/12/13 22:28
http://www.geocities.co.jp/SiliconValley/2530/tetris3.zip
↑次UPしました。
 まだ若干ブロックに埋まったりします…

>>656
はは。テトリス終ったら、またブロック崩しの続きを作ろうかと思っています。

>>657
オリジナリティを出すのはまだ早いかと思いまして…

>>658
>ゲーム会社の研修の課題にも使われるぞ
ほおほお、そうなんですか?
もっとやらねば。

>>659
そうですねー。下キー押したときは固まるようにしようと思います。
画面効果、考えてみます。

>>660
採用させていただきました(w

>>663
こけしですかー。最近見てないなぁ…。


666 名前: ヒッキー@プログラミング 投稿日: 01/12/14 15:36
http://www.geocities.co.jp/SiliconValley/2530/tetris4.zip
↑次UPしました。一応ちゃんと動くようになりました。

 あとは音を付けたいと思います。


667 名前: デフォルトの名無しさん 投稿日: 01/12/14 15:41
何が何でも罵倒語と丁寧語をスレタイトルに同居させんといかんのだな


668 名前: デフォルトの名無しさん 投稿日: 01/12/14 17:44
>>667
http://jiten.www.infoseek.co.jp/Kokugo?pg=result_k.html&col=KO&qt=%B5%AE%CD%CD&sm=1
昔は尊敬の意味があった(^^)


669 名前: デフォルトの名無しさん 投稿日: 01/12/14 20:03
電波ども、ドキュソを


670 名前: デフォルトの名無しさん 投稿日: 01/12/14 20:17
ああ、努力って報われるのね。
このスレッド見てて、そう思った。
俺も頑張ろう。


671 名前: デフォルトの名無しさん 投稿日: 01/12/15 01:46
>>668
「ら」は尊敬じゃないだろう。


672 名前: ヒッキー@プログラミング 投稿日: 01/12/15 02:48
http://www.geocities.co.jp/SiliconValley/2530/tetris5.zip
↑次UPしてみました。

・音の追加
・バランスの調整
・タイトル画面の追加

などしてみました。

>>667
なんとなく、一貫性があった方が良いかと考えまして。
そろそろ、他の名前の付け方考えます…

>>668
ほおほお。貴様!ありがとうございます。

>>669
目撃ドキュソ

>>670
このスレでプログラムの勉強始めてから、がんばるのは
スバラシイ事だと実感しました。

>>671
そうですね…うーん、貴様ドモ!…余計ダメですね。


673 名前: デフォルトの名無しさん 投稿日: 01/12/15 03:02
>>672

どのキーでブロックを回転させるの?


674 名前: ヒッキー@プログラミング 投稿日: 01/12/15 03:07
スペースキーで回転します。
逆回転は今の所ありません…


675 名前: 投稿日: 01/12/15 03:30
http://ww31.tiki.ne.jp/~mayugon/java/tamago/


676 名前: 660 投稿日: 01/12/15 16:41
貴方様ドモ!!で。


677 名前: デフォルトの名無しさん 投稿日: 01/12/15 22:23
貴様方!!


678 名前: ヒッキー@プログラミング 投稿日: 01/12/16 02:48
今日は風邪気味で休憩してました。
最近、更新回数が減ったせいか、酸化してくださるかたも
減っていったような…
そろそろブロック崩しの続きでも作ろうと思います。

>>675
うんちを取って、終了してしまいました(藁

>>676
今辞書引いたところ、ドモはラよりも駄目みたいです…

>>677
方…(・∀・)イイ


679 名前: デフォルトの名無しさん 投稿日: 01/12/16 09:38
けど、>>1=ヒッキー@プログラミング は、ム板に立てて正解だったなぁ…
とつくづくおもふ。
臭蚊屁の……

次スレは「貴様方!C言語勉強するので見てください」だな(藁


680 名前: デフォルトの名無しさん 投稿日: 01/12/16 15:29
http://pc.2ch.net/test/read.cgi/tech/1008483093/


681 名前: ヒッキー@プログラミング 投稿日: 01/12/16 15:39
>>679
クサカベさんって、煽り専門のように見えるのですが
気のせいでしょうか。
この発言に「はつみみです。」っていうレスついたりして(藁

>>680
おー、第2段が(w
さっそくご挨拶に逝きました。

対抗age


682 名前: ヒッキー@プログラミング 投稿日: 01/12/17 19:20
体調がすこぶる悪いです。
開発停滞してる間にお客さんが減ってしまった…。

VCにブロック崩しを移植しようと思っているんですが、
どのようにして画像を表示したら良いか模索中です。
STATICでCreateWindowを実行したらいいんでしょうか。
とりあえずいろいろ実験します。


683 名前: デフォルトの名無しさん 投稿日: 01/12/17 21:22
がんばる人は、好きです。


684 名前: デフォルトの名無しさん 投稿日: 01/12/17 23:43
>>682
1. メインウィンドウと同じサイズのビットマップを用意しておく(バックバッファ)
2. ゲームではバックバッファにデータを書き込む
3. 一通り書き終わったら、バックバッファをメインウィンドウに BitBlt して貼り付ける。

こんなものでいいと思うが。普通の Windows アプリケーションでは WM_PAINT メッセージに対応して
描画するんだが、ゲームだったら無視して適当なタイミングで BitBlt() しても構わんでしょ。


685 名前: たけお 投稿日: 01/12/18 00:07
見てる人は見てる( ̄ー ̄)


686 名前: ヒッキー@プログラミング 投稿日: 01/12/18 02:09
http://www.geocities.co.jp/SiliconValley/2530/cblock.html
↑VC編始めました。いろんなところのソースを見ながら書きました。
 ちゃんと動いてないかもしれません…。
 タイマーとかデバイスコンテキストとか破棄されてなかったらごめんなさい。

>>683
ケコーンしましょう。

>>684
今の所、バックバッファは用意しませんでした。
WM_PAINTのところ何も書いてないんですが、いいんでしょうか。
BeginPaint・EndPaintの役割が、まだはっきりつかめてなかったりします(w

>>685
おぉ、ありがとうございます。
見てくださるかたが、もしいらっしゃらなかったらちょっと悲しいです。

※肩こりで頭が痛くて、変な事書いてるかもしれません…。ごめんなさい。


687 名前: デフォルトの名無しさん 投稿日: 01/12/18 04:59
>>VBテトリス
テトリスの上カーソルキー、使う予定がないなら回転をアサインしてほしいなぁ。
そうすると片手で遊べるんだけど(w

>>VCブロック崩し
描画は>>684の方法でOKでしょう。現状のディスプレイDCに直接BitBltだと
そのうちチラツキが気になってくるハズ。
で、画像の表示は今はDDB使ってるけどそのうちDIBを使うことになると思う。
DIBならメモリに直接イメージを描けるからマスクパターンも要らなくなるしね。
WM_PAINTは処理しない場合でもDefWindowProc()が適当に処理してくれるから気にしなくても大丈夫。

BeginPaint()とEndPaint()はWM_PAINT内では
必ず呼ぶということだけとりあえず覚えておけばOK。

とりあえずこんだけ。


688 名前: デフォルトの名無しさん 投稿日: 01/12/18 06:27
>>686
まず *.aps, *.plg, *.opt, *.ncb はソースアーカイブから削除ね。他の環境に持っていっても、役に
立たんから。

ReleaseDC(), DeleteDC() の使い方を間違えてるな。
 CreateCompatibleDC() などで作ったメモリデバイスコンテクストは、DeleteDC() で解放する。
 GetDC() や GetWindowDC() で取得したデバイスコンテクストは ReleaseDC() で解放する。
混同しないよう。

グローバル変数を使いすぎだが、それはともかくグローバル変数の宣言はヘッダにまとめておく。
extern を実装側に書くと、不一致が生じたときに検出できないで、致命的なバグになるぞ。逆に
外に見せる必要が無い関数/変数は static リンケージにして、同一ファイルからのみアクセスで
きるようにしておくのが身のためです。

画面サイズのこととか、エラーチェックしてない点とか、わりとツッコミどころ満載だが、とりあえず気
になったとこだけサクッと書き直してみた。
http://members.tripod.co.jp/lambda_func/cblock01_x.zip


689 名前: デフォルトの名無しさん 投稿日: 01/12/18 08:09
書き直すなよ。


690 名前: デフォルトの名無しさん 投稿日: 01/12/18 12:54
とりあえずCで書くなら.cppじゃなくて.cにしとけ。


691 名前: デフォルトの名無しさん 投稿日: 01/12/18 14:44
>>689
別に、俺が書いたコードをそのまま使えとは言わんよ。サンプルとして参照したければ
すればいいし、したくなきゃ捨てときゃ良いだけ。


692 名前: 投稿日: 01/12/18 15:37
>>689
漏れもそう思って昨日言おうとしたけど、1が読んだら参考になると思ってやめた。
1ならそれをうまく吸収できそうだし。


693 名前: ヒッキー@プログラミング 投稿日: 01/12/18 17:39
http://www.geocities.co.jp/SiliconValley/2530/tetris6.zip
↑テトリス修正しました。変更点は

・上キーで回転できるようにした
・タイトル画面とゲームオーバーの画面で終了したら、正常にアンロードされない問題の修正
・横キーとスペースキーを同時に押したら壁に埋まってしまう現象の修正

です。

>>687
上キーで回転できるようにしました。

描画の時、見える部分を直接いじるとやっぱチラついてくるもんなんですね。
DIB、検索してみました。便利そうですねー。
でもDIBに対して行うBitBltのようなものを自分で実装しないといけないんでしょうか。
マスクデータが要らないのはいいですね。
白なら転送しない…みたいに書けばいいんでしょうか。
>>BeginPaint()とEndPaint()はWM_PAINT内では必ず呼ぶということだけとりあえず覚えておけばOK
ほおほお。了解しました。

>>688
>>*.aps, *.plg, *.opt, *.ncb はソースアーカイブから削除ね
やっぱいらないデータもあるんですね…。よく調べずに添付してしまいました(w

ほおほお、新たに作成したDCはDeleteDCで、
既にあるDCを取得した場合はReleaseDCを使えばいいんですね。覚えます。

>>グローバル変数の宣言はヘッダにまとめておく
>>外に見せる必要が無い関数/変数は static リンケージに
そうしてみます。externはなるべく使わないようにします…

書き直して頂いた分、見させてもらいました。
書き方、すごく参考になりました。ありがとうございます。
StdAfxって、最初に1回だけコンパイルする分ですよね?
あと、#if defined のところがよく分かりませんでした…


694 名前: ヒッキー@プログラミング 投稿日: 01/12/18 17:44
>>689
わざわざ労力を使って書き直して頂けるというのは大変嬉しいです。

>>690
.cにしたら問題が出そうな気がしたので.cppにしました。

>>691
いえいえ、捨てるなんてdでもない。

>>692
吸収するべくがんばります。


695 名前: デフォルトの名無しさん 投稿日: 01/12/18 18:33
>>693
> StdAfxって、最初に1回だけコンパイルする分ですよね?
プリコンパイルヘッダのこと?

Windows アプリケーションだと <windows.h> やら何やらヘッダファイルを読み込むわけだが、
これはかなりサイズが大きくて、解析に時間がかかる。そこで <windows.h> など良く使うヘッ
ダファイルを

1 あらかじめ解析して、コンパイラがすぐに使える形 (*.pch) に変換しておく
2 *.c, *.cpp をコンパイルするときには毎回 <windows.h> などを解析する代わりに、1 で作っ
 たコンパイル済みヘッダ (*.pch) を使う

ことで、コンパイルの速度を上げられる。小細工の類だが、知っておいて損は無いやね。

> あと、#if defined のところがよく分かりませんでした…
あれは通称コードガードという技法で、二回以上同じヘッダファイルを #include したときに発生
するトラブルを避けるためにつけておく。このぐらいの小規模なプログラムだと問題ないんだが、
規模が大きくなってくると

 ヘッダ A がヘッダ X を #include
 ヘッダ B がヘッダ X を #include
 main.cpp がヘッダ A, B を #include (X は都合二回 #include される)

みたいな状態が発生してコンパイルに支障が出る可能性がある。


696 名前: デフォルトの名無しさん 投稿日: 01/12/18 21:16
>>695
> > あと、#if defined のところがよく分かりませんでした…
> あれは通称コードガードという技法で、
そういう通称あるの? いや一般的になんと呼ばれてるのか知らんのだけど。


697 名前: デフォルトの名無しさん 投稿日: 01/12/18 21:22
>>694
>>686のソースはまるっきりCだろ、コメント以外は。

>>688のもほぼC。
C++じゃなきゃ通らないのはごく一部、structをtypedefしてないとか参照渡し
とか名無しの引数くらい。


698 名前: 687 投稿日: 01/12/19 05:37
>上キーで回転できるようにしました。
サンクス。これでお気楽に遊べるようになったよヽ(´ー`)ノ

>描画の時、見える部分を直接いじるとやっぱチラついてくるもんなんですね。
バックバッファを使えば目に見えるBitBltは一回で済むからチラつかなくはなるよ。
あと、CreateDIBSection()で取得したDIBなら普通にBitBltできるよ。
他の方法はちょっとわかんない・・・これしか使ったことないもんで(;´Д`)
まあDIBよりもバックバッファを実装する方が先だな。実装方法はわかる?

>白なら転送しない…みたいに書けばいいんでしょうか。
非パレットでのマスクならそうだね。パレットモードなら0番を描画しないとか。
やろうと思えばアルファプレーンを用意しての半透明描画だって可能。


699 名前:   投稿日: 01/12/19 23:30
ぷよぷよぱくったことあるよ。
画像もぷよぷよ


700 名前: デフォルトの名無しさん 投稿日: 01/12/20 02:01
バグ報告。
ブロックが接地してからの挙動がおかしい。
具体的には、ブロックが接地したあとの猶予時間にブロックを移動させたり
回転させたりすると変な動作をしてる。
これは速度が速くなってくると頻発するようになる。

あと、Lineが100あたりになったとき実行字エラーの'9'(インデックスが有効範囲外)が
発生してプログラムが強制終了。
速度が遅いときにはほとんど問題ないみたいなので多分、高速化のロジックあたりに
問題があるんだと思う。

でもこのバグが解消してもこれ以上はスピードが速すぎてゲームとして
成立しなさそうな気がする。このどうしようもなくなってくる感じは
任天堂の初代のゲームボーイ版を彷彿とさせるものがある(w


701 名前: 636 投稿日: 01/12/20 02:42
前から思ってたんですけど、
そこらへんのページやVectorにも僕の作ったテトリス、私の作ったテトリス、
俺の作った対戦型テトリスとかいろいろ置いてありますが、テトリスって勝手に作って公開しても別にいいんですか?
シュアウェアとかにしても構わないんですか?(するつもりないけど…)

>>637 >>638 >>646 >>654
教えていただいてありがとうございました。
学校の期末試験期間中現実逃避して書き込んだんで中々レスする機会がありませんでした。
プログラミングをはじめて1〜2ヶ月目の挫折を1年経った今、見事にはらすことができました。
あの時の「VisualBasic6.0評価版」ではなく、ポケットコンピューター「PC-G850S」で。


702 名前: デフォルトの名無しさん 投稿日: 01/12/20 03:17
>>701
テトリスの名前を使うのは商標権の侵害で確実にクロ、
名前を使わなくても、著作権の同一性保持権の侵害でグレーと思われる。
とりあえず、フリーソフトまたはシェアウェアでテトリスを公開していて、
著作権者のThe Tetris Companyに警告されたケースは結構あるらしい。
でも、みんな次から次へと作るから全然追いついてなさそうだ。

ライセンスを正規に獲得したければこの辺か。
ttp://www.tetris.com/corporate/
実際どういう手続きになるのかは知らない。そんな感じ。


703 名前:    投稿日: 01/12/20 03:20
警告きてから、考えよう


704 名前: 636 投稿日: 01/12/20 03:44
>>702
やっぱり駄目ですか・・・残念
Googleで「自作 テトリス」で検索すると2000以上もの件数が…
これでは全然追いつけそうにないですね。さらに増えていくし…
しかしこの中には犯罪とも何とも思わず作っている人も多いんだろうなぁ。

>>703
ホームページにメールアドレスを書かない主義なので、
警告するときは直接電話がかかってくるんだろうか。それともそのままタイー・・・


705 名前: デフォルトの名無しさん 投稿日: 01/12/20 03:48
その辺よく分からないんですよね。

普通のゲームは、いわゆるクローンは別にクロではないそうですけど、
テトリスの場合は(テトリスカンパニー側は)かなり厳しいですね。

どこまで似てるのはよくてどこからはダメなのか、というのはよくわからんです。


706 名前:    投稿日: 01/12/20 03:52
まあ、テトリスっぽくなければOKでしょう(謎


707 名前: デフォルトの名無しさん 投稿日: 01/12/20 05:20
下から上にブロック発射すればよい。

ブロック崩しゲーとしてはそっちの方がなんとなく正しい気がする。
ばきゅんばきゅんって感じで


708 名前: デフォルトの名無しさん 投稿日: 01/12/20 05:21
実質、テトリスを勝手に作って公開しても問題ないと思う。
テトリスのシステム自体は「アイデア」だから、よほどゲームとしての
類似性がない限り法的にどうこうできないと予想される。
ブロック崩しだって同じでしょ?


709 名前: 702 投稿日: 01/12/20 05:43
うむ。その辺もあってグレーとした。判例があるわけではないしな。
たぶん裁判になればパックマン事件みたく
映画の著作物云々でウダウダやるのだろうが。
ちと著作権のありかたについて考えさせられる事例ではある。

アイデアとしての落ちものパズルについては
カシオの特許で問題になってたが、その後どうなったのだろう。


710 名前: デフォルトの名無しさん 投稿日: 01/12/20 06:55
商標の問題だけじゃないんだ。
『テトリス』って名前使わなきゃ良いと思ってたよ。
オセロはダメでもリバーシなら可みたいな。

著作権よりも>>709が言うように特許じゃないの?


711 名前: デフォルトの名無しさん 投稿日: 01/12/20 16:01
漏れもC勉強したいけど、コンパイラが……
バイト中。つーか月1k円の小遣いって(藁


712 名前: ヒッキー@プログラミング 投稿日: 01/12/20 16:22
http://www.geocities.co.jp/SiliconValley/2530/cblock.html
↑ブロック崩し(VC)、次UPしました。
 自機が動かせるようになりました。

>>695
プリコンパイルヘッダっていうんですね。参考になります。
StdAfxを作っておくと、たしかにコンパイルが早くなりました。

コードガードのところ、よくみたら「#if defined」ではなくて、
「#if !defined」になってました…。ようやく機能が理解できました(藁

>>697
>>「>>686のソースはまるっきりCだろ、コメント以外は。」
たしかにそうかも…
>>C++じゃなきゃ通らないのはごく一部、structをtypedefしてないとか参照渡し
>>とか名無しの引数くらい。
ほおほお。typedefしなくてもstructって毎回書かなくていいんですね。
…って、いろいろ便利そうなので、cppのままにしときます。
ありがとうございます。

>>698
今回UPした分、バックバッファ使ってないせいか、やはりチラつきました。

>>CreateDIBSection()で取得したDIBなら普通にBitBltできるよ。
おお、それは便利そうですねー。一回実験してみます。
>>バックバッファを実装する方が先だな。実装方法はわかる?
ん〜、どうでしょうか。できるだけやってみます。
>>アルファプレーンを用意しての半透明描画だって可能。
半透明ですかー。やってみたいなぁ。
半透明の演算って、加算でやるんでしょうか?


713 名前: ヒッキー@プログラミング 投稿日: 01/12/20 16:43
>>699
(・∀・)イイ
PC版ぷよぷよから画像抜き出したりしたら面白そうですね。

>>700
ご報告ありがとうございます。

>>ブロックが接地してからの挙動がおかしい。
>>これは速度が速くなってくると頻発するようになる。
速度が速くなるまでやってみました。…たしかにおかしいです。
>>Lineが100あたりになったとき実行字エラーの'9'が発生してプログラムが強制終了。
一度に2マス以上落ちて、配列の要素を超えてしまったんではないかと…
直します。
>>でもこのバグが解消してもこれ以上はスピードが速すぎて…
たしかに。レベル上がるごとに落ちる速度に掛け算してるのがまずかったと思います…。
ゲームボーイ版テトリスで一番長くプレイしたので、影響が出たのかもしれません(藁

>>701
おお、ポケコンですかー。ウチにあるのは5行ほどしか表示できないので、
極端に狭いテトリスしかできません(藁

>>702
テトリスのライセンスのページってあるんですね。
最終的にロシア人の作者にお金が逝くのだろうか。

>>707
発射…(藁
テトリスとは違うゲームが出来上がりそうですね。

>>708
たしかにブロック崩しもタイトーにお金払わなければならんのでは…
という感じがします。商用でなければいいんでしょうか。

>>709
映画とゲームを比較して裁判で争うのっておかしいですよね。
たしかに最近のFFはまさに映画ですが。
(裁判で今後認めさせる為に無理矢理あのようなゲームにしたのでは…)
カシオって、落ち物パズルの特許もってたんですか?

>>710
オセロって日本人が考えたんでしたっけ。

>>711
コンパイラはフリーでありますよ。
ボーランドのTurboC++とかDownloadできるみたいです。
GUIのツール類は無いみたいですが…


714 名前: デフォルトの名無しさん 投稿日: 01/12/20 19:28
>>698
DIB は描画時にデバイスコンテクストにあわせて変換が入るから、遅くないか?


715 名前: 投稿日: 01/12/20 19:37
「映画の著作物」は頒布の話だから、ゲームのアイディア保護とは違う気もします。
このへんようわからんのですが…
http://www.google.co.jp/search?q=%89f%89%E6%82%CC%92%98%8D%EC%95%A8&hl=ja&lr=
http://www.ne.jp/asahi/law/y.fujita/used_sw/kenkai9801.html

関係ないのでsage


716 名前: デフォルトの名無しさん 投稿日: 01/12/20 19:54
>>714
DDBに比べれば確かに遅いかもしれないけど
最近のマシンなら十分に使い物になる。60fpsくらい全然余裕(解像度にもよると思うけど)。
バリバリに画面描画を行うならDirectXがいいかもしれないけど
たいていはDIB(っていうか、旧WinG)で間に合うと思う。


717 名前: デフォルトの名無しさん 投稿日: 01/12/20 21:04
>>713
お言葉はありがたいけど……
フリーであるんだけどね、通信速度が……WinUpDateで精一杯(藁
ISDN?いやいや、56kbpsしか出ませんよ(泣
通信費か、もしくは……


718 名前: デフォルトの名無しさん 投稿日: 01/12/20 21:37
>>717
Cマガ買え


719 名前: デフォルトの名無しさん 投稿日: 01/12/20 21:54
小遣1k円……
ノート1冊0.1k円……
がんばる!


720 名前: デフォルトの名無しさん 投稿日: 01/12/20 22:10
>>717
とりあえずCの勉強ならLSI-Cの試食版でもやってみれば?
アーカイブで400Kだから全然余裕だろ?


721 名前: 701 投稿日: 01/12/21 01:15
>>713
けど6行あるうちの4行しか使ってません。というか使えません。
大きくすると描画に時間がかかってゲームにならないんです。
しかも教育用ポケコンの仕様かどうかわかりませんが、横幅が普通のよりせまいんです。
だから雑誌に載っているプログラムを打ち込んでもはしっこが見えない・・・(泣


722 名前: デフォルトの名無しさん 投稿日: 01/12/21 11:54
>>720
アリガトウ♥
コレから落としてきます。 ねこでも――で便供養中です。


723 名前: デフォルトの名無しさん 投稿日: 01/12/21 11:54
スマソ。
/便供養中/勉強中/鬱;


724 名前:   投稿日: 01/12/21 12:02

いいものいっぱい!Yahoo!オークション で激安情報!

SFC+おまけ
http://page3.auctions.yahoo.co.jp/jp/auction/c14653830

ドリンクホルダー
http://page3.auctions.yahoo.co.jp/jp/auction/c11344496

ドライヤー
http://page.auctions.yahoo.co.jp/jp/auction/40411210

Panasonicテレビデオ
http://page4.auctions.yahoo.co.jp/jp/auction/d12789591


725 名前: デフォルトの名無しさん 投稿日: 01/12/21 12:10
a 宣伝ですか?
g とりあえず、あぼ〜んっと。
e あげとこうっと。


726 名前: デフォルトの名無しさん 投稿日: 01/12/21 12:13
>>380……
>>724宣伝ウザい。


727 名前: デフォルトの名無しさん 投稿日: 01/12/21 14:58
かちゅ〜しゃでみると>>721のうごきがおかすぃ、、。


728 名前: ヒッキー@プログラミング 投稿日: 01/12/21 20:18
http://www.geocities.co.jp/SiliconValley/2530/cblock.html
↑次UPしました。VBのソースを移植してたらイパーイ時間かかりました。
 変更点は

・自機からボールが跳ね返る
・背景の表示

です。自機、背景から透けてますでしょうか。

>>714
DIBって遅いんですか?
今の所まだDDB(?)でやってます。

>>715
あー、そういえばゲームの中古販売の時に出てきた言葉でしたね。
思い出しました。

>>716
マシンパワーでプログラムの処理時間をカバーできるという事ですね(w
ゆくゆくはDirectXを覚えたいです。

>>717
うーん、つらいですねー…。
よく見たら月々のお小遣い1000円じゃないですか…10K円だと思ってた。

>>718
Cマガって、付録にコンパイラの体験版ついてるんですか?

>>719
ルーズリーフをみんなに1枚ずつもらうとか…

>>720
LSI−C、最初つかってました。

>>721
やっぱ4行でないと重いのか…
横幅狭いのはつらいですねー。専用のプログラムを書かないと…。

>>722
ガムバッテください。

>>724
テレビデオちょっと欲しいかも。

>>727
どういうことでしょう(w


729 名前: デフォルトの名無しさん 投稿日: 01/12/21 20:29
P/ECEをやれYO!
OK?


730 名前: デフォルトの名無しさん 投稿日: 01/12/21 20:43
>>728
とりあえず、コンパイラの警告レベルを 4 にしましょう。

if (x = 0)

みたいな、ありがちなバグがいくつも。


731 名前: 717 投稿日: 01/12/21 20:59
>>713へカーソル合わせると700~713が順不同に表示されるんです。
うちだけですか?


732 名前: 727 投稿日: 01/12/21 21:02
失礼!!727でした。>>713という番号がおかしいみたい。なぜ?


733 名前: デフォルトの名無しさん 投稿日: 01/12/21 21:10
>>728
うちの環境でVer.3を動かしたところ、
動きがもんの凄いスローで、
右側のスコア欄に恐らく該当する部分の表示が
やばいことになっています。


734 名前: デフォルトの名無しさん 投稿日: 01/12/21 21:13
ひさしぶりに見たらまた盛り上がってたみたいだな。

>>714
確かにDIBはピクセルフォーマット変換が入って画面へのBitBltは遅くなるが、
DDBだとスプライト描画が足を引っ張るから、大抵のゲームでは問題にならな
いよ。DDBで多重スクロールなんてやろうとしたら鬱になるかと。
あと、DIBもデスクトップのピクセルフォーマットと同じフォーマットで作成
すると速くなるよ。それじゃDIBの意味ないんだけどさ。DirectDraw使った方が
速い。


735 名前: デフォルトの名無しさん 投稿日: 01/12/22 00:41
windowsプログラミングってやったこと無いんだけど、
これから勉強しようとするときは、サンプルとか見て
この関数なんな?とか、この型はいったい何者?って思っても
とりあえずこうするもんだ、とかでOKなの?
やってみたいんだけど、WinMainの引数からして意味不明・・・。

スレ違いだったら、すいません。


736 名前: デフォルトの名無しさん 投稿日: 01/12/22 01:43
>>735
とりあえず「プログラミング Windows 第五版」を買って読みましょう。適当にコードを書くと、
動くところまでたどり着かんで死ぬ。


737 名前: デフォルトの名無しさん 投稿日: 01/12/22 03:56
>>735

ttp://www.kumei.ne.jp/c_lang/
こことか見ながら勉強してみ。わからんとこがあったらヘルプ見るか検索。
それでもわからなければどっかで聞いてみる。
そのうち色々とわかるようになる。わからなければプログラミングには
向いていないってことで。


738 名前: デフォルトの名無しさん 投稿日: 01/12/22 10:41
>>731-732
バージョンは?ksockのバージョンは?
かちゅをいれなおしてみたら?
それかログを削除 -> 取得しなおすとか


739 名前: 727 投稿日: 01/12/22 11:33
>>738
レス、サンキュさんです。後者で直らないので入れなおしてみます。
名スレ汚してすまんす……。


740 名前: 735 投稿日: 01/12/23 00:14
>>736.737
勉強してみることにします。
同じくスレ汚してすいません。


741 名前: デフォルトの名無しさん 投稿日: 01/12/23 02:42
>>734
16→16より24→16のほうが速かったりするらしいけど


742 名前: 734 投稿日: 01/12/23 06:21
ついでに言うと、ドライバによって全然速度違ったり。
3dlabsのドライバはめちゃくちゃ速いんだか遅いんだかどっちだったか忘れたけど
極端に違った記憶がある。


743 名前: デフォルトの名無しさん 投稿日: 01/12/23 22:36
DIB の利点として挙げられているのは、要するに

 「ピクセルを直接操作できる」

だけど、これってメモリデバイスコンテクストに対して GDI 関数を呼ぶよりも速いからお薦め、
という意味? DDB でもメモリデバイスコンテクストを作って SelectBitmapすれば SetPixel(),
GetPixcel() でピクセル操作自体は可能だよね。


744 名前: デフォルトの名無しさん 投稿日: 01/12/23 23:23
>>743
ピクセル操作に関数呼んでたら遅くなるじゃん…アドレス指定してゴリゴリ出来る
ところがミソなんじゃない?あとはピクセルフォーマット決められるとか。

漏れはメモリ領域取ってStretchDIBitsとか使うけど。パレット付きとか使うとき楽。
上限反転も気にしないで済むし。


745 名前: 744 投稿日: 01/12/23 23:33
>>744
ぐは,上下反転ね(;´Д`)


746 名前:   投稿日: 01/12/24 00:44
ピクミン操作は、どうよです!


747 名前: デフォルトの名無しさん 投稿日: 01/12/24 01:31
>>744
上下は高さをマイナスにすればいいんだよ。ヘルプにも書いてあったような。

SetPixelはDIBの直接アクセスに比べると遥かに遅いです。
少なくとも100倍は差があるかと。MMXも使えないし。


748 名前: 744 投稿日: 01/12/24 01:38
>>747
流石にそれは知ってますよ。説明不足だったかな。スマ
個人的にはリソース不足も関係なく使えてウマーなのでStretchDIBitsを使ってます。


749 名前: デフォルトの名無しさん 投稿日: 01/12/24 03:11
DirectDrawSurfaceだと9x系でもリソース消費が少なくて(゚д゚)ウマー


750 名前: デフォルトの名無しさん 投稿日: 01/12/24 05:42
DirectDrawSurfaceってGDI関数使っての描画できないんだっけ?
TrueTypeつかって文字書きたいときなんかどうすんの?


751 名前: デフォルトの名無しさん 投稿日: 01/12/24 11:21
>>750
IDirectDrawSurface7::GetDC() なんかでデバイスコンテクスト拾える。DirectX 8 だとダメだが。


752 名前: デフォルトの名無しさん 投稿日: 01/12/24 12:26
仮に使えないとしてもGDI関数使えないのはDIBもいっしょだから条件は同じ


753 名前: ヒッキー@プログラミング 投稿日: 01/12/24 15:53
そろそろ体がやばいです(w

>>729
う〜ん、なんか僕にはなじめそうにない機種なのでやめときます…
あの韓国の携帯ゲーム機がちょっと欲しかったりします。

>>730
してみました。…イパーイ警告でました(w
ありがとうございます。

>>731-732
うーん、なんででしょうか。リンクが多すぎるのかな。

>>733
コードが悪かったのかもしれません…。
直したいと思いますが原因の追求をどうやればいいのか…

>>734
やっぱスプライトの処理でコマゴマとBitbltしたら遅そうですねー。
スト2の地面の描画とか真似しようと思ってもDDBだったら無理なんでしょうか。
DirectXってやっぱ覚えたほうがいいですね。

>>735
僕もWinMainがサパーリわかりませんが、初めてCのコード書いた時の
Mainと同じように把握しています。


754 名前: ヒッキー@プログラミング 投稿日: 01/12/24 16:03
>>741
そういうことも、あるんもんなんですね。

>>742
ドライバで差が出てしまうと、どうしようもないですねー。

>>743-744
やっぱGetPixelとかは直接DIBをいじるより遅いんですね。

>>746
ピクミン、やった事ないです…

>>747
マイナスにすればいいですか?ヘルプ見てみます。

>>748-749
(゚д゚)ウマー

>>750-751
ほおほお。後で使えるように覚えておきます。

>>752
DIBの場合って、フォントを描くにはどうしたらいいんでしょう?


755 名前: デフォルトの名無しさん 投稿日: 01/12/25 01:32
>>752
???
DIBはGDI使えるが?


756 名前: デフォルトの名無しさん 投稿日: 01/12/25 17:02
>>755
DIB という単語が多義的に使われていて混乱してる気がするな。

 ほんとに素の DIB だと SetDIBitmsToDevice(), StretchDIBits() で描画することしか出来ない。
 GDI 関数を使いたければ CreateDIBSection() で DIB セクションを作成する必要がある。

ということで OK?

ついでに DDB, DIB, DirectDrawSurface の得失

DDB
 + GDI 関数が使える
 + BitBlt() が高速
 - ピクセル操作は Win32 API 呼び出しが絡むので遅い
  (単に API がどうこうというだけでなく、データをビデオメモリ上に持ってるんじゃない?)

DIB
 - GDI 関数が使えない(ただし CreateDIBSection で補える)
 - BitBlt() はやや遅い
 + ピクセル操作はポインタ経由で行えるので高速
 + ピクセルフォーマットを自分で決められる

DirectDrawSurface
 + GDI 関数が使える (ただしピクセル操作よりは遅くなる)
 + BitBlt() が高速
 + 標準で透過処理などをサポートしている
 + ピクセル操作はポインタ経由で行えるので高速
  (ただしシステムメモリにサーフェイスを作った場合、ビデオメモリに作ると操作は逆に遅くなる)
 - ピクセルフォーマットはデバイス依存になる

というところで。

良くも悪くもシステムが面倒を全部見てくれる DDB, ハードウェアが直接見える DirectDrawSurface,
その中間に位置する DIB という感じ。


757 名前: デフォルトの名無しさん 投稿日: 01/12/25 23:16
結局、>>752がDIBセクションを知らなかっただけということじゃないのか?
そうじゃないなら言葉足らず。


758 名前: ヒッキー@プログラミング 投稿日: 01/12/26 03:50
VBのソースをひたすらVC用に書き直してたら、
何を書いているのかわからなくなりました…。鬱だ

>>756
詳細なご説明ありがとうございます。
用途によって使い分けるのがいいんですね。
ゲームを作るときにDIBを使う…という意味がはっきりしました。
逆に、絵を数枚だけ表示したい時などはDDBの方がよさそうですね。


759 名前: デフォルトの名無しさん 投稿日: 01/12/26 04:37
>>758
ガンバレ

DIBってデバイスに依存しないビットマップって意味だから,一旦DDBにコピーして
おいてから描画すると高速になる事があって(゚д゚)ウマーだね。面倒くさいけど(w

ま,細かいことはこれから覚えていけばいい事だし,とにかく作ってみて完成させる。
コレが一番。やればやっただけ効果あるし,やる気ある奴は伸びるのも早いよ。


760 名前: デフォルトの名無しさん 投稿日: 01/12/26 10:33
>>758
前のほうでちょっと書いたんだけど、Win3.1の頃にはWinGっていう規格があった。
最後のGっていうのはGameの略。つまりゲームアプリのために作られたもの
なんだけど、それがWin32になってAPIとして取り込まれたものがDIBセクション。
DIBとDIBセクションは一応別物として理解していてくれ。
DIBセクションに関してはCreateDIBSectionで検索すればすぐ出てくる。


761 名前: ヒッキー@プログラミング 投稿日: 01/12/26 11:21
http://www.geocities.co.jp/SiliconValley/2530/cblock.html
↑次UPしました(VC)。変更点は

・ブロックの表示&はね返る

です。

>>759
ほおほお。いろいろ作ってみます。
DIBを作ってみて、速度を計ってみようと思います。
>>一旦DDBにコピーして
というのは、DDBにいったんBitBltするんでしょうか?

>>760
あー、そういえばPCを初めて買った時に見た、雑誌の付録で
WinGを使ってるのがありました。
MSDNのCreateDIBSectionのページを見てみます。
ありがとうございます。


762 名前: デフォルトの名無しさん 投稿日: 01/12/26 13:48
ゲーム作るならDDBなんて無視していいと思うけどな。
CreateDIBSectionかDirectDrawの二択。

とりあえず、32bitカラーのCreateDIBSectionがおすすめ。
アライメントとかの問題も気にする必要ないから初心者にも扱いが楽。

CreateDIBSectionで速度的に問題があれば、DirectDrawに手を出してみるのが
いいかと。ただし、IA32についてちゃんと理解していなければ、ちっとも速くな
らないから注意。


763 名前: デフォルトの名無しさん 投稿日: 01/12/26 15:37
>>761
>というのは、DDBにいったんBitBltするんでしょうか?
そうそう。表示デバイスとコンパチブルなビットマップを作ってBltするんだよ。
CreateCompatibleBitmapでMSDN探せば出てくるよ。

書き換えのチラツキ防止策にも使われたりしますが,ゲームじゃあまり使わ
れないから,気にしなくてもいいかも(w


764 名前: デフォルトの名無しさん 投稿日: 01/12/27 19:17
正直ウ○○でそう。(自粛
なぜかネットにつなぐとしたくなるんだよ。
フレッツじゃないし、56kbps(前もこんな人いたような)だからつらい。

まぁ1がんばれ。


765 名前: 投稿日: 01/12/28 14:11
その後 ウ●●はどうなった?
じゃなくて1さん元気?


766 名前: あきまさ 投稿日: 01/12/30 20:57
1さんは何処へ逝ってしまったんですか〜?


767 名前: デフォルトの名無しさん 投稿日: 01/12/30 22:52
養生せえ、養生せえ。

元気の出る波動送っときます。
も〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ん…
         も〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ん…


768 名前: ヒッキー@プログラミング 投稿日: 02/01/02 16:30
保守age
そろそろ復帰します…。


769 名前: デフォルトの名無しさん 投稿日: 02/01/02 17:16
>養生せえ、養生せえ。
えっ、何かの搬入ですか?
それとも、電源工事?


770 名前: デフォルトの名無しさん 投稿日: 02/01/02 19:08
ブロックくずしってさ64kbyteプログラミングに向いてないか?
って思うんだ


771 名前: デフォルトの名無しさん 投稿日: 02/01/02 19:18
>770もっと減らせると思う。やってみれば?


772 名前:   投稿日: 02/01/05 06:26
>>1
あけましておめでてーな。
本年もよろしくお願いいたしやがります。


773 名前: デフォルトの名無しさん 投稿日: 02/01/05 10:18
正月どこにも行かなかった身としては、
書き込みが少ないのが悲しい。

ひまつぶし
    しようと思うが
          カキコ無し
                  圖


774 名前: ヒッキー@プログラミング 投稿日: 02/01/05 14:28
数日間、ゲームやってました…放置してスミマセンでした。

>>762
ういー。了解しました。
IA32って、どういうのでしょう?Itaniumの仲間ですか?

>>763
ほおほ。参考になります。
コンパチブルなBITMAPは一応作ることができたのですが、
普通にBITMAPを作ると白黒になってしまうようなのですが、
解決策はあるのでしょうか?
(MSDNの内容がイマイチ読み取れませんでした…)

>>764
漏れもテンション上がるとウ○○がしたくなります…
あとコーヒー飲んだ後。
がんばります〜。

>>765
若干元気になりました。

>>766
ただいまー。
また、そちらのスレに顔出しマス…。

>>767
なんか耳鳴りがすると思ったら波動を送ってくださってたんですね(藁

>>768
ん?

>>770
小さくできそうですねー。
でもwindows.hをインクルードするだけで重くなるような…

>>771
もっと減らせますか?んんん。

>>772
今年も夜露氏苦おねげーします。

>>773
歌丸師匠!?
もっと正月もがんばったら良かったかと思っています。


775 名前: デフォルトの名無しさん 投稿日: 02/01/05 14:33
>>774
IA32はi386〜Pen4(PenPro含む)


776 名前: 投稿日: 02/01/05 16:43
インテル・アーキテクチャ・32bit


777 名前: デフォルトの名無しさん 投稿日: 02/01/05 17:22
>>774
> でもwindows.hをインクルードするだけで重くなるような…
ヘッダと実行ファイルのサイズは関係ないって。

ただ CRT に関しては libc.lib (libcmt.lib) をスタティックリンクして使うか msvcrt.dll を使うかでサイズに
差が出る。プロジェクトの設定から [C/C++] - [コード生成] - [使用するランタイムライブラリ] で選択ね。


778 名前: デフォルトの名無しさん 投稿日: 02/01/06 03:39
>>774
>普通にBITMAPを作ると白黒になってしまうようなのですが、

コンパチDC作ってビットマップ作成だったかも知れん。スマソ
ここら辺ややこしいんだよな…


779 名前: 債務不履行の名無しさん 投稿日: 02/01/06 14:58
おおお!>>1=>>774=ヒッキー@プログラミング がageている!
いつもsageなのになぁ。

今日、某新聞の求人広告に………があってつい見にきてしまった。
保守上げだ。


780 名前: Monamoe 投稿日: 02/01/07 13:38
なんか漏れ1さんと似てるなぁ…。

漏れも高校の時CとVB勉強してたよ。
今はC++だけど。
年齢もかなり近い。
1さんは漏れの1つ年上みたいだね。
しかも漏れもヒッキーでゲーム作ってたりする。

Cで書かれてるブロック崩しやらせてもらったけど、
なかなかいい感じだね。

1つ注文すると、最大化ボタンはいらないと思うよ。
CreateWindow関数のWS_OVERLAPPEDWINDOW
ってのを変更すれば最大化ボタンを消せるYO!
お互い頑張ろうね!


781 名前: ぴくみん‏ 投稿日: 02/01/07 23:41
がんばれ ‏ がんばれ


782 名前: ヒッキー@プログラミング 投稿日: 02/01/09 22:28
だめだ…
一回休むと続けづらくなってきました…

とりあえずVC起動


783 名前: ヒッキー@プログラミング ◆hky/PGis 投稿日: 02/01/09 23:01
てすと


784 名前: 不良社員 投稿日: 02/01/10 01:54
>>782
そういうときはやらんでよし。
他に興味あるプログラムを作るか、
遊ぶかダラけるかをおすすめします。

とりあえず、やる気でないときは私はそうしてます。
やる気ってコントロールするのが難しいんだよね


785 名前: デフォルトの名無しさん 投稿日: 02/01/11 04:37
保守age


786 名前: デフォルトの名無しさん 投稿日: 02/01/11 13:17
モチベーションは大事だよね。
仕事でも、趣味でも、勉強でも。
がんばれage.


787 名前: ほえー 投稿日: 02/01/11 14:18
VCに移ったんだ


788 名前: デフォルトの名無しさん 投稿日: 02/01/11 14:39
>>786
漏れはマスターベーションの方が大事だと思うな。


789 名前: デフォルトの名無しさん 投稿日: 02/01/11 14:41
ネタだとしたらつまらんし、本気だとしたらアホだな。


790 名前: デフォルトの名無しさん 投稿日: 02/01/11 15:32
>>789
お前みたいなデブメガネは死ね


791 名前: デフォルトの名無しさん 投稿日: 02/01/11 15:38
何気に 788 != 790 だな


792 名前: 788 投稿日: 02/01/11 15:59
>>791
なんでわかったん?


793 名前: デフォルトの名無しさん 投稿日: 02/01/11 18:01
>>782
そういう時は別の言語触ってみたら?
J++も入ってるんでしょ? 他にもDelphi6Personalとかも無料だし


794 名前: 789 投稿日: 02/01/11 22:49
>>788=790
おいおい何怒ってるんだよ。(笑)


795 名前: デフォルトの名無しさん 投稿日: 02/01/12 04:00
実は.>>1が自作自演でストレス解消中だったりして・・・。


796 名前: デフォルトの名無しさん 投稿日: 02/01/15 20:57
掃除機、錆吸ぃ。

>>1さぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ♥ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ♥ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ(以下略


797 名前: デフォルトの名無しさん 投稿日: 02/01/16 13:56
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 | >>1 はどこ!!    |
 |_________|
    ∧∧ ||
    ( ゚д゚) ||
    / づΦ


798 名前: デフォルトの名無しさん 投稿日: 02/01/16 19:06
あまりおすすめできない擦れたい、形で始まった子のスレの
勢いはもう \0 どうぜん…(w


799 名前: デフォルトの名無しさん 投稿日: 02/01/16 19:08
googleで「入門」を検索したつもりで「柔毛」を検索してしまいました。
(例) http://www.google.co.jp/search?q=%8F_%96%D1&hl=ja&lr=


800 名前: デフォルトの名無しさん 投稿日: 02/01/16 22:12
やる気・向上心のあるプログラミング初心者募集!


801 名前: ヒッキー@プログラミング ◆hky/PGis 投稿日: 02/01/16 23:50
(;´Д`)


802 名前: デフォルトの名無しさん 投稿日: 02/01/17 04:09
>>800
プログラミングは (それほど) 初心者でもないが、ゲームプログラミングはド素人ってあたりで
どうよ? ひとつシューティングゲームでも書いてみたいなと思ってるんだが、観客いた方が気
合入るし。


803 名前: デフォルトの名無しさん 投稿日: 02/01/17 11:55
>>802
俺は全然構わないと思うよ。
>>1もプログラミング多少できたみたいだし。


804 名前: デフォルトの名無しさん 投稿日: 02/01/20 21:08
♥ a g e ♥


805 名前: デフォルトの名無しさん 投稿日: 02/01/21 12:51
ビットマップが白黒になるのは
CreateCompatibleBitmap
の引数のHDCに入れるものが間違ってるからだったような・・・
hWnd = 「メインウインドウのhWnd」;
hdc = GetDC(hWnd);
CreateCompatibleBitmap(hdc, width, height);

とhdcをウインドウのものにすればすればカラーになるはず





806 名前: デフォルトの名無しさん 投稿日: 02/01/21 22:06
>>802
漏れも便乗させてもらってもいい?


807 名前: 802 投稿日: 02/01/21 23:21
>>806
良いんじゃない。

とりあえず DirectDraw7 で、16x16 タイル張りの背景をスクロールできるところまで行きました。
ちとコードを整理したら up します。


808 名前: 806 投稿日: 02/01/21 23:56
>>807
どうもありがとう。
漏れ業務ではPL/SQLしか経験なくてやばめだけど。

わたしはDirectDrawは使えないヘタレなので、DirectX系無しのVCで・・
背景のスクロールはWM_TIMERでX+=10;とかにして
BitBltの所の背景のX座標の位置を増やしてみました。
たぶんWM_TIMER使っているからだと思うけどゲームみたいな綺麗な
スクロールじゃないや。
それにInvalidateRectをWM_PAINTじゃなくてWM_TIMERの方に書かないと
だめだったし。無念。


809 名前: 806 投稿日: 02/01/22 00:05
それと再描画命令はInvalidateRect(hwnd,NULL,FALSE);
一文しか私は使っていないんですが、UpdateWindow(hwnd);は
やっぱり普通は使うものなんですか?
自分のソースにInvalidateRectの次の行に書いたらKARNEL32.dllっていうのがエラー出します(涙


810 名前: デフォルトの名無しさん 投稿日: 02/01/26 01:19
>>801
VBに帰る手もあると思う。


811 名前: デフォルトの名無しさん 投稿日: 02/01/26 21:09
>>806
おそらくWM_PAINT に UpdateWindow 書いてねーか?



812 名前: デフォルトの名無しさん 投稿日: 02/01/26 23:22
WOODYPOP
http://www2.sega.co.jp/sw/woody/

セガのブロック崩し。
おもろいよ。


813 名前: デフォルトの名無しさん 投稿日: 02/01/28 01:37
このスレ好きだったんだが、ずいぶんさびれちゃって寂しいんで
漏れもちょっと参加してみます。

貴様ら!見てください
../../SiliconValley-PaloAlto/4792

プログラム歴は、昔BASICとCをかじった程度。ひと月程前にDelphiをダウソして勉強中。



814 名前: デフォルトの名無しさん 投稿日: 02/01/28 05:58
>>813
色つけたら見てるだけで楽しくなりそう。


815 名前: 名無しへの扉 投稿日: 02/01/28 20:22
見れ!!
http://www.vector.co.jp/soft/win95/game/se174379.html


816 名前: デフォルトの名無しさん 投稿日: 02/01/28 20:50
気合入ってんなぁゴルァ!
API板にも来てください

http://pc.2ch.net/test/read.cgi/tech/1006783012/l50



817 名前: 813 投稿日: 02/01/29 01:51
とりあえず次バージョンUPしました。
../../SiliconValley-PaloAlto/4792

画面を分割して、衝突判定を分けたんですが、
だんだんソースがゴチャゴチャしてきて見辛くなってきた。
あと、Ctrl+左マウスドラッグで画面をスクロールできるようになりました。

>>814 
ぱくり元のゲームも見てるだけで飽きないとこが好きだったんですが、フルスクリーン専用だったので、
そのへんをなんとかしたいなってのも、作ってる動機のひとつです。完成したらスクリーンセーバにもしてみようかと思ってます。
今のとこ、どうやって作ったらいいのか全然わかりませんが。
見た目の寂しさは何とかしたいとこですが、一通りの機能が出来るまでは我慢しようとおもいます。
音の追加とかも。



818 名前: デフォルトの名無しさん 投稿日: 02/01/29 08:19
を、なんか楽しげ。
ぼーっとみちゃったよ。


819 名前: デフォルトの名無しさん 投稿日: 02/01/29 14:32
見るわケネーだろうが


820 名前: ヒッキー@プログラミング ◆hky/PGis 投稿日: 02/01/30 02:33
http://www.geocities.co.jp/SiliconValley/2530/
今日またやり始めたので、よかったらおいでくださいませ(;´Д`)


821 名前: 813 投稿日: 02/01/30 04:42
またUPしてみましたが…、
../../SiliconValley-PaloAlto/4792
なんとなくソースファイルをメインフォーム、宣言、描画、物理計算部の4つに分割してみたんですが、
描画時の色がおかしくなってしまい困ってます。

//細胞カーソル描画
procedure DrawCellCursor(cell: PCell; Color: TColor);
begin
 with Form1 do begin
 if Cell = Nil then Exit;
 Image1.Canvas.Pen.Color := Color;
 Image1.Canvas.Pen.Width := 2;
 Image1.Canvas.Brush.Style := bsClear;
 Image1.Canvas.Ellipse(Cell.x - CellRadius - 4 - ViewLeft, Cell.y - CellRadius - 4 - ViewTop,
               Cell.x + CellRadius + 4 - ViewLeft, Cell.y + CellRadius + 4 - ViewTop);
 end;
end;
//============================================
上のようになっていて

DrawLifeCursor(LifeSelected, clBlue);

のように呼んでいるんですが何故かclBlueでなくclBtnFace(ウィンドウの色)で描画されてしまいます。
ソース分割前は正常だったんですが…。考えてみてもまったく原因が分からない。(;´д`)

お、>>1さんが、ひっそりと復活。息切れしないよう、程ほどに頑張ってね〜。



822 名前: デフォルトの名無しさん 投稿日: 02/01/30 11:30
試してないからはずしているような気がするけど、
引数のColorではなくてForm1.Colorが描画されてるのかな。
名前がバッティングしないように引数を変えてみてはどうでしょうか。


823 名前: 813 投稿日: 02/01/30 13:30
>>822
おっしゃる通りでした。
なんで気が付かなかったんだろ…。(;´Д`)ハズカスィ



824 名前: ago 投稿日: 02/01/31 02:05
>>1だ!
>>1が帰ってきたぞーー!!


(・ι_・)age



825 名前: デフォルトの名無しさん 投稿日: 02/02/01 02:04
>>1さんのページおめえ('-T)


826 名前: デフォルトの名無しさん 投稿日: 02/02/01 23:54
1の掲示板で2げっととか、ズサーとかってやってる


827 名前: ヒッキー@プログラミング ◆hky/PGis 投稿日: 02/02/03 12:09
ただいまです。ほしゅあげ
http://www.geocities.co.jp/SiliconValley/2530/

WM_TIMERで処理するのをやめて、時間を計るようにしました


828 名前: ヒッキー@プログラミング ◆hky/PGis 投稿日: 02/02/03 12:09
・・・こんどこそあげ


829 名前: デフォルトの名無しさん 投稿日: 02/02/03 12:28
このスレッドは大耳モナーが嫌々放置中です。
なんら問題はありません。
                        タリー
タリー      タリー              イヤーソ
   (\_/)          タリー
   (  ´Д)アハーン    タリー              タリー
   /   つ  (\_/)   (\_/)ノ⌒ヽ、
  (_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))


830 名前: デフォルトの名無しさん 投稿日: 02/02/03 12:29
>>1
今VBの方をDLしてみたんだけど、面白かったYO!


831 名前: ヒッキー@プログラミング ◆hky/PGis 投稿日: 02/02/03 12:41
>>829
がーん(´ρ`)
>>830
ども、ありがとうございます!
これからもがんばって作っていきます


832 名前: デフォルトの名無しさん 投稿日: 02/02/04 20:20
>>1が帰ってきた!帰ってきた!名前をハンカクにして帰ってきた!

折れもC勉強しようかと思うんだけど、
コンパイラなどどれがいい?

便乗 保守 呼込 質問 揚



833 名前: デフォルトの名無しさん 投稿日: 02/02/04 20:21
俺が熱を出している間に帰ってくるとは・・・(w


834 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/04 21:02
>>832
どもー。
Cですかー。漏れはWindows派の人間なのでやっぱVCが
(・∀・)イイと思うんですが、もし挫折してしまったら
投資がモターイナイので、フリーのLSI-C試食版などどうでしょうか?
DOS環境に限られますが、勉強ならちょうど良いんではないかと。

構造体・配列・ファイル管理などができるようになってきたら、
gccかボーランドのコンパイラに移行すればまた無料でできます。


835 名前:    投稿日: 02/02/04 23:08
男ならだまってGCCだ。
環境がWINDOWS、LINUX、FREEBSD、SUNOS、、、その他いかなる環境でも
男はだまってG・C・C!!!!!!!!!!!!!!!!!


836 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/05 23:55
今、ゲームボーイアドバンス用のGCC使ってるんですが、
インラインアセンブラのところでエラー出すんですが何ででしょう…。

あと、makeコマンドでコンパイル→リンクする時も
なぜかエラーが…。

設定の仕方がよくわかりません。タスケテ


837 名前: デフォルトの名無しさん 投稿日: 02/02/07 21:11
>>836
とりあえずエラーメッセージを Copy & Paste しろ。


838 名前: デフォルトの名無しさん 投稿日: 02/02/08 05:05
今初めっからココまで読んだけど、1は>>466でもの凄く良いこと言ってる。
466で考えたことはずっと忘れないように。

> 結論としては、僕的にはコンピュータを内部まで知らなくても、1回ソースを
> 書いたら全ての環境で全く同じソースがコンパイルできるようになったら
> いいなと思います。

例えばJavaはすべてのプラットフォームに同じ土台(JavaVM)を用意することで
その上では同じコードを実行できる。

それもひとつの方法なんだけど、1がこれからもっと規模の大きいプログラムに取りかかるとき、
構造化やオブジェクト指向の考え方を知っておいて損はしないと思う。

ざっと1のVBのソース見た限りでは、プログラムが実行する処理を順番に書いてるだけだよね。
VC版ブロック崩しはブロック、パドルなんかを別ファイルに分けてるから、その辺考え始めてると思う。

確かにブロックやパドルは、それぞれひとまとまりだから分けることが出来る。
でもブロックもパドルもボールも同じ画面に描画される物体だよね。
それぞれ表示すべき座標があり、グラフィックがある。
ブロックに対しても、パドルに対しても、ボールに対しても「表示しろ」と命令すれば
しかるべき位置にしかるべき表示をしてくれるとすれば、理にかなってると思わない?
こういう考え方をすると、ブロック=パドル=ボールは共通の概念をもったものであると考えることもできる。

良くまとまらないけど、オブジェクト指向の考え方に踏み出すきっかけにならないかな…?

#俺も昔ゲーム作って、今の1と全く同じようなファイルの分け方してた(ワラ


839 名前: デフォルトの名無しさん 投稿日: 02/02/08 05:35
続き。

今のVC版ブロック崩しではボールやパドルのソースファイルに
HDCやら何やらも一緒に入ってるよね。

で、例えばMoveしたときにHDCに対して絵を送ってやって表示を実現してる。
ボールを画面に表示するプログラムの手順としては間違ってるわけではないが、
ボールは表示されるべき場所(この場合はプログラムのWindowの中)の事まで
考慮すべきかどうか。

VBの時も、VCの時も、「ボール」の振る舞いは「移動する」「反射する」…で変わらない。
ブロック崩しのアルゴリズムも変わるわけじゃない。
変わったのは実装依存の部分。これはVBだったらBitBlt、VCだったらBltToBufとか使ったり。
他にはtimer使ったりイベントが呼び出されたり。

こういうとき一枚ラップ用の関数を定義して、例えば表示ならDraw()の中で
実装依存の関数BltToBufを呼び出したりすると、プログラムが読みやすくなる。

抽象化された概念(言葉)でラップして、実装は内側に閉じこめてしまうわけ。
このようにしておくと、例えば描画エンジンをDirectXに取り換えても書き換える部分はごくわずかで済む(のが理想)。
Drawの内側の実装部分を変えるだけだから。

実際うまく行くように切り分けるのは最初は難しいかもしれないけど、
この考える作業は結構楽しい。

でそれにハマりすぎて何時までも完成品が出来なかったりすることもあるけどな・・>俺。
そんなとき初心に帰ってゴリゴリ書くのもいいなとこのスレ見て思ったよ。

長レスすまそ。


840 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/08 23:10
>>837
アセンブラのとこのエラーはこんな感じです…。
a.c: In function `vsync':
a.c:79: parse error before '{' token

で、中身はこんな感じです。
76:void vsync()
77:{
78: __asm
79:  {
80:  mov r0, 0x4000006
81:  scanline_wait:
82:   ldrh r1, [r0]
83:   cmp r1, 160
84:   bne scanline_wait
85:  }
86:}


841 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/08 23:14
>>837
Makeの時のエラーは、

D:\GBA\sample\proto_devkit\proto_devkit>make
gcc -g -O3 -mthumb-interwork -nostdlib -Wall -fverbose-asm -fpeephole -M main.c
> Makedepend.txt
make: /bin/sh.exe: Command not found
make: *** [Makedepend.txt] Error 127

こういうのです。
でも、sh.exeにはパス通ってると思うんですが…
っていうか、sh.exeに渡すファイルがないって言う事でしょうか…。

あ、友達からネトゲーのお誘いが…
>>838さんまた後でレスします


842 名前: デフォルトの名無しさん 投稿日: 02/02/08 23:41
Command not foundてことは、sh.exeがそもそも無いか、pathが通って無いんじゃない??
自信無いのでsage


843 名前: デフォルトの名無しさん 投稿日: 02/02/09 00:55
>>840
gccのインラインアセンブラの書式じゃないから。


844 名前: デフォルトの名無しさん 投稿日: 02/02/09 00:56
>>841
cygwinインストールした?


845 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/09 01:00
>>842
うーん、一応PATHに足したつもりなんですが…
>>843
まじすか?がーん。
まずgccの使い方をもっと覚えた方がいいですよね…
>>844
cygintl.dll cygwin1.dll
っていうファイルは、zipに一緒に入ってたので
入れました。


846 名前: 844 投稿日: 02/02/09 01:07
PATHに何を足したの?
DLLだけじゃなくて、cygwin上の開発環境入れたらかなり大量に入るはずなんだけど。


847 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/09 01:13
>>846
cygwinってコンパイラとは別に用意しないといけないんでしょうか?
pathにはC:\devkitadv\binっていうのを足してます。
devkitadvっていうのがGBA用のgccみたいです。


848 名前: デフォルトの名無しさん 投稿日: 02/02/09 01:15
で、そこにsh.exeってある?
ちなみにmake.exeはそこにあるわけ?


849 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/09 01:18
ありました。


850 名前: デフォルトの名無しさん 投稿日: 02/02/09 01:20
そのsh.exeをダブルクリックすると、DOS窓が開いて実行するはずだけど、

mount [ENTER]
mount -s [ENTER]

ってタイプするとなんて出て来る?


851 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/09 01:23
$ mount
mount: not found
$ mount -s
mount: not found


852 名前: デフォルトの名無しさん 投稿日: 02/02/09 02:21
/bin/shがないっつってんだから無論そうか。

pwd [ENTER]
./mount [ENTER]
./mount -s [ENTER]

だとどうよ?


853 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/09 03:06
cygwinのサイト逝って、インストールしてみました…。
で、cygwinのbashからmakeしたらうまく逝きました…。
>>852さんどうもありがとうゴザイマス。


854 名前: デフォルトの名無しさん 投稿日: 02/02/11 10:30
昨日このスレを見つけて最初から読んでたが、
またプログラムやりたくなったよ。
頑張れー>>1


855 名前: デフォルトの名無しさん 投稿日: 02/02/12 01:58
841の時点でメイクファイルの中に
SHELL=sh
って書いたらたぶん解決してたと思う。
853で普通のcygwinとアドバンス開発環境が同居することになったようだけど、
無用な混乱が起こるような気がします。
PATHの設定とmountの状態でわけわからんくなる可能性がありますぜ。


856 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/12 15:31
>>838
Javaってそういえばどこでも同じコードで動くんですよね。
でもシステム内部をいじるようなプログラムができないっぽい
ですね。やっぱこれからはWebベースのプログラムでないと
駄目なんでしょうか?C#もJavaっぽいし

Webのプログラムができなくてもいいから、いろんなシステム上で
動くコードが書けたら良いとおもうんですが…。
そういえばWindowsのコードって中間コードなんでしょうか?
それともx86系に依存したコードですか?……って調べてみます(わら

>ざっと1のVBのソース見た限りでは、プログラムが実行する処理を順番に書いてるだけだよね。
>VC版ブロック崩しはブロック、パドルなんかを別ファイルに分けてるから、その辺考え始めてると思う。
ファイルを、どこで線を引いて分けるかというのはとても
難しいですねー。とりあえず見た目に違うもので分けました…。

>ブロックに対しても、パドルに対しても、ボールに対しても「表示しろ」と命令すれば
>しかるべき位置にしかるべき表示をしてくれるとすれば、理にかなってると思わない?
そうですよね。
違うところは画像へのポインタと、座標だけですもんね。

>#俺も昔ゲーム作って、今の1と全く同じようなファイルの分け方してた(ワラ
安心しました(藁
やっぱそういう部分も考えないと良くなっていかないですねー。
今までは、ただ動けば(・∀・)イイという感じでプログラムしてました。
後で読めないソースや、再利用できないようなものを書くというのは
あまり良い事ではないですね。勉強になります。

>こういうとき一枚ラップ用の関数を定義して、例えば表示ならDraw()の中で
>実装依存の関数BltToBufを呼び出したりすると、プログラムが読みやすくなる。
この概念はすごい難しいです…。
いろいろ考えを巡らせてみましたが、中身の若干の変更で
他へ移植できるような書き方はなかなか思い付かないです…。
でも、うまくまとまってから作ったら、動きの把握しやすい
ソースになりそうですね。

後、少し疑問に思うことがあるのですが、ソース中の関数が、
WinAPIか自作の関数か分からなくなるときがあるので、
自作の関数に接頭文字を付けようと思いましたが、
全てに付けるにはあまりキレイじゃないし、読み分けするには
どうしようかと思っています。
もう一つ、staticな関数なんですが、他のファイルに公開する
関数と見分けるのがややこしいので、見やすくしたいと思うのですが、
どういう書き方が考えられるでしょうか。
僕的には、staticな関数は1段Tabしてから書いたらどうかと思っています。
そういう書き方は読みやすいですか?
(ソースの最後に、staticだけかためて書くというのも考えましたが、
 機能別に書いていくと、ソースの途中に書いた方が良い場合もあったので…
 もしかしてこっちの方が読みやすいでしょうか?)

最後に…レス忘れてました(;´Д`)すいません…


857 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/12 15:38
>>854
おー、どもです!
プログラム、やっぱおもろいですよー。
がんばります!

>>855
がーん、まじですか?
後でインストしたcygwinにはパスが通っていないのか、
なぜかアドバンス開発環境のsh.exeからcygwinのコマンドが
実行できないんですよねー。うーん。
makeファイルからコンパイルするとき、イチイチcygwinから
cdで移動して、実行してました。
一回、SHELL=sh書いてみます。さんきうです!


858 名前: デフォルトの名無しさん 投稿日: 02/02/12 16:01
>>856
WinAPI かどうかはそのうち覚えるから心配すんな。
でもまぁ自作関数にプレフィクスをつけるのは勧めとくよ。
少なくとも目立つ関数にはな。
関数の static 化はあんまり考えなくていーんじゃねーの。
そこまできっちり考えて作る必要なし。


859 名前: デフォルトの名無しさん 投稿日: 02/02/12 20:27
>>856
> いろいろ考えを巡らせてみましたが、中身の若干の変更で
> 他へ移植できるような書き方はなかなか思い付かないです…。
Win32 only だが

 表示 GDI, DirectX7
 入力 User32.lib (Win32 標準), DirectInput8
 サウンド mci, DirectAudio8

組み合わせ可能なコードとかなら手元にあるぞ。C++ だけど。

> WinAPI かどうかはそのうち覚えるから心配すんな。
俺は C++ で書いてるから、Win32 API にはグローバルスコープを示す :: を
つけるようにしてる。


860 名前: 838 投稿日: 02/02/13 18:09
>>856
一段落ついたらクラスの使い方を覚えるといいよ。
ファイル単位でデータをstaticにしたり関数をstaticにして
スコープを分ける代わりに、クラスを使うと、同じように
データと関数を1セットにまとめることができて、
publicとprivateのキーワードで外部公開するかしないかを選択できる。

>後、少し疑問に思うことがあるのですが、ソース中の関数が、
>WinAPIか自作の関数か分からなくなるときがあるので、
これはクラス(クラススコープ)の導入で解決する。
いま問題になるのは、Win32APIも自作の関数もグローバルなレベルにあるから。
クラスのメンバ関数はそのクラスに属するから、例えばパドルクラスを作れば

Paddle paddle;
paddle.Init();

というように、Init関数はパドルを初期化するんだぜ、ってのが明快になる。
同様に bar.Init() ってのがあっても混乱することはない。

今、PaddleInit() って関数名は、「パドルを初期化する」ものだから、
Paddleという接頭辞によってInitの対象を限定してることになる。
よって方向性は間違ってない。
関数をグローバルスコープにして接頭辞をつけて対処するのは誤り。

>関数の書き方
関数の実装はとりあえずヘッダに書いた順に並べてる。
ここは個人で見やすいようにしておけばいいと思う。
他のファイルから呼び出すときは、ヘッダファイルだけ見れば分かるから。
編集の時はVC++のクラスビューア(だっけ?)で関数名クリックすればジャンプするでしょ。
もしくはヘッダで関数名を右クリックして定義位置を表示。

あと、ソースの書き方は綺麗で好感が持てます。


861 名前: デフォルトの名無しさん 投稿日: 02/02/13 18:35
>>860
> 関数をグローバルスコープにして接頭辞をつけて対処するのは誤り。
誤りってことはないやね。確かに C++ で書くなら接頭辞不要だけど、C の場合には
プリフィクスをつけるのは一般的。

Win32API なら wave*, mci* とか UNIX のカーネルなら pmap_*, arp_* など実例は
多数。


862 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/14 15:51
>>855
SHELL=sh でうまく逝きました!
やたら苦労したので、やたら嬉しいです。どもども!

>>858
まだきっちり考えなければ把握できないほどの
規模でもなかったですね…。
よく出てくる関数は目立つ名前にしようかなーと思います。

>>859
GDI→DirectDrawは、だいたい予想つくんですが、
mci→DirectAudioっていうのは想像するのが難しいです…。
どこまで分解したらいいかとか、どういう機能があるかとかを
知らないといけませんね…。

グローバルスコープの::って、左に何か付けるんでしょうか?
右にはAPIの名前ですよね?


863 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/14 15:58
>>860
クラス覚えたら、整理しやすくなりそうですね。
Javaの本ちょこっと読んだんですが、継承やら
多態やらムズカシそうなので理解しないうちに
置いてました…。

Paddle paddle;
paddle.Init();
こういう書き方はすごい見やすいですねー。

また疑問が湧いてきたんですが、パドルの実体を
作るのって、メインループのあるファイルの中で
いいんでしょうか?

>関数の実装はとりあえずヘッダに書いた順に並べてる。
ほおほ、やっぱヘッダの順番と中身の順番が違うかったら
ややこしいですよね。
やっぱ、関数の機能の説明などのコメントは、ヘッダの方に
入れた方がいいですか?

>もしくはヘッダで関数名を右クリックして定義位置を表示。
あ、そんな機能あるんですか!?(;´Д`)

>あと、ソースの書き方は綺麗で好感が持てます。
ありがとうございます。
実際、仕事に逝った時に役に立てるようにもっと
いろいろ書き方考えてみます。

>>861
時と場合によって使い分けるのがいいんですね。
何かに固執して、他の場所で臨機応変に対応できない
ようにならないように気をつけます。


864 名前: デフォルトの名無しさん 投稿日: 02/02/14 16:34
>>862
> グローバルスコープの::って、左に何か付けるんでしょうか?
グローバルスコープにある識別子(変数や関数名、enum 値)にアクセスする場合
には、何もつけません。

  ::CoInitialize(NULL);

みたいに書けば OK。

C だと名前はグローバルスコープ以外には置けませんが、C++ だと namespace
やクラスに閉じ込めることが出来ます。

namespace Block
{
  enum { PADDLE_PLAYER1, PADDLE_PLAYER2 };
}

たとえばこんな感じに書くと enum 値は Block 名前空間に属することになるので


 Blcok::PADDLE_PLAYER1

と書いてアクセスできます。所属する名前空間が異なれば、同じ識別子があって
も衝突せずに併用できます。

あと、特定の名前空間の識別子を選択的、あるいはまとめて現在のスコープに
導入する方法 (using namespace) があるので、実際にはそれを使うことが多い。


865 名前: 838 投稿日: 02/02/14 19:38
>>861
誤り、は言い過ぎた。実例上げてくれたとおり。
自分で関数定義するとき、かつクラスや名前空間が使えるとき、
という条件のつもりで書いた。

>>863
>パドルの実体を作るのって、メインループのあるファイルの中で
>いいんでしょうか?
でいいよ。使うところで作る。
他にはゲーム進行を行うクラスを定義して、そのメンバとして
パドル、ボール、ブロックを持たせるやり方も考えられる。

>やっぱ、関数の機能の説明などのコメントは、ヘッダの方に
>入れた方がいいですか?
両方に同じ説明(短文)を書いてる。実装の方にはコードの修正日も。
上手い人の書き方を参考にして、自分がいいと思う書き方でやればいいと思うよ。

複数人で作業する環境だったら、コメントはこう書け、みたいな
規約が決まってるかもしれない。


866 名前: デフォルトの名無しさん 投稿日: 02/02/14 20:10
>>865
> 実装の方にはコードの修正日も。
それはバージョン管理ツール入れて、バージョン管理ツールにお任せが良いと
思われ。

私はバージョン管理は CVS、コメントは doxygen で出力できるように Javadoc
形式で入れてる。


867 名前: デフォルトの名無しさん 投稿日: 02/02/16 15:15
10年前に作ったことある。
同時に三つのブロックに当たったときの動作どうする?
漏れのプログラムの場合、そのまま突き抜けるような
動作になっちまって・・


868 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/17 15:13
>>864
>::CoInitialize(NULL);
>みたいに書けば OK。
ほおほ、そういう書き方があるんですねー。

ネームスペースっていうのは初めて聞きました…。
そんな便利な機能があったとは。

>あと、特定の名前空間の識別子を選択的、あるいはまとめて現在のスコープに
>導入する方法 (using namespace) があるので、実際にはそれを使うことが多い。
?なんか滅茶苦茶ムズカシいんですけど…(わら
using namespaceっていうのは手法のことでしょうか?
それともライブラリみたいなものですか?

>>865
>他にはゲーム進行を行うクラスを定義して、そのメンバとして
>パドル、ボール、ブロックを持たせるやり方も考えられる。
おお、そういう事も考えられるんですね。
なんか、目に見えるものばっかりをクラスに定義しようと
考えてました…。
クラスにクラスを持たせるっていう時は、継承させるんでしょうか?
それとも、実体をクラス内に持たせるという事ができるんでしょうか?

>両方に同じ説明(短文)を書いてる。実装の方にはコードの修正日も。
その方法なら修正時に、実装部かヘッダーか、
どちらを見られても対応できますね。
コードの修正日ってやっぱ必要なんでしょうか?

>上手い人の書き方を参考にして、自分がいいと思う書き方でやればいいと思うよ。
ですね。いろいろ見回って勉強します。

>複数人で作業する環境だったら、コメントはこう書け、みたいな
>規約が決まってるかもしれない。
複数人でやった事ないですけど、そういうルールって
結構重要っぽいですね。

>>866
バージョン管理ツールって、よく聞くんですが、
どういうソフトなんでしょうか?イメージできない…。

>>867
僕のやつも、2つほど一緒に当たると、突き抜けてしまいます(わら
ボールの近くのブロック全て検知して、同時に当たったときは、
進む方向に対してOR演算とかしたらうまく逝きそうな予感…


869 名前: デフォルトの名無しさん 投稿日: 02/02/17 15:16
>>868
> ?なんか滅茶苦茶ムズカシいんですけど…(わら
「名前空間」とか使ってる単語が難しいだけで、別に実際に使うのは難しくないって。

namespace Paddle
{
  using namespace Ball;
  // こうすると namespace Ball の中にある名前を、修飾 Ball:: なしで
  // 参照できる

  using std::for_each;
  // こうすると namespace std にある for_each だけを、修飾 std:: なしで
  // 参照できる
}

こんな感じ。


870 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/17 15:21
>>869
そういうのって、関数の引数に指定したりできるんですか?
function(namespace Paddle)みたいに…。
今のところ、enumのパワーアップ版みたいなイメージしてます。

あと、例えばBallには、数値を持たせることはできますか?


871 名前: デフォルトの名無しさん 投稿日: 02/02/17 16:59
Del坊なのですが、このスレに参加してよいですか?>1さん
ひまになったんでなんかゲーム作ろうと思って。


872 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/17 17:37
>>871
ういういー。
っていうか、ここは2chなので、漏れに人の考えを
制限する権利が無いんですよね。どぞご自由に。


873 名前: デフォルトの名無しさん 投稿日: 02/02/17 18:52
838です。
>>868
クラスにする目安は、意味的、役割的にまとめる価値があるもの。
管理役として、マネージャっていう職があるのと同じ。

クラスを継承するか、所持するかは、例えば
 トヨタ車とホンダ車など各社の車を表すのに「車」クラスを継承させる
 車の「ハンドル」や「タイヤ」は車が所持する
と考えれば分かりやすいかな。

クラスにクラスを持たせるのはこんな感じ。
Class Paddle {}
Class Ball {}

Class Manager {
 Paddle paddle;
 Ball ball;
}

>コードの修正日
いつ書いたコードか分かるのは便利。
過去に書いたコードと比較して、スキルレベルの確認ができるから。


874 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/02/18 23:46
>>873
>クラスにする目安は、意味的、役割的にまとめる価値があるもの。
>管理役として、マネージャっていう職があるのと同じ。
そういうとらえ方なんですねー。
なんか誤解してました…。

>トヨタ車とホンダ車など各社の車を表すのに「車」クラスを継承させる
>車の「ハンドル」や「タイヤ」は車が所持する
おおお、イメージばっちりです!
すごく分かりました。ありがとうございます。

>いつ書いたコードか分かるのは便利。
>過去に書いたコードと比較して、スキルレベルの確認ができるから。
ほおほ、たしかにそうですよね。
僕も修正日とか書くように心がけようと思います。


875 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/03/04 13:51
保守…

最近、ブロック崩し作ってませんでした…。
GBAにはまりまくりです。


876 名前: デフォルトの名無しさん 投稿日: 02/03/06 00:14
俺は見ているぞ


877 名前: デフォルトの名無しさん 投稿日: 02/03/09 15:36
漏れも見ているぞ! たまに……な(ニヤソ)


878 名前: デフォルトの名無しさん 投稿日: 02/03/09 23:42
応援sage


879 名前: デフォルトの名無しさん 投稿日: 02/03/10 15:53
俺も見てるぞ。俺もなんか作ろっと。


880 名前: デフォルトの名無しさん 投稿日: 02/03/11 03:19
俺も作ったけど、うまくいかないよ!


881 名前: デフォルトの名無しさん 投稿日: 02/03/11 03:19
あげよう


882 名前: デフォルトの名無しさん 投稿日: 02/03/13 05:59
ブロック崩しはローラーみたいな入力装置がないとだめだよ。
マウスや、ましてやキーボードなんかじゃまったく遊べない。

何か新機軸のアイデアでもあれば別だけど、、、


883 名前: デフォルトの名無しさん 投稿日: 02/03/13 08:32
ホイールボタンをローラー代わりに使うとか。


884 名前: デフォルトの名無しさん 投稿日: 02/03/13 15:37
>>883
それだ!
マウスホイールならいっそ画面を90度回転させるとか。
自機の移動は縦で。


885 名前: デフォルトの名無しさん 投稿日: 02/03/13 16:12
>884
それって昔のテニスじゃ・・・


886 名前: デフォルトの名無しさん 投稿日: 02/03/13 17:16
ホイールじゃ細かい移動ができんぞ


887 名前: デフォルトの名無しさん 投稿日: 02/03/14 04:12
では、大まかな動きでもいいように球をでかくしてみよう
自機の10倍くらいに



888 名前:   投稿日: 02/03/14 18:25
でかすぎだよ!


889 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/03/22 07:33
ひさびさあげ
http://www.geocities.co.jp/SiliconValley/2530/car.lzh

GBAで連打するゲーム作ったんで、よろしければ
やってみて頂きたいなぁと。
まだ完成度低いですけど…。



890 名前: デフォルトの名無しさん 投稿日: 02/03/22 12:17
ゲームボーイないからできないや


891 名前: デフォルトの名無しさん 投稿日: 02/03/22 18:41
http://www.emuhq.com/vboy

これでできると思われ。
自分はできました(感動した)。


892 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/03/23 15:00
>>890
がーn
>>891
お、どもです!
やっぱやってくれる人がいると、すごい嬉しいっす。

今、F-ZEROの地面みたいな画面はどうやって描くか
考え中です。回転の式をうまく使えばできるかなぁとか…
でも、あんなグリグリ動かしたら処理落ちしそうな気もするし…。
あと、回転した後の図形の、当たり判定っていったい
どうするんでしょう。当たり判定の位置を決めるにも、
毎フレーム回転させないといけないんでしょうか。


893 名前: デフォルトの名無しさん 投稿日: 02/03/23 22:00
>>892
当たり判定は平面2次元。表示だけ斜めから見てパースつける。イジョ


894 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/03/24 13:51
あ、当たり判定って2次元でいけるんですねー。
って、よく考えたらそうかも…。道を誤るところでした(;´Д`)

パースって、歪み方がイマイチ想像できないんですが…
うーん、CGの本読んでみます。ありがとうございました。


895 名前: デフォルトの名無しさん 投稿日: 02/03/27 08:26
>894
F-ZEROとかの2軸回転はメガデモ系のサイトで調べるといいと思うよ。
基本的な考え方はそれでわかるかと。


896 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/03/28 16:09
>>895
ほおほお。メガデモ系ですか。
処理的には2軸回転を使うんですねー。
検索してみます。ありがとうございます。


897 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/01 22:21
http://www.hh.iij4u.or.jp/~peto/2DCG/2d_2rot.html
…ようやく発見しますた(;´Д`)


898 名前: デフォルトの名無しさん 投稿日: 02/04/02 01:25
>897
良かったな
てかこのスレだいぶ廃れてきたような気がするのぉ…


899 名前: デフォルトの名無しさん 投稿日: 02/04/02 09:29
あわてず騒がずマイペースでだな。


900 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/03 13:32
たしかに人がいなくなってしまいました…。
教えて頂いたことを、すぐにコードに反映させる
ような感じで作っていけばよかったような…。
ブロック崩しも、しばらくやってませんし…。

VCで作るんだったら、クラス化する方法を
ある程度覚えてからの方が良いような気がして、
現状のまま作る事に、ちょっと気が重くなっていました。

それから2軸回転、難しくてまだ把握できません…。


901 名前: デフォルトの名無しさん 投稿日: 02/04/03 13:50
>900
考え方は2Dの画像回転と変わらないよ。逆に写像してライン引くって感じかな。
思いっきりそれを解説したメガデモ系サイトのコンテンツをローカルに保存した
のがあるんだけど…。


902 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/03 19:24
>>901
ほおほ…2Dの回転と同じですか。
なんか、ひらめきそうなので一回VBで作ってみようと思います。
>897のサイトで、なんとかがんばろうと思います。どもです。


903 名前: デフォルトの名無しさん 投稿日: 02/04/06 14:45
>>889のやつってエミュじゃないとできないの?
このまえGBA買ってきたからGBAでやれたらなーって思って。

ところでGBA用のコンパイラってどこか置いてあるの?
できれば無料のところを紹介してほしいなぁ。

クレクレ君でスマソ。こんな地下にあったらスレが進んでるかどうかわからないよー(;´д`)


904 名前: デフォルトの名無しさん 投稿日: 02/04/06 14:45
age


905 名前: デフォルトの名無しさん 投稿日: 02/04/06 14:46
>>903です。。。
リロードしたらあげられてた…。


906 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/06 15:23
>>903
実機で実行するには、FA-LINKERっていうのがいります。
値段、高いですが…
http://www3.importya.com/Game/gba.htm

あと、コンパイラはDevKitAdvanceというのがあります。
http://www.io.com/~fenix/devkitadv/

ここのサイトに、コンパイラの使い方とかの解説が
日本語で書いてあります。
http://isweb38.infoseek.co.jp/computer/j-gbadev/


907 名前: デフォルトの名無しさん 投稿日: 02/04/06 15:52
>>906
さんくすですー
さすがに「ヒッキー」だけあってレスが早いですね(w


もう残すところ95レスとなりました、新スレ立てるなら、URLはっといてね。


908 名前: デフォルトの名無しさん 投稿日: 02/04/06 16:24
ブロック崩しなんか、ガキのときにBASICで作ったよ。
というか、そんなもの、APIなんか使う必要性ないだろう。
VBだったら、VB6.0の評価版(無料)でもダウンロードしてやれば十分。
でも、プログラムのことがわかりかけた最初のころに、
いろいろ作りだすのが楽しいんだよな、と昔を思い出したりする。


909 名前: デフォルトの名無しさん 投稿日: 02/04/06 20:11
API使わずに…(以下略)


910 名前: デフォルトの名無しさん 投稿日: 02/04/09 00:36
クス


911 名前: デフォルトの名無しさん 投稿日: 02/04/11 18:47
ゲラゲラ


912 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/11 19:36
アヒャ


913 名前: デフォルトの名無しさん 投稿日: 02/04/11 21:10
>912
F-ZERO出来たか?w


914 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/11 21:11
実は、ようやく”2軸回転”の意味がわかったところです(;´Д`)
何が2軸なのか、わかりませんでした…

DIBで、実験中です。


915 名前: デフォルトの名無しさん 投稿日: 02/04/11 22:22
>914
おう。そりゃヨカタ。
マリオカート@2ちゃんキャラで一つタノムw


916 名前: デフォルトの名無しさん 投稿日: 02/04/12 21:06
名称:モナーカート (ださ藁)


917 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/13 09:59
http://www.geocities.co.jp/SiliconValley/2530/rotate2.zip
今のところ、こんな感じです。
まだゲームまで、程遠いような…


918 名前: デフォルトの名無しさん 投稿日: 02/04/14 14:37
>917
動かしてみた。マップチップみたいにもなってるしいいんでねぇか?
そろそろVBを卒…w


919 名前: ヒッキ-@プログラミング ◆hky/PGis 投稿日: 02/04/15 09:22
>>918
 お、どもです。
 VB、なんとなくやりやすいんですよ。

 VCは、MFCを使えないので、GUIのフレームを作るのが
 めんどくさかったり…。
 Formをリソースで作って、それを管理すればいいんですけどね…。


920 名前: デフォルトの名無しさん 投稿日: 02/04/16 00:00
>919
まぁ,サンプル程度ならVBでもいいかも知れん…。
ぬるま湯ばかりでもイカンよw


921 名前: デフォルトの名無しさん 投稿日: 02/04/22 22:59
某スレでA列車で逝こうプロジェクト発動中
今のところVBなので1さんもいかが
http://game.2ch.net/test/read.cgi/game/961407432/


922 名前: デフォルトの名無しさん 投稿日: 02/05/03 16:12
(´ー`).。o○( VB・・・けっこう高いんだろな。 )
       ( 家にコンパイラないんだよな。 )


923 名前: デフォルトの名無しさん 投稿日: 02/05/04 10:29
(´ー`).。o○( VBよりC系をやった方がいいと思うな。)
        (コンパイラ無料のがたくさんあるし。)


924 名前: デフォルトの名無しさん 投稿日: 02/05/04 10:52
>>922
VB.NETでよければコンパイラだけは無料であるぞ。
http://www.microsoft.net/japan/msdn/netframework/downloads/sdk.asp
.NETやるならC#のほうを薦めるけど。


925 名前: デフォルトの名無しさん 投稿日: 02/05/04 11:14
(´ー`).。o○( Cは使えるけど、>>921はVBみたいなんだな )
       ( ちょっと興味があるんだなぁ……         )
       ( 家は通信回線遅いし、雑誌の付録でも探そ… )


926 名前: デフォルトの名無しさん 投稿日: 02/05/04 14:56
VCはタダで手に入らないかなぁ。。。
正直買おうか迷ってる。


927 名前: デフォルトの名無しさん 投稿日: 02/05/04 17:08
WinMX(ワラ


928 名前: デフォルトの名無しさん 投稿日: 02/05/04 19:05
>>926
だから.NET Framework SDK(以下略


929 名前: ヒッキー@プログラミング ◆hky/PGis 投稿日: 02/05/05 09:17
http://www.geocities.co.jp/SiliconValley/2530/rotate2-2.zip

なんか、しばらく凹んでました…。

今回ちょっと奥行き感を出してみました。
あと、速度を上げる為に視点の回転機能を外しました。


930 名前: デフォルトの名無しさん 投稿日: 02/05/05 13:08
>>928
VCもあるんですか。ありがとう。


931 名前: デフォルトの名無しさん 投稿日: 02/05/05 17:58
>929
おう。凹んでないでガンバレ。明るく逝こうw

次は地面回転と3Dスプライト(ビルボードって言った方がイイカ?)だな。
速度は…前のもサクサクダタのでワカラン・・・


932 名前: デフォルトの名無しさん 投稿日: 02/05/24 16:12
保守


933 名前: デフォルトの名無しさん 投稿日: 02/05/24 19:15
>>1の掲示板のほうが発展して・


934 名前: デフォルトの名無しさん 投稿日: 02/06/23 22:38
age


935 名前: デフォルトの名無しさん 投稿日: 02/07/05 19:54
age


936 名前: デフォルトの名無しさん 投稿日: 02/07/06 20:18
二ヶ月差保守上げ萌え〜(w


937 名前: デフォルトの名無しさん 投稿日: 02/07/09 11:48
あげ


938 名前: デフォルトの名無しさん 投稿日: 02/07/11 14:51
>>929
ひきプロたん(;´Д`)ハァハァ


939 名前: デフォルトの名無しさん 投稿日: 02/07/11 14:52
ちなみにヒキ板から来ますた
普段とは考えられないひきプロたんに萌え


940 名前: (-_-)さん 投稿日: 02/07/13 11:02
(-_-)
(∩∩)


941 名前: (-_-)さん 投稿日: 02/07/15 15:10
http://www.geocities.co.jp/SiliconValley/2530/


942 名前: デフォルトの名無しさん 投稿日: 02/07/15 15:11
いやはや、ハタチでブロック崩しが作れるなんて、すんごい天才に違いない!!!!w
ひきプロHP GOGOGO!!
http://www.geocities.co.jp/SiliconValley/2530/



943 名前: デフォルトの名無しさん 投稿日: 02/07/15 17:48
>>903 VisualBOYというGBAエミュがありますよ。



2ちゃんねるは、ここのサーバを使ってるです。。。