貴様ら!ブロック崩し作るので見てください

このエントリーをはてなブックマークに追加
VBでWinAPIを使う方法がわかってきたので
作りたくなりました。

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

オナーニスレだけどよろしくね。
名スレの予感!
オナニでもがんばれYO!
「完成しない」に3万5000薬師丸ひろ子
この前、軽くやってみたんですが、
タマが45度以外の方向に進むのがどうやればいいのか考え中です。

三角関数使って、傾き計算するだけでいいですかね?
とりあえず今からやってみます。
がんばれ。
ただ、その前に物理の勉強が必要だな。(藁
あ、ヤパーリ物理の勉強しないとダメですか。

高校の数学もろくにできてないんで、難しいです。
三角関数?簡単なブロック崩しだったらそんなの使わんぞ
壁の反射のヒントは「ビリヤード」かな?
ヒント:直角で構成された世界では、玉の角度が変化するのは動いている物体に
あたった瞬間だけ。
てめぇ!拝見させていただきますゴルァ
118:01/11/04 16:03
つーか、玉の軌道をX軸で反転すれば問題なし。
>>8
ビリヤードですか…苦手です。反射がイメージできない…。

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

>>10
ゴルァ!よろしくお願いします。
138:01/11/04 16:05
あ、Y軸軌道であればX軸を中心に軌道反転、
X軸軌道であれば、Y軸を中心に反転だな。

誤りゴメソ
148:01/11/04 16:18
>>14
おお、すばらしい手書きの画像をありがとうございます!
そういえばそういうの習いました…。

www.geocities.co.jp/SiliconValley/2530/block01.zip
↑ちょっと埋まってしまっておかしいですが、
 評価よろしくお願いします。ソース付き。
 いまんとこ45度です…
 まあ、ビリヤードは跳ね返り係数を考慮しないといけないけど、ブロック
崩しならいらないかな。
 なので、>>13に加えて動いてる自機にあたったときに、どういう処理を
するかだね。
>>15
ど、どうって。もっとおっきくしよーよ。
くらいしか・・・(汗
188:01/11/04 16:30
いやーVBワカンネ(藁

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

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

>>18
おー、ありがとうございます。
実は、Cはちょこっとやってるのですが、なにぶん、DOS窓で
動くのしか作れないもので…VESAのライブラリ拾って16bit色
出してみたいと思いましたが、英語の文書が読めなくて挫折しました。
ソースいただけるならかなり嬉しいです!
「貴様ら!」と来て、「見てください」と突然丁寧になるのにワロタ
つぎはとりあえず、キーボード入力でバーを動かすプログラムかな?
228:01/11/04 16:57
>1氏

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

これね。10分後には削除するのでお早めに。
>>22
いただきました。どもども。
じっくり読ませていただきます。

>>21
今がんばって製作しております。
www.geocities.co.jp/SiliconValley/2530/block02.zip

一応キーボードで動くようになりました。
しかしZキーとXキーです。
当たったときの跳ね返り処理はまだないです。
258:01/11/04 17:28
次はバーの当たり判定とバー移動の狡猾化だな。

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

ガンバレ
26デフォルトの名無しさん:01/11/04 17:30
玉の速度をX成分Y成分に分ければヨシ。
考え方の詳細は物理の教科書で力学部分を参照。
跳ね返り係数はまず跳ね返り出来たときでいいんじゃない?
27デフォルトの名無しさん:01/11/04 17:41
跳ね返りのとき、単に速度符号を反転するだけだと
振動しまくって壁から抜けられなくなるときがあるので注意。
http://www.geocities.co.jp/HeartLand-Keyaki/7104/oha/free_8.htm
ここの、タキオンブロックっていうのを参考にしてみてください。面白いですよ。
お前頑張ってるので鯖を提供してやる。
ttp://takuomix.homeip.net/
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軸と同じような間引きを考えないというこった。
>>1
とりあえず、「ブレセンハム」って言葉を検索してみろ。
33デフォルトの名無しさん:01/11/04 21:46
ん。スレタイトルとは裏腹に良スレage
34:01/11/04 22:12
>>31
昔の元祖ブロック崩しはそんな高尚なことやってなかったと思うが、、、
>>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
テメェ!早く拝見させてください
考えてるはずだ!
角度とか。



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

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

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

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

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

だから、
If KeyCode = vbKeyUp Then 何他羅漢多良
っていう判別式をかけば、上下左右のキーで移動処理が可能になるよ。
ほかの動作キーにもそういう値があるからヘルプで確認してみて。
ついでに俺も初心者だ。
>>31
ほお、そうですよね。XとYを同時に足したら1.414倍になりますね…。
リンク先のページ、参考にさせていただきます…が、読めるかな。
あ、ソースはCか(藁

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

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

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

>>38
計算してます。角度とか。
ブロック崩しの場合
横方向の速度は一定でよかったんじゃなかったっけか
43デフォルトの名無しさん:01/11/04 23:44
ゲームとして成立させるためには、
キーボードのオートリピートの対策も絶対必要だな。
>43
メッセージキューにキー入力が残る事?
というかブロック崩しならマウスにすれば?
おいおい、意外にも名スレだな。最近珍しいぞ。
47デフォルトの名無しさん:01/11/05 00:02
いやぁ、VBでやるよりC++でやるほうが手軽で簡単だと思うぞ。
一回、DirectXのライブラリ組んでしまえば、アルゴリズムは全く同じなんだから。
VBの見えないフォームにビットマップ読み込んでデバコンを指定して・・・なんてかっこ悪いからな。
スレタイトルに好感が持てタ
衝突は
点でやるなよ
線でやれ
>47
VBでDirectX使えば良いのでは?
51デフォルトの名無しさん:01/11/05 00:12
ブロックは4つに分解して飛び散り、その
破片にも当たり判定つけてください。
美女を背景にしてください。
自前で用意したバッファにボールからバーまで全部
自力で描画したりして、基礎を覚えるのも良いよ。
VBやDirectXのインターフェース覚えるのを頑張ってもいいが、
こっちは一生使える知識だし。
時代錯誤か?
54デフォルトの名無しさん:01/11/05 00:27
>49
俺が昔VBで作ったブロック崩しが変な動作だったのは点で判定したせいだったのか。
4人対戦できる様にしてください。
画面を正方形にして、上下左右の各辺にプレイヤーを配置する形で。
5640=44=50:01/11/05 00:28
>53
連続書き込みで悪いけど、やり方教えて。
特に、自前でバッファを用意するってとこ。
VBだけで可能なの?
どうせAPIつかうんならCでやった方が良いと思うけど。
VBでやる利点無いよね?
58 :01/11/05 00:35
>>51
中々面白そうなので、俺が作る事にした(w
剛体力学ブロック崩し。
5940=44=50=56:01/11/05 00:43
>57
初心者がプログラミングを勉強しやすいのが利点。
なんてったって、インタプリタだし。
衝突は
線でもダメなら
面でやれ
あれ?
1は?
>>39
ありがとうございます。がんばります。
>>40
うい〜。vbKeyLeftとかで矢印つかえるようになりました!
>>47
C++ですか…MFCというのがどうもよく分からなくて放置してました。
>>49
線で衝突というのはどうしましょう?四角く範囲区切るということですか?
>>51
難しいです…
>>52
完成したあかつきにはどっかから画像探して貼り付けます。
>>53
はーい。がんばりたいと思います。
>>55
Winsockコントロール使ったことがあるので、何とかなるかも。
最後に考えます
>>61
帰ってきました。
ネットワーク対戦可にしてください
http://www.geocities.co.jp/SiliconValley/2530/
↑次のファイルうぷしました。
 とりあえず、Y軸方向へ進むときに角度を計算しました。
 >>36氏に感謝。

>>63
なるだけがんばります。
6540:01/11/05 01:43
>61
あと、タイマーコントロールを使わないで、
代わりにループさせると処理が安定して早くなる。
VBのタイマーコントロールは優先度が一番低いらしいから。
で、ループ処理のなかに DoEvents と sleep をいれると、
うまくOSにも制御が戻るから。
sleep はAPIで、使い方は sleep(100)とか。
括弧の中の数字が、アプリの実行の停止時間で、1=0.001秒だったはず。
66デフォルトの名無しさん:01/11/05 01:58
背景の美女を脱がしてください。
口調が変わってるじゃねーかゴルァ!!

似たスレどこかで見ました。
6840:01/11/05 02:13
バグ報告

右に移動中、右からきた玉が自機を透ける。
>>65
ほおほお。sleep入れてみました。
VBのタイマーコントロールは怪しいらしいですね。
APIのGetTickCount使うようにしました。

>>66
脱がしたいです。

>>67
おもしろかったので真似しましたゴルァ!
>>68
ありがとうございます。
なんか、あまり考えずに書いたので、右側が跳ね返るときも
左側が跳ね返るときも同じ処理を書いていたようです…鬱

04を再アップしました
7140:01/11/05 02:29
>70
了解!
俺は初心者だし、お互いがんばろう。
ついでに言うと、GetTickCountの使い方がわからん(ー_ー;
>>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
あらら、かぶった。ごめん
>>71
GetTickCountは、Windowsが起動してからの時間をミリ秒単位で
返す関数のようです。引数は無しです。
で、10ms経った時間を計ろうと思ったら、現在時間から前に計った時間を
引いて、10を超えたら…みたいに書いたらいいみたいです。

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

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

>>74
そういうことでしたか。ようやく納得できました。
ありがとうございます!
普通のブロック崩しって、
バーの端っこにぶつかったら急角度で跳ね返る、
要するに物理法則を無視した動きをするけどその辺はどのように解決する?

その辺をどうにかしないと、
バーやブロックや壁の垂直面・水平面が全て水平だったらボールの動く角度は
常に一定になるけど……。
スライスで軌道が変わったりすると面白そう。
アナログなコントローラでないと無理だけど。
8040:01/11/05 12:49
ボールの運動量とバーの摩擦係数から、反射後のx成分を求めるの?
俺としては、物理学的なものは無視して、まずは形にすることをお勧めする。
そこらへんは作って楽しい所だから好きにやればいいんじゃないの?
 単純に端に8ピクセルより近ければ 端からの距離を Dとして
 VY:=-VT : VX=VX*D/8 とかでもそれなり
82デフォルトの名無しさん:01/11/05 13:47
>>81
それじゃボールのスピードが変わっちゃうYO!
キー入力はAPIを使うこと(GetAsyncKeyState)
リアルタイムゲームでキー押下イベントを使うVBアプリは糞と呼ばれます

描画はバックバッファを使うこと
非表示のPictureコントロール(AutoRedraw=True)に全部描いてから
FromにPictureコントロールの内容をコピーしよう
s/From/Form/
貴様、ShiftKeyでバーの移動速度を倍くらいにしてください(w
>>83
キーコード
カーソルキー左 37 、カーソルキー上 38、シフトキー 16
だっけ?左右逆かも。
8685:01/11/05 14:52
>>85
右39だ。上は関係ないや。
逝ってくる。
キーコードはキー入力定数を使えば間違いない
vbKeyLeftとかってやつな
ところで1さんはいつプログラミング始めたの?
新しいファイルがアップされてた。
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勉強(高校〜)みたいな。
>90
バグが酷いんだが、なんとかならんか?
激しく酷いぞ。
まだ次期尚早かもしれないけど、マスクパターンを使った
擬似スプライト処理をしたほうがいいね。ボールのフチが見えて萎える。

それからバックバッファを使わないと後々困ると思うよ。
いまのままだと、ボールやバーの移動量をふやすと軌跡がのこっちゃうでしょ。
それから、FormをUnloadしたときに正しく終了してないので
これは今すぐ直しなさい。
Form1_Unloadイベントに一行End書くだけでしょ。
タスクマネージャ見て驚いたよ。
>>91
すいません、徐々に直していきます。
>>92
うい。了解。
前にフチを消す処理を書いたような覚えが…探してみます。
バックバッファですか。そこに書いてから実際の画面に転送ですよね。
やってみます。
>>93
ごめんなさい…ウチでもタスクマネージャ見たら溜まってたんで
焦りました。05を再アップしました。
今まで試してくださった方、大変申し訳ないです。
http://www.geocities.co.jp/SiliconValley/2530/block06.zip
↑次うぷしました。
 背景になじませてみました
96 :01/11/05 22:17
ちょっとおかしい部分あるけど、昨日に比べて格段に出来上がってるじゃん。
覚えるの早いねー。
ブロックの管理あたりで一騒動ありそう・・・。
何か考えてる?
なんかペースが早いな。
消化できてても吸収できてないと後々にひびく。
1が無理してなきゃいいが・・・
98デフォルトの名無しさん:01/11/05 23:09
こんぐらいで消化不良起こすようじゃ・・・
>98
消化はできてるだろ。
問題は、覚えたかどうかだ。
100ゲット!
101デフォルトの名無しさん:01/11/06 00:46
名スレ!
このスレをヴァカ学生どものテキストに使いたいくらいじゃよ。
結局GDI描画にしたのねん。
メモリ上に仮想VRAMおったてて、スクリーンにBitBltかけるライブラリとか
なら探せばいくらでもありそう。
でも、プログラム的にはGDIのBitBltと同じような処理になっちまうだがな。
まあ、ともかく1よ、テキトーにがんばってくれや。
燃え尽きんようにな。
102デフォルトの名無しさん:01/11/06 01:00
あー見ている間に1に技術的に抜かれてしまった(w
>102
そうなの?
このスレはプロゲームプログラマのネタスレと見た。
ソースは全然見てねーけどな。
>>104
いや、その線はないだろう。ソースを見てみれ。
ある程度経験を積んだ奴はどんなに素人らしいコードを
書こうとしても、必ずその「痕跡」がコードに現れてくるものだ。

ただ>>1は、スレの育て方のコツを知っているみたいなので
もしかしたら「プロの2チャンネラー」かもしれん・・・
106デフォルトの名無しさん:01/11/06 08:36
応援age
10773: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、まず、線分と線分の距離を求めるルーチンを作りなさい。
  そして、 枠とラケットへの線分との距離を順に求めなさい
 その距離がボールの大きさより小さければその回に衝突する
おはようございます。今日もがんばろうと思います。
だんだん難しくなってきたので昨日ほどの進捗は無いかもしれませんが…。

>>96
おー、ありがとうございます。嬉しいです。
ブロックの管理ですか…配列の中に入れようと思いますが、
まだぼんやりとしか思い浮かばないので、ちょっと紙に書いて考えます。
>>97
ちょっと無理目です。でも努力をしないと技術がつかないと思うので
がんばりたいと思います。
>>101
どもです。
スクリーンにBitbltですか。ウインドウから位置を計算してその上に
乗せればいいわけですね。
学校の先生ですか?がんばってください。
先生から受ける影響(ソースの書き方とか)大きいです。
>>105
2chねらー歴は数ヶ月です(藁
何度かスレ立てて、どうやったら面白いか考えてました。
おっしゃる通り、素人でございます。
109 :01/11/06 09:33
>>107
強制するのはよくないよ。
自分で考えて作るのがプログラムの楽しさだ。
メインループの書き方がどうもね…
いまのままだと処理内容が増えるにつれて
リニアに遅くなるよね
111デフォルトの名無しさん:01/11/06 10:27
>>110
ゲームってそうゆうもんだよ。
112デフォルトの名無しさん:01/11/06 12:48
>>19
>動くのしか作れないもので…VESAのライブラリ拾って16bit色
漢発見!
>>111
んなこたーない

1フレームの処理Pにかかる時間をn(msec)とし、
フレーム更新間隔をm(msec)としたら、
本来1フレームはPを処理したあとに(m-n)msecを
sleepすべきである。(これを画面走査線の動作に
あわせるのが、vsyncである)
したがって、n<=mである限り1フレームの更新間隔は
nによらず一定で、その値はmである。
一方、このブロック崩しは
1フレームの更新間隔m=(10+n)msecとなることは自明。
プログラムの組み方によるが、たとえばブロック1つにつき
処理時間lを要するとすれば、ブロック数kに対しn=a+l*kである
つまり、m=(a'+l*k)となり、変数kによってmが線形的に変化する
こととなる。

これは、「ブロックが大量にあるスタート時とブロック残り数が
少ない最後のほうでフレーム更新間隔が異なる」ことを意味する。
フレーム更新間隔の変化は、パドルの動作、ボールや演出の動作にも
影響を与え、ゲームとしての品質を低下させる。
http://www.geocities.co.jp/SiliconValley/2530/block07.zip
sleepの処理を改善してみました。>>113氏に感謝。

>>107
線分と線分の距離を求めるアルゴリズムを検索してみます。
ちょっと考えがついていってないので、しばしお待ちを…
>>110 - >>113 - >>114
ご指摘ありがとうございます。
たぶん、おっしゃる通りに改善できたと思います。
>>114
ブロックとの衝突判定をどうするのかまだ決まっていない状態で
議論しても始まらんだろ。

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

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

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

     l * r * c

で済むんではないの?
(ついでに線との衝突判定を律義に1本ずつ計算せずに
「どの線とぶつかる可能性があるか」を計算で拾い出せば
もっと速いけどな)
117116:01/11/06 15:03
あ、悪りぃ。細かい事だけど、
>線1本との交差判定にかかる処理時間

>線1本との交差判定にかかる処理時間を l
に読み替えてくれ。
やっぱ07おかしいかも…いったん削除。
再アップしました。
1はホントにヒッキーなの?
>>116
別に今回のブロック崩しでどういう処理をするかは論じてない
あくまでゲームループ一般の話題であり、ブロック衝突に
かかる計算量は、あくまで一例としたまでで
気に食わないなら「ボールが複数に分裂した場合」でも
「敵が複数出現する場合」でもかまわない

それよりあれだけの情報で新しいリリースではちゃんと修正している
>>1はかなり理解力が高いと思う
ソース見たけど、いわゆる「処理落ち」まできちんと考慮してるみたいだ
初心者は初心者なんだろうけど、頭はかなりよさそうだね
なんでこのスレsage進行してるの?ageてもいいんじゃ・・・
まだ、ボールがパドルにめり込んでスタックするというバグが残ってるよね
反射の処理が冗長な割に正確じゃないのよね。思い切って書き直したほうがいいと思う

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
ってことは、これは板違いにつき終了ってことね。
>127
まだインフラ整備されてないようだから、それまではいいんじゃない?
とりあえずこのスレは使い切って欲しい
移転するならアドレスかいてくれYO!
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
134 :01/11/07 22:28
ゲ術板、PCのカテゴリに移動したね。
厨房減ればいいけど。
http://www.geocities.co.jp/SiliconValley/2530/block09.zip
↑次あぷしました。
 ブロックとぶつかるようにしました。

>>120
本当にヒッキーです。かれこれ数ヶ月になります。
>>133
ワラタ
>>134
おぉ、ほんとだ。良い板になるといいですね。
136デフォルトの名無しさん:01/11/07 23:13
>1
もっとスピード早くして。
>>1
いまんとこ定数ごっちゃになってないけど、
大丈夫か?きちんと見た目わかりやすく定義した方がよくないか?

そんなこという俺もいっつも適当だけど、鬱
http://www.geocities.co.jp/SiliconValley/2530/block11.zip
↑ついにゲームっぽくなりました。

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

などと言ってみるテスト。
>>139
210点でクリアー.
1はいい調子だね.
142デフォルトの名無しさん:01/11/08 10:31
>>139
いいね、いいね。シンプルだけど遊べるよ。
ただ、「この角度でボールに当たったら、こうは動かんだろ〜」という
ストレスが多少ありますね〜。
143デフォルトの名無しさん :01/11/08 10:59
まじで名スレ (・∀・)ガンバレ!
実は、リリース版まで上がってて小出しにしてるのかとか
一瞬疑ってしまったよ
モチベーションって大切だよな、うんうん
ゴルァ>>1!!がんばって下さい。
145初心者:01/11/08 16:03
漏れはプログラム始めたばかりでAPIサパーリだが、応援させてもらうぞゴラァ
>>1!頑張ってください
1462:01/11/08 16:07
漏れもうれしいぞ。
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方向(!)ぐらいだけだったような。
そのレベルはとっくに超えてて、いいぞゴルァ!
1さんの作品が完成したら、プログラミング始めたばかりの人たちによる、
「貴様ら!○○作るので見てください」をシリーズ化キボン。
>>149 ただし「貴様ら!HelloWorld作るので見てください」は却下な。
http://www.geocities.co.jp/SiliconValley/2530/block13.zip
↑3面追加&グラフィック変更しました。

>>148
おぉ、MSXですか。
当時はプログラムを打つと言えばファミリーベーシックしか知りませんでした。
MSXを知ったのはプレステ出てからです(藁
お褒めいただき、ありがとうございますゴルァ!
>>149
これ終ったら、また新たなスレ立てようと思っております。
みんなでシリーズ化したら面白そうですね。
>>149
それちょっと考えてみた。
しかし、現時点でかなり1に遅れをとっている状態であり、
怖くて立てる勇気がない。
153141:01/11/09 18:11
>>151
660点でクリア.
1,成長早いね.exeのアイコン変わってるし.

途中で1回玉がブロックの下素通りしたよ.
玉はもうちょっと早くてもきもちいいなぁ.
あれ、書いたのに書けてなかった…ショック
さっきなんて書いたっけ…

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

>>152
厳しい意見をもらっても、凹まない精神があれば大丈夫と思います。
一緒にがんばりましょう。
>>153
テストプレイ、さんくすです。
ちょっと玉の加速度を上げました。
155デフォルト:01/11/09 19:22
ステージのデータをファイルから読み込むようにして欲しいなァ。
効果音とかあると気持ちいいかも。
>>149
でも乱立されるとちょっと。
157デフォルトの名無しさん:01/11/09 20:10
>>149
ゲ製作技術板でやるべき
158デフォルトの名無しさん:01/11/09 20:14
>>157
ゲームとは限らないの方向で一つ。
「貴様ら!コンパイラ作るので見て下さい」とか
159デフォルトの名無しさん:01/11/09 21:35
>>158
「貴様ら!ゲームライブラリ作るので見てください」だったら萎え
「貴様ら!コドモ作るので見て下さい」キボーン
http://www.geocities.co.jp/SiliconValley/2530/block15.zip
↑音が鳴るようになりました。

>>155
ステージデータ、ファイルから読めるようにしてみたいですねー。
Txtで作れるようにしようかな…。
>>160
それ、見てみたいです。
あ、行為だけならビデオで見てるか…
そこの女!オナニーするので見ていてください
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
で?そのレスのどこで笑え・・・・・と?
>>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だとしたら、かなりのやり手だな。
>>171
「うしおととら」の偽なまはげ編だな。 
174デフォルトの名無しさん:01/11/09 23:33
>169
えへへ・・・お前・・・優しいなぁ・・・
1752:01/11/09 23:34
残念、>>2はオレだ。
マジで予感したよ。
176デフォルトの名無しさん:01/11/10 00:40
魔○シュ○ティ○グのときは、こんなに温かくなかったなあ(藁
これをHSPで作ってたら、
また違った展開になっていたと思われ。
178171:01/11/10 01:02
ってか、うしとらに反応あって嬉しい。
>>1
漏れも応援してるよ! ガンバレ!
180141=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
>>4はこのスレの参加者全員に薬師丸ひろ子を配ること
ワラタ
186デフォルトの名無しさん:01/11/10 16:45
>>1
VCでやったほうがいい
VBは所詮厨が使うもの
>>186
1をM$依存症にする気か?
1の明るい未来のためにCのほうがいいと思われ。
つーか、あなたは既にM$依存章のようですが?(藁
/. jp 的アンチ MS 主義者ですか?
Windows 使っている限り MS の掌の上なんだから諦めも肝心。
それはそれとして opensource 活動もするのが大人のやり方。
189187:01/11/10 17:43
Windowsなど使っていませんが何か?
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さんから送られてくる予定の薬師丸ひろこでなごみたいと思います。
ウマイ!!!
で、ちゃんと休憩しているか?
>>187
グラフィックスやサウンド絡んだら、いずれにせよ Generic な C/C++ の範囲外だから、環境依存に
なるのは仕方ないと思われ。

まぁ SDL あたりのライブラリを使うって手もあるけどさ。
>>189
で、結局のところ何を言いたいの?

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

Win32 は

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

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

>>1
とりあえず VB + GDI でしばらくやってみて、限界を感じたら VB + DirectX なり VC に移れば良い
と思う。趣味でやってることなんだし、プラットホームや言語はなんでも良くて、ゲーム作って本人も
周囲も楽しむのが最優先でしょ :D
http://www.geocities.co.jp/SiliconValley/2530/
↑17番UPしました。
 サウンドを、毎回ファイルから読むのではなくて、
 実行ファイルのリソースの中に入れてみました。

>>192
夜は早めに寝ています。
あんまり全力でやらないように、適度に努力してみます。
>>193
SDL、検索してみましたが面白そうですね〜。
使ってみたくなりました。
>>194
うい〜。DirectXはかなり興味があります。
VBで使うのはめんどくさそうなので、VCから使いたいです。
もっと勉強しないと…
196デフォルトの名無しさん:01/11/10 23:39
>>1
( ´ゝ`) < MacOSXの世界に来ないかい?
VB+DirectXなんてできるの?
どうでもいいが。
>>196
なんのメリットが?
>>197
できるYO!
199デフォルトの名無しさん:01/11/11 00:09
>>197
( ´ゝ`) < 偏見パレードかもしれないけどね

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

( ´ゝ`) < いじょーだよ。
( ´ゝ`) < あくまでも偏見だからね。
( ´ゝ`) < でもProjectBuilderはマヂに生産効率アップできるよ。
200199:01/11/11 00:11
( ´ゝ`) < 日本語が以上に変。鬱蛇志之右
ttp://mackoy.cool.ne.jp/
ここはVBだったはず。
昔はVBって書いてあったけど今は見つけられなかった
202ROM:01/11/11 04:06
>>各位
それぞれの信念理念を元にした野外での議論は必要無いのではとおもわれ
>>1
いろんな意見があるが最終的には1自身できめてください。
少し休憩して、ロールプレイング的な感覚を楽しませてください。
応援してますぞ
203デフォルトの名無しさん:01/11/11 10:15
>>1
なんか知らんが、こう言うスレの中では、
ここの>>1がすき。

応援しとるぞ、折れも。
hp.vector.co.jp/authors/VA019204/programming/
↑ここのページ見てちょっと凹みました。
 中学生でもこんなにすごい人がいるとは。
 ちなみに僕はコンピュータ系専門学校に逝っていましたが
 あまりに酷いので逝かなくなりました。親に悪いことをした…

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

一覧から消えたのであげ
205203: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
何よりも眩しく、羨ましい。
209141=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-221
warata
あのー、移動しながら玉を跳ね返すときに、
機体にボールが吸い付いて振動してしまうのですが、
僕だけでしょうか?
>204
彼の成長と君の成長は直接に関係があるわけじゃないよ。
君がもっと成長したあと、そのページを見直してみたとき、
「なんだ、大げさにいうほどのことじゃなかったな」
と思える日が来るかも知れないんだし。
225141=153=180=209:01/11/13 22:26
>>216
やってみたよ.
>>223が言うように,ボールが機体にくっつくね.
特にボールのスピードがおそいときに,そうなるね.
おいらもWin2Kだけど,影は消えました.

ブロックを打ち返す,ってとこさ,このゲームの要だから,
ちゃらいところに凝るのもいいけど基本的なところで「味がある」
操作系にできないかなぁと思うんだけど.
ってことで1がんばれ.
初めて覗いたけど、すごいよ・・・
自分がヘタレだと改めて感じました・・・
>>1さん、頑張ってください
227ヒッキー@プログラミング:01/11/14 17:48
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。

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

などしてみました。

>>217 >>223
スイマセン、変なソース書いてました…修正しました。
(直ってないかも…)
>>218
ほお。面白そうですねー。
次の更新時に考えてみます。
>>219-221
ダウンタウンのネタっぽくてワラタ
>>224
そうですねー。もうちょっと勉強して、たいしたことなかったと
思えるようにしたいです。
>>225
影が出るのはOSの問題じゃなかったんですねー。
あまり考えずに言ってしまってスイマセンでした。
確かに基本的なことができてなかったら、画面等にこだわっても
面白くないものになってしまいますね…。書き直します。
>>226
おぉ、ありがとうございます!
応援していただけるとやる気が出てきます。
いいねいいね
わずか10日でこの成長っぷり
>>4から35,000薬師丸ひろ子がもらえる日は近いね
229RE: block20.zip:01/11/14 18:21
Stage_Data.basはもうちょっと書き方があるだろう。
>'ここにループを書くとウインドウ描画前に始まってしまうので、
>'タイマー使用

show
doevents
のコンボをform1_loadに書いておけば
その時点でwindowが表示されるよ
>>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
気合がびしびし
ブロックの下に、おねーチャンのヌードってどうですか?
実装無茶苦茶簡単で、熱中度異常にアップします。
コストパフォーマンス最高です。
重要な部分?のブロックは、頑丈だとよいです。
235デフォルトの名無しさん:01/11/15 03:58
結構作りが丁寧でちょと感動
やっぱ同じ作るにしても
他人に見られることを意識して作ると違うね〜
貴様ら!はどうかと思うが、ほのぼのマターリとした進行で感動した!

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

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

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

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

操作系に関しては色々あるが、最近2chで流行りのワンキーにしちゃうってどお?
ボタン押してると右に移動して、離してると左に移動。
少し慣性を加えておくのがミソ。
238236:01/11/15 06:45
あと、タイトルを「貴様ら!ブロックを崩してください」にしたらどうかな?
いや、sin/cosを使わない事で DDAアリゴリズムになってていいよ

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

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

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

とかね
引力の例
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ファイルに書くコードを
考え直さないといけない気がします。
そういえばストリングテーブルってありましたね。調べてみます。
243233-242だけ読んだ:01/11/15 17:11
スコアのつけ方をもう少し何とかしてほしい。
連続してブロック壊したらポイントが2倍とか
ブロック壊せなかったら5ポイント減らすとか
ずっと同じポイントだったら、意欲がうせる?
DDA=デジタル微分解析 で検索すると日本語サイトがヒットするよ・・・きっと・・たぶん
245ヒッキー@プログラミング:01/11/15 22:54
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は、

・コンボボーナスの追加

です。

>>243
ういー。最近のシューティングゲーム的に点が増えるようにしました。
>>244
出てきましたー。どもです。
でも言葉の意味はいまだ良くわからず…
246ヒッキー@プログラミング:01/11/15 22:56
あ…バグありました。
直します…
直しました。
ゲームをストップさせてもコンボのカウントが動いてました。
248おすぎ:01/11/16 00:50
最近見たどの映画よりもこのスレッドに感動しました。
私はこのスレを応援します。
> 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なら色々とボールの動きに面白い加工が可能だから
ぜひ修正してみるといいよ
>>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 で作成)
253249:01/11/16 19:52
>それってDDAって言うの?
 前半とは別の発言のつもり・・・
  >>249 Angleを小さくして毎サンプルかければカーブを描けるけど
    それならDDAかな

>>251  直線発生だけじゃなくても、浮動小数点演算でも
  差分方程式ならDDAって言うと思うけどなあ・・・
254デフォルトの名無しさん:01/11/16 19:57
>>252
面白かった。リンク先でいろいろやってみたり(藁
ニュー速たってたのはしってるけど、スレ倉庫にもないって。
9月ごろのスレだし、、、

1のレスが面白そう。
>吉野家コピペジェネレータ
作るなこんなもん〜(爆笑)
なんだかもう。
そんな事より>>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君!

で、薬師丸ヒロミが・・・なにか?
>>257
ごめんなさい、煽るつもりはなかったんです。
吉野家コピペジェネレータが面白かったので…。

何か作られたらUPしてみせてください。
いや、長いのは読まない主義だったのに
読んで得したスレだ。いや、筆舌っぽいんでドーモ
262249: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
 みたいにするともっと簡単
ふつー、vx,vyから角度なんて求めないけどね。
角度を10度変えたいなら、直接vx,vyを10度回転させる。
>>263
一次変換を忘れてるに 3 ガノッサ。
ガノッサという264は、カノッサを間違えて覚えているに東京ドーム2杯分。
>>265
じゃー漏れは薬師丸ひろ子2人分
267(・ε・):01/11/17 03:15
ステージデータをテキスト形式にして2chとかに貼り付けて
交換できるようにして欲しいに、4ガノッサ。
>>253
>直線発生だけじゃなくても、浮動小数点演算でも
>差分方程式ならDDAって言うと思うけどなあ・・・

DDAの最初のDが何を意味するか?
DDAがどういう要求から生まれたものか?
を考えれば、DDAは「実数演算を用いない」ことが
定義に含まれていると考えるのが自然
でなきゃ単なる微分解析じゃん
DDAは考え方としては、実数を分数で扱うような感じだな。
正直言うと、いまどきそんな考え方は必要無い。
(ラスタライザとか書くなら別だが)
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は

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

です。

>>249
毎回除算してた部分を書き直してみました。
次うぷするときは重力とか入れてみたいです。
>>251
ういー。なんかDDAというのは難しそうなので、
また今度調べてみようと思います。
>>262
アークタンジェントってどうやって使ったらいいのでしょうか…。
ラケットにこすれる時、vxを直接変えたほうが簡単かもしれないですねー。
>>263
ほおほお。そういうことも考えられるんですね。参考になります。
>>267
してみました。
4ガノッサください。
なんとなくageとこう。
DDAは Bresenham の アルゴリズムで線・円描画で有名だけど
考え方としての応用範囲は広いよ。 差分解析だよね。
整数演算だけで実現出来るけど、無理に整数に拘る必要はないと思うよ

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

 というか px,pyにvx,vyを毎回足すという処理が既にDDAだから
難しいというより 既に使ってるよ >>270
273249: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度
の方向に反射させればいい
274249:01/11/17 09:36
上で使ってる PI は 3.1415/180 という定義になってるからそれを使ってる

でもPIは3.1415にして PiDegみたいな変数名の方がいいと思うな
275249: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 で角度求めた方が判り易くいていいと思うけどね
うーむむ
 三角関数が判らないと というより行列がわからないとゲームも作れない雰囲気だな
ここ読んでも判るようにさ
http://members.tripod.co.jp/snishi/text/index.html
みんなそんな難しい手法使ってないから安心しろよ>>1
うむ。吾輩などはむりやり型が好みだな。
でも、まあ、三角関数と行列ベクトルが判る程度に勉強はするべし
さらに微積分も必要かもな
281249:01/11/17 11:16
いや、別にゲームだから中でどんな処理しようが動いてるなら問題ない
と俺も思うよ。
 でも、1はソースを公開してるし、習得も早いからさ、
 つい、スタンダードというか普通はこうするってのを教えたくなったのさ

 基本的なアイテムの動かし方を身に付けた方がいいだろって余計なお世話かもしれんけどな
282sage:01/11/17 13:27
数学関係の参考テキストも少しこのスレであげといた方が( ・∀・)イイ
283デフォルトの名無しさん:01/11/17 14:05
なんかさ、ずーっとボールが同じ速度にするのではなくて
壁に当たったら少しずつ速度がUPみたいなほうが
おもしろいとおもう。

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

# あんまりテストプレイさせてもらっていないから分からないけど…
http://jp.shockwave.com/games/arcade/bricks/bricks_frame.html
のブロック崩しみたいに、ボールの角度変え + 敵きぼんぬ>>1
>>284
カコイイ!
制作中の人間に、あまり同ジャンルのゲームは見せないほうがいいと思うぞ。
287デフォルトの名無しさん:01/11/17 15:06
>>286 スマソ。
パクリだ!なんて騒がれたら、1がかわいそう。
1さん、オリジナル な要素を含めてね(♥
ブロック崩し自体、既にパクリなので大丈夫です。
289(・ε・):01/11/17 16:17
>>270
http://shinkiro.tripod.co.jp/valkyrie/cd_gano.html

す、すいません。1ガノッサしかないんです。
/*  ここからコメント

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

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

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

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

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

ここまでコメント */
>>284
アルカノイドのつもりで敵にパドルぶつけたら、パドルが破壊された(笑

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

最初このスレ見たとき俺もブロック崩し作ろうかと思ったけど、1が萎えそう
だからやめたよ。
292デフォルトの名無しさん:01/11/17 23:54
けっこう面白いじゃん。みんな何点くらいいったよ?
おれは7314点が最高。三面がクリアできない。。。
293292:01/11/18 00:05
記録更新。5面までで16,258点
294(・ε・):01/11/18 00:06
>>292
それは何?
インターネットランキングに対応しろと言うことかい・・・?(笑)
わざわざ落としてまでやる気無し
296(・ε・):01/11/18 00:14
あれ?ステージエディタはテキスト化されてないの?
作って公開しようと思ったんだけど。
ときどきブルブルいいながらブロックにくっついて移動するね
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 そうは言っても、衝突や反射をちゃんと解説してるサイトってある?
26180てん!わ〜い
つまんね〜。ちょうくそげーじゃん。
もっとましなの作れよ。
>>304
お主が作ればよかろう。
http://www.geocities.co.jp/SiliconValley/2530/
↑つぎうぷしました。変更点は

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

です。

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

更新age
>>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
309249: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を掛算すればいい
>>309
気持ちはうれしいけど、その説明は
ちゃんと数学の本を手にして読まないと
わけわからんかと。
 演算子法的立場からの解説って奴だね
 遅延演算子も導入してさ
 一挙に微積分飛び越してフーリエ・ラプラス変換の世界にご招待ってのは?
312249: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
313249: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/
どうせ回転くらいにしか使わないなら、行列は回転後の座標系の単位ベクトルを
組み合わせたものと教えるのが一番分かりやすくていいんじゃないか?
もっとも、ブロック崩しごときで行列を持ち出す必要ないと思うけど。

方向変えるなら、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;
この程度で十分かと。
316249:01/11/19 17:24
>>315 そりゃそれで、十分といえば十分。

だいたい、今のAnglleで傾斜させる方式でもゲームが今の状態で完成だとすれば十分。
  実現方法は面白さとは何の関係もないしね
>>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
なぜ?
>>318
なんかいいね。
>>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が判断してね。当たり前だけど。
とりあえず、ゲームのバランス調節等のアドバイス

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

クリアだけなら簡単、稼ごうとすると難しくなるようにようにするのが俺流。
>>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から増えなかった。

うまく再現できないんで、もう少し試してみる。
なんか、自機の真中心で跳ね返したらブロックを突き抜けて
壊すみたいのがいいなぁ。

要望ばっかだが、>>330の 問題をぼくも確認してみます。
/*    ↓これが
http://www.google.co.jp/search?q=%83u%83%8D%83b%83N%95%F6%82%B5+%95%9E&hl=ja&lr=
ブロック崩し + 服 で検索。
さすがにエロ系が多かった。
>>332
コメントかい。(誰かのレスにそんなかんじのが…パクリ?)
しかもコメントとじれてないし。

それより>>1のヒッキー@(略)
やってみたけど、結構おもしろかった。
ず〜っと前のヴァより断然面白くなってるよ。
コンボ点&角度変化&玉の速度アップで。
vectorにでも、こういうゲームはうようよあるから、
頑張れ!
ごめんな。俺には1794点しか取れないよ(;´Д`)
>>308
ほお、高専の教科書ですかー。穴場的ですね。
普通の本屋で注文できるのかな…
>>309
おー、とてもよくわかりました。
回転の式はCGの本に載ってたので、1回画像の回転のプログラムを作るときに
使ったことがあります。そのときは行列の意味がよくわからなかったんですが(藁
反射は単に符号を反転させるだけで良いというのは分かるのですが、
ボールが早すぎる時に、反転しても画面に戻ってこなくなる事があったので、
ifをいれて、画面内の方向のみを向くようにしました。
伸張は…(y軸が斜面で、斜めにあるのを上から見る場合は)というのが
よく分かりません…。
>>312
高校の方のページ、なんか読めそうです。
分からないところ、全部読んでみようと思います。
>>313
わざわざいくつも探して頂いて申し訳ないです…
あとで、ウチのページでまとめて紹介したいと思います。
>>314
あの…エロ画像ならHDDにも入っています(w
でも、やっぱ使ったらまずいかなぁと
>>318
はは。そうですねー。おもしろいかも。
今の段階では、受け止めてクリアの表示を出してる間、
ボールが自機に埋まる or 変な位置にあるような気が
するので、ちょっと考えてみます。
>>319
やってみました。
うまりますね…。残像残ってるし。埋まらないように考えたいと思います。
わざわざ上げていただいて、サンクスです。
>>320
あー、たしかに。
いじってみようと思います。
>>324
今、実験的に速度の制限つけてみました。
直るかどうかはもうちょっと試験運転しないとわからないですが。
>>326
あー、そういうのおもしろいですねー。
ゲーセンでシューティングゲームやってると、そういう設定のが
結構ありますね。名作ほど微調整が細かかったり。
>>328
ういー。がんばりますよー。もうちょっと完成度あげたいです。
>>329
この前、Bio100%のページいきました。
戦艦のゲーム、以前にどっかでやった事あるような…(藁
>>330
実は水平に近いほど点が入らないようにしてあります。
テストしてると、10度くらいの角度にしたら、簡単にクリアできるし、
点もかなり入ってしまったので。
>>331
おぉ、そういう設定の仕方もあるんですねー。参考になります。
>>332
服がだんだん欠けていくゲームがイパーイありますね。
全部同じ様に見えるのは気のせいでしょうか。
>>333
どもども。ありがとうございます。
vectorですかー。一回、ゲームのところ覗いてみます。
>>334
今回のUPしたやつは前より難しいです。
僕もそんなに点が取れなくなりました…
この前、この板のスレ「シューティングゲームを作りたい!!」
http://pc.2ch.net/test/read.cgi/tech/990219336/
を読みました。

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

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

それから、ひとつ疑問なんですが、ローカル変数とグローバル変数は
どういうときに使い分けたらいいんでしょう。全てグローバルでも
よさそうに感じるのですが…。
ローカルだと関数呼び出すたびにメモリを確保しないといけないと思うし、
関数に引数を使うときも、スタックに積んだりしてたら余計に遅くなったり
しないかなぁと、ふと疑問に思いました。
あぁ何か日本語がおかしかった。
>>337
グローバル変数はなるべく使わない方がいいよ。
理由は色々あるけど、一番恐いのはどこで変数の内容が破壊されるか分からない事。
以前、全てグローバル変数で組んでて原因不明のバグで悩んでる人の相談にのった
ときは、ループ用のカウンタをグローバル変数にしていて、ループの中で別の関数
を呼んでいるんだけど、その呼ばれた先でも同じ変数を使ってループしていた。
その関数呼ぶとループ用の変数が書き換えられるから、それが原因で無限ループに。

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

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

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

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

ちなみに、スタックメモリはコンパイル時にサイズが決まっていて、通常はあまり
大きくないのでローカル変数で巨大な配列とか使うとエラーが出るので注意。
グローバル変数ならヒープに確保されるので、20MBくらい使っても平気。
340339:01/11/21 06:32
こういう事を疑問に思って、質問してみるってのは良い傾向だと思うよ。
(大事なのは聞いてみることより、むしろ疑問に思うこと)
せっかく VBには構造体があるから まず ボールを構造体にしよう

 ball_xとか vx とかを一つの構造体にまとめたら 関数呼び出しが楽だし
 ボールを2つにするのも簡単になる
>>339
>グローバル変数ならヒープに確保される

…ん?
>>342
間違っていないと思うけど。グローバル変数はプログラムの
開始から終了までずっと残っているものなので、ヒープ領域
に確保されると習った。

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

間違っている?
>>343
間違ってる。BSS で検索。
初期値があるやつはdataセクションに入ると思われ。
>>344
BSSとかって環境依存な気がする。
>>346
いずれにせよ、ヒープに確保されるのは間違いって話では?

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

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

ぐらいに分けて管理してることが多いと思われ。Win32 だとヒープもプロセスヒープ以外に、プライベート
ヒープとか複数持てたり、スレッドが絡むとスタックも並行して複数存在することになるから、いろいろと
話がややこしいけど。
>>347
習ったって話なので一般論を習っただけでわ?
bss やら data ってのは環境依存というより実装依存だと思われ
>>348
とりあえずこういう用語は一般的に使われるし
覚えておいて損は無いでしょ。
得も無いかもしれんけどな。
>>347
漏れがC覚えたのZ80だったから、スタックとヒープしか無いような状態だったよ。
なんでそう言い張るんだ!
 ヒープはヒープ! alloc系の操作で確保する領域
 普通の変数はそれとは別のセクションに取られる

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

 基本はZ80用でも構成は殆ど同じ 違いはROM用に定数用の領域があったりする程度
>>351
> スタックは下から ヒープは上から確保される
他は知らんが x86 は逆だな。
353ヒプ子:01/11/21 22:46
私のために、喧嘩はやめて〜!
1がついて来れないから、そろそろやめにしないか?
355(・ε・) ◆LbaGYMio :01/11/22 03:56
有名どころかな?
http://www.interq.or.jp/tohoku/kenta/
下というのが
番地nからn+1,n+2と向かっていくのか
番地nからn−1、n−2と向かっていくのか分かりづらいですな。
上位って一般的に番地0のこと?
太陽のあるほうが上。
地面のあるほうが下。
big endianでは0番地が上
little endianでは0番地が下
ソース見てないけど、反射してボールの進路が変わったときに、その新しい進路で
当たり判定してる?>>1
ほおほお、みなさん、ご意見ありがとうございます。
ヒープや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回目の判定ということですか?
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は

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

です。

ソースが読みにくくなってきたので、Form1のイベントに関係ない部分は
別ファイルにしました。
あと、今までGetTickCountを使って毎秒のフレームの調整をしていたのですが、
なぜか10ms単位でしか時間を調整できないので、timeGettimeを使うように
変更しました。
このスレ見てたらVB始めたくなりました。
プログラムは初心者レベルなので初心者本買って
勉強してみたいと思いました。
頑張ってください>>1さん
363343:01/11/22 12:50
大変勉強になりました。私は今までヒープと bss と data を
全部ひっくるめてヒープと捉えていたようです。

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

かなり参考になりますね。この話題に限らず、www-6.ibm.com には
有益な情報が多いと思います。
超なにげに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
つーか、まん丸いパドルにチャレンジキボーンヌ
http://www.geocities.co.jp/SiliconValley/2530/lifegame.zip
↑なんか、ライフゲームなるものをハケーンしたので、VBで作ってみました。
 なんだかよく分からないけど、セルオートマトンらしいです。

>>362
おー、がんばってください。
なんか、嬉しいです。僕もがんばります。
>>363
ほおほお。他のファイルも見てみようと思います。
>>364
素人ですよ。
プロならもっと保守に便利なソースを組まれるんではないかと
妄想してみたり。僕のは設計も何もしてないのでぐちゃぐちゃです(藁
>>365
どもども。
自分でも球速すぎるんでは…と思います。でもクリアできない
くらいがいいかなぁと。
>>366
う〜ん、それなんですけど、なんとなく取り入れてません。
球が当たる瞬間に、パドルが動いてる方向によってちょっとずつ
変える方式にしてます。
>>367
まん丸いあたり判定…どうしましょう。
シューティングのスレでは8角形で近似するとかいう意見が
書いてありましたねー。…といってもそれすらどうしたらいいのやら。
>>367
ほとんどのゲームは「コレ」じゃないから、
プログラム組むのは難しいけど、
おもしろいかと。
なぜ1さんはいつもさげるんだろう?
丸の方が簡単だよ
 それぞれの中心座標と半径から (x0-x1)^2+(y0-y1)^2 < r0^2+r1^2
 だけで衝突が判定出来るし

反発は >>273 を atn( (x0-x1)/(y0-y1)) *180/3.1415 と角度を求めて呼び出せばいい
× (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)
373359: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とかは極力さけて、意味のある名前をつけた方がいいよ。
375374:01/11/23 00:05
間違えてageチャタヨ...
激しく鬱駄。
内容も偉そうだし。すんまそん。
ageると>>1を愛する8頭身が来るからね。
>>376
       |   |
       |   |
       |   |
       |   |
       |   \
        |   ∧_∧
     // ( ´Д`)\  1さん、もらった!
    / /         | |
   / /         / /
   | |        / /  
   \\((( )))/ /    ガシッ
     U( ;´Д`)U  Σ
      ⊂  ._つ
       人 Y
      し'(_)
                                          ,-- 、
                                         /   ヽ
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
.                                        |::    |
                      ∧         ∧         |::::   |
                       / ヽ        ./ .ヽ        |::    |      /  |      /  |      |
                    /   `、     /   ヽ       |::    |     / ̄ ̄| ̄ ̄  ./ ̄ ̄| ̄ ̄   |
                   /:::      ̄ ̄ ̄     \      ノ:    | .     __|__   __|__   |
                   l:::::::::              .l    /    丿       /  |        |      |
                  |::::::::::  -=・=-    -=・=-  |  /     /       /   .|        |   
                  .|::::::::::::::     | ̄ ̄|      | /     /       _/    ゝ─'   ̄ ̄ ̄ ̄ ̄  ・
                   ヽ::::::::::::   /__ヽ   ノ /     /
                     丶::::::::         ノ/     /
                     /::::::::              /           捕まりました。
                    /:::::::::             /
                   /::::::::::            /
                 /::::::::::            丿
                 /:::::::::::              |
                /::::::::  /            |
                |::::   ‖            |
                |::    ‖            |
                |    | |            |
                |    | |            |
._               |    | |            |
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          ||   >>1を   。   Λ_Λ  いいですね。
          || 捕まえなさい\ (゚ー゚*)
          ||________⊂⊂ |
  ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
  (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |      |
〜(_(  ∧ ∧ __(  ∧ ∧__(   ∧ ∧ ̄ ̄ ̄
  〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧  は〜い、先生。
    〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)
      〜(___ノ  〜(___ノ   〜(___ノ
    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\
    | VB使いの1はダメ人間よ!        |
    |  人のCを見てC言語信者になるの! |
    \______ _________/
             ∨             ____
       ___,――――一´ ̄ ̄ ̄    7  |
   | ̄ ̄                        月  |
   |   C言語以外は全て敵           31  |
   |   皆はお前のソースを笑ってる    日 |
   |        ∧∧ 。             (月) |
   |       (゚ー゚* )/           日直 |
   |__       し∀つ            ギ し|
        ̄ ̄ ̄|ψ|――、____   コ ぃ|
              /____|           ̄ ̄ ̄ ̄
            ∪∪
__________
   ______
   |||| |||| ||||
   ||||/| |∧||||   / ̄ ̄ ̄ ̄ ̄ ̄
   ||Φ|(゚|-|゚;)|Φ||  <  ぐすん。。。
   |||| |||| ||||   \______
    ̄ ̄ ̄ ̄ ̄ ̄

__________


    ∧⊂ヽ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (゚Д゚;)ノ < >>1さん、しぃを監禁しましたっ!
    (|  |    \_______
   〜|  |
    ∪∪
っと、AsciiArtばかり貼っちゃった。
>>377=>>379-381=>>382
ごめん。>>378=>>1さん。
その代わり、いろいろバグなど見つけてきます〜。
383デフォルトの名無しさん:01/11/23 18:54
あげ。
おれあんまりVBは強くないけど、がんばってくる。>>1
しーってどんなキャラかわからんかったから、
適当に編集しちゃった。しぃファンの方、スマソ。
このスレいい!
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だから、

作成のしかたでも教えておくれ。
おそらく、どっからどこまでをアイコンデータとして登録してるのか
しらないから。
リソースファイル作るだけじゃないの?
390 :01/11/24 01:58
>>389

もっと分かりやすく、頼みます。
ここは質問スレではありません。
>>391
でた、ゴミ出す曜日以外の日に、ゴミ出し監視おばちゃん!
>>392
でた、朝起きれねえで部屋ゴミだらけなやつ!
どっちも他のスレでやってくれ。
>>1に迷惑かけるな。
>>393
うっせー、あたってるYO!
パドルと玉の摩擦で玉にスピンがかかるようにして
スピンがかかっているとカーブだ!ブロックに当たって
反射するときも変化するぞ!
・・・・・・・・・・とか

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

ごめん、逝ってきます
397デフォルトの名無しさん:01/11/24 08:48
>>396
スピンはいいアイデアだと思う。
スピンとか重力とか空気抵抗やるなら とにかくまず Angle の変な使い方を止めろ
399デフォルトの名無しさん:01/11/24 10:51
スピンはいいかもしれないけど、ボールの速さとか考えると、
逝って良し難易度だな。
重力いれたらブロック崩しじゃないよ。サーカス。
サーカスのリメイクはタイトーのプランプポップが良かったな。
401 :01/11/24 11:06
>>400

MS-DOS(98)の名作。
ぶろっくでぽん♪も忘れないでほしい。
昨日は体調悪くて死んでおりました。
ティムの右上辺りが腫れているので脱腸かもしれません(w

しばらくしたらレスします…。
8頭身!!>>1を助けれ!
404デフォルトの名無しさん:01/11/24 14:00
  ___________...∩ _______──────────
  ───────────[二]─────── ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   / ̄/
                   | |                     _     /  /
              ___/三三)____              \\  /   ./
         __/            _ヽ.              \\   /
       /′     ===      ((_) 丶─┬───────" \\ /
      / ̄// ̄ ̄| | ̄ ̄ ̄ ̄|________| モナー救急        ○<
    イ   //   ||[ ̄ ̄] |            | γ──────ヽ   \\
  / 人_/|ヽ──| .|  ̄ ̄  | __      _|./           \   \\
 ( -     |   / |____| (__\ ./ ̄ ̄                ̄ ̄ \\
  ゝ_     ̄ ̄          ___/                          ̄
      ̄ ̄ヽ ̄ ̄ ̄ ̄|| ̄ ̄ ̄ ̄||
         ヽ二二二二二二二二二二二二二
   Λ_Λ
  ( ;´∀`)    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  (    つ  <   >>1さん、病院へ……
  | | |     \___________
  (__)_)

>>377=>>379-381=>>382=>>404
                    I
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡
                    ミ彡       (⊃))))
                    ミ彡        \\
                    ミ彡         ヽヽ
                    ミ彡      ∧∧ | | < 1さん待ってて〜!
                    ミ彡     (´Д`)丿丿   今うまい棒買ってくるから〜
                    ミ彡  /⌒     (
                    _ミ彡_∠/⌒ヽ @  ヽ
                  / ミ彡   \   \ 命  )
                 /  ミ彡 /\_)   ) /\ \/つ < 全財産ダスヨ〜 ¥940
                /////     //   \ ノ
                し'し'し'し’      ( (
                             し     3    3   3
406デフォルトの名無しさん:01/11/24 14:06
         ||             >
         ||       ∧ ∧  <
         || 〜′ ̄ ̄( ゚Д゚)  >              / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ||  UU ̄ ̄ U U  <         >・) <  >>405のお金にぶつかってヘリ落ちたモナー
         ||            >         (  彡 \__________________
         ||            <          √ ゞ((○
         |厂 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
         ||               | >>1を救助するモナー |
         ||               |____   ___|
         ||                     \/
         ||                  Λ_Λ
         ||                 ( ´∀`)
〜〜〜〜〜〜 || 〜〜〜〜〜〜〜〜〜〜〜(    つ〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜 || 〜〜〜〜〜〜〜〜〜〜〜| | | 〜〜〜〜〜〜〜〜〜〜〜〜
〜______□____________(__)_)___〜〜〜〜〜〜〜〜〜〜
〜〇        |               \           )〜〜〜〜〜〜〜〜〜〜
〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜\〇 ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜( ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄)〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
`〜〜〜〜〜〜〜〜

>>377=>>379-381=>>382=>>404=>>406
 
408デフォルトの名無しさん:01/11/24 14:07
AAばっかだ・・・鬱だ。
1よ元気になれ。俺はおまえは有望だとみこんだ(藁
寄付金だ↓
 ┏━━━━━━━━━━━┓
 ┃100モナ / ̄\ Λ冂Λ .┃
 ┃     |    |( ´∀` )o ┃
 ┃     \_/ (∪   φ) ┃
 ┗━━━━━━━━━━━┛
>>377=>>379-381=>>382=>>404=>>406=モナ板出身?
俺の予想。
ギコぺを使っていると見られる。
だってギコぺデータ使いすぎ。>>377
   Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( ゚∀`) < 看病に来ました〜。
┌∪┐  )つ  \________
└─┘ ヽ
〃(__人__ノ
1はタマ取って田中の仲間入りですか?
なんかネタスレみたいになってきたけど、、、
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さぁぁぁあん♥(藁
http://www.geocities.co.jp/SiliconValley/2530/
↑更新しました。

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

などしてみました。
ボールの動きは変な計算をしていたので、ちゃんと
毎回、Sin・Cosを計算するようにしました。前のは
なぜちゃんと動いていたかわかりません…。
相変わらず体がおかしいです。
419デフォルトの名無しさん:01/11/25 15:07
>>1体気ぃつけぃやぁ。
さっそく、ソース覗いてみるは(藁
>>371
う〜ん…ムズカシイです…。
atnって、タンジェントの逆の計算なんですね。
ってまだ難しくて理解できません…。なぜそうなるんだろう。
>>373
角、ちゃんと上も横も判定するようにしました。
elseifでかいていたので、どちらかになっていたみたいです。
正規化と法線ベクトルとは…?調べてみます。
>>374
そうですねー。
VBの本見てみたら書いてありました。ちゃんと名前付けたほうがいいですよね。
>>382
AA、なごませていただきました(藁
実はリアルモナーも八頭身も好きです。美の追求とか。
バグハッケソ、よろしくお願いしますー。
>>385
既存のファイルのアイコンを変更できるツールでしょうか。
うーん、リソースってどうやって入れ替えるんだろう…。
>>396
う…難しい…(w
でも、おもしろそうです。斬新なアイデアですねー。
>>398
直してみました…。
>>399
たしかに。ゲームとして難しくなるかも。
>>400
サーカスですかー。どんなゲームでしょうか。
サーカスチャーリーとかいうやつとは別物?
>>401
98ですかー。数年前にエロゲーをよくやりました。
>>377=>>379-381=>>382=>>404=>>406
はは。AA(・∀・)イイ
>>408
どもです。
100モナって…円じゃないのかー。
>>411
どもども。すんまそん
>>412
   ,――、  ,――、
  /    ヽ     |
 |    _.ム   ノ
  \/ ̄    ̄ ̄\  
   /    ,-―――-ヽ
  /  /  /   \ |
  |  /   ,(・) (・) |   
  |  |     __  ● __ |
   | |    =__= |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   | ヽ    /__//  < んなわけねーだろ
 /|  \     /\   \______________
>>413
やりすぎかも…。
肩がこってしまいました。
>>417
ぐはぁ
>>419
おー、ありがとうございます。
だんだん読みにくくなってきました…。
ちゃんと設計しないとダメですね。
423デフォルトの名無しさん:01/11/26 19:56
スレの成長が止まってきたね・・・


…あっ!レポート提出期限明日だったっ、
424デフォルトの名無しさん:01/11/26 21:44
1ってセンス良すぎ。
いや、プログラミングもなんだけど、
このレスがなんとも・・・
425デフォルトの名無しさん:01/11/26 21:57
>>424 なぁ。
結構初気の頃からここいるけど、1センスいいよなぁ。
426249: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 かかっても大丈夫 ?
>>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

是非参考にして欲しい。
>>430
丸いね・・・下の、なんていうだ、あれが。
うむ
頑張ってるねぇ >>1
とりあえず、僕もC++でブロック崩し 作ってみようかな。
とか思っちゃったよ。

低レベルなのでも作ったら 欲しい?
433433:01/11/27 04:38
俺が知ってるブロック崩しの最強はコレ。(GameboyColor用)
作り掛けぽいけどとにかくエミュででもやってみれ。

ttp://www.student.oulu.fi/~aeeben/images/berlin.png
ttp://www.student.oulu.fi/~aeeben/download/berlin.zip
あー、JavaのGCは大丈夫じゃないです。
挙動が予測可能な通常のマルチタスクOSのメモリ管理やタスク管理とは
まったく訳がちがいます。

Java 1.2から1.3、1.3から1.4に入れ替えただけで
今までに作ったほとんどのゲームのGC引っかかりポイントが変わったのには
もうぶち切れ。
自分でときどき都合いいときにgcを呼んどけばいいんじゃない?
なんでもいいから やってみたら?
 今くらいのレベルまで行ったら次の言語に移るの繰り返せば
 本人の勉強にもなるし 見てる方も面白いからさ
別に言語を移る必要はないと思うが。
まだまだ全然VBの限界って訳じゃないし、現時点で重いわけでもないし。
>>437
VB を「限界」まで使うのは、個人的にはお奨めしないけど。(ねぇ)

コードを読んでみたけど、まだ VB でも行ける範囲だとは思う。ただ、そろそろ行き当たりばったりでソースを
拡張するのは辛くなってきてるのは確かだな。
439249:01/11/27 09:06
いや、VBの限界ってのじゃなくて、
 ギャラリー側からは気軽に見るのがツライサイズって事ね
 作者側からはまだ頑張れるサイズだと思うよ。

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

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

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

低レベルな部分を知らないで、DelphiやったってVBを続けるの
とほぼ一緒だろうし。Javaは別の利点があるけどね。
VB   1はもう入門段階は卒業証書を発行してあげていいレベル

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

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

C/C++  Windowsのメッセージ駆動な仕掛けに苦しみながらも
ローレベル処理をシコシコ書く楽しみに触れる
442437:01/11/27 12:49
俺はプログラマとして最低のレベルってのが、思った物は何でも作れることだと
思うが、1はまだそこまで行ってないかと。
だから他の言語を覚えるのはそこまで達してからの方がいいかと。
新しい言語を覚えるにはまず文法を覚えなきゃいかんが、文法ってのはいくら
覚えてもプログラミング技術は全く進歩しないから、文法を覚えるまでの期間は
プログラマとしての進歩は無いよ。
大学や専門学校での初等教育では文法を覚える事=上達のような教え方だが、
正直言って文法を覚えた時点でやっとスタートラインに立てたという程度。

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

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

とりあえず1はそろそろ、ボールを2つ以上動かすことを考えてみては?
あと、どうしたらソースが見やすくなるかを考えてみるといいかと。
他の人のソースがあれば、それを見てみるのもいいかも。
他の言語に移るのは>>1の判断でよいでしょ。
>>1がVBに限界を感じたら移れば良いだけ。
限界を感じなければ>>1はその程度の器ってこと。

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

>>1
参考程度にな。
8等身。とりあえず>>1が発言しやすいように
いったんお茶を濁してくれ。
             / ) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
            ./ / |  >>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はすっとばしてもよかった
かな。
>>442
個人的には「思ったものは何でも作れる」ってのはプログラマとしてのゴール(頂点)だと思うんだが…
ゴール?それはピザよりも美味しいのかい?
>>446
○○コーダーっつって、どうせデモコーダーって言うんだろ。
デモコーダー=妄想上級者
このスレは現実主義。よって君はスレ違い。さよなら。
>>435
やってみりゃ分かるけど、System.gc()はまったく解決策になりません。
オナニスレはわかるがオナニレスはやめれ。
ちょっとVC始めてみました。
MFCが相変わらずよくわかりません…。
CStringクラスとCTimeクラスというものをハケーンしました。
んで、MessageBoxで時間を出したりしました…。ムナシイ。

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

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

俺はWindowsAPIを学んだ方がとっつき易いと思う。
>>433
やってみました。
付属のGBエミュがなんとも味があってよかったです。
ハードの限界をうまく生かしたつくりというか、
率直に言えば、視点がすごいですね。
>>434
GCについて検索してみました。
バージョンによって採用するアルゴリズムを変えているんでしょうか。
低レベル的な処理をあまり知らない僕的には、GC使わなくても、
毎回開放するソースを書いた方がいいんじゃないかと思うんですが。
うーん、そうするとJavaっぽさが減るのかな。
>>436
ういー。いろいろ手を出そうとしています。
昨日、Wave鳴らす処理書いてるときに、自分で波形作りたいなーと
思いまして、WaveOutOpenなどしてみようと思ったんですが、
なぜかうまくいきませんでした(藁
>>437
開発環境、Pen3なのですが、MMX200のノーパソでやったところ、
ガクガクしてました。早くしてみたいなぁという欲求はあります。
>>438
たしかにソースの拡張がしんどくなってきました。
ちゃんとした設計というのをやったことがないので、どのような
仕様書があれば混乱せずにまとめられるのかが分かりません…。
次は自分で理解できる範囲で文書化してから作ろうかと。
>>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と違いがあるんでしょうか。早いとか?
プリンスオブペルシャって…シビアな設定のやつですか?
>>447
思ったものを何でも作れるようになりたいです。
すぐに作れる、というより、何でも作ってしまえる自信を付けろ
ということを、おっしゃってるんではないかと勝手に解釈しています。
>>448
NHKの外国のホームドラマを思い出しました。場外から笑い声が…
>>449
デモってメガデモっていうやつですか?
>>451
あっぁっぁっぁ…
>>453
がんばってAPIを使いこなせるようになります。
まず、プロセス・スレッド・パイプなど謎の単語を理解しようと思います…。
あー、コンピュータ用語はムズカシイ。
>>1って今気がついたんだけど、ほんとにヒッキーなんだね・・・
15時に書きこむって…

# 折れもだけど、テスト2日前だから、結構早く帰ってこれる(藁
いきなりMFCは止めておいた方が良いと思う。
WinAPIなら「猫でもわかるプログラミング」あたりがお勧め。

折れもヒッキーなので応援してます(藁
そろそろ、ベタベタにグローバル変数を使うのをやめて、少しデータをまとめないか? 今のままだと、
コードを増やすにつれてメンテナンスが厳しくなる。

それと tmp1 とか Form1 みたいな名前は、真面目に付け直したほうがいい。良いソースコードという
のは、詳細を追わなくても字面を見るだけで処理内容が分かるぐらいに、名前の選び方に注意を払っ
てるよ。
461442:01/11/29 02:39
ボールを2個以上にするなら、ボールの変数を構造体の配列にまとめて、ボールが
生きてるか死んでるかのフラグを構造体に追加。
ボールの処理しているところをループにして、全ての生きているボールに対して
処理するようにする。
これが一番簡単だと思うよ。ミスの判定は、生きているボールの数を表す変数を
用意するか、ボールを落としたときに全てのボールが死んでるかをチェック等。

何をしたらボールが増えるかってのはゲーム性に関わってくるので簡単には決め
れないが、システム的に一番簡単なのはいつでも次のボールを打てるようにして
しまうのかな。いつでも左クリックで球発射。でも残機が減るとか。その代わり
得点2倍みたいな。
462442:01/11/29 13:26
いつでも自由に発射できるようにした場合は、以前あった案のキャッチして
面クリアが良さそうだね。キャッチできなかった球はロスト。
>>457
本当にヒッキーですよ。
寝て起きてプログラム書いて本読んでの繰り返しです。
大学生ですか?
>>458
MFC、やめようと思ってきました(藁
APIは、本のマニュアルがあるのでなんとかなりそうです。
「猫でもわかるプログラミング」ですかー。ちょっと探してみます。
>>459
ほおほお。なんか硬派っぽい本ですねー。
本屋に逝った時に探してみようと思います。
>>460
自分でもちょっと感じてきてました…。
とりあえず、コントロールの名前をちゃんとつけました。
どの変数をローカルにしたらいいか考え中です。
グローバルのままの方が楽に感じるので、選別が難しいです。
>>461-462
おー、そういう処理の仕方があるんですね。参考になります。
フラグもたせれば処理しやすいですね。
2個以上が同時に出るとなると、ゲーム的には最後にキャッチ
する方がたしかに楽しいかも。
ゲーム性についても、いろいろ考えるようにします。
464私的名スレ認定済み:01/11/29 15:35
>>455
> ご自愛が多すぎるので困っています。
ご自愛は週に3度までにしとけ。
465デフォルトの名無しさん:01/11/29 15:51
>>463
>大学生?
じゃないよ、そんなにおとなじゃない(藁。
中坊だから。いまちょこっとずつ僕も勉強中(プログラムとテスト勉強)
最近、ちょっと悩んでいる事があります。
あんまり考えるべきことではないかも知れませんが、
どの程度まで内部を把握してプログラムすべきかということです。

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

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

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

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

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

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

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

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

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

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


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

せっかく書いたのでage
なんかフリと結論が違うような書き方になってしまった…鬱駄

>>464
もっとしてるかも(藁
>>465
おー、中学生ですか。2chに来てると病みますよ。
テストは、数学をきっちりマスターするまで勉強した方がいいと思います。
他の勉強も、ゲームなどプログラムするときの糧となりますので、
おろそかにせずに、適当にかじる事をお勧めします。
やー、そんな早くからやってるとは。恐れ入ります。
>>466
> ひとつの物事に執着して、殻にこもるのはカッコ悪いと感じますが、
> 言語をひとつに決めないとアルゴリズムを勉強できないのではないかと。
大丈夫。最初の言語を覚えるのは苦労するけど、二番目は楽、三番目はもっと楽になるから。
469デフォルトの名無しさん:01/11/29 16:01
>>467
かじってるていわれてもまだまだ(汗
三角関数とか独学で勉強中。

1さんって高校?大学?それ以上?
>>468
ほおほお。そういうものですか。
僕はまともに書き方がわかるのはVBくらいなので分かりませんでした。
ちょっと救われた気がします。ご意見ありがとうございました。
>>469
おー、三角関数ってだいたい高校で習うんじゃないですか?
僕は年齢的には大学ですね。ハタチです。
このスレで教えてもらったところだけど、ここお勧めです。
http://www.kwansei.ac.jp/hs/z90010/hyousi/2106.htm
ひそかにマターリスレ?
472458: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も余裕でいけるんじゃない?
>>468
>大丈夫。最初の言語を覚えるのは苦労するけど、二番目は楽、三番目はもっと楽になるから。
そうだね。リュウを使えるようになるのに凄く苦労したけど春麗、ダルシムと加速度的に覚える
のが早くなり、一通り全キャラやった後にリュウに戻ると勝手にうまくなってるものだよね

板違いな上に時代錯誤な発言ですまん
>>475
そのマターリ感がこのスレにふさわしい
>>475
俺もそう思う。俺の場合は最初はケンだったけどな。
それでザンギエフとか使ってて、またケンに戻ってくると
通常技の使い方とかが上手になってるんだよ。
>>474
s/案/あれ/g;
┏━━━━━━報告書━━━━━┓
┃                    ┃
>1haヒッキーのため          ┃
15:00前後に良く書きこむようです。 ┃
┗━━━━━━━━━━━━━━┛
あのぅ、ヒッキーさんは C++ を覚えようとしてはるみたいですけど、
C++ はいろんなもの隠蔽しちゃってて、全然低レベルじゃないと思いますよ。
ましてや MFC なんて、裏で何やってんだかわかろうとするだけ無駄です。
やるなら高級アセンブラ C。
481デフォルト素人さん:01/11/30 00:38
GCって何ですか?
>>480
> C++ はいろんなもの隠蔽しちゃってて、全然低レベルじゃないと思いますよ。
気のせい気のせい。C++ はソースを読んで(最適化前の)アセンブリコードが予想
できる代物で、その意味では C と同様に「高級アセンブラ」です。

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

 メッセージを使った処理

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

もし C++ で書くなら、WTL の CWindowImpl あたりを使うか、もしくは素直に自分でウィン
ドウプロシージャを書くのが良いかと。
>>482
CWindowImpl は WTL じゃなくて ATL だな。ごめん。
>>481
ガベージコレクション、で google 検索。
C++でthrowしたのオブジェクトを参照でcatchしたときとか
アセンブリコードが予想できたら結構すごい。
C++=MFCと決めつけるのはよくないかと。
漏れはC++使ってるけど、MFCなんて使ってないよ。
>>466
> どの程度まで内部を把握してプログラムすべきかということです。

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

シロウト考えなんで、プロのかたの意見を優先に参考にしてください。
>>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に近いものがいいかも。
>>489
ご意見ありがとうございます。
たしかに、既存のライブラリに頼って、それを呼び出すだけの
プログラムを書いたところで、自分の技量には何の関係も無いですね。
やはり、経験を積まれた方の意見は重みがあります…。
インタプリタって文を分解して、1行ずつ実行するというアレの事ですか?
うーん、どうやって実装したらいいのでしょう。
文を、中間的なバイナリコードに変換してそれを逐次、実行するような
感じでしょうか。文の内容をそのまま実行して逝ったらいいんでしょうか。
いろいろ考えてみようと思います。
491489:01/11/30 14:52
そうだねいったん中間コードを吐いて、VM上で実行すれば生成されたバイナリは
VM上であればWindowsだろうがLinuxだろうが動くから嬉しいかも。

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

とりあえずこの辺を参考にしてみて。
http://pc.2ch.net/test/read.cgi/tech/981672957/
Cに逝くか、他に逝くか逝かないかは自由だからね。
ただCをお勧めする。
>>491
ちょっと待ちいや。いきなりインタプリタは酷やろ。
ヒッキー、迷路や迷路。迷路作成プログラム作ってみ。結構奥深いで。
494デフォルトの名無しさん:01/11/30 15:12
>>493
激同。迷路は奥が深い。
折れも昔作ったなぁ。

# 「活字」の関西弁は気持ち悪い(藁
# 一応関西人ですが(私
495デフォルトの名無しさん:01/11/30 15:12
3D迷路とか。
>>494
まぁええがな(w

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

優良スレたてるまで出られないとか。
498デフォルトの名無しさん:01/11/30 15:21
>ヒッキー@プログラミング氏
どんどん挑戦する事が大切!ですね。
>>493氏の提案している迷路なんてどや(藁

# でも騙りも出ずにってすごいなぁ(藁
499458だったもの:01/11/30 16:25
挑戦することが大切か…最近その心意気を忘れてる気がするよ。
俺もここで何かやってみるかな。しかし受験もあるし。

鬱堕詩嚢
>>500get !! (藁
挑戦すること…ですね。
折れも受験だしなぁ。来年、ガンバロ〜っと。
受験を来年頑張れ♥
>>501
受験を来年って浪…(自粛)…じゃん(藁

それはそうと、電子投票ほうが成立したね。
┓(´д`)―y。o(どうなるんだろ?)
http://www.geocities.co.jp/SiliconValley/2530/
↑次うぷしました。変更点は

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

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

>>491
ほおほお。中間コードを吐く方法でよかったですか。
自分で変なこと言ってたらどうしようとか心配してました。
スレ、読んでみます。ありがとうございます。
>>492
了解。Cの方向で。
>>493
やっぱインタプリタは難しいですか…。
迷路でも、ちゃんと完成させるのがムズカシそうだ。
一回、作ってみようと思います。
>>494
いくつもゴールへのルートがあると難しそうですねー。
僕も関西人です。
>>495
3D…がんばれゴエモンみたいなやつですか。
>>496
あー、2chにカキコできるサイズのものだったら面白いですね。
>>497
どういうゲームなんでしょうか(w
最良スレの定義がわからない…
>>498
ういー。どんどん挑戦してみようと思います。
体力が続く限りやります。
>>499
受験生ですかー。たいへんですね。
プログラムはいつでもできるので、まっとうな道を進む事をお勧めします。
僕みたいになると、先が見えないので大変です。
>>500
おぉ、受験生多いなぁ。
やっぱ数学してないと大変です。数学がんばってください。
>>502
電子投票ってどんなんでしょ?
選挙でつかうんでしょうか。
504458そのもの:01/11/30 18:04
これも道の一つだと思ってる自分は、終わってるんでしょうか(藁
しかも受験は受験でも高校受験だったりして。
ってスレとは完全に関係ないのでsage
折角ブロック崩しでやってきたんだから ブロック崩しを他言語でやってみる方が違いが判っていいと思うけどなあ
で、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
言語の違いを学ぶより、アルゴリズムとデータ構造の方が大事だろ。
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と表示するものとかなら簡単でしょ?
そういうとこから始めたらいいよ。
>>507
どうでもいいけど、それってインタプリタじゃなくて電卓って言わない?
>>509
電卓もインタープリタの一部ともいえる
>>509
いちおう構文解析が入る(演算子の優先順位を考慮に入れる必要がある)から
単なる電卓とは違うけど、そこから言語処理系への道はかなり遠いよな。
512一応プロ:01/12/01 19:02
>>511
再帰下降解析すれば、そう遠くないよ。

言語処理系として難しいのは最適化あたりじゃないか?
あと、エラー処理かな。エラーが起きたら中断するだけなら簡単だけど。
最適化まではやったことないから知らんけど。

中間コードを生成して、それを解釈実行するところまではそう難しくないって。
そこまでは別に難しいアルゴリズムなんてないし。
513374: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

重複する処理は書いてはいけない、修正や変更が大変になります。
ちょっとづつ値が違うような処理は変数をうまく使えばひとつにまとめられます。
似たような構文が続くものは必ずうまく書く方法があるのでそこに注意してみてください。

あと、実行させると自機が自動で左に移動します。
カーソルきかないっす。仕様ですか(笑。
>>504
挑戦する事を忘れるのはまだ早いですよ(藁
高校受験ですかー。たいへんですね…。
その頃、今まで生きてきた中で一番勉強してた時期のような気がします。
吸収が良い時期なので、なんでも勉強した方がいいかもしれませんね。
>>505
Delphiは…VBと同じような位置付けに感じるので、やっぱやめとこうかと
思っています。他のOSでもDelphiが使えたら考えるかも。
あ、パスカル言語という風に考えたら検索したら見つかるかもしれないですね。
>>506
はい。アルゴリズムを覚える方をかんばります。
>>507-508
おぉ、ありがとうございます。
見せて頂けるなら欲しいです。
いきなりインタープリタと考えると難しいけど、一個一個解決して
いけばいいんですね。
>>511
うーん、やっぱインタープリタの道は険しいのか…
>>512
最適化って、どの変数にレジスタを割り振るかとか、
ややこしそうな処理のことでしょうか…。
>>中間コードを生成して、それを解釈実行するところまではそう難しくないって。
ほおほお。なんか安心しました(w
>>513
おー、具体的な例を挙げて、教えてくださってありがとうございます。
たしかに重複する箇所が多かったと思います。
RECTのところ、おっしゃる通りに変更してみたら、読みやすくなりました。
他の所も修正しようと思います。
あ、あとForm_initializeのところ、書き直したらいけました。
なぜか前にやったときはうまく逝かなかったんだけどなぁ…うーん。
あー、そういえば左に動くのは、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のコードは中間コード生成してないから。
>>516
> ファイルへの直接リンク(アップローダのページからクリックすれば、見れます)
と言われて拾えないんだけど。2:00 以降になれば OK?

>>512
> 再帰下降解析すれば、そう遠くないよ。
ま、数式の解析から言語処理系への過程が遠いか遠くないかは、実物を見て本人
が判断すりゃ良いやね。(俺は遠いと思うけど)

前に勉強がてら書いた Pascal ライクな処理系のコード置いときます。中間コードの
生成と、コンパイル時に 1 + 1 を事前に 2 と置き換える程度の簡単な最適化が入っ
てます。
http://members.tripod.co.jp/lambda_func/pc.zip

#TRY - CATCH とかはお遊びで書いてるので、真似しないようにね。
519374: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は一番
いらない存在だな。

こんな時間に起きてる俺もいらないな。
今日は一日中寝ていました。

>>516
どもども。いただきました。
これから拝見させていただきます。
>>518
おー、すんませんです。
いただきました。参考にさせていただきます。
>>1 + 1 を事前に 2 と置き換える
あー、定数の演算の場合、すでに計算しておくっていう方法もあるんですね。
>>519
ありがとうございます。嬉しいです。
あんまり誉められると頭に乗ってしまいます…。
>>あと、インタプリタやらなにやら話があがっていますが、
>>あなたの好きなところからプログラムをやっていくことがいいと思います。
了解しました。
インタープリタは、HSPを知ったときに、ちょっと作ってみたいなぁと
感じていたので、興味はあります。
とりあえず今はもうちょっと簡単な事からやってみようかと…。
APIでウインドウを作って、メモ帳のようなものでも作ろうと思います。
>>520
おー、ハタチなんですか?すごいですね…。
僕もいつか追いつきたいと思います。
>>521
ありがとうございます。
引きこもってると楽なので、勉強がしやすいです。
なぜか学校逝ってる時は勉強の時間に勉強しないんだけど…(藁
社会に出ると、できるかどうかわかりません。
精神的に追い詰められやすい性格なので…。
>>522
いやいや、いらないと思うよりは、できると仮定して
能力を伸ばしていく事の方が大事じゃないですか?
いらないと決めて、いらない人間になってしまったら
本当に社会にとって良くないと思います。
どのような人であれ、同じような量の食事やらをするわけですから。
マジレススマソ。
524522@就職活動中:01/12/02 23:52
確かに僻んでる。羨ましいもん。
でもなーんにもしてない、ってわけじゃないよん。
つーか激しく板違いなので消えます。
恐らくblock28.zipが最新版だと思うのですが、
3面から出てくる金のブロックを壊した時に、画面の左上の隅に毎回黄色のブロックが出現します。
ソースを見てないけど自分の推測では恐らく金のブロックは2回当てると壊せるブロックで、
1回当てると黄色のブロックに変化させるつもりが、位置を設定してないため毎回(0,0)の
位置に誤って出現しているのだと思います。
通常じゃ配置されそうにない位置に出現するのと、他のブロックと画像が重なることがあることからそう判断しました。

けどバグじゃなくても直してほしいです。このブロックのせいで4面がいつまでたってもクリアできない…

あとバーが左端にあった時だったと思いますが、真横からボールが当たった時バーが少し壁にめり込みました。
しかしこれは別にゲームに支障がないのでバグとはいえないかな?

あと非常に面白いです。コンボで一気に点が入るところが。
526505:01/12/03 12:48
>>514
>Delphiは…VBと同じような位置付けに感じるので、やっぱやめとこうかと
>思っています。他のOSでもDelphiが使えたら考えるかも

 同じといえば同じだけど・・・・・まあいいか・・・
もしC++で躓くようならDelphiを経由するといいよって感じでね
んー、どの言語でも最終的に機械語として実行されるのと同じぐらい
どのWindowsアプリも最終的にAPI呼び出しで実行されるんだから、
CでAPIを叩くのはいい勉強になると思う。
API呼び出しだけでプログラミングするとなるとDelphiよりCのほうが素直
だと思うし。
そのあとC++にいくかDelphiにいくかVBに戻るかVB.netに行っちゃうかは
趣味の問題だと思うけど。
>>527
API呼び出しってのが 猫でものように、SDKレベルのメッセージループを直に書く
ことだとするならDelphiでも素直に書けるよ。

ただし、Cの方がオフィシャルな参考書があるという事が大きいね
 Cの文法も判らないと勉強出来ない。だから必須という事なら賛成するよ。

個人的には VB->C->Delphi->Java->C++の順に学ぶのが王道だと思ってるんだけどね
>>528
A、B、Cの順番を踏襲したからなぁ。
530クロスボウとやら:01/12/03 17:33
おいら的には
VB->Delphi->C->Java->C++
が良いと思われ。
>>528
Delphiは余計
すすめるのは結構だがRADとそうでないので区別した方がいいと思うが。
漏れはVB->C++でいいと思う。
っていうか、移る前にVB使いこなせっつーの。
VBでDirectX。これが通の頼み方。
>>531 そうか? 俺は色々な面で勉強になったよ。
 今でも自作ツール作る時はDelphiだ。
http://www.geocities.co.jp/SiliconValley/2530/
↑次UPしました。変更点は

・ボールを3つ同時に出せるように変更
・ボールを全て回収したらステージクリア

です。最後に回収しないといけないようにしました。

>>524
がんばっていらっしゃるなら、前向きになられる事をお勧めします。
後ろ向いて勉強したら自分にとって負担になると思います。

>>525
どうもすみません…変な位置にブロックが移動する現象、直しました。
バーの横からボールに当たったとき、ちょっと動いてしまうような
ソースを書いているのですが、自分でもちょっと変だと思っています…。
直そうかな。
>あと非常に面白いです。コンボで一気に点が入るところが
ありがとうございます。
お褒めの言葉を頂くと、何より励みになります。
>>526
ちょっとC++は敷居が高くて困っていました…。
うーん、Delphiも触ってみようかな。

>>527
そうですねー。CからAPIを呼び出すほうが簡単に感じます。
Delphiは触った事ないけど…。

>>528
あ、Delphiでも素直に書けるんですね。
だんだん揺らいできた(w

>>529
どういうことでしょう?

>>530
ほおほお。やっぱそういう順路もありなんですね。

>>532
ごめんなさい…。
VBでDirectXですかー。うーん、DirectX使うんだったら
なんとなくC覚えたいなぁ。

>>533
ツールを作るときのような手軽さはやっぱC++にはなさそうですね…。
>>1
早速、やってみたよ。バグじゃないけど報告
ゲームバランスの調整になるかもしれないが
玉が3つゲーム画面上にあると極端に自機の動きが重くなり
玉のスピードについていけない感じがします。
>>536
ご報告ありがとうございます。
ウチの環境では遅くならないのでわかりませんでした…。
やっぱ知恵を使わないとだんだん重くなりますよね。
ソースを見直します。
29やってみました。
ボールが同時に出るようになったんですね。素晴らしい。
個人的にはボール同士が衝突してほしいです。

Delphi Personalは無料ですし試してみるといいかもしれません。
もう買われてしまったVCがかわいそう(´Д`;)
540一応プロ:01/12/03 23:55
背景を縦スクロールさせたり
ブロックが動いたり
ブロックからミサイルが飛んできたり


このままシューティングにシフトしていったら面白いシューティングができるかも。
>>535
> VBでDirectXですかー。うーん、DirectX使うんだったら
> なんとなくC覚えたいなぁ。
マジレス

DirectX 使うなら C ではなく C++。DirectX は COM コンポーネントとして提供
されてるから C++ 使わないと記法が鬱陶しい(設計をオブジェクト指向でやる
必要はないけどさ)。
542374:01/12/04 00:29
おおっ、ボール3つ同時は面白い。
でも、そのおかげでオヂサンには、
1面すらクリアできなくなりました。(最高2面。鬱...

ブロック壊すとアイテムが落ちてくるなんてのは面白いかもね。
1アップとかボールが下でも跳ね返る(落ちなくなる)ようになるとか
>>538
ボーランドのソフト、無償でいろいろ提供されてますね。ビクーリ。
ボールの衝突ですかー。書いてみようと思います。

>>539
実はVisualStudioを買ってしまいました(藁

>>540
スクロールしたら見た目が大幅に変わりそうでいいですねー。
ブロックからミサイル…完全にシューティング化ですね(w

>>541
ほおほお。やっぱC++ですね。
オブジェクト作るときのnewとかどうやってCで書くのかわからない…。
うーん、勉強します。

>>542
僕もクリアできなくなりました…。
アイテム出てくるともっと良くなりそうですね。
まだまだ改良の余地がありそう。
今回のバージョンってブロック壊した後にボール受け止めなくちゃいけないんだね。
次の面に行った瞬間死んじゃったりしたよ。キツイなぁ。これって前のままじゃだめなの?

あとボールが3つに増えると自機が遅くなるバグだけど、
ウチの環境ではマウスで動かしているとそうなったよ。キーボードだと普通に遊べる。

あとアイテムのことだけど、ブロック崩しはもともとバランスのいいゲームだと思うから出し過ぎは危険だと思うよ。
棒が長くなったりボールが分裂したりはいいけど(むしろちょっと歓迎)、間違ってもミサイルでブロックを壊せるなんてものは登場してほしくないなぁ。

最後に口調がちょっと生意気気味ですいません。
545一応プロ:01/12/04 01:58
>>544
>あとアイテムのことだけど、ブロック崩しはもともとバランスのいいゲームだと思うから出し過ぎは危険だと思うよ。

その考え方のほうが危険じゃないか?発想力が乏しくなりそう。
個人の好みだけど、そういう考え方は好きではないな。

「ブロック崩しはこういうもの」とかいう定義は勉強中のプログラマにはして欲しくないな。
それはゲームを"するだけの人間"に任せておけばいいだろう。

仮に「ミサイルでブロックを壊す」という機能を実装して、ゲーム性が損なわれたとしたら、
それを補うアイデアを考えればよい。時間は十分にあるんだから。

趣味でやってるんだから、気に入ったアイデアがあったらとりあえず実装してみれ。
>>545
それはそうなんですけどね。
ただ今回のバージョンアップ版をやってみてゲームバランスが崩れかかってるかなと思ったんですよ。
前のバージョンの方がよかったなって。
なんか今回のバージョンになってブロック崩し本来の面白さが欠けたような気がする。(そうはいってもボール分裂は見たい…)
けどミサイルなんて物はブロック崩し本来の面白さを完全にぶち壊してしまうような気がする。

そして一度その方向に進んでしまうと、もう二度と本来の面白さを生かすような方向には転換しない気がする。
まぁそれを1さんが見事に面白くしてくれればいうことなしなんだけど。
1のスキルアップの為に作ってるんだから、今はゲーム性よりもプログラム的な
発展を評価すべきだよ。
ちなみにボールを増やすのを指示したのは俺だけど、1の今の技量でいきなりアイ
テムを出すのはキツいと思ったから暫定的に今のシステムを提案しただけだよ。
もしこの先アイテムを出すとして、ボールが分裂するアイテムが出たとしても、
今の状態からなら新しいボール発生の条件を変えるだけで済むし。

今のシステムを生かすなら、得点システムを変えてコンボボーナスを無くして
変わりに飛ばしてるボールの数によって2倍、4倍の点が入るようにするのが
いいかな。あとは、ボールが2個以上飛んでる場合は右クリックしながら受けると
キャッチできるとか。

ミサイルでブロックを破壊はブロック崩しとしては常識外れだけど、それでも闇雲
に否定するのもどうかと思うよ。例えば、ミサイルで攻撃する対象はブロックでは
なくてボールにして、ボールの動きに干渉できるようにするとか、いくらでも考え
ようはあるかと。
548528:01/12/04 08:52
>>531
「習うより慣れろ」  これ大抵の技術の一番の習得方法

そりゃ横に誰かいて手取り足取り教えてくれるなら別だけど、
独習なら手軽に試せて結果も満足いくDelphiを 間に挟むのは良い事だと思うよ
Delphi勧める人多いですね。
better VBって感じですか?
いや、Delphiだと無料だから 他のヒッキーも参加し易いんだろ
551デフォルトの名無しさん:01/12/04 13:50
マウスのホイール対応キボンヌ
やっぱブロック崩しはローラーでそうさせねば。
ここのスレだと、「Delphi=楽、C++=キツい」みたいな話が多いけど、C++だって
BCBがあるのをお忘れずに。DirectXまで考えるとBorland製品は絶対に奨められ
ないが。

ただ、RAD環境ってのは、ツールみたいな標準GUI主体のソフトには便利だが、
リアルタイムゲームみたいなプログラムにはほとんど何も助けにならないよ。

それと1よ、みんなの意見を取り入れるのはいいが、自分で思いついたアイディア
も積極的に入れていった方がいいと思うよ。実装は難しそうでもここに書いてくれ
れば、実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。
>>552
俺も DirectX 使う場合には、RAD はそれほど「便利」ではないと思うけどね。

DirectX プログラミングは GDI に比べると、ちと難易度が上がる。たとえば GDI だと
バックバッファへの描画は BitBlt() を呼び出せばいいだけだが、DirectX だとこれが
タイミングによっては「失敗」することを考慮する必要がある。

#GDIでも BitBlt() が失敗する可能性はあるんだが、殆どの場合は気にしなくて大
#丈夫。

たとえば DirectDraw を使う場合、IDirectDraw7, IDirectDrawSurface7 関連のメソッド
は、すべて

1. 失敗したら
2. 再描画 (RestoreAllSurfaces()) もしくは IDirectDraw7 の再初期化
3. 失敗した処理のやり直し

ってロジックを埋めておく必要がある。

今のブロック崩しのコードのようにベタにコード中に処理を記述する形式だと確実に破
綻するので、処理を同期的に行わず一旦キューにため、エラー発生を前提にキューに
ある処理を順次処理、みたいな一段高度なアーキテクチャを要求されるよ。(DirectX
は初期化だけでも、最初は面倒だろうし)
>>553
> 2. 再描画 (RestoreAllSurfaces()) もしくは IDirectDraw7 の再初期化
じゃなくて
2. サーフェイスの復元 (RestoreAllSurfaces()) もしくはIDirectDraw7 の最初期化
 +再描画
だな。
>>552
 BCBはあれはコンパイルが遅いから  変更即RUNで試すというサイクルで出来ない。

RADでもDelphiの場合は自分でコンポを容易に作れるから 画面作りの効率化
はもちろん、キャラの設定なんかもキャラをコンポ化すればRAD環境で可能
必要なら、スクリプトをプロパティに設定し設計時からキャラを動き回ったりさせることだって出来る

そういうふうにコンポーネント化してゆく事でどんどん効率的になってゆく体験は大事だと思う。
>>555
それはコードを書く側の問題。
VBでもCでもC++でもコードの再利用をしやすいように組む事はできる。

っていうか話し聞いてると、Delphiに浸ってたら脱初心者は無理のような気がしてくる。
もっとプログラミングそのものに浸ってから最後にDelphiでいいと思われ。

とりあえず、プログラミング入門編としてのRAD系は卒業した方がいいのでは?
>>552

>それと1よ、みんなの意見を取り入れるのはいいが、
>自分で思いついたアイディアも積極的に入れていった方がいいと思うよ。
>実装は難しそうでもここに書いてくれれば、
>実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。

552さんの提案は、非常に有益だと考えます。
プログラム学習者にとってもこのスレがこういう方向に
進むことを期待します。
558555:01/12/04 15:52

 VBでも Cでも 確かに再利用し易いように組む事は出来る。
 でも、それは独習で身につくのだろうか?
 指導者がついているか、適性があり経験を重ねて身につくものだと思う

言い切っちゃうとさ、管理者居なくて独習で経験を重ねてるだけじゃ VB/Cだと悪い癖しか付かないよ
 それは実際の現場見りゃ判るでしょ? 経験xx年のプログラマの作るコードがどんなものかさ

なお、Delphiでコンポを作る場面はRADじゃない。
でもその作業がスグにRADに反映してゆくから、 少しの苦労で見入りが大きい。
そういう点から学習効率がいいと思うんだ。

まあ本人の問題だから本人が決めればいいことだけどさ
>>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
そういえば、このグロック崩しで
効果音がなった時、一瞬だけ描画が止まるというか
カクッとなるの、俺だけ?
斜めに傾いたブロックってどうよ? /
反射のバリエーションが増えるよ。名付けてリフレクターブロック(でいいのかな?)!

あと自機を \__/ の形にするってのはどうよ。傾く角度も変わったりして。
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

はぁ、疲れた、
>>563
どうやってプレイしろと・・・。
>>562
そもそも「ブロック」であることに拘らなくてもいいのでは?
#でもそうすると「ブロック」崩しではなくなるか(w

あと、時機も「パドル」であることに拘らなくてもいいのでは?

などなどと、考えていると面白いアイデアも出てくるのでは?

例えば…

・ブロックでなくてインベーダーだとか
・時機はパドルでなくてバット(昔の野球盤風)

なんてのは?面ごとにそんな趣向を凝らしても面白いかもね。
>>544
なんか面クリアと見せかけてゲームオーバーになったりしますね…。書き直します。
前のままにすると、なんか足らない気がして、最後に受けた方がいいかなぁと。
ウチでも、マウスで動かすと遅くなりました…。気付かなかった。鬱氏
ミサイルで壊すっていうのは結構いろんなブロック崩しで出てきますねー。
僕もちょっと違和感を感じます。アイテムは何かしら出したいとは思っています。

>>545
そうですね。そういう考え方もできるのか…。ご意見ありがとうございます。
なんか、人の意見を尊重しようとするあまり、自分の意思が欠けてたような
気がします。

>>546
やっぱゲームっていうジャンル上、プログラムの実装の仕方なんて、
ユーザには何も関係ないですもんね…。
面白いものを目指す事を忘れないようにしたいです。

>>547
おー、ボールの分裂の意見をくださったかたですか。
同時に飛んでいるボールの数によって点を変えるようにしたほうが
良いかもしれないですね。必然的にユーザは
ボールをいくつも出す→危険な事に挑戦するという感じで、
面白さに繋がるかもしれませんね。
ミサイルにボールが当たると動きが変わるというシステムは斬新ですねー。
参考にさせていただきます。
背景に裸の女の子
>>548
手軽に試せるという風に考えると、C++に逝くよりはDelphiの方が
よさそうですね。ついでに無料みたいだし…惹かれてみたり

>>549
うーん、そうなんですかね?どうなんでしょう。
やっぱお勧めになるという事は、それなりのワケがあるんだと思います。

>>550
そういう事だったのか(藁

>>551
あー、そういえばホイールついてましたね。
関係ないけど、目の付け所がシャープですね。

>>552
やっぱウインドウ作ったりボタン作ったりってゲームにはあまり
関係ない要素ですよね。作り始めてやっと気付きましたが(w
>>実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。
ありがとうございます。
僕も何か考えて、まずここで発表してから実装に移ろうかと思います。
>>553
>>DirectX だとこれがタイミングによっては「失敗」することを考慮する必要がある。
なんかむずかしそうだ…。
キューに処理を貯めて、それを実行するって複雑そうですねー。
何の機能も無い、キューの構造を作るだけでひぃひぃ言いそうなんですが(藁

>>554
サーフェイスって、メモリ上のビットマップのことでしょうか?

>>555
コンパイルする時間ってなんかドキドキします。
たいがい、凡ミスエラーだらけなんですが…。
うーん、なんかプログラムを楽しんでできそうですねー。Delphi。

>>556
いつまでもヌルい環境に浸っていたらダメかもしれないですね。
最初、ウインドウをAPIで作ったとき、驚愕しました。

>>557
僕にとっても非常にありがたいです(藁

>>558
再利用しやすいコードって、非常に難しいです。
汎用的に書いてるつもりでも、実は他のプログラムにコピペしたら
穴だらけみたいなソースをいつも書いています…。
※なんか、全てのパターンを満たすほど意見があって、自分で取捨選択
 するのが難しいんですが…。

>>559
おー、本で勉強すれば自分でもスバラシいコードが書けるように
なるもんですか。本の名前まで挙げていただいて、ありがとうございます。

>>560
思いついたら書こうと思います。

>>561
APIの呼び出し方が間違っているのか、ウチでも、ノートPCでやると
カクカクします…。

>>562
プログラム的に非常に勉強になりそうですねー。
やってみたいけれど、ちょっとまだ難しいかも…。勉強します。
>>563
何の機種用のBASICなんでしょうか(藁
BEEP 1ってどっかで見たような…

>>564
PC98をおもむろに起動するとか…

>>565
自機がバットって…ワラタ。
殻をぶち破る勢いのある発想ですねー。参考になります。

>>567
そうしたいと思ってはいるんですよ。
>>565
つーか、そもそもインベーダーゲームってのはそういう発想で生まれたはず。
572デフォルトの名無しさん:01/12/05 06:43
ちょいとシツモンです。
Javaってよくオワッテル言語と聞くのですが
皆さんはなぜ勧めるの?
>>572
オワッテル人たちが言っているに過ぎないため。
死に絶えそうな言語にこそ、新しい血が必要なのです。
メンバー集めないと廃部になるJava倶楽部。
575:デフォルトの名無しさん :01/12/05 07:33
これはすげぇよ。初レスだが、すげぇよ。
徐々に成長していって、面白かったよ。
これからも頑張れよ。まじで
Javaは結局、Sunがトドメを刺してしまった気がする。
577名無し:01/12/05 10:37
>>574
Java倶楽部が廃部になったら、どこ行きます?
>>572
自分だけ被害者になるのが嫌なので
初心者も巻き添えにしてやろうってことです。
579572:01/12/05 23:15
うへ・・・・
Javaをたたくのが流行だからです。
>>577
今までずっと囲碁をやって来て、囲碁部がつぶれたから、
じゃあ将棋部へなんて無理だろ
って、俺は574じゃないが
>>581
だから、ずっと囲碁やってて囲碁部がつぶれたらどこ行くの?
583572:01/12/05 23:27
やべ・・・・
喧嘩はしないで―
>>582
全国行脚に出る
>>582
ネット囲碁。
JAVAプログラマは諸国漫遊ですか?
かくさんと
すけさんを
わすれずにね
Javaトークで盛り上がってますね(藁

>>571
そうなんですか?ほおほお。

>>575
ういー。がんばります。
仕事なら来る仕事の勉強をすればよい
趣味ならその時好きなことをすればよい

趣味は酔狂なほどたのしい
590589:01/12/05 23:42
だから初心者には N88BASIC を勧めてる
>>589
伊達や酔狂も程々にな。
592 :01/12/06 00:22
ハイスコアキボン
CとC++の違いを誰か語ってください。
というか今主流の言語を語れる人って居るのかな。
このスレならゲームに使われてるものか・・・・
実際このゲームはこうで・・・・とか。

ハーフライフとかKohanて奴がModに対応してるとか聞いたんですが。
そのModってなんなんですか?
3D系ならともかくKohanてゲームはリアルタイムストラテジーなんですが
何となくは解るんですが、実際Mod作ったりしてるプログラマって
いるんですかね?日本に。
CSとかとてもアマチュアが作ったとは思えない出来なんだけれど。
>>593
スレ違い。googleでも行くがよろし。
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 にチョト感動した。
ガムバレ
>>595
妙にDelphiびいきだなぁ(笑
漏れは別にSTL依存は全く問題無いと思うけど。むしろSTLを使いこなせたら
ちょっと尊敬しちゃう。漏れはコンテナクラスくらいしか使う気しない。

Direct3D使うようになると、DelphiどころかVC++/IC++以外のコンパイラは
たとえC/C++であっても却下なんだよなぁ。
Borlandもさっさと妥協してオブジェクトファイルのフォーマットをMSに合わ
せれば良いのだが。
>>597
> Direct3D使うようになると、DelphiどころかVC++/IC++以外のコンパイラは
> たとえC/C++であっても却下なんだよなぁ。
なんで? 詳細キボンヌ
Delphiびいきの人って多いよね。
言語というより一つの処理系にすぎないと思うんだけど。
初心者がコンポーネントを再利用しまくりで開発するクセがついたらどうするの?

っていうか、VBにもユーザコントロールって無かった?
確かにDephiの場合は コンポーネント検索病にかかるな
 そこで成長が止まるか コンポ自作側に回るかが分岐点かもな

UserControl はActiveXを手軽に作れるのがメリットで、便利とは
思うけど、あくまでもコントロール。

コンポーネントはコントロールも作れるけど、クラスの一種。
コンポーネントにしたからといってオーバーヘッドはクラス化と同じ
程度。(実行時型情報を動的に使えば多少のオーバヘッドは出るけど)

またコンポーネントを作る事でクラス作成の訓練にもなるのがイイ感じ
602 :01/12/06 16:07
>>601
それってC++でも一緒じゃないの?
参考書片手に勉強すればいい話かと。
結局本人次第としか言いようがない・・・。
C++ってそんなに敷居が高いかな。
C++は簡単だよね。
問題はまあ クラス設計とかが難しいって話かもしれないけど
趣味で作るなら 何回か作れば最適なのが見つかるし。
ガイシュツ?
>>1 =ヒッキー@プログラミング
例のブロック崩しですが(この話題ってもうおわったの?)、
ブロックをすべて崩した後に、ボールをキャッチせず、残りのボールを0にすると
「ゲームクリア」となるのはいいのですか?
しかもその後面が変わって即「ゲームオーバー」となってしまう。
ださい と思うんやけど。
ソース見てくるわ
# VBは経験ないので、直感で読みます(藁

# C言語を勉強中http://www.kumei.ne.jp/c_lang/で
# ポインタってのがよく分からないのが、つらい。
>>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してたら、ファイルだらけになるのではないかと
思い、ちょっと戸惑ってました。
http://www.geocities.co.jp/SiliconValley/2530/
↑次UPしました。変更点は、

・ブロック全て破壊後にボールを落としても、StageClearとなる現象の修正

です。
608597:01/12/07 01:33
>>598
MicrosoftとBorlandではオブジェクトファイルに互換性が無いんだけど、
(昔はあったらしいがMSが仕様変更したときにBorlandがついてこなかったとか)
dllならimplib使ってBorland用のlibを作れるからDirectXでもあまり問題
無いんだけど、Direct3Dは重要なライブラリがスタティックライブラリで
提供されてて、それはdllじゃないからBorlandのコンパイラでは利用不可能。

DirectX7の頃はそれほど重要でもなかったんだけど、X8になったらシェーダー
のコンパイル関数とかがスタティックライブラリの方に入ってて死亡。
一応、NVIDIAのNVASM使ってコンパイルできなくも無いけど、試行錯誤するのに
毎回コンパイルしなきゃいけないのは面倒かと。

事実上、DirectX8でBorlandコンパイラには死刑宣告されたようなもんだ。
つーかCOM使ってるくせに他言語/他コンパイラから利用できないDirectXの方がオカシイ。
MSの単なる嫌がらせか?
あと、VBやDelphiの得意とする領域とDirectXの分野は明らかに違う。
その点でDirectXが使えない=死刑宣告というのは偏狭。
>>608 それは coff2omf  でも変換出来ないの?
>>609
だからぁ、Direct3DはCOM使ってない部分があるんだって。
COMにしないのは何故だか分からんが。速度的な問題かも。かなりの部分がインライン
関数になってるくらいだし。

>>610
597に「Direct3D使うようになると」って但し書きしてるから、そこも見てから言っ
てくれ。

>>611
coff2omfでも駄目みたい。
ただ、検索したらボーランド用のライブラリを公開してる人がいたよ。
どんなのか見たら、Direct3DXの関数を全部エクスポートしたdll作って、
それを利用するみたい。
俺もソースの無いdllとかを改良するときに同じ事してるけど、これなら
呼び出しコストが少し増えるだけで利用できるわな。
613598:01/12/07 13:34
じゃあ「VC++/IC++以外の」というよりも「Borlandの」コンパイラは全滅なわけね。
gcc(mingw)とかlcc-winとかはどうなのかな。
オブジェクトがCOFFのものなら問題ないと思われ
615傍観者:01/12/07 18:04
ねぇ、そのへんの議論は他でやらない??
ここは1の成長を見守るスレなんだから。
>>615
やるとしたら、このあたりか?

鬱だ氏のう DirectX 2
http://pc.2ch.net/test/read.cgi/tech/997101556/
それもそうだ、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」という角度にはなにか意味があるのでしょうか?
もしよろしければ教えてください。
>>608
スタティックライブラリって、コンパイラが変わると
使えなくなるんでしょうか?

>>615
実はこういう話題も、僕にはまだちょっと難しいですが
興味があるので、調べながら読ませてもらっています(藁

>>616-617
どもども。お気遣い、ありがとうございます。

>>618
>「CBall.vx > 0」というのは右に向かっている状態…
はい、右に進む場合は座標がだんだん正の方に増えていくので、
そのように書きました。
>「25」「20」「65」「70」という角度にはなにか意味が…
あまり意味はないのですが(w 、ただ、15度以下になったり、
75度以上にならないようにしようかと思いまして。
急角度になりすぎると、角度を修正する事ばかりにとらわれて、
ゲーム性が違うほうに向かってしまうんではないか、
と感じたので、そのようにしました。
http://www.geocities.co.jp/SiliconValley/2530/
↑次UPしました。変更点は

・マウスモードでボールを複数出すと自機が重くなる現象の修正

です。
ソース、1行の修正で済みました…。
もうちょっと注意深く調べるようにします。
621618:01/12/07 22:03
>>619
なるほど、勉強になります。
ありがとうございました。
622598:01/12/07 22:11
>>619
> スタティックライブラリって、コンパイラが変わると
> 使えなくなるんでしょうか?

コンパイラというか、コンパイルしてできるオブジェクトファイルの形式ね。
大体はシステムで共通なんだけど、Borlandだけ他と違ってるということかな。
なんでスタティックライブラリだけかというと、DLLの場合はシステムでロー
ドできる必要があるから、独自のものにはできないので問題が起きないから。
623傍観者:01/12/07 23:35
>>620
おつかれ〜〜、早速見てみます。

>>616-617
サンクスコ。
やっぱいい奴の周りにはいい奴が集まるって事だねヽ(´ー`)ノ
他スレなら『しきるな(゚Д゚)ゴルァ!!』だし。
マウスモードのチェックをはずしてキーボード操作に戻る時や
マウスモードの時に最小化ボタンをクリックしたりデスクトップのアイコンをクリックすると
ボールが発射されてしまいますね。これは直してほしいところです。

ゲーム画面をクリックすると開始、
ゲーム画面の中だけにマウスの移動範囲を制限するというのはどうでしょうか。
そして一時停止するとマウスの移動制限をなくし、
またゲーム画面をクリックするとマウスの移動範囲を制限し、ゲームを開始する。
このようにすればなんとなく解決する気がします。
ただこれにすると一時停止中でしかマウスモード→キーボードの切り替えができませんが。
あとなんとなく左クリックで開始と一時停止、右クリックでボールを増やすという方が一般的な気がします。恐らく。

とりあえずマウスの移動制限の説明のリンクを。
ttp://www.elixir.co.jp/developer/vb/lib/vb_all.htm
みんないろいろ教えたがってるな。
良い人材を見つけたら自分で育てたくなるのがPGってもんだ(謎

>>1は、もうこのゲームのチューニングは十分ではないだろうか?
ここら辺から先は別の人間が進めても良いと思う。
>>1が作ったソースコードをベースに、有志が独自の改造を施してみては?
そして改造したらジオで公開し、ココに報告する。と。

>>1は次は何を作りたいんだ?
C++かCかDelphiか・・・・
>>621
いえいえ、こちらこそソースを読んでいただいて
ありがとうございます。

>>622
そういうことでしたか。
DLLは独自のものにできないんですね。
オブジェクトファイルって、exeになる前の中間ファイルのことですか?
(というか、リンクという作業もよくわかりません(w)

>>623
おー、どうもありがとうございます。

>>624
そうですね。画面外をクリックした時に始まるのは変ですね。
マウスの移動範囲を制限するというのは、ゲームを正しく動かす為には
有効なやり方だと思いますが、手軽さが減るのではないかなぁ
と思います。
リンク先、参考にさせていただきます。どもども。

>>625
僕も止め時が難しいなぁと感じてました(w
でも、ソースを放置するにも、説明が少なすぎるし、
何かまとめになるようなモノを書こうかと思っています。
順番的には、次はテトリスを作ろうかと。

>>626
まだいくつかVBで作ってみようと思います。
他の言語に移るのはもうちょっと勉強してからにします。
(次の候補は一応VCにしました。)
テトリスのあとにはぷよぷよというわけですね(藁

テトリスが一応出来たら、ぷよぷよへの応用も結構できる。
ただ、ブロックの消える判定が違うが。
テトリスよりもぷよぷよの方がコード書いてて面白かったなぁ(ボソ
630622:01/12/08 17:04
>>627
> DLLは独自のものにできないんですね。
今Windowsで使われてるのはPEフォーマットという奴

> オブジェクトファイルって、exeになる前の中間ファイルのことですか?
そう。というかVBも中間ファイルとかいって作ってるはずだが。

> (というか、リンクという作業もよくわかりません(w)
オブジェクトファイル同士(とライブラリ)をくっつけて実行ファイルを作ること
え?この程度で終わりなの?まぁいいが。
次はテトリスって話だけど、少なくともテトリスはブロック崩しより簡単だよ。
ぷよぷよは再帰使うと簡単だけど、VBって再帰使える?
つーか、1よ、今上がっている候補としては、

テトリス
ぷよぷよ
電卓(俺推奨 藁 (1/3)*3が1と表示されるヤツ

だな。
>>4
薬師丸ひろ子まだ〜。
>>628
ぷよぷよは面白そうですねー。
でもぷよぷよ、すごく苦手なんです…連鎖のデバッグができない(w

>>629
ほおほお。そうですかー。
次にやってみたいと思います。

>>630
おー、ご教示ありがとうございます。
リンクという作業がようやく納得できました。

>>631
うーん、テトリスならすぐにできそうなので、
それからブロック崩しの続きを考えようと思います。
再帰ですか。VBはできないような……できるのかな。
ぷよぷよで再帰とはどこで使うのでしょう?
くっついた時の判定でしょうか?

>>632
あー、電卓の存在を忘れるところでした。
インタープリタは書いてみたいですが、もう少し経験を積んでから
やり始めようと思います。

>>633
そろそろ髪の毛1本づつとか送って来たりして(w
再帰はVBで使えます。

削除判定のときじゃない?
簡単な塗りつぶしのアルゴリズムと一緒。
テトリスって確か一度ブロックを回転してみて、ブロックが重なっていたり壁からはみ出ていたら元に戻すっていう方法でやるんですよね。
配列変数で仮想画面を作ってそれで判定する・・・であってますか?

いや、というより本当に聞きたいのはブロックの回転の仕方なんです。


■  →    ■
■■   ■■■

と回転させる時、みなさんはどのようにして回転させていますか?
やはり変数に(2次元配列変数)

 │012
 ┼──
0│000
1│001
2│111

などと形を記録しておいて、回転の度に該当する変数を呼び出しているのでしょうか。
ていうか以前にそこらへんをすべてむりやり計算して回転させようとして無茶苦茶になって挫折したんです。

うーん、上手く説明できない。これでわかるかな?
全パターン用意しておけばいいのでは?
回転の処理が分からないなら、あらかじめ全パターンを配列にいれておくのがよいかと。
計算して回転させるのも「むりやり」じゃなくてフツーだよ。
まぁ、やるなら最初にプログラム内で回転させたパターンを全部生成して、それを
使うのが一番良いと思うが。
そんなことより>>1よ、
VBでDirectX使ってみたら?
たしかDirectX7はVBからでも使えたような・・・。
・・・他の言語に移るタイミングが遅れると
モナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/test/read.cgi/tech/1003113413/

の ( = ゚ ω゚ )  みたいになるぞ・・・
誰も知ってる人おらんのかな・・・
俺も詳しく知らないのでほっとけば誰かの講釈が入るだろうと思って
たんだけれど・・・・

MODで名前あってるか知らないけど、確かCSならHL(ハーフライフ)
持ってればただでゲームできるという代物だったよーな。
つまりHLのプログラムを利用したゲームだって事だと思う。
クォーク(クエイク?)とかアンリアルとかもにたようなモノだと
どこかで読んだ記憶がアリ。なんとかエンジンって言うのかな。
俺はこれくらいしかしりません。
>>1よ、
>>640の言うようになるかどうかはお前次第だ。
別に移行のタイミングなんて関係ないから気にするな。
>>641
modは知ってるけど、googleで検索すればいくらでも解説はあるから無視した。
ただ、音楽の方のmodばかりヒットするから、マイナス検索使わないと面倒だが。
そもそもこのスレに関係ないし。
そうなんですか・・・・
ゲーム作りに興味ありそうなんで、
俺が知ってる事を言ってみただけなんですが
すいませんでした。
現在テトリス作成中であります。
体調悪くて、書き込みできませんでした。

>>635
お、再帰使えますか?実験してみます。
あー、囲まれた領域を塗りつぶすアルゴリズムですか。

>>636
僕も回転の仕方で詰まりました(w
やっぱ回転後の配列を用意したほうがいいのかなぁと。

>>637
そうなんですよね。

>>638
うむぅ。そうしてみようかと思います。

>>639
DirectXをVBから使う方法を解説した本が一応手元にあるんですが、
GDIを使って処理する方が勉強になるかと思いまして。

>>640
読んでみようと思います…

>>641
あー、そういえばグラフィックを入れ替えるデータを
配布している方がいらっしゃいますね。
あれって、自分でデータを解析されているんでしょうか。

>>642
どもです。気楽に逝こうと思います。

>>643
お、回転のパターンが載ってますね。
じっくり見てみます。

>>644
やっぱ有名なんですね。

>>645
おかげ様で、また新たな単語を知る事ができました。
興味があるので、検索してみようと思います。
http://www.geocities.co.jp/SiliconValley/2530/tetris1.zip
↑テトリス、未完成ですがUPしてみました。
 今の所、端に埋まったりします…

>>647
お、このスレ1番上に出てきますねー。感動。

生き返ったのでage
649デフォルトの名無しさん:01/12/12 17:19
>>648 遊んでみました。イイ!
いちばん上までブロックが積もっても、ゲームオーバにならない・・・。
ランタイムエラーとやらが出て、終了してしまいます。
俺のテトリスからコピペ。プレゼント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
};
>>648
(・∀・)イイ!!VBはよくわからんが、とりあえず指摘。
>>649さんのに加えて、回転する時の軸が変(つーか普通のと違う)から、ちょっと違和感あり。
回転のほうは、壁にめり込む場合は回転できないようにするのかな??
あまり役に立てなくてスマソ。
1、頑張れよ〜〜
651さんの普通が何か分からないけど、
回転法則自体は>>643の仕様どおりになってると思う。
(壁にめり込むのは別として)

市販されてるテトリスは回転法則がソフトによってまちまちです。
例えばこの辺を参照
ttp://www.din.or.jp/~koryan/t_r01.htm
テトリスと言えば、漏れはやはりセガのアーケード版だな。
同時期に出た各社のテトリス(アーケードでも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使うね。
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
(´-`).。oO(なんでみんな既存のゲームに似せようとするんだろ...)
>>657
ブロック崩し、テトリス、パックマン、リバーシ(オセロ)、ぷよぷよ、インベーダー……
このあたりはゲームプログラミング初心者に最適な題材だからだ。

ゲーム会社の研修の課題にも使われるぞ(マジで)。
テトリス、プレイさせて頂きました。
操作レスポンス非常に良好ですが、落としたブロックが固まる前に
次のブロックを回転させようとして大変な状態になること多数。
下キーで落とした時にはすぐに固まって次に行って良いかと思いました。
あと、揃えた列が消える時に画像効果が欲しいですね。

それと、この際タイトルに
「貴様ら! 落ちてくるブロック揃えて消してください」なんてどうかと。
660 :01/12/13 15:42
シンプルに、
『貴様ら!ブロックをそろえてください』でいいんじゃない?
ストレートに
貴様ら!テトリス作ったからプレイしてください
でどう?

「貴様ら!ブロック崩し作るので見てください (662)」
               ↓
「貴様ら!ブロック消し作るので見てください (3)」
>>662
>けしって何
の部分が
「こけしって何」に見えた俺は逝ってよし?
>>663
(´-`).。oO(逝かないで・・・)
http://www.geocities.co.jp/SiliconValley/2530/tetris3.zip
↑次UPしました。
 まだ若干ブロックに埋まったりします…

>>656
はは。テトリス終ったら、またブロック崩しの続きを作ろうかと思っています。

>>657
オリジナリティを出すのはまだ早いかと思いまして…

>>658
>ゲーム会社の研修の課題にも使われるぞ
ほおほお、そうなんですか?
もっとやらねば。

>>659
そうですねー。下キー押したときは固まるようにしようと思います。
画面効果、考えてみます。

>>660
採用させていただきました(w

>>663
こけしですかー。最近見てないなぁ…。
http://www.geocities.co.jp/SiliconValley/2530/tetris4.zip
↑次UPしました。一応ちゃんと動くようになりました。

 あとは音を付けたいと思います。
何が何でも罵倒語と丁寧語をスレタイトルに同居させんといかんのだな
電波ども、ドキュソを
670デフォルトの名無しさん:01/12/14 20:17
ああ、努力って報われるのね。
このスレッド見てて、そう思った。
俺も頑張ろう。
>>668
「ら」は尊敬じゃないだろう。
http://www.geocities.co.jp/SiliconValley/2530/tetris5.zip
↑次UPしてみました。

・音の追加
・バランスの調整
・タイトル画面の追加

などしてみました。

>>667
なんとなく、一貫性があった方が良いかと考えまして。
そろそろ、他の名前の付け方考えます…

>>668
ほおほお。貴様!ありがとうございます。

>>669
目撃ドキュソ

>>670
このスレでプログラムの勉強始めてから、がんばるのは
スバラシイ事だと実感しました。

>>671
そうですね…うーん、貴様ドモ!…余計ダメですね。
673デフォルトの名無しさん:01/12/15 03:02
>>672

どのキーでブロックを回転させるの?
スペースキーで回転します。
逆回転は今の所ありません…
675 :01/12/15 03:30
676660:01/12/15 16:41
貴方様ドモ!!で。
貴様方!!
今日は風邪気味で休憩してました。
最近、更新回数が減ったせいか、酸化してくださるかたも
減っていったような…
そろそろブロック崩しの続きでも作ろうと思います。

>>675
うんちを取って、終了してしまいました(藁

>>676
今辞書引いたところ、ドモはラよりも駄目みたいです…

>>677
方…(・∀・)イイ
けど、>>1=ヒッキー@プログラミング は、ム板に立てて正解だったなぁ…
とつくづくおもふ。
臭蚊屁の……

次スレは「貴様方!C言語勉強するので見てください」だな(藁
>>679
クサカベさんって、煽り専門のように見えるのですが
気のせいでしょうか。
この発言に「はつみみです。」っていうレスついたりして(藁

>>680
おー、第2段が(w
さっそくご挨拶に逝きました。

対抗age
体調がすこぶる悪いです。
開発停滞してる間にお客さんが減ってしまった…。

VCにブロック崩しを移植しようと思っているんですが、
どのようにして画像を表示したら良いか模索中です。
STATICでCreateWindowを実行したらいいんでしょうか。
とりあえずいろいろ実験します。
683デフォルトの名無しさん:01/12/17 21:22
がんばる人は、好きです。
>>682
1. メインウィンドウと同じサイズのビットマップを用意しておく(バックバッファ)
2. ゲームではバックバッファにデータを書き込む
3. 一通り書き終わったら、バックバッファをメインウィンドウに BitBlt して貼り付ける。

こんなものでいいと思うが。普通の Windows アプリケーションでは WM_PAINT メッセージに対応して
描画するんだが、ゲームだったら無視して適当なタイミングで BitBlt() しても構わんでしょ。
685たけお:01/12/18 00:07
見てる人は見てる( ̄ー ̄)
http://www.geocities.co.jp/SiliconValley/2530/cblock.html
↑VC編始めました。いろんなところのソースを見ながら書きました。
 ちゃんと動いてないかもしれません…。
 タイマーとかデバイスコンテキストとか破棄されてなかったらごめんなさい。

>>683
ケコーンしましょう。

>>684
今の所、バックバッファは用意しませんでした。
WM_PAINTのところ何も書いてないんですが、いいんでしょうか。
BeginPaint・EndPaintの役割が、まだはっきりつかめてなかったりします(w

>>685
おぉ、ありがとうございます。
見てくださるかたが、もしいらっしゃらなかったらちょっと悲しいです。

※肩こりで頭が痛くて、変な事書いてるかもしれません…。ごめんなさい。
>>VBテトリス
テトリスの上カーソルキー、使う予定がないなら回転をアサインしてほしいなぁ。
そうすると片手で遊べるんだけど(w

>>VCブロック崩し
描画は>>684の方法でOKでしょう。現状のディスプレイDCに直接BitBltだと
そのうちチラツキが気になってくるハズ。
で、画像の表示は今はDDB使ってるけどそのうちDIBを使うことになると思う。
DIBならメモリに直接イメージを描けるからマスクパターンも要らなくなるしね。
WM_PAINTは処理しない場合でもDefWindowProc()が適当に処理してくれるから気にしなくても大丈夫。

BeginPaint()とEndPaint()はWM_PAINT内では
必ず呼ぶということだけとりあえず覚えておけばOK。

とりあえずこんだけ。
>>686
まず *.aps, *.plg, *.opt, *.ncb はソースアーカイブから削除ね。他の環境に持っていっても、役に
立たんから。

ReleaseDC(), DeleteDC() の使い方を間違えてるな。
 CreateCompatibleDC() などで作ったメモリデバイスコンテクストは、DeleteDC() で解放する。
 GetDC() や GetWindowDC() で取得したデバイスコンテクストは ReleaseDC() で解放する。
混同しないよう。

グローバル変数を使いすぎだが、それはともかくグローバル変数の宣言はヘッダにまとめておく。
extern を実装側に書くと、不一致が生じたときに検出できないで、致命的なバグになるぞ。逆に
外に見せる必要が無い関数/変数は static リンケージにして、同一ファイルからのみアクセスで
きるようにしておくのが身のためです。

画面サイズのこととか、エラーチェックしてない点とか、わりとツッコミどころ満載だが、とりあえず気
になったとこだけサクッと書き直してみた。
http://members.tripod.co.jp/lambda_func/cblock01_x.zip
書き直すなよ。
とりあえずCで書くなら.cppじゃなくて.cにしとけ。
>>689
別に、俺が書いたコードをそのまま使えとは言わんよ。サンプルとして参照したければ
すればいいし、したくなきゃ捨てときゃ良いだけ。
692 :01/12/18 15:37
>>689
漏れもそう思って昨日言おうとしたけど、1が読んだら参考になると思ってやめた。
1ならそれをうまく吸収できそうだし。
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 のところがよく分かりませんでした…
>>689
わざわざ労力を使って書き直して頂けるというのは大変嬉しいです。

>>690
.cにしたら問題が出そうな気がしたので.cppにしました。

>>691
いえいえ、捨てるなんてdでもない。

>>692
吸収するべくがんばります。
>>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 される)

みたいな状態が発生してコンパイルに支障が出る可能性がある。
>>695
> > あと、#if defined のところがよく分かりませんでした…
> あれは通称コードガードという技法で、
そういう通称あるの? いや一般的になんと呼ばれてるのか知らんのだけど。
>>694
>>686のソースはまるっきりCだろ、コメント以外は。

>>688のもほぼC。
C++じゃなきゃ通らないのはごく一部、structをtypedefしてないとか参照渡し
とか名無しの引数くらい。
698687:01/12/19 05:37
>上キーで回転できるようにしました。
サンクス。これでお気楽に遊べるようになったよヽ(´ー`)ノ

>描画の時、見える部分を直接いじるとやっぱチラついてくるもんなんですね。
バックバッファを使えば目に見えるBitBltは一回で済むからチラつかなくはなるよ。
あと、CreateDIBSection()で取得したDIBなら普通にBitBltできるよ。
他の方法はちょっとわかんない・・・これしか使ったことないもんで(;´Д`)
まあDIBよりもバックバッファを実装する方が先だな。実装方法はわかる?

>白なら転送しない…みたいに書けばいいんでしょうか。
非パレットでのマスクならそうだね。パレットモードなら0番を描画しないとか。
やろうと思えばアルファプレーンを用意しての半透明描画だって可能。
699 :01/12/19 23:30
ぷよぷよぱくったことあるよ。
画像もぷよぷよ
バグ報告。
ブロックが接地してからの挙動がおかしい。
具体的には、ブロックが接地したあとの猶予時間にブロックを移動させたり
回転させたりすると変な動作をしてる。
これは速度が速くなってくると頻発するようになる。

あと、Lineが100あたりになったとき実行字エラーの'9'(インデックスが有効範囲外)が
発生してプログラムが強制終了。
速度が遅いときにはほとんど問題ないみたいなので多分、高速化のロジックあたりに
問題があるんだと思う。

でもこのバグが解消してもこれ以上はスピードが速すぎてゲームとして
成立しなさそうな気がする。このどうしようもなくなってくる感じは
任天堂の初代のゲームボーイ版を彷彿とさせるものがある(w
701636:01/12/20 02:42
前から思ってたんですけど、
そこらへんのページやVectorにも僕の作ったテトリス、私の作ったテトリス、
俺の作った対戦型テトリスとかいろいろ置いてありますが、テトリスって勝手に作って公開しても別にいいんですか?
シュアウェアとかにしても構わないんですか?(するつもりないけど…)

>>637 >>638 >>646 >>654
教えていただいてありがとうございました。
学校の期末試験期間中現実逃避して書き込んだんで中々レスする機会がありませんでした。
プログラミングをはじめて1〜2ヶ月目の挫折を1年経った今、見事にはらすことができました。
あの時の「VisualBasic6.0評価版」ではなく、ポケットコンピューター「PC-G850S」で。
>>701
テトリスの名前を使うのは商標権の侵害で確実にクロ、
名前を使わなくても、著作権の同一性保持権の侵害でグレーと思われる。
とりあえず、フリーソフトまたはシェアウェアでテトリスを公開していて、
著作権者のThe Tetris Companyに警告されたケースは結構あるらしい。
でも、みんな次から次へと作るから全然追いついてなさそうだ。

ライセンスを正規に獲得したければこの辺か。
ttp://www.tetris.com/corporate/
実際どういう手続きになるのかは知らない。そんな感じ。
703  :01/12/20 03:20
警告きてから、考えよう
704636:01/12/20 03:44
>>702
やっぱり駄目ですか・・・残念
Googleで「自作 テトリス」で検索すると2000以上もの件数が…
これでは全然追いつけそうにないですね。さらに増えていくし…
しかしこの中には犯罪とも何とも思わず作っている人も多いんだろうなぁ。

>>703
ホームページにメールアドレスを書かない主義なので、
警告するときは直接電話がかかってくるんだろうか。それともそのままタイー・・・
その辺よく分からないんですよね。

普通のゲームは、いわゆるクローンは別にクロではないそうですけど、
テトリスの場合は(テトリスカンパニー側は)かなり厳しいですね。

どこまで似てるのはよくてどこからはダメなのか、というのはよくわからんです。
706  :01/12/20 03:52
まあ、テトリスっぽくなければOKでしょう(謎
下から上にブロック発射すればよい。

ブロック崩しゲーとしてはそっちの方がなんとなく正しい気がする。
ばきゅんばきゅんって感じで
実質、テトリスを勝手に作って公開しても問題ないと思う。
テトリスのシステム自体は「アイデア」だから、よほどゲームとしての
類似性がない限り法的にどうこうできないと予想される。
ブロック崩しだって同じでしょ?
709702:01/12/20 05:43
うむ。その辺もあってグレーとした。判例があるわけではないしな。
たぶん裁判になればパックマン事件みたく
映画の著作物云々でウダウダやるのだろうが。
ちと著作権のありかたについて考えさせられる事例ではある。

アイデアとしての落ちものパズルについては
カシオの特許で問題になってたが、その後どうなったのだろう。
商標の問題だけじゃないんだ。
『テトリス』って名前使わなきゃ良いと思ってたよ。
オセロはダメでもリバーシなら可みたいな。

著作権よりも>>709が言うように特許じゃないの?
漏れもC勉強したいけど、コンパイラが……
バイト中。つーか月1k円の小遣いって(藁
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できるよ。
おお、それは便利そうですねー。一回実験してみます。
>>バックバッファを実装する方が先だな。実装方法はわかる?
ん〜、どうでしょうか。できるだけやってみます。
>>アルファプレーンを用意しての半透明描画だって可能。
半透明ですかー。やってみたいなぁ。
半透明の演算って、加算でやるんでしょうか?
>>699
(・∀・)イイ
PC版ぷよぷよから画像抜き出したりしたら面白そうですね。

>>700
ご報告ありがとうございます。

>>ブロックが接地してからの挙動がおかしい。
>>これは速度が速くなってくると頻発するようになる。
速度が速くなるまでやってみました。…たしかにおかしいです。
>>Lineが100あたりになったとき実行字エラーの'9'が発生してプログラムが強制終了。
一度に2マス以上落ちて、配列の要素を超えてしまったんではないかと…
直します。
>>でもこのバグが解消してもこれ以上はスピードが速すぎて…
たしかに。レベル上がるごとに落ちる速度に掛け算してるのがまずかったと思います…。
ゲームボーイ版テトリスで一番長くプレイしたので、影響が出たのかもしれません(藁

>>701
おお、ポケコンですかー。ウチにあるのは5行ほどしか表示できないので、
極端に狭いテトリスしかできません(藁

>>702
テトリスのライセンスのページってあるんですね。
最終的にロシア人の作者にお金が逝くのだろうか。

>>707
発射…(藁
テトリスとは違うゲームが出来上がりそうですね。

>>708
たしかにブロック崩しもタイトーにお金払わなければならんのでは…
という感じがします。商用でなければいいんでしょうか。

>>709
映画とゲームを比較して裁判で争うのっておかしいですよね。
たしかに最近のFFはまさに映画ですが。
(裁判で今後認めさせる為に無理矢理あのようなゲームにしたのでは…)
カシオって、落ち物パズルの特許もってたんですか?

>>710
オセロって日本人が考えたんでしたっけ。

>>711
コンパイラはフリーでありますよ。
ボーランドのTurboC++とかDownloadできるみたいです。
GUIのツール類は無いみたいですが…
>>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
>>714
DDBに比べれば確かに遅いかもしれないけど
最近のマシンなら十分に使い物になる。60fpsくらい全然余裕(解像度にもよると思うけど)。
バリバリに画面描画を行うならDirectXがいいかもしれないけど
たいていはDIB(っていうか、旧WinG)で間に合うと思う。
>>713
お言葉はありがたいけど……
フリーであるんだけどね、通信速度が……WinUpDateで精一杯(藁
ISDN?いやいや、56kbpsしか出ませんよ(泣
通信費か、もしくは……
>>717
Cマガ買え
小遣1k円……
ノート1冊0.1k円……
がんばる!
>>717
とりあえずCの勉強ならLSI-Cの試食版でもやってみれば?
アーカイブで400Kだから全然余裕だろ?
721701: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宣伝ウザい。
かちゅ〜しゃでみると>>721のうごきがおかすぃ、、。
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
P/ECEをやれYO!
OK?
>>728
とりあえず、コンパイラの警告レベルを 4 にしましょう。

if (x = 0)

みたいな、ありがちなバグがいくつも。
731717:01/12/21 20:59
>>713へカーソル合わせると700~713が順不同に表示されるんです。
うちだけですか?
732727:01/12/21 21:02
失礼!!727でした。>>713という番号がおかしいみたい。なぜ?
>>728
うちの環境でVer.3を動かしたところ、
動きがもんの凄いスローで、
右側のスコア欄に恐らく該当する部分の表示が
やばいことになっています。
ひさしぶりに見たらまた盛り上がってたみたいだな。

>>714
確かにDIBはピクセルフォーマット変換が入って画面へのBitBltは遅くなるが、
DDBだとスプライト描画が足を引っ張るから、大抵のゲームでは問題にならな
いよ。DDBで多重スクロールなんてやろうとしたら鬱になるかと。
あと、DIBもデスクトップのピクセルフォーマットと同じフォーマットで作成
すると速くなるよ。それじゃDIBの意味ないんだけどさ。DirectDraw使った方が
速い。
windowsプログラミングってやったこと無いんだけど、
これから勉強しようとするときは、サンプルとか見て
この関数なんな?とか、この型はいったい何者?って思っても
とりあえずこうするもんだ、とかでOKなの?
やってみたいんだけど、WinMainの引数からして意味不明・・・。

スレ違いだったら、すいません。
>>735
とりあえず「プログラミング Windows 第五版」を買って読みましょう。適当にコードを書くと、
動くところまでたどり着かんで死ぬ。
>>735

ttp://www.kumei.ne.jp/c_lang/
こことか見ながら勉強してみ。わからんとこがあったらヘルプ見るか検索。
それでもわからなければどっかで聞いてみる。
そのうち色々とわかるようになる。わからなければプログラミングには
向いていないってことで。
738デフォルトの名無しさん:01/12/22 10:41
>>731-732
バージョンは?ksockのバージョンは?
かちゅをいれなおしてみたら?
それかログを削除 -> 取得しなおすとか
739727:01/12/22 11:33
>>738
レス、サンキュさんです。後者で直らないので入れなおしてみます。
名スレ汚してすまんす……。
740735:01/12/23 00:14
>>736.737
勉強してみることにします。
同じくスレ汚してすいません。
>>734
16→16より24→16のほうが速かったりするらしいけど
742734:01/12/23 06:21
ついでに言うと、ドライバによって全然速度違ったり。
3dlabsのドライバはめちゃくちゃ速いんだか遅いんだかどっちだったか忘れたけど
極端に違った記憶がある。
DIB の利点として挙げられているのは、要するに

 「ピクセルを直接操作できる」

だけど、これってメモリデバイスコンテクストに対して GDI 関数を呼ぶよりも速いからお薦め、
という意味? DDB でもメモリデバイスコンテクストを作って SelectBitmapすれば SetPixel(),
GetPixcel() でピクセル操作自体は可能だよね。
>>743
ピクセル操作に関数呼んでたら遅くなるじゃん…アドレス指定してゴリゴリ出来る
ところがミソなんじゃない?あとはピクセルフォーマット決められるとか。

漏れはメモリ領域取ってStretchDIBitsとか使うけど。パレット付きとか使うとき楽。
上限反転も気にしないで済むし。
745744:01/12/23 23:33
>>744
ぐは,上下反転ね(;´Д`)
746 :01/12/24 00:44
ピクミン操作は、どうよです!
>>744
上下は高さをマイナスにすればいいんだよ。ヘルプにも書いてあったような。

SetPixelはDIBの直接アクセスに比べると遥かに遅いです。
少なくとも100倍は差があるかと。MMXも使えないし。
748744:01/12/24 01:38
>>747
流石にそれは知ってますよ。説明不足だったかな。スマ
個人的にはリソース不足も関係なく使えてウマーなのでStretchDIBitsを使ってます。
DirectDrawSurfaceだと9x系でもリソース消費が少なくて(゚д゚)ウマー
DirectDrawSurfaceってGDI関数使っての描画できないんだっけ?
TrueTypeつかって文字書きたいときなんかどうすんの?
>>750
IDirectDrawSurface7::GetDC() なんかでデバイスコンテクスト拾える。DirectX 8 だとダメだが。
仮に使えないとしてもGDI関数使えないのはDIBもいっしょだから条件は同じ
そろそろ体がやばいです(w

>>729
う〜ん、なんか僕にはなじめそうにない機種なのでやめときます…
あの韓国の携帯ゲーム機がちょっと欲しかったりします。

>>730
してみました。…イパーイ警告でました(w
ありがとうございます。

>>731-732
うーん、なんででしょうか。リンクが多すぎるのかな。

>>733
コードが悪かったのかもしれません…。
直したいと思いますが原因の追求をどうやればいいのか…

>>734
やっぱスプライトの処理でコマゴマとBitbltしたら遅そうですねー。
スト2の地面の描画とか真似しようと思ってもDDBだったら無理なんでしょうか。
DirectXってやっぱ覚えたほうがいいですね。

>>735
僕もWinMainがサパーリわかりませんが、初めてCのコード書いた時の
Mainと同じように把握しています。
>>741
そういうことも、あるんもんなんですね。

>>742
ドライバで差が出てしまうと、どうしようもないですねー。

>>743-744
やっぱGetPixelとかは直接DIBをいじるより遅いんですね。

>>746
ピクミン、やった事ないです…

>>747
マイナスにすればいいですか?ヘルプ見てみます。

>>748-749
(゚д゚)ウマー

>>750-751
ほおほお。後で使えるように覚えておきます。

>>752
DIBの場合って、フォントを描くにはどうしたらいいんでしょう?
>>752
???
DIBはGDI使えるが?
>>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 という感じ。
結局、>>752がDIBセクションを知らなかっただけということじゃないのか?
そうじゃないなら言葉足らず。
VBのソースをひたすらVC用に書き直してたら、
何を書いているのかわからなくなりました…。鬱だ

>>756
詳細なご説明ありがとうございます。
用途によって使い分けるのがいいんですね。
ゲームを作るときにDIBを使う…という意味がはっきりしました。
逆に、絵を数枚だけ表示したい時などはDDBの方がよさそうですね。
>>758
ガンバレ

DIBってデバイスに依存しないビットマップって意味だから,一旦DDBにコピーして
おいてから描画すると高速になる事があって(゚д゚)ウマーだね。面倒くさいけど(w

ま,細かいことはこれから覚えていけばいい事だし,とにかく作ってみて完成させる。
コレが一番。やればやっただけ効果あるし,やる気ある奴は伸びるのも早いよ。
>>758
前のほうでちょっと書いたんだけど、Win3.1の頃にはWinGっていう規格があった。
最後のGっていうのはGameの略。つまりゲームアプリのために作られたもの
なんだけど、それがWin32になってAPIとして取り込まれたものがDIBセクション。
DIBとDIBセクションは一応別物として理解していてくれ。
DIBセクションに関してはCreateDIBSectionで検索すればすぐ出てくる。
http://www.geocities.co.jp/SiliconValley/2530/cblock.html
↑次UPしました(VC)。変更点は

・ブロックの表示&はね返る

です。

>>759
ほおほお。いろいろ作ってみます。
DIBを作ってみて、速度を計ってみようと思います。
>>一旦DDBにコピーして
というのは、DDBにいったんBitBltするんでしょうか?

>>760
あー、そういえばPCを初めて買った時に見た、雑誌の付録で
WinGを使ってるのがありました。
MSDNのCreateDIBSectionのページを見てみます。
ありがとうございます。
ゲーム作るならDDBなんて無視していいと思うけどな。
CreateDIBSectionかDirectDrawの二択。

とりあえず、32bitカラーのCreateDIBSectionがおすすめ。
アライメントとかの問題も気にする必要ないから初心者にも扱いが楽。

CreateDIBSectionで速度的に問題があれば、DirectDrawに手を出してみるのが
いいかと。ただし、IA32についてちゃんと理解していなければ、ちっとも速くな
らないから注意。
>>761
>というのは、DDBにいったんBitBltするんでしょうか?
そうそう。表示デバイスとコンパチブルなビットマップを作ってBltするんだよ。
CreateCompatibleBitmapでMSDN探せば出てくるよ。

書き換えのチラツキ防止策にも使われたりしますが,ゲームじゃあまり使わ
れないから,気にしなくてもいいかも(w
正直ウ○○でそう。(自粛
なぜかネットにつなぐとしたくなるんだよ。
フレッツじゃないし、56kbps(前もこんな人いたような)だからつらい。

まぁ1がんばれ。
765 :01/12/28 14:11
その後 ウ●●はどうなった?
じゃなくて1さん元気?
766あきまさ:01/12/30 20:57
1さんは何処へ逝ってしまったんですか〜?
養生せえ、養生せえ。

元気の出る波動送っときます。
も〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ん…
         も〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ん…
保守age
そろそろ復帰します…。
>養生せえ、養生せえ。
えっ、何かの搬入ですか?
それとも、電源工事?
770デフォルトの名無しさん:02/01/02 19:08
ブロックくずしってさ64kbyteプログラミングに向いてないか?
って思うんだ
>770もっと減らせると思う。やってみれば?
772 :02/01/05 06:26
>>1
あけましておめでてーな。
本年もよろしくお願いいたしやがります。
正月どこにも行かなかった身としては、
書き込みが少ないのが悲しい。

ひまつぶし
    しようと思うが
          カキコ無し
                  圖
数日間、ゲームやってました…放置してスミマセンでした。

>>762
ういー。了解しました。
IA32って、どういうのでしょう?Itaniumの仲間ですか?

>>763
ほおほ。参考になります。
コンパチブルなBITMAPは一応作ることができたのですが、
普通にBITMAPを作ると白黒になってしまうようなのですが、
解決策はあるのでしょうか?
(MSDNの内容がイマイチ読み取れませんでした…)

>>764
漏れもテンション上がるとウ○○がしたくなります…
あとコーヒー飲んだ後。
がんばります〜。

>>765
若干元気になりました。

>>766
ただいまー。
また、そちらのスレに顔出しマス…。

>>767
なんか耳鳴りがすると思ったら波動を送ってくださってたんですね(藁

>>768
ん?

>>770
小さくできそうですねー。
でもwindows.hをインクルードするだけで重くなるような…

>>771
もっと減らせますか?んんん。

>>772
今年も夜露氏苦おねげーします。

>>773
歌丸師匠!?
もっと正月もがんばったら良かったかと思っています。
>>774
IA32はi386〜Pen4(PenPro含む)
776 :02/01/05 16:43
インテル・アーキテクチャ・32bit
>>774
> でもwindows.hをインクルードするだけで重くなるような…
ヘッダと実行ファイルのサイズは関係ないって。

ただ CRT に関しては libc.lib (libcmt.lib) をスタティックリンクして使うか msvcrt.dll を使うかでサイズに
差が出る。プロジェクトの設定から [C/C++] - [コード生成] - [使用するランタイムライブラリ] で選択ね。
>>774
>普通にBITMAPを作ると白黒になってしまうようなのですが、

コンパチDC作ってビットマップ作成だったかも知れん。スマソ
ここら辺ややこしいんだよな…
779債務不履行の名無しさん:02/01/06 14:58
おおお!>>1=>>774=ヒッキー@プログラミング がageている!
いつもsageなのになぁ。

今日、某新聞の求人広告に………があってつい見にきてしまった。
保守上げだ。
780Monamoe:02/01/07 13:38
なんか漏れ1さんと似てるなぁ…。

漏れも高校の時CとVB勉強してたよ。
今はC++だけど。
年齢もかなり近い。
1さんは漏れの1つ年上みたいだね。
しかも漏れもヒッキーでゲーム作ってたりする。

Cで書かれてるブロック崩しやらせてもらったけど、
なかなかいい感じだね。

1つ注文すると、最大化ボタンはいらないと思うよ。
CreateWindow関数のWS_OVERLAPPEDWINDOW
ってのを変更すれば最大化ボタンを消せるYO!
お互い頑張ろうね!
781ぴくみん‏:02/01/07 23:41
がんばれ ‏ がんばれ
だめだ…
一回休むと続けづらくなってきました…

とりあえずVC起動
てすと
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に移ったんだ
>>786
漏れはマスターベーションの方が大事だと思うな。
ネタだとしたらつまらんし、本気だとしたらアホだな。
>>789
お前みたいなデブメガネは死ね
何気に 788 != 790 だな
792788:02/01/11 15:59
>>791
なんでわかったん?
>>782
そういう時は別の言語触ってみたら?
J++も入ってるんでしょ? 他にもDelphi6Personalとかも無料だし
794789:02/01/11 22:49
>>788=790
おいおい何怒ってるんだよ。(笑)
実は.>>1が自作自演でストレス解消中だったりして・・・。
掃除機、錆吸ぃ。

>>1さぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ♥ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ♥ぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ(以下略
797デフォルトの名無しさん:02/01/16 13:56
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 | >>1 はどこ!!    |
 |_________|
    ∧∧ ||
    ( ゚д゚) ||
    / づΦ
あまりおすすめできない擦れたい、形で始まった子のスレの
勢いはもう \0 どうぜん…(w
googleで「入門」を検索したつもりで「柔毛」を検索してしまいました。
(例) http://www.google.co.jp/search?q=%8F_%96%D1&hl=ja&lr=
800デフォルトの名無しさん:02/01/16 22:12
やる気・向上心のあるプログラミング初心者募集!
(;´Д`)
>>800
プログラミングは (それほど) 初心者でもないが、ゲームプログラミングはド素人ってあたりで
どうよ? ひとつシューティングゲームでも書いてみたいなと思ってるんだが、観客いた方が気
合入るし。
>>802
俺は全然構わないと思うよ。
>>1もプログラミング多少できたみたいだし。
804デフォルトの名無しさん:02/01/20 21:08
♥ a g e ♥
ビットマップが白黒になるのは
CreateCompatibleBitmap
の引数のHDCに入れるものが間違ってるからだったような・・・
hWnd = 「メインウインドウのhWnd」;
hdc = GetDC(hWnd);
CreateCompatibleBitmap(hdc, width, height);

とhdcをウインドウのものにすればすればカラーになるはず


>>802
漏れも便乗させてもらってもいい?
807802:02/01/21 23:21
>>806
良いんじゃない。

とりあえず DirectDraw7 で、16x16 タイル張りの背景をスクロールできるところまで行きました。
ちとコードを整理したら up します。
808806:02/01/21 23:56
>>807
どうもありがとう。
漏れ業務ではPL/SQLしか経験なくてやばめだけど。

わたしはDirectDrawは使えないヘタレなので、DirectX系無しのVCで・・
背景のスクロールはWM_TIMERでX+=10;とかにして
BitBltの所の背景のX座標の位置を増やしてみました。
たぶんWM_TIMER使っているからだと思うけどゲームみたいな綺麗な
スクロールじゃないや。
それにInvalidateRectをWM_PAINTじゃなくてWM_TIMERの方に書かないと
だめだったし。無念。
809806:02/01/22 00:05
それと再描画命令はInvalidateRect(hwnd,NULL,FALSE);
一文しか私は使っていないんですが、UpdateWindow(hwnd);は
やっぱり普通は使うものなんですか?
自分のソースにInvalidateRectの次の行に書いたらKARNEL32.dllっていうのがエラー出します(涙
>>801
VBに帰る手もあると思う。
>>806
おそらくWM_PAINT に UpdateWindow 書いてねーか?
WOODYPOP
http://www2.sega.co.jp/sw/woody/

セガのブロック崩し。
おもろいよ。
このスレ好きだったんだが、ずいぶんさびれちゃって寂しいんで
漏れもちょっと参加してみます。

貴様ら!見てください
http://www.geocities.co.jp/SiliconValley-PaloAlto/4792/

プログラム歴は、昔BASICとCをかじった程度。ひと月程前にDelphiをダウソして勉強中。
>>813
色つけたら見てるだけで楽しくなりそう。
815名無しへの扉:02/01/28 20:22
気合入ってんなぁゴルァ!
API板にも来てください

http://pc.2ch.net/test/read.cgi/tech/1006783012/l50
817813:02/01/29 01:51
とりあえず次バージョンUPしました。
http://www.geocities.co.jp/SiliconValley-PaloAlto/4792/

画面を分割して、衝突判定を分けたんですが、
だんだんソースがゴチャゴチャしてきて見辛くなってきた。
あと、Ctrl+左マウスドラッグで画面をスクロールできるようになりました。

>>814 
ぱくり元のゲームも見てるだけで飽きないとこが好きだったんですが、フルスクリーン専用だったので、
そのへんをなんとかしたいなってのも、作ってる動機のひとつです。完成したらスクリーンセーバにもしてみようかと思ってます。
今のとこ、どうやって作ったらいいのか全然わかりませんが。
見た目の寂しさは何とかしたいとこですが、一通りの機能が出来るまでは我慢しようとおもいます。
音の追加とかも。
818デフォルトの名無しさん:02/01/29 08:19
を、なんか楽しげ。
ぼーっとみちゃったよ。
819デフォルトの名無しさん:02/01/29 14:32
見るわケネーだろうが
http://www.geocities.co.jp/SiliconValley/2530/
今日またやり始めたので、よかったらおいでくださいませ(;´Д`)
821813:02/01/30 04:42
またUPしてみましたが…、
http://www.geocities.co.jp/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さんが、ひっそりと復活。息切れしないよう、程ほどに頑張ってね〜。
試してないからはずしているような気がするけど、
引数のColorではなくてForm1.Colorが描画されてるのかな。
名前がバッティングしないように引数を変えてみてはどうでしょうか。
823813:02/01/30 13:30
>>822
おっしゃる通りでした。
なんで気が付かなかったんだろ…。(;´Д`)ハズカスィ
824ago:02/01/31 02:05
>>1だ!
>>1が帰ってきたぞーー!!


(・ι_・)age
825デフォルトの名無しさん:02/02/01 02:04
>>1さんのページおめえ('-T)
1の掲示板で2げっととか、ズサーとかってやってる
ただいまです。ほしゅあげ
http://www.geocities.co.jp/SiliconValley/2530/

WM_TIMERで処理するのをやめて、時間を計るようにしました
・・・こんどこそあげ
このスレッドは大耳モナーが嫌々放置中です。
なんら問題はありません。
                        タリー
タリー      タリー              イヤーソ
   (\_/)          タリー
   (  ´Д)アハーン    タリー              タリー
   /   つ  (\_/)   (\_/)ノ⌒ヽ、
  (_(__つ⊂(´Д`⊂⌒`つ(´Д` )_人__) ))
830デフォルトの名無しさん :02/02/03 12:29
>>1
今VBの方をDLしてみたんだけど、面白かったYO!
>>829
がーん(´ρ`)
>>830
ども、ありがとうございます!
これからもがんばって作っていきます
>>1が帰ってきた!帰ってきた!名前をハンカクにして帰ってきた!

折れもC勉強しようかと思うんだけど、
コンパイラなどどれがいい?

便乗 保守 呼込 質問 揚
俺が熱を出している間に帰ってくるとは・・・(w
>>832
どもー。
Cですかー。漏れはWindows派の人間なのでやっぱVCが
(・∀・)イイと思うんですが、もし挫折してしまったら
投資がモターイナイので、フリーのLSI-C試食版などどうでしょうか?
DOS環境に限られますが、勉強ならちょうど良いんではないかと。

構造体・配列・ファイル管理などができるようになってきたら、
gccかボーランドのコンパイラに移行すればまた無料でできます。
835  :02/02/04 23:08
男ならだまってGCCだ。
環境がWINDOWS、LINUX、FREEBSD、SUNOS、、、その他いかなる環境でも
男はだまってG・C・C!!!!!!!!!!!!!!!!!
今、ゲームボーイアドバンス用のGCC使ってるんですが、
インラインアセンブラのところでエラー出すんですが何ででしょう…。

あと、makeコマンドでコンパイル→リンクする時も
なぜかエラーが…。

設定の仕方がよくわかりません。タスケテ
>>836
とりあえずエラーメッセージを Copy & Paste しろ。
今初めっからココまで読んだけど、1は>>466でもの凄く良いこと言ってる。
466で考えたことはずっと忘れないように。

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

例えばJavaはすべてのプラットフォームに同じ土台(JavaVM)を用意することで
その上では同じコードを実行できる。

それもひとつの方法なんだけど、1がこれからもっと規模の大きいプログラムに取りかかるとき、
構造化やオブジェクト指向の考え方を知っておいて損はしないと思う。

ざっと1のVBのソース見た限りでは、プログラムが実行する処理を順番に書いてるだけだよね。
VC版ブロック崩しはブロック、パドルなんかを別ファイルに分けてるから、その辺考え始めてると思う。

確かにブロックやパドルは、それぞれひとまとまりだから分けることが出来る。
でもブロックもパドルもボールも同じ画面に描画される物体だよね。
それぞれ表示すべき座標があり、グラフィックがある。
ブロックに対しても、パドルに対しても、ボールに対しても「表示しろ」と命令すれば
しかるべき位置にしかるべき表示をしてくれるとすれば、理にかなってると思わない?
こういう考え方をすると、ブロック=パドル=ボールは共通の概念をもったものであると考えることもできる。

良くまとまらないけど、オブジェクト指向の考え方に踏み出すきっかけにならないかな…?

#俺も昔ゲーム作って、今の1と全く同じようなファイルの分け方してた(ワラ
続き。

今のVC版ブロック崩しではボールやパドルのソースファイルに
HDCやら何やらも一緒に入ってるよね。

で、例えばMoveしたときにHDCに対して絵を送ってやって表示を実現してる。
ボールを画面に表示するプログラムの手順としては間違ってるわけではないが、
ボールは表示されるべき場所(この場合はプログラムのWindowの中)の事まで
考慮すべきかどうか。

VBの時も、VCの時も、「ボール」の振る舞いは「移動する」「反射する」…で変わらない。
ブロック崩しのアルゴリズムも変わるわけじゃない。
変わったのは実装依存の部分。これはVBだったらBitBlt、VCだったらBltToBufとか使ったり。
他にはtimer使ったりイベントが呼び出されたり。

こういうとき一枚ラップ用の関数を定義して、例えば表示ならDraw()の中で
実装依存の関数BltToBufを呼び出したりすると、プログラムが読みやすくなる。

抽象化された概念(言葉)でラップして、実装は内側に閉じこめてしまうわけ。
このようにしておくと、例えば描画エンジンをDirectXに取り換えても書き換える部分はごくわずかで済む(のが理想)。
Drawの内側の実装部分を変えるだけだから。

実際うまく行くように切り分けるのは最初は難しいかもしれないけど、
この考える作業は結構楽しい。

でそれにハマりすぎて何時までも完成品が出来なかったりすることもあるけどな・・>俺。
そんなとき初心に帰ってゴリゴリ書くのもいいなとこのスレ見て思ったよ。

長レスすまそ。
>>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:}
>>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さんまた後でレスします
Command not foundてことは、sh.exeがそもそも無いか、pathが通って無いんじゃない??
自信無いのでsage
>>840
gccのインラインアセンブラの書式じゃないから。
>>841
cygwinインストールした?
>>842
うーん、一応PATHに足したつもりなんですが…
>>843
まじすか?がーん。
まずgccの使い方をもっと覚えた方がいいですよね…
>>844
cygintl.dll cygwin1.dll
っていうファイルは、zipに一緒に入ってたので
入れました。
846844:02/02/09 01:07
PATHに何を足したの?
DLLだけじゃなくて、cygwin上の開発環境入れたらかなり大量に入るはずなんだけど。
>>846
cygwinってコンパイラとは別に用意しないといけないんでしょうか?
pathにはC:\devkitadv\binっていうのを足してます。
devkitadvっていうのがGBA用のgccみたいです。
で、そこにsh.exeってある?
ちなみにmake.exeはそこにあるわけ?
ありました。
そのsh.exeをダブルクリックすると、DOS窓が開いて実行するはずだけど、

mount [ENTER]
mount -s [ENTER]

ってタイプするとなんて出て来る?
$ mount
mount: not found
$ mount -s
mount: not found
/bin/shがないっつってんだから無論そうか。

pwd [ENTER]
./mount [ENTER]
./mount -s [ENTER]

だとどうよ?
cygwinのサイト逝って、インストールしてみました…。
で、cygwinのbashからmakeしたらうまく逝きました…。
>>852さんどうもありがとうゴザイマス。
854デフォルトの名無しさん:02/02/11 10:30
昨日このスレを見つけて最初から読んでたが、
またプログラムやりたくなったよ。
頑張れー>>1
841の時点でメイクファイルの中に
SHELL=sh
って書いたらたぶん解決してたと思う。
853で普通のcygwinとアドバンス開発環境が同居することになったようだけど、
無用な混乱が起こるような気がします。
PATHの設定とmountの状態でわけわからんくなる可能性がありますぜ。
>>838
Javaってそういえばどこでも同じコードで動くんですよね。
でもシステム内部をいじるようなプログラムができないっぽい
ですね。やっぱこれからはWebベースのプログラムでないと
駄目なんでしょうか?C#もJavaっぽいし

Webのプログラムができなくてもいいから、いろんなシステム上で
動くコードが書けたら良いとおもうんですが…。
そういえばWindowsのコードって中間コードなんでしょうか?
それともx86系に依存したコードですか?……って調べてみます(わら

>ざっと1のVBのソース見た限りでは、プログラムが実行する処理を順番に書いてるだけだよね。
>VC版ブロック崩しはブロック、パドルなんかを別ファイルに分けてるから、その辺考え始めてると思う。
ファイルを、どこで線を引いて分けるかというのはとても
難しいですねー。とりあえず見た目に違うもので分けました…。

>ブロックに対しても、パドルに対しても、ボールに対しても「表示しろ」と命令すれば
>しかるべき位置にしかるべき表示をしてくれるとすれば、理にかなってると思わない?
そうですよね。
違うところは画像へのポインタと、座標だけですもんね。

>#俺も昔ゲーム作って、今の1と全く同じようなファイルの分け方してた(ワラ
安心しました(藁
やっぱそういう部分も考えないと良くなっていかないですねー。
今までは、ただ動けば(・∀・)イイという感じでプログラムしてました。
後で読めないソースや、再利用できないようなものを書くというのは
あまり良い事ではないですね。勉強になります。

>こういうとき一枚ラップ用の関数を定義して、例えば表示ならDraw()の中で
>実装依存の関数BltToBufを呼び出したりすると、プログラムが読みやすくなる。
この概念はすごい難しいです…。
いろいろ考えを巡らせてみましたが、中身の若干の変更で
他へ移植できるような書き方はなかなか思い付かないです…。
でも、うまくまとまってから作ったら、動きの把握しやすい
ソースになりそうですね。

後、少し疑問に思うことがあるのですが、ソース中の関数が、
WinAPIか自作の関数か分からなくなるときがあるので、
自作の関数に接頭文字を付けようと思いましたが、
全てに付けるにはあまりキレイじゃないし、読み分けするには
どうしようかと思っています。
もう一つ、staticな関数なんですが、他のファイルに公開する
関数と見分けるのがややこしいので、見やすくしたいと思うのですが、
どういう書き方が考えられるでしょうか。
僕的には、staticな関数は1段Tabしてから書いたらどうかと思っています。
そういう書き方は読みやすいですか?
(ソースの最後に、staticだけかためて書くというのも考えましたが、
 機能別に書いていくと、ソースの途中に書いた方が良い場合もあったので…
 もしかしてこっちの方が読みやすいでしょうか?)

最後に…レス忘れてました(;´Д`)すいません…
>>854
おー、どもです!
プログラム、やっぱおもろいですよー。
がんばります!

>>855
がーん、まじですか?
後でインストしたcygwinにはパスが通っていないのか、
なぜかアドバンス開発環境のsh.exeからcygwinのコマンドが
実行できないんですよねー。うーん。
makeファイルからコンパイルするとき、イチイチcygwinから
cdで移動して、実行してました。
一回、SHELL=sh書いてみます。さんきうです!
>>856
WinAPI かどうかはそのうち覚えるから心配すんな。
でもまぁ自作関数にプレフィクスをつけるのは勧めとくよ。
少なくとも目立つ関数にはな。
関数の static 化はあんまり考えなくていーんじゃねーの。
そこまできっちり考えて作る必要なし。
>>856
> いろいろ考えを巡らせてみましたが、中身の若干の変更で
> 他へ移植できるような書き方はなかなか思い付かないです…。
Win32 only だが

 表示 GDI, DirectX7
 入力 User32.lib (Win32 標準), DirectInput8
 サウンド mci, DirectAudio8

組み合わせ可能なコードとかなら手元にあるぞ。C++ だけど。

> WinAPI かどうかはそのうち覚えるから心配すんな。
俺は C++ で書いてるから、Win32 API にはグローバルスコープを示す :: を
つけるようにしてる。
860838:02/02/13 18:09
>>856
一段落ついたらクラスの使い方を覚えるといいよ。
ファイル単位でデータをstaticにしたり関数をstaticにして
スコープを分ける代わりに、クラスを使うと、同じように
データと関数を1セットにまとめることができて、
publicとprivateのキーワードで外部公開するかしないかを選択できる。

>後、少し疑問に思うことがあるのですが、ソース中の関数が、
>WinAPIか自作の関数か分からなくなるときがあるので、
これはクラス(クラススコープ)の導入で解決する。
いま問題になるのは、Win32APIも自作の関数もグローバルなレベルにあるから。
クラスのメンバ関数はそのクラスに属するから、例えばパドルクラスを作れば

Paddle paddle;
paddle.Init();

というように、Init関数はパドルを初期化するんだぜ、ってのが明快になる。
同様に bar.Init() ってのがあっても混乱することはない。

今、PaddleInit() って関数名は、「パドルを初期化する」ものだから、
Paddleという接頭辞によってInitの対象を限定してることになる。
よって方向性は間違ってない。
関数をグローバルスコープにして接頭辞をつけて対処するのは誤り。

>関数の書き方
関数の実装はとりあえずヘッダに書いた順に並べてる。
ここは個人で見やすいようにしておけばいいと思う。
他のファイルから呼び出すときは、ヘッダファイルだけ見れば分かるから。
編集の時はVC++のクラスビューア(だっけ?)で関数名クリックすればジャンプするでしょ。
もしくはヘッダで関数名を右クリックして定義位置を表示。

あと、ソースの書き方は綺麗で好感が持てます。
>>860
> 関数をグローバルスコープにして接頭辞をつけて対処するのは誤り。
誤りってことはないやね。確かに C++ で書くなら接頭辞不要だけど、C の場合には
プリフィクスをつけるのは一般的。

Win32API なら wave*, mci* とか UNIX のカーネルなら pmap_*, arp_* など実例は
多数。
>>855
SHELL=sh でうまく逝きました!
やたら苦労したので、やたら嬉しいです。どもども!

>>858
まだきっちり考えなければ把握できないほどの
規模でもなかったですね…。
よく出てくる関数は目立つ名前にしようかなーと思います。

>>859
GDI→DirectDrawは、だいたい予想つくんですが、
mci→DirectAudioっていうのは想像するのが難しいです…。
どこまで分解したらいいかとか、どういう機能があるかとかを
知らないといけませんね…。

グローバルスコープの::って、左に何か付けるんでしょうか?
右にはAPIの名前ですよね?
>>860
クラス覚えたら、整理しやすくなりそうですね。
Javaの本ちょこっと読んだんですが、継承やら
多態やらムズカシそうなので理解しないうちに
置いてました…。

Paddle paddle;
paddle.Init();
こういう書き方はすごい見やすいですねー。

また疑問が湧いてきたんですが、パドルの実体を
作るのって、メインループのあるファイルの中で
いいんでしょうか?

>関数の実装はとりあえずヘッダに書いた順に並べてる。
ほおほ、やっぱヘッダの順番と中身の順番が違うかったら
ややこしいですよね。
やっぱ、関数の機能の説明などのコメントは、ヘッダの方に
入れた方がいいですか?

>もしくはヘッダで関数名を右クリックして定義位置を表示。
あ、そんな機能あるんですか!?(;´Д`)

>あと、ソースの書き方は綺麗で好感が持てます。
ありがとうございます。
実際、仕事に逝った時に役に立てるようにもっと
いろいろ書き方考えてみます。

>>861
時と場合によって使い分けるのがいいんですね。
何かに固執して、他の場所で臨機応変に対応できない
ようにならないように気をつけます。
>>862
> グローバルスコープの::って、左に何か付けるんでしょうか?
グローバルスコープにある識別子(変数や関数名、enum 値)にアクセスする場合
には、何もつけません。

  ::CoInitialize(NULL);

みたいに書けば OK。

C だと名前はグローバルスコープ以外には置けませんが、C++ だと namespace
やクラスに閉じ込めることが出来ます。

namespace Block
{
  enum { PADDLE_PLAYER1, PADDLE_PLAYER2 };
}

たとえばこんな感じに書くと enum 値は Block 名前空間に属することになるので


 Blcok::PADDLE_PLAYER1

と書いてアクセスできます。所属する名前空間が異なれば、同じ識別子があって
も衝突せずに併用できます。

あと、特定の名前空間の識別子を選択的、あるいはまとめて現在のスコープに
導入する方法 (using namespace) があるので、実際にはそれを使うことが多い。
865838:02/02/14 19:38
>>861
誤り、は言い過ぎた。実例上げてくれたとおり。
自分で関数定義するとき、かつクラスや名前空間が使えるとき、
という条件のつもりで書いた。

>>863
>パドルの実体を作るのって、メインループのあるファイルの中で
>いいんでしょうか?
でいいよ。使うところで作る。
他にはゲーム進行を行うクラスを定義して、そのメンバとして
パドル、ボール、ブロックを持たせるやり方も考えられる。

>やっぱ、関数の機能の説明などのコメントは、ヘッダの方に
>入れた方がいいですか?
両方に同じ説明(短文)を書いてる。実装の方にはコードの修正日も。
上手い人の書き方を参考にして、自分がいいと思う書き方でやればいいと思うよ。

複数人で作業する環境だったら、コメントはこう書け、みたいな
規約が決まってるかもしれない。
>>865
> 実装の方にはコードの修正日も。
それはバージョン管理ツール入れて、バージョン管理ツールにお任せが良いと
思われ。

私はバージョン管理は CVS、コメントは doxygen で出力できるように Javadoc
形式で入れてる。
867デフォルトの名無しさん:02/02/16 15:15
10年前に作ったことある。
同時に三つのブロックに当たったときの動作どうする?
漏れのプログラムの場合、そのまま突き抜けるような
動作になっちまって・・
>>864
>::CoInitialize(NULL);
>みたいに書けば OK。
ほおほ、そういう書き方があるんですねー。

ネームスペースっていうのは初めて聞きました…。
そんな便利な機能があったとは。

>あと、特定の名前空間の識別子を選択的、あるいはまとめて現在のスコープに
>導入する方法 (using namespace) があるので、実際にはそれを使うことが多い。
?なんか滅茶苦茶ムズカシいんですけど…(わら
using namespaceっていうのは手法のことでしょうか?
それともライブラリみたいなものですか?

>>865
>他にはゲーム進行を行うクラスを定義して、そのメンバとして
>パドル、ボール、ブロックを持たせるやり方も考えられる。
おお、そういう事も考えられるんですね。
なんか、目に見えるものばっかりをクラスに定義しようと
考えてました…。
クラスにクラスを持たせるっていう時は、継承させるんでしょうか?
それとも、実体をクラス内に持たせるという事ができるんでしょうか?

>両方に同じ説明(短文)を書いてる。実装の方にはコードの修正日も。
その方法なら修正時に、実装部かヘッダーか、
どちらを見られても対応できますね。
コードの修正日ってやっぱ必要なんでしょうか?

>上手い人の書き方を参考にして、自分がいいと思う書き方でやればいいと思うよ。
ですね。いろいろ見回って勉強します。

>複数人で作業する環境だったら、コメントはこう書け、みたいな
>規約が決まってるかもしれない。
複数人でやった事ないですけど、そういうルールって
結構重要っぽいですね。

>>866
バージョン管理ツールって、よく聞くんですが、
どういうソフトなんでしょうか?イメージできない…。

>>867
僕のやつも、2つほど一緒に当たると、突き抜けてしまいます(わら
ボールの近くのブロック全て検知して、同時に当たったときは、
進む方向に対してOR演算とかしたらうまく逝きそうな予感…
>>868
> ?なんか滅茶苦茶ムズカシいんですけど…(わら
「名前空間」とか使ってる単語が難しいだけで、別に実際に使うのは難しくないって。

namespace Paddle
{
  using namespace Ball;
  // こうすると namespace Ball の中にある名前を、修飾 Ball:: なしで
  // 参照できる

  using std::for_each;
  // こうすると namespace std にある for_each だけを、修飾 std:: なしで
  // 参照できる
}

こんな感じ。
>>869
そういうのって、関数の引数に指定したりできるんですか?
function(namespace Paddle)みたいに…。
今のところ、enumのパワーアップ版みたいなイメージしてます。

あと、例えばBallには、数値を持たせることはできますか?
Del坊なのですが、このスレに参加してよいですか?>1さん
ひまになったんでなんかゲーム作ろうと思って。
>>871
ういういー。
っていうか、ここは2chなので、漏れに人の考えを
制限する権利が無いんですよね。どぞご自由に。
838です。
>>868
クラスにする目安は、意味的、役割的にまとめる価値があるもの。
管理役として、マネージャっていう職があるのと同じ。

クラスを継承するか、所持するかは、例えば
 トヨタ車とホンダ車など各社の車を表すのに「車」クラスを継承させる
 車の「ハンドル」や「タイヤ」は車が所持する
と考えれば分かりやすいかな。

クラスにクラスを持たせるのはこんな感じ。
Class Paddle {}
Class Ball {}

Class Manager {
 Paddle paddle;
 Ball ball;
}

>コードの修正日
いつ書いたコードか分かるのは便利。
過去に書いたコードと比較して、スキルレベルの確認ができるから。
>>873
>クラスにする目安は、意味的、役割的にまとめる価値があるもの。
>管理役として、マネージャっていう職があるのと同じ。
そういうとらえ方なんですねー。
なんか誤解してました…。

>トヨタ車とホンダ車など各社の車を表すのに「車」クラスを継承させる
>車の「ハンドル」や「タイヤ」は車が所持する
おおお、イメージばっちりです!
すごく分かりました。ありがとうございます。

>いつ書いたコードか分かるのは便利。
>過去に書いたコードと比較して、スキルレベルの確認ができるから。
ほおほ、たしかにそうですよね。
僕も修正日とか書くように心がけようと思います。
保守…

最近、ブロック崩し作ってませんでした…。
GBAにはまりまくりです。
俺は見ているぞ
漏れも見ているぞ! たまに……な(ニヤソ)
応援sage
俺も見てるぞ。俺もなんか作ろっと。
俺も作ったけど、うまくいかないよ!
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度回転させるとか。
自機の移動は縦で。
>884
それって昔のテニスじゃ・・・
ホイールじゃ細かい移動ができんぞ
では、大まかな動きでもいいように球をでかくしてみよう
自機の10倍くらいに
888 :02/03/14 18:25
でかすぎだよ!
ひさびさあげ
http://www.geocities.co.jp/SiliconValley/2530/car.lzh

GBAで連打するゲーム作ったんで、よろしければ
やってみて頂きたいなぁと。
まだ完成度低いですけど…。
ゲームボーイないからできないや
http://www.emuhq.com/vboy

これでできると思われ。
自分はできました(感動した)。
>>890
がーn
>>891
お、どもです!
やっぱやってくれる人がいると、すごい嬉しいっす。

今、F-ZEROの地面みたいな画面はどうやって描くか
考え中です。回転の式をうまく使えばできるかなぁとか…
でも、あんなグリグリ動かしたら処理落ちしそうな気もするし…。
あと、回転した後の図形の、当たり判定っていったい
どうするんでしょう。当たり判定の位置を決めるにも、
毎フレーム回転させないといけないんでしょうか。
>>892
当たり判定は平面2次元。表示だけ斜めから見てパースつける。イジョ
あ、当たり判定って2次元でいけるんですねー。
って、よく考えたらそうかも…。道を誤るところでした(;´Д`)

パースって、歪み方がイマイチ想像できないんですが…
うーん、CGの本読んでみます。ありがとうございました。
>894
F-ZEROとかの2軸回転はメガデモ系のサイトで調べるといいと思うよ。
基本的な考え方はそれでわかるかと。
>>895
ほおほお。メガデモ系ですか。
処理的には2軸回転を使うんですねー。
検索してみます。ありがとうございます。
http://www.hh.iij4u.or.jp/~peto/2DCG/2d_2rot.html
…ようやく発見しますた(;´Д`)
>897
良かったな
てかこのスレだいぶ廃れてきたような気がするのぉ…
あわてず騒がずマイペースでだな。
たしかに人がいなくなってしまいました…。
教えて頂いたことを、すぐにコードに反映させる
ような感じで作っていけばよかったような…。
ブロック崩しも、しばらくやってませんし…。

VCで作るんだったら、クラス化する方法を
ある程度覚えてからの方が良いような気がして、
現状のまま作る事に、ちょっと気が重くなっていました。

それから2軸回転、難しくてまだ把握できません…。
>900
考え方は2Dの画像回転と変わらないよ。逆に写像してライン引くって感じかな。
思いっきりそれを解説したメガデモ系サイトのコンテンツをローカルに保存した
のがあるんだけど…。
>>901
ほおほ…2Dの回転と同じですか。
なんか、ひらめきそうなので一回VBで作ってみようと思います。
>897のサイトで、なんとかがんばろうと思います。どもです。
>>889のやつってエミュじゃないとできないの?
このまえGBA買ってきたからGBAでやれたらなーって思って。

ところでGBA用のコンパイラってどこか置いてあるの?
できれば無料のところを紹介してほしいなぁ。

クレクレ君でスマソ。こんな地下にあったらスレが進んでるかどうかわからないよー(;´д`)
904デフォルトの名無しさん:02/04/06 14:45
age
>>903です。。。
リロードしたらあげられてた…。
>>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/
>>906
さんくすですー
さすがに「ヒッキー」だけあってレスが早いですね(w


もう残すところ95レスとなりました、新スレ立てるなら、URLはっといてね。
908デフォルトの名無しさん:02/04/06 16:24
ブロック崩しなんか、ガキのときにBASICで作ったよ。
というか、そんなもの、APIなんか使う必要性ないだろう。
VBだったら、VB6.0の評価版(無料)でもダウンロードしてやれば十分。
でも、プログラムのことがわかりかけた最初のころに、
いろいろ作りだすのが楽しいんだよな、と昔を思い出したりする。
API使わずに…(以下略)
クス
ゲラゲラ
アヒャ
>912
F-ZERO出来たか?w
実は、ようやく”2軸回転”の意味がわかったところです(;´Д`)
何が2軸なのか、わかりませんでした…

DIBで、実験中です。
>914
おう。そりゃヨカタ。
マリオカート@2ちゃんキャラで一つタノムw
名称:モナーカート (ださ藁)
http://www.geocities.co.jp/SiliconValley/2530/rotate2.zip
今のところ、こんな感じです。
まだゲームまで、程遠いような…
>917
動かしてみた。マップチップみたいにもなってるしいいんでねぇか?
そろそろVBを卒…w
>>918
 お、どもです。
 VB、なんとなくやりやすいんですよ。

 VCは、MFCを使えないので、GUIのフレームを作るのが
 めんどくさかったり…。
 Formをリソースで作って、それを管理すればいいんですけどね…。
>919
まぁ,サンプル程度ならVBでもいいかも知れん…。
ぬるま湯ばかりでもイカンよw
某スレでA列車で逝こうプロジェクト発動中
今のところVBなので1さんもいかが
http://game.2ch.net/test/read.cgi/game/961407432/
(´ー`).。o○( VB・・・けっこう高いんだろな。 )
       ( 家にコンパイラないんだよな。 )
(´ー`).。o○( VBよりC系をやった方がいいと思うな。)
        (コンパイラ無料のがたくさんあるし。)
>>922
VB.NETでよければコンパイラだけは無料であるぞ。
http://www.microsoft.net/japan/msdn/netframework/downloads/sdk.asp
.NETやるならC#のほうを薦めるけど。
(´ー`).。o○( Cは使えるけど、>>921はVBみたいなんだな )
       ( ちょっと興味があるんだなぁ……         )
       ( 家は通信回線遅いし、雑誌の付録でも探そ… )
VCはタダで手に入らないかなぁ。。。
正直買おうか迷ってる。
WinMX(ワラ
>>926
だから.NET Framework SDK(以下略
http://www.geocities.co.jp/SiliconValley/2530/rotate2-2.zip

なんか、しばらく凹んでました…。

今回ちょっと奥行き感を出してみました。
あと、速度を上げる為に視点の回転機能を外しました。
>>928
VCもあるんですか。ありがとう。
>929
おう。凹んでないでガンバレ。明るく逝こうw

次は地面回転と3Dスプライト(ビルボードって言った方がイイカ?)だな。
速度は…前のもサクサクダタのでワカラン・・・
保守
>>1の掲示板のほうが発展して・
934デフォルトの名無しさん:02/06/23 22:38
age
935デフォルトの名無しさん:02/07/05 19:54
age
二ヶ月差保守上げ萌え〜(w
937デフォルトの名無しさん:02/07/09 11:48
あげ
>>929
ひきプロたん(;´Д`)ハァハァ
ちなみにヒキ板から来ますた
普段とは考えられないひきプロたんに萌え
940(-_-)さん:02/07/13 11:02
(-_-)
(∩∩)
941(-_-)さん:02/07/15 15:10
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エミュがありますよ。
944デフォルトの名無しさん:02/07/19 06:49
VisualBoyAdvance、最新版出たばっかだよね。
945to:sage:02/08/06 15:36
>>711
>>832
とか.


# 目茶遅レス
日本語もばりばり通って, LSI-C試食版のように制限が無い,
Borland C++ Compiler 5.5.1が良いと思います.
56kbpsな環境...懐かしいですね.
そんな環境で毎日chat三昧で月に3万とかかかって何度も怒られました(ぉ
Irvineとかでdownloadしては如何でしょうか.
尚,BCCはきちんとreadme読んで, bcc32.cfg と ilink32.cfgを設定しなきゃ
ならないので注意.
あとは autoexec.bat いじるなり, マイコンピュータのプロパティ, 詳細で
環境変数をいじるなりすれば, OK.

www.borland.co.jp/cppbuilder/freecompiler/

>>1
お体悪くしないようにがんばってくださいね(笑
ぁぁ,何かを勘違いしていた...
ageてしまた. スマソ.
>>945
setbccとかを使えば設定は楽だよ。
948945:02/08/06 22:11
>>947

まぁ,
hp.vector.co.jp/authors/VA017148/pages/cpad.html

を使うのが一番楽かも.
949デフォルトの名無しさん:02/08/07 19:48
>>945
まだこのスレをお気に入りに入れている俺もアレかも試練が、レスありがと。

結局 Borland C++ 5.5.1 にしますた。
当時はirvineなんて知らなくてがんばって落としたけど(w
もうすぐCATVがくるんで、ソレまでのんびりCの勉強をしてます。

|尚,BCCはきちんとreadme読んで, bcc32.cfg と ilink32.cfgを設定しなきゃ
|ならないので注意.
|あとは autoexec.bat いじるなり, マイコンピュータのプロパティ, 詳細で
|環境変数をいじるなりすれば, OK.
googleで出てきた設定ツールを使ったので案外すんなりできた。

がんがって、いまbcc32のコンパイルのオプションと、
リンクの方法を勉強中です...

#雑談スマソ
ぐぁ、ageてしまった・・・ゴメソ、ム板の皆さん。
951aa:02/08/07 20:41
VBでブロック崩しなんか簡単だよ
正直、APIを使わなくてもできる。

使うのはフィールドとなるピクチャーとシェイプ(図形)
だけでいい。
場の雰囲気を読めないバカがいるな
953C++使い:02/08/07 20:59
>>951 マジで??
それってVB最強じゃん!
954デフォルトの名無しさん:02/08/08 16:16
VB最強伝説急浮上とともに
このスレも急浮上。
>>1 はもういないのかな?
956デフォルトの名無しさん:02/08/08 16:24
空気の読めない俺とともに
このスレも急浮上。

>>955
>>1の掲示板にいたよ。
場の雰囲気が良く分からんが。

p: ピクチャボックス t: タイマ(Interval=50)
e(): ブロック f: 自機 b:ボール (いずれもShape)
fは背景黒&不透明, bは透明, e()は不透明

Dim n,w,h
Sub Form_Load():For Each V In e:V.BackColor=vbWhite- _
V.Index:Next:n=e.UBound+1:w=-100:h=-100:End Sub
Sub p_KeyDown(k As Integer, S As Integer)
f.Move f.Left+100*((k=37)-(k=39)):End Sub
Sub t_Timer():b.Move b.Left+w,b.Top+h:w=IIf(Abs(p.Width/2-b.Left)>p.Width/2, _
-w,w):h=IIf(b.Top<b.Height,-h,h):If b.Top>p.Height Then MsgBox "lost":End
c=p.Point(b.Left+b.Width/2,b.Top+b.Height/2):If c>&HFFF000 Then h=-h: _
e(vbWhite-c).Visible=0:n=n-1:If n=0 Then MsgBox "complete":End
h=IIf(c=vbblack,-h,h):End Sub
>>957
雰囲気の読めない君は7行スレに行きなさい
>>952

>>949?
>>950どっち?
960952:02/08/10 01:15
951だな
ほしゅ
chottoshita HOSHU.
963ひきプロ:02/08/29 19:24
http://hiki-puro.s16.xrea.com/hiki-game/test001.lzh
またVBでゲーム作ろうとしてます、どうでしょか
964(-_-)さん:02/08/30 17:45
ボンバーマンオンラインのやりすぎ(・A・)イクナイ
965(-_-)さん:02/08/30 20:41
どうやらルータ越しでは難しいようだな
出来るのかもしれないが、分かる限りで設定してみた感じでは無理だった・・・・
966(-_-)さん:02/09/04 17:53
まだ大丈夫だろうと思いつつ
一応保守
967(-_-)さん:02/09/08 11:49
補珠
968(-_-)さん:02/09/16 06:28
http://life.2ch.net/test/read.cgi/hikky/1031400138/
なかなか良い感じに進んでいるようです・・・
こんな勝手な事して怒られたりしないだろうか、と思いつつ、
いつも通り保守
969(-_-)さん:02/09/23 21:06
そうでもないよ・・・
970鍋田保:02/09/28 22:01
    ∧ ∧         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ̄ ̄( ゚Д゚) ̄ ̄|   <  ぼく1000取り王の鍋田保!
|\⌒⌒⌒⌒⌒⌒\   \
|  \           \    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\  |⌒⌒⌒⌒⌒⌒|
  \ |_______|
971鍋田保:02/09/28 22:03
|.  ____ │  また鍋田保が1000とるのかー
| /    | |│   
|./      | |│  ∧_∧
[______.|_|│  (´∀` )__
| _|__|_i‐┴-、(σ、、⊂ヽ_)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|__)||
                  | ̄ ̄)
                  | ||
972鍋田保:02/09/28 22:05
    ,.r ''"´ ̄``''‐\     !::::::::::ィ::ハ:::;::::::::::::::::::::::::::!     /
   /:::::::::::::::;;:::::::::::::::::\   i::|:::i::/l/  i;::ト、:、:::i:::::::::::::::i   /,r‐''''"´ ̄ ̄,ヽ
  /::::::::;::::;;:::/ ヽ;::i、:::::::::::\ |::i/レ'-i''  'ヽi-ヾ,ヽ!:::::::::::::l  /,./         //::゙:ヽ、
.  i:::::::::/レ' リ  ヽ;lヽ::;::::::::::\:ハ -‐-   -─- i::::::::::::::l./〃L__,,.. ェ=''‐':r、:::::::ゝ
  .|::::::/.,r;==;    ,r==;ヽ:::::::| \:l|  |     |  | |:::::::::/  !::::::::::::::::::::::::::::::/!:!'|'iヽiヾ!
.  |:::::| { i::::::::i   i::::::::i } i::::::|  \ | r---、! l,.!:::::/   !:::::::::::::::::::::::::::::i' リ  _゙、'
.  |:::::|. ' io:::ノ.    io:::ノ ' |::::::|   \'-'=,‐,='r''i~ /    |::::::::::::::::::::::::::::::! ‐''´  `''!
.  |::::::i      ,__'__    i:::::::|    ∧∧∧∧∧      .|:::::::::::::::::::::::::::::::i 〃 __,. l
.  |:::::lヽ    ('⌒':)  /!::::::|   <    鍋 >    l::::::::::::::::::::::::;;:::::::'、  '-'/
.  |:::::|;;;;;`'‐、.,_'ー‐' , ‐'";;;;|:::::::|   < 予    >    |:::::::::::::::::::::::l ,>‐''" ̄ ̄ ̄
──────────────<.    田 >─────────────
973鍋田保:02/09/28 22:05
 ..........,.....,ri  /' l i........................   i. < 感  保 >         ,ヘ 
:::::::::://::/' |:::/  | 'i::::l'、;:::::::::::::::::..... i.<    の >        r '、.ノ ‐‐- 、
:::::::/,.i::/‐-レ'   | 'i::| i::::::;;::::::::::::::::<. !!!.     >      / ヾ. ゝ    \
::::/  ',,,,,,,,    | ''''i:|''‐i;:::| i::::::::::/ ∨∨∨∨∨ \    /  /__//     ヽ 
::i /,:‐-、     -リ‐-、';|ヽ!:::/::;::::/l::/  ヽ::L';:::i:::::::\//  / 〇 //| ./l   ! 
:| l i::::::::::l     r'''''':、.ヽ /:::/ l/‐:レ'    ';:L.ヽ:!`、::::::\  /l    '   |/ .レl /
|   'r‐j:::i      !:::::::::::l /::::/./,'::::::::::i    i::::::::::iヽ.ヽ:::::::i\/ l へ   〇ノ /
!    `''''"      'iつ:::/. ,'::::l {: l::::::::::::!   |:::::::::::l i |::::::::|. \ 、_ ノ  //
:':、      、     /  i::::::| ' l○:::/    l○::::/ / |:::::::::!   \ ,--‐'/
974鍋田保:02/09/28 22:06
   . 。o O (鍋田保がまた1000取るんだよね)
  ,. -- 、
.,:',ィ;ノ、!;::':,
.i::l'O Oi::i
.l::ト、.ヮ,.ノ::!     
⊂ ̄ ̄~⊃    
/    \    
|〜〜〜〜|    
|〜〜〜〜|    
\    ./
999しか取れないじゃん(藁
とっととアク禁食らえよハゲ
977鍋田保:02/09/28 22:10
         ,. -──- 、
          /:::::::::::::::::::::::::::::ヽ
       /::::::::::::ハ::::;:::::::::::::::::゙:,
       ,'::::;i:/レ'  ヽiヽ:::::::::::::::::!
       l::::|'r,:=;   ,:=;、';i:::::::::::::!
       .,r'‐;|.l !::::i  i:::::i l |::::::::::::|
     ,'.三ミi 'ー'゙  'ー'゙ |:::::::::::::|  鍋田保1000やで。
     | 'ri''ヾ:、  r‐┐  ,.|::::::::::::::|  鍋田保1000とるで
     l |i,__!:>'=''r‐''".i:::::r、:::::|
      ! l,|: |"  ゙、'、 ;:/::;/ ヽ:|
     l!  |大"    `''"/'"'   ヽ
     !  | ヽ|     、i  ,. イ'
      !   ' /!        l,/  |
978鍋田保:02/09/28 22:11
  ヽ、.三 ミニ、_ ___ _,. ‐'´//-─=====-、ヾ       /ヽ
        ,.‐'´ `''‐- 、._ヽ   /.i ∠,. -─;==:- 、ゝ‐;----// ヾ.、
       [ |、!  /' ̄r'bゝ}二. {`´ '´__ (_Y_),. |.r-'‐┬‐l l⌒ | }
        ゙l |`} ..:ヽ--゙‐´リ ̄ヽd、 ''''   ̄ ̄  |l   !ニ! !⌒ //
.         i.! l .:::::     ソ;;:..  ヽ、._     _,ノ'     ゞ)ノ./
         ` ー==--‐'´(__,.   ..、  ̄ ̄ ̄      i/‐'/
          i       .:::ト、  ̄ ´            l、_/::|
          !                           |:    |
             ヽ     ー‐==:ニニニ⊃          !::   ト、
おれたちはとんでもない思い違いをしていたようだ。これを見てみろ。
まず「鍋田保」を英字で表記する
『NABETATAMOTSU』
これを逆にすると、
『USTOMATATEBAN』
そしてこれを更に日本語に直すと
『ウストマタテバン』
鍋田保と言う事を考えれば末尾に『1000取り王』を加えるのが当然だ。
すると導き出される解は
『ウストマタテバン1000取り王』
そして最後の仕上げに意味不明な文字『ウストマタテバン』
これはノイズと考えられるので削除し残りの文字を取り出す。
するとできあがる言葉は・・・・・・『1000取り王』。

つまり!『1000取り王』とは『まさに鍋田保』を表す言葉だったのだ!!

979鍋田保:02/09/28 22:11
          /::::::::::::::::::::::::
         /:::::::/::/::ヽ::i:::::::
         /::::/::/l:/  |::|_!::i:  このスレも鍋田保が1000だ…  
        l::::レl/``   '´l:! |::|       
        |::::|  ┃  ┃  ゙i:!
          |:::j.  ┃  ┃
       |::/
       |〈    __    ∪|
       |:::ヽ.  L...__)    |:
       |:::::::::゙ヽ、    _,、-'゙|:
       |:::::::::|i::::i::フ|"´   |::
       |:::::::::||:/ /|    |::
       .!:i::::::|  /__---/|::::
        〉ト、::| /   /   |::::
       r' | ヾ! / /  ト//
980鍋田保:02/09/28 22:12
      l::::レl/``   '´l:! |::|       
  
981鍋田保:02/09/28 22:13
      
 
   ,rn
  r「l l h
  | 、. !j
  ゝ .f         _
  |  |       ,r'⌒  ⌒ヽ、   
  ,」  L_     f ,,r' ̄ ̄ヾ. ヽ. 
 ヾー‐' |     ゞ‐=H:=‐fー)r、)      
  |   じ、     ゙iー'・・ー' i.トソ <鍋田保がおまえら拉致して1000取るニダ
  \    \.     l、 r==i ,; |'    
   \   ノリ^ー->==__,..-‐ヘ___    
     \  ノ ハヽ  |_/oヽ__/     /\  
      \  /    /        /  |.  
        y'    /o     O  ,l    | 

 
982デフォルトの名無しさん:02/09/28 22:13
連続投稿規制中
こんなアホよりこっちのがすごかった
http://gamble.2ch.net/test/read.cgi/keiba/1019217537/l50
984鍋田保:02/09/28 22:14
     r ⌒ヽ
     (´ ⌒`) ポッポー !
         l l
 カタカタ ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (・∀・#)< また鍋田保が1000だあ!
   _| ̄ ̄||_)_\__________
 /旦|――||// /|
 | ̄ ̄ ̄ ̄ ̄| ̄| . |
 |_____|三|/
985鍋田保:02/09/28 22:15

     /\⌒ヽペタン
   /  /⌒)ノ ペタン
  ∧_∧ \ (( ∧_∧
 (; ´Д`))' ))(・∀・ ;)  
 /  ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O   ノ ) ̄ ̄ ̄()__   )また鍋田保が1000とるんですね
 )_)_) (;;;;;;;;;;;;;;;;;;;)(_(
986鍋田保:02/09/28 22:16

     ∩_∩∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/< 先生!鍋田保が1000取ると思います!
 _ / /   /   \_____________________
\⊂ノ ̄ ̄ ̄ ̄\
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
987鍋田保:02/09/28 22:17
  ヽ、.三 ミニ、_ ___ _,. ‐'´//-─=====-、ヾ       /ヽ
        ,.‐'´ `''‐- 、._ヽ   /.i ∠,. -─;==:- 、ゝ‐;----// ヾ.、
       [ |、!  /' ̄r'bゝ}二. {`´ '´__ (_Y_),. |.r-'‐┬‐l l⌒ | }
        ゙l |`} ..:ヽ--゙‐´リ ̄ヽd、 ''''   ̄ ̄  |l   !ニ! !⌒ //
.         i.! l .:::::     ソ;;:..  ヽ、._     _,ノ'     ゞ)ノ./
         ` ー==--‐'´(__,.   ..、  ̄ ̄ ̄      i/‐'/
          i       .:::ト、  ̄ ´            l、_/::|
          !                           |:    |
             ヽ     ー‐==:ニニニ⊃          !::   ト、
おれたちはとんでもない思い違いをしていたようだ。これを見てみろ。
まず「鍋田保」を英字で表記する
『NABETATAMOTSU』
これを逆にすると、
『USTOMATATEBAN』
そしてこれを更に日本語に直すと
『ウストマタテバン』
鍋田保と言う事を考えれば末尾に『1000取り王』を加えるのが当然だ。
すると導き出される解は
『ウストマタテバン1000取り王』
そして最後の仕上げに意味不明な文字『ウストマタテバン』
これはノイズと考えられるので削除し残りの文字を取り出す。
するとできあがる言葉は・・・・・・『1000取り王』。

つまり!『1000取り王』とは『まさに鍋田保』を表す言葉だったのだ!!
988鍋田保:02/09/28 22:18

      ∧∧   ∧_∧
      (,,゚∀゚)   ( ´∀`) o <鍋田保がまた千とるんだよね
      /  |   (    づ_,..................,____
   〜OUUつ _,,...!-‐'''" ̄          ̄~`''ー-.、_
       ,,r‐'"      ,r-ー、..,,,,r''""゙`ヽr-、,、_    ~`ー、
     ,r''"     r'~゙ヾ'"          "  ヽ,_      ゙ヽ,
    ,r"      ,r"~                  `'ヽ,、_    ゙:、
   ,i"     r'"                       ゙''j     ゙:,
  ,!     ,i'"   _,,,,,,,,_         _,,,.___,.,  __,、,   "ヽ,    l,
  |    ,r'.;:'"~:::"::::::::::::::~`''''ー―::::'''''"::::::::::::::::~~::::::::゙''"`ー:'''':、   |
  i,   ,r'::r:::::ヾ;::::::::::ヾ;;;;;ソ::、::ソ:::::(;;;;シ:::ヾ::::::,r':,r、:::::::::::::::::::::::::::゙i   ,!
   ゙i  !;:::::ヽ'''::::::::::::::::::::::::::::::::::::::シ:ヾシ:::::::::::::::〉::::::::'''''シ:::::::::::::::::ノ ,:'
   ゙i、 ゙i、:::::::::〈:::::::::ヾ:::::::::::::::::::::::`ー''"::::::::::::::::::::::::::::::::::::::::::::,r" ,r'
    ゙ヽ、゙ヾ::::::::::::::::::::::::::::::::::::::::::::::ーミ;;;:::::::::::::::::::::::::::::::::::,,r'" ,r'
      ゙ヽ、~゙ヾ;:::::::::::::::::::::く:::::::::::::::::::::::::::::::::::::::::::::::,,,r''",,r''"
鍋田保はまた1000取れないのか(藁
990デフォルトの名無しさん:02/09/28 22:19
シンショウヒッキー鍋田○は氏んでくだちい。
991鍋田保:02/09/28 22:20
          /::::::::::::::::::::::::
         /:::::::/::/::ヽ::i:::::::
         /::::/::/l:/  |::|_!::i:  このスレも鍋田保が1000だ…  
        l::::レl/``   '´l:! |::|       
        |::::|  ┃  ┃  ゙i:!
          |:::j.  ┃  ┃
       |::/
       |〈    __    ∪|
       |:::ヽ.  L...__)    |:
       |:::::::::゙ヽ、    _,、-'゙|:
       |:::::::::|i::::i::フ|"´   |::
       |:::::::::||:/ /|    |::
       .!:i::::::|  /__---/|::::
        〉ト、::| /   /   |::::
       r' | ヾ! / /  ト//
992鍋田保:02/09/28 22:21
      /~⌒~⌒⌒~ヽ、
     /          )      ♪
     (  /~⌒⌒⌒ヽ )
     ( ξ    、  , |ノ
  ♪  (6ξ--―●-●|
      ヽ      ) ‥ )  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       /\   ー=_ノ  < よう♪鍋田保が1000だぜ
       |∪    ∧)     \________________
      (( |    \    ♪
 
             
995鍋田保:02/09/28 22:22
     r ⌒ヽ
     (´ ⌒`) ポッポー !
         l l
 カタカタ ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (・∀・#)< また鍋田保が1000だあ!
   _| ̄ ̄||_)_\__________
 /旦|――||// /|
 | ̄ ̄ ̄ ̄ ̄| ̄| . |
 |_____|三|/
996鍋田保:02/09/28 22:22
               ┌┐                                鍋鍋鍋
    人          ││                              鍋\  鍋\
   ノ二\  ナ ゝゝ   V                 鍋鍋鍋        鍋\     鍋\
     /   / 乙 つ  O               鍋\   鍋\      鍋\       鍋\
                  鍋鍋鍋        鍋\     鍋\    鍋\       鍋\
                 鍋\   鍋\      鍋\      鍋\    鍋\        鍋\
       鍋鍋\     鍋\     鍋\    鍋\       鍋\   鍋\        鍋\
        鍋\    鍋\      鍋\    鍋\       鍋\    鍋\       鍋\
        鍋\    鍋\      鍋\    鍋\      鍋\    鍋\     鍋\
       鍋\    鍋\       鍋\    鍋\      鍋\      鍋\    鍋\
       鍋\    鍋\      鍋\    鍋\     鍋\        鍋鍋鍋 \
      鍋\     鍋\      鍋\      鍋\   鍋\           \\
      鍋\     鍋\     鍋\        鍋鍋鍋 \
     鍋\      鍋\   鍋\           \\\
     鍋\        鍋鍋鍋 \                              ┌┐ ┌┐
    鍋\          \\\      ┣━┳┃┃      ┃          ││ ││
   鍋鍋鍋\                      ┃   ┃┃┃ ┣┓ ━╋ ━╋  V   V
   \\\\                     ┛     ━┛ ┃   ┏┫ ┏┫  O  O
997デフォルトの名無しさん:02/09/28 22:23
1000取った奴は氏ねやゴルァ
998鍋田保:02/09/28 22:23
   ,rn
  r「l l h
  | 、. !j
  ゝ .f         _
  |  |       ,r'⌒  ⌒ヽ、   
  ,」  L_     f ,,r' ̄ ̄ヾ. ヽ. 
 ヾー‐' |     ゞ‐=H:=‐fー)r、)      
  |   じ、     ゙iー'・・ー' i.トソ <鍋田保がおまえら拉致して1000取るニダ
  \    \.     l、 r==i ,; |'    
   \   ノリ^ー->==__,..-‐ヘ___    
     \  ノ ハヽ  |_/oヽ__/     /\  
      \  /    /        /  |.  
        y'    /o     O  ,l    | 

9991000!:02/09/28 22:23
げと〜〜〜〜
i:: ::: :i::ヽ:::;;ヽ::;'、 ヽ   ヽ;;'';;-'"  ヽ/                   i             :::::`、  /
;;i::::;;:::i;;;;ヽ:::;ヽ-、'、    `~     'i;、                   i              :::::i'''~´ ::
:;:i;;;;'、;ヽ;;;;;i、ーiヽ.ヽ    、       i、i         ,,、-‐'''''ー--、-、  ヽ             :::::'、;;ヽ、 ::::
;;:i::i;;ヽ:;;;ヽ;;;;i;i '//'"、   `';'~^    .i ヽ、、-‐'''"´~^"´_、-'''~"~ ̄`'''´`''::、_ヽ、    :::        ::::'、;;;;ヽ  ::::
ー、;;ヽ;;ヽ;;;;ヽi、':i i,:;' /    ''´'' _、,-、-‐‐'''''''''ー-、'''`/´           ヽ`、 ヽ    ::::::      :::::::::;::;;;;  :::
  `''ー、,,;;、;;;ヽ、`i' '`      /;'ー'´'       `''ー ::::          ,,,i、、ヽ ヽ、  ::::::     :::::::::;::::;;; ::
     `''ー-、;;`''ー--‐‐‐/"/´        ::::::   `  、:::::_、-‐''~´''''ヽ-'ー-、,,,ヽ ::::      ::::::::::::i;:::i:::
         `''ー-、,ヽ /´ /:i         :::,,、--------、,''"´ヽ;;ヽ;;;;;::::::'ヽ::ヽ:ヽ::i.  ::     :::::::::::ノ::/'''
、            `''"、_//i         ::ノ:::/::::::i::::i;;;::::::::::::i、::::'、::i、:;;;;;;::::;;ヽ:'、::::i       :::::::::::/''":::::
 ''、,             `''ー、,_      ::/::/';;;;、-‐:、:::ヽ::;;;;;;;;;、ヽ;;;;ヽ;;ヽ;;;;;;;;;;;;;;i:i;;;;;'、      :::::::::/:::
   `-、               `ー'''/`'ー''ー、__;;;;;;;_、-‐'''''"";;;;;;;;_,,,,,,、-‐‐‐‐‐‐--、,,,,/ヽ    :::::::::::ノ :::
     ヽ,               ヽ、 i.  `、 ヽー、;;;;;;;;;_、-‐''"´  ::::::       ::::::~`ヽ、,,、、-‐'''"::::
       ヽ               ヽ, '、、 ヽ '、 `、_         ::::       ::::::::::/:::::::
       ヽ::               `''"ヽ i `、 ヽ`'ー、        ::::::      ::::::/::
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。