貴様ら!ブロック崩し作るので見てください
■ このスレッドは過去ログ倉庫に格納されています
0001ヒッキー@プログラミング
NGNG作りたくなりました。
Bitbltなど使う予定ですが、細かい技術がないので、
小出しにプログラムしようと思います。
(タマが動くだけとか、キーボードで自機を動かすだけとか)
オナーニスレだけどよろしくね。
0545一応プロ
NGNG>あとアイテムのことだけど、ブロック崩しはもともとバランスのいいゲームだと思うから出し過ぎは危険だと思うよ。
その考え方のほうが危険じゃないか?発想力が乏しくなりそう。
個人の好みだけど、そういう考え方は好きではないな。
「ブロック崩しはこういうもの」とかいう定義は勉強中のプログラマにはして欲しくないな。
それはゲームを"するだけの人間"に任せておけばいいだろう。
仮に「ミサイルでブロックを壊す」という機能を実装して、ゲーム性が損なわれたとしたら、
それを補うアイデアを考えればよい。時間は十分にあるんだから。
趣味でやってるんだから、気に入ったアイデアがあったらとりあえず実装してみれ。
0546デフォルトの名無しさん
NGNGそれはそうなんですけどね。
ただ今回のバージョンアップ版をやってみてゲームバランスが崩れかかってるかなと思ったんですよ。
前のバージョンの方がよかったなって。
なんか今回のバージョンになってブロック崩し本来の面白さが欠けたような気がする。(そうはいってもボール分裂は見たい…)
けどミサイルなんて物はブロック崩し本来の面白さを完全にぶち壊してしまうような気がする。
そして一度その方向に進んでしまうと、もう二度と本来の面白さを生かすような方向には転換しない気がする。
まぁそれを1さんが見事に面白くしてくれればいうことなしなんだけど。
0547デフォルトの名無しさん
NGNG発展を評価すべきだよ。
ちなみにボールを増やすのを指示したのは俺だけど、1の今の技量でいきなりアイ
テムを出すのはキツいと思ったから暫定的に今のシステムを提案しただけだよ。
もしこの先アイテムを出すとして、ボールが分裂するアイテムが出たとしても、
今の状態からなら新しいボール発生の条件を変えるだけで済むし。
今のシステムを生かすなら、得点システムを変えてコンボボーナスを無くして
変わりに飛ばしてるボールの数によって2倍、4倍の点が入るようにするのが
いいかな。あとは、ボールが2個以上飛んでる場合は右クリックしながら受けると
キャッチできるとか。
ミサイルでブロックを破壊はブロック崩しとしては常識外れだけど、それでも闇雲
に否定するのもどうかと思うよ。例えば、ミサイルで攻撃する対象はブロックでは
なくてボールにして、ボールの動きに干渉できるようにするとか、いくらでも考え
ようはあるかと。
0548528
NGNG「習うより慣れろ」 これ大抵の技術の一番の習得方法
そりゃ横に誰かいて手取り足取り教えてくれるなら別だけど、
独習なら手軽に試せて結果も満足いくDelphiを 間に挟むのは良い事だと思うよ
0549デフォルトの名無しさん
NGNGbetter VBって感じですか?
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNGやっぱブロック崩しはローラーでそうさせねば。
0552デフォルトの名無しさん
NGNGBCBがあるのをお忘れずに。DirectXまで考えるとBorland製品は絶対に奨められ
ないが。
ただ、RAD環境ってのは、ツールみたいな標準GUI主体のソフトには便利だが、
リアルタイムゲームみたいなプログラムにはほとんど何も助けにならないよ。
それと1よ、みんなの意見を取り入れるのはいいが、自分で思いついたアイディア
も積極的に入れていった方がいいと思うよ。実装は難しそうでもここに書いてくれ
れば、実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。
0553デフォルトの名無しさん
NGNG俺も DirectX 使う場合には、RAD はそれほど「便利」ではないと思うけどね。
DirectX プログラミングは GDI に比べると、ちと難易度が上がる。たとえば GDI だと
バックバッファへの描画は BitBlt() を呼び出せばいいだけだが、DirectX だとこれが
タイミングによっては「失敗」することを考慮する必要がある。
#GDIでも BitBlt() が失敗する可能性はあるんだが、殆どの場合は気にしなくて大
#丈夫。
たとえば DirectDraw を使う場合、IDirectDraw7, IDirectDrawSurface7 関連のメソッド
は、すべて
1. 失敗したら
2. 再描画 (RestoreAllSurfaces()) もしくは IDirectDraw7 の再初期化
3. 失敗した処理のやり直し
ってロジックを埋めておく必要がある。
今のブロック崩しのコードのようにベタにコード中に処理を記述する形式だと確実に破
綻するので、処理を同期的に行わず一旦キューにため、エラー発生を前提にキューに
ある処理を順次処理、みたいな一段高度なアーキテクチャを要求されるよ。(DirectX
は初期化だけでも、最初は面倒だろうし)
0554デフォルトの名無しさん
NGNG> 2. 再描画 (RestoreAllSurfaces()) もしくは IDirectDraw7 の再初期化
じゃなくて
2. サーフェイスの復元 (RestoreAllSurfaces()) もしくはIDirectDraw7 の最初期化
+再描画
だな。
0555デフォルトの名無しさん
NGNGBCBはあれはコンパイルが遅いから 変更即RUNで試すというサイクルで出来ない。
RADでもDelphiの場合は自分でコンポを容易に作れるから 画面作りの効率化
はもちろん、キャラの設定なんかもキャラをコンポ化すればRAD環境で可能
必要なら、スクリプトをプロパティに設定し設計時からキャラを動き回ったりさせることだって出来る
そういうふうにコンポーネント化してゆく事でどんどん効率的になってゆく体験は大事だと思う。
0556デフォルトの名無しさん
NGNGそれはコードを書く側の問題。
VBでもCでもC++でもコードの再利用をしやすいように組む事はできる。
っていうか話し聞いてると、Delphiに浸ってたら脱初心者は無理のような気がしてくる。
もっとプログラミングそのものに浸ってから最後にDelphiでいいと思われ。
とりあえず、プログラミング入門編としてのRAD系は卒業した方がいいのでは?
0557デフォルトの名無しさん
NGNG>それと1よ、みんなの意見を取り入れるのはいいが、
>自分で思いついたアイディアも積極的に入れていった方がいいと思うよ。
>実装は難しそうでもここに書いてくれれば、
>実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。
552さんの提案は、非常に有益だと考えます。
プログラム学習者にとってもこのスレがこういう方向に
進むことを期待します。
0558555
NGNGVBでも Cでも 確かに再利用し易いように組む事は出来る。
でも、それは独習で身につくのだろうか?
指導者がついているか、適性があり経験を重ねて身につくものだと思う
言い切っちゃうとさ、管理者居なくて独習で経験を重ねてるだけじゃ VB/Cだと悪い癖しか付かないよ
それは実際の現場見りゃ判るでしょ? 経験xx年のプログラマの作るコードがどんなものかさ
なお、Delphiでコンポを作る場面はRADじゃない。
でもその作業がスグにRADに反映してゆくから、 少しの苦労で見入りが大きい。
そういう点から学習効率がいいと思うんだ。
まあ本人の問題だから本人が決めればいいことだけどさ
0559デフォルトの名無しさん
NGNG> VBでも Cでも 確かに再利用し易いように組む事は出来る。
> でも、それは独習で身につくのだろうか?
はい。
ソフトウェアコンストラクションに関しては、管理者がいようが仕事でやろうが、本人
が勉強してコード書いて頭と身体で覚えないとダメです。RAD や周囲の環境は補助
にはなるけど、それだけで自動的にコンストラクション能力が上がるものではない。
これだけだとなんなんで、推薦図書を。推薦図書スレにも書いたので重複になるけ
ど、今の >>1 に合いそうなものを抜粋ね。
コードコンプリート―完全なプログラミングを目指して
マコネル,スティーブ ;石川 勝
アスキー (1994)ISBN:4756102107
ライティングソリッドコード―バグのないプログラミングを目指して
Steve Maguire
アスキー ISBN:4756103642
プログラミング作法
Brian Kernighan, Rob Pike
アスキー ISBN:4756136494
0561デフォルトの名無しさん
NGNG効果音がなった時、一瞬だけ描画が止まるというか
カクッとなるの、俺だけ?
0562デフォルトの名無しさん
NGNG反射のバリエーションが増えるよ。名付けてリフレクターブロック(でいいのかな?)!
あと自機を \__/ の形にするってのはどうよ。傾く角度も変わったりして。
0563超大作
NGNG15 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
はぁ、疲れた、
0564デフォルトの名無しさん
NGNGどうやってプレイしろと・・・。
0565デフォルトの名無しさん
NGNGそもそも「ブロック」であることに拘らなくてもいいのでは?
#でもそうすると「ブロック」崩しではなくなるか(w
あと、時機も「パドル」であることに拘らなくてもいいのでは?
などなどと、考えていると面白いアイデアも出てくるのでは?
例えば…
・ブロックでなくてインベーダーだとか
・時機はパドルでなくてバット(昔の野球盤風)
なんてのは?面ごとにそんな趣向を凝らしても面白いかもね。
0566ヒッキー@プログラミング
NGNGなんか面クリアと見せかけてゲームオーバーになったりしますね…。書き直します。
前のままにすると、なんか足らない気がして、最後に受けた方がいいかなぁと。
ウチでも、マウスで動かすと遅くなりました…。気付かなかった。鬱氏
ミサイルで壊すっていうのは結構いろんなブロック崩しで出てきますねー。
僕もちょっと違和感を感じます。アイテムは何かしら出したいとは思っています。
>>545
そうですね。そういう考え方もできるのか…。ご意見ありがとうございます。
なんか、人の意見を尊重しようとするあまり、自分の意思が欠けてたような
気がします。
>>546
やっぱゲームっていうジャンル上、プログラムの実装の仕方なんて、
ユーザには何も関係ないですもんね…。
面白いものを目指す事を忘れないようにしたいです。
>>547
おー、ボールの分裂の意見をくださったかたですか。
同時に飛んでいるボールの数によって点を変えるようにしたほうが
良いかもしれないですね。必然的にユーザは
ボールをいくつも出す→危険な事に挑戦するという感じで、
面白さに繋がるかもしれませんね。
ミサイルにボールが当たると動きが変わるというシステムは斬新ですねー。
参考にさせていただきます。
0567デフォルトの名無しさん
NGNG0568ヒッキー@プログラミング
NGNG手軽に試せるという風に考えると、C++に逝くよりはDelphiの方が
よさそうですね。ついでに無料みたいだし…惹かれてみたり
>>549
うーん、そうなんですかね?どうなんでしょう。
やっぱお勧めになるという事は、それなりのワケがあるんだと思います。
>>550
そういう事だったのか(藁
>>551
あー、そういえばホイールついてましたね。
関係ないけど、目の付け所がシャープですね。
>>552
やっぱウインドウ作ったりボタン作ったりってゲームにはあまり
関係ない要素ですよね。作り始めてやっと気付きましたが(w
>>実装方法やもっと簡単な代替案なんかをアドバイスしてあげるよ。
ありがとうございます。
僕も何か考えて、まずここで発表してから実装に移ろうかと思います。
0569ヒッキー@プログラミング
NGNG>>DirectX だとこれがタイミングによっては「失敗」することを考慮する必要がある。
なんかむずかしそうだ…。
キューに処理を貯めて、それを実行するって複雑そうですねー。
何の機能も無い、キューの構造を作るだけでひぃひぃ言いそうなんですが(藁
>>554
サーフェイスって、メモリ上のビットマップのことでしょうか?
>>555
コンパイルする時間ってなんかドキドキします。
たいがい、凡ミスエラーだらけなんですが…。
うーん、なんかプログラムを楽しんでできそうですねー。Delphi。
>>556
いつまでもヌルい環境に浸っていたらダメかもしれないですね。
最初、ウインドウをAPIで作ったとき、驚愕しました。
>>557
僕にとっても非常にありがたいです(藁
>>558
再利用しやすいコードって、非常に難しいです。
汎用的に書いてるつもりでも、実は他のプログラムにコピペしたら
穴だらけみたいなソースをいつも書いています…。
※なんか、全てのパターンを満たすほど意見があって、自分で取捨選択
するのが難しいんですが…。
>>559
おー、本で勉強すれば自分でもスバラシいコードが書けるように
なるもんですか。本の名前まで挙げていただいて、ありがとうございます。
>>560
思いついたら書こうと思います。
>>561
APIの呼び出し方が間違っているのか、ウチでも、ノートPCでやると
カクカクします…。
>>562
プログラム的に非常に勉強になりそうですねー。
やってみたいけれど、ちょっとまだ難しいかも…。勉強します。
0570ヒッキー@プログラミング
NGNG何の機種用のBASICなんでしょうか(藁
BEEP 1ってどっかで見たような…
>>564
PC98をおもむろに起動するとか…
>>565
自機がバットって…ワラタ。
殻をぶち破る勢いのある発想ですねー。参考になります。
>>567
そうしたいと思ってはいるんですよ。
0571デフォルトの名無しさん
NGNGつーか、そもそもインベーダーゲームってのはそういう発想で生まれたはず。
0572デフォルトの名無しさん
NGNGJavaってよくオワッテル言語と聞くのですが
皆さんはなぜ勧めるの?
0573デフォルトの名無しさん
NGNGオワッテル人たちが言っているに過ぎないため。
0574デフォルトの名無しさん
NGNGメンバー集めないと廃部になるJava倶楽部。
0575:デフォルトの名無しさん
NGNG徐々に成長していって、面白かったよ。
これからも頑張れよ。まじで
0576デフォルトの名無しさん
NGNG0577名無し
NGNGJava倶楽部が廃部になったら、どこ行きます?
0578デフォルトの名無しさん
NGNG自分だけ被害者になるのが嫌なので
初心者も巻き添えにしてやろうってことです。
0579572
NGNG0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNG今までずっと囲碁をやって来て、囲碁部がつぶれたから、
じゃあ将棋部へなんて無理だろ
って、俺は574じゃないが
0582デフォルトの名無しさん
NGNGだから、ずっと囲碁やってて囲碁部がつぶれたらどこ行くの?
0583572
NGNG喧嘩はしないで―
0584デフォルトの名無しさん
NGNG全国行脚に出る
0585デフォルトの名無しさん
NGNGネット囲碁。
0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNGすけさんを
わすれずにね
0588ヒッキー@プログラミング
NGNG>>571
そうなんですか?ほおほお。
>>575
ういー。がんばります。
0589デフォルトの名無しさん
NGNG趣味ならその時好きなことをすればよい
趣味は酔狂なほどたのしい
0590589
NGNG0591デフォルトの名無しさん
NGNG伊達や酔狂も程々にな。
0593デフォルトの名無しさん
NGNGというか今主流の言語を語れる人って居るのかな。
このスレならゲームに使われてるものか・・・・
実際このゲームはこうで・・・・とか。
ハーフライフとかKohanて奴がModに対応してるとか聞いたんですが。
そのModってなんなんですか?
3D系ならともかくKohanてゲームはリアルタイムストラテジーなんですが
何となくは解るんですが、実際Mod作ったりしてるプログラマって
いるんですかね?日本に。
CSとかとてもアマチュアが作ったとは思えない出来なんだけれど。
0594デフォルトの名無しさん
NGNGスレ違い。googleでも行くがよろし。
0595デフォルトの名無しさん
NGNGゲーム作りにはそれが障害になりうる。また文法が緩く、入門者
は早期に移動しないと悪癖が見に付き易い。
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依存病、などの症状にも
かかりやすい
0596デフォルトの名無しさん
NGNGガムバレ
0597デフォルトの名無しさん
NGNG妙にDelphiびいきだなぁ(笑
漏れは別にSTL依存は全く問題無いと思うけど。むしろSTLを使いこなせたら
ちょっと尊敬しちゃう。漏れはコンテナクラスくらいしか使う気しない。
Direct3D使うようになると、DelphiどころかVC++/IC++以外のコンパイラは
たとえC/C++であっても却下なんだよなぁ。
Borlandもさっさと妥協してオブジェクトファイルのフォーマットをMSに合わ
せれば良いのだが。
0598デフォルトの名無しさん
NGNG> Direct3D使うようになると、DelphiどころかVC++/IC++以外のコンパイラは
> たとえC/C++であっても却下なんだよなぁ。
なんで? 詳細キボンヌ
0599デフォルトの名無しさん
NGNG言語というより一つの処理系にすぎないと思うんだけど。
0600デフォルトの名無しさん
NGNGっていうか、VBにもユーザコントロールって無かった?
0601デフォルトの名無しさん
NGNGそこで成長が止まるか コンポ自作側に回るかが分岐点かもな
UserControl はActiveXを手軽に作れるのがメリットで、便利とは
思うけど、あくまでもコントロール。
コンポーネントはコントロールも作れるけど、クラスの一種。
コンポーネントにしたからといってオーバーヘッドはクラス化と同じ
程度。(実行時型情報を動的に使えば多少のオーバヘッドは出るけど)
またコンポーネントを作る事でクラス作成の訓練にもなるのがイイ感じ
それってC++でも一緒じゃないの?
参考書片手に勉強すればいい話かと。
結局本人次第としか言いようがない・・・。
0603デフォルトの名無しさん
NGNG0604デフォルトの名無しさん
NGNG問題はまあ クラス設計とかが難しいって話かもしれないけど
趣味で作るなら 何回か作れば最適なのが見つかるし。
0605デフォルトの名無しさん
NGNG>>1 =ヒッキー@プログラミング
例のブロック崩しですが(この話題ってもうおわったの?)、
ブロックをすべて崩した後に、ボールをキャッチせず、残りのボールを0にすると
「ゲームクリア」となるのはいいのですか?
しかもその後面が変わって即「ゲームオーバー」となってしまう。
ださい と思うんやけど。
ソース見てくるわ
# VBは経験ないので、直感で読みます(藁
# C言語を勉強中http://www.kumei.ne.jp/c_lang/で。
# ポインタってのがよく分からないのが、つらい。
0606ヒッキー@プログラミング
NGNG的を射たご意見、ありがとうございます。
ちょっとやる気がでました。
>>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してたら、ファイルだらけになるのではないかと
思い、ちょっと戸惑ってました。
0607ヒッキー@プログラミング
NGNG↑次UPしました。変更点は、
・ブロック全て破壊後にボールを落としても、StageClearとなる現象の修正
です。
0608597
NGNGMicrosoftとBorlandではオブジェクトファイルに互換性が無いんだけど、
(昔はあったらしいがMSが仕様変更したときにBorlandがついてこなかったとか)
dllならimplib使ってBorland用のlibを作れるからDirectXでもあまり問題
無いんだけど、Direct3Dは重要なライブラリがスタティックライブラリで
提供されてて、それはdllじゃないからBorlandのコンパイラでは利用不可能。
DirectX7の頃はそれほど重要でもなかったんだけど、X8になったらシェーダー
のコンパイル関数とかがスタティックライブラリの方に入ってて死亡。
一応、NVIDIAのNVASM使ってコンパイルできなくも無いけど、試行錯誤するのに
毎回コンパイルしなきゃいけないのは面倒かと。
事実上、DirectX8でBorlandコンパイラには死刑宣告されたようなもんだ。
0609デフォルトの名無しさん
NGNGMSの単なる嫌がらせか?
0610デフォルトの名無しさん
NGNGその点でDirectXが使えない=死刑宣告というのは偏狭。
0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGだからぁ、Direct3DはCOM使ってない部分があるんだって。
COMにしないのは何故だか分からんが。速度的な問題かも。かなりの部分がインライン
関数になってるくらいだし。
>>610
597に「Direct3D使うようになると」って但し書きしてるから、そこも見てから言っ
てくれ。
>>611
coff2omfでも駄目みたい。
ただ、検索したらボーランド用のライブラリを公開してる人がいたよ。
どんなのか見たら、Direct3DXの関数を全部エクスポートしたdll作って、
それを利用するみたい。
俺もソースの無いdllとかを改良するときに同じ事してるけど、これなら
呼び出しコストが少し増えるだけで利用できるわな。
0613598
NGNGgcc(mingw)とかlcc-winとかはどうなのかな。
0614デフォルトの名無しさん
NGNG0615傍観者
NGNGここは1の成長を見守るスレなんだから。
0616デフォルトの名無しさん
NGNGやるとしたら、このあたりか?
鬱だ氏のう DirectX 2
http://pc.2ch.net/test/read.cgi/tech/997101556/
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNGblock29.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」という角度にはなにか意味があるのでしょうか?
もしよろしければ教えてください。
0619ヒッキー@プログラミング
NGNGスタティックライブラリって、コンパイラが変わると
使えなくなるんでしょうか?
>>615
実はこういう話題も、僕にはまだちょっと難しいですが
興味があるので、調べながら読ませてもらっています(藁
>>616-617
どもども。お気遣い、ありがとうございます。
>>618
>「CBall.vx > 0」というのは右に向かっている状態…
はい、右に進む場合は座標がだんだん正の方に増えていくので、
そのように書きました。
>「25」「20」「65」「70」という角度にはなにか意味が…
あまり意味はないのですが(w 、ただ、15度以下になったり、
75度以上にならないようにしようかと思いまして。
急角度になりすぎると、角度を修正する事ばかりにとらわれて、
ゲーム性が違うほうに向かってしまうんではないか、
と感じたので、そのようにしました。
0620ヒッキー@プログラミング
NGNG↑次UPしました。変更点は
・マウスモードでボールを複数出すと自機が重くなる現象の修正
です。
ソース、1行の修正で済みました…。
もうちょっと注意深く調べるようにします。
0622598
NGNG> スタティックライブラリって、コンパイラが変わると
> 使えなくなるんでしょうか?
コンパイラというか、コンパイルしてできるオブジェクトファイルの形式ね。
大体はシステムで共通なんだけど、Borlandだけ他と違ってるということかな。
なんでスタティックライブラリだけかというと、DLLの場合はシステムでロー
ドできる必要があるから、独自のものにはできないので問題が起きないから。
0623傍観者
NGNGおつかれ〜〜、早速見てみます。
>>616-617
サンクスコ。
やっぱいい奴の周りにはいい奴が集まるって事だねヽ(´ー`)ノ
他スレなら『しきるな(゚Д゚)ゴルァ!!』だし。
0624デフォルトの名無しさん
NGNGマウスモードの時に最小化ボタンをクリックしたりデスクトップのアイコンをクリックすると
ボールが発射されてしまいますね。これは直してほしいところです。
ゲーム画面をクリックすると開始、
ゲーム画面の中だけにマウスの移動範囲を制限するというのはどうでしょうか。
そして一時停止するとマウスの移動制限をなくし、
またゲーム画面をクリックするとマウスの移動範囲を制限し、ゲームを開始する。
このようにすればなんとなく解決する気がします。
ただこれにすると一時停止中でしかマウスモード→キーボードの切り替えができませんが。
あとなんとなく左クリックで開始と一時停止、右クリックでボールを増やすという方が一般的な気がします。恐らく。
とりあえずマウスの移動制限の説明のリンクを。
ttp://www.elixir.co.jp/developer/vb/lib/vb_all.htm
0625デフォルトの名無しさん
NGNG良い人材を見つけたら自分で育てたくなるのがPGってもんだ(謎
>>1は、もうこのゲームのチューニングは十分ではないだろうか?
ここら辺から先は別の人間が進めても良いと思う。
>>1が作ったソースコードをベースに、有志が独自の改造を施してみては?
そして改造したらジオで公開し、ココに報告する。と。
>>1は次は何を作りたいんだ?
0626デフォルトの名無しさん
NGNG0627ヒッキー@プログラミング
NGNGいえいえ、こちらこそソースを読んでいただいて
ありがとうございます。
>>622
そういうことでしたか。
DLLは独自のものにできないんですね。
オブジェクトファイルって、exeになる前の中間ファイルのことですか?
(というか、リンクという作業もよくわかりません(w)
>>623
おー、どうもありがとうございます。
>>624
そうですね。画面外をクリックした時に始まるのは変ですね。
マウスの移動範囲を制限するというのは、ゲームを正しく動かす為には
有効なやり方だと思いますが、手軽さが減るのではないかなぁ
と思います。
リンク先、参考にさせていただきます。どもども。
>>625
僕も止め時が難しいなぁと感じてました(w
でも、ソースを放置するにも、説明が少なすぎるし、
何かまとめになるようなモノを書こうかと思っています。
順番的には、次はテトリスを作ろうかと。
>>626
まだいくつかVBで作ってみようと思います。
他の言語に移るのはもうちょっと勉強してからにします。
(次の候補は一応VCにしました。)
0628デフォルトの名無しさん
NGNGテトリスが一応出来たら、ぷよぷよへの応用も結構できる。
ただ、ブロックの消える判定が違うが。
0629デフォルトの名無しさん
NGNG0630622
NGNG> DLLは独自のものにできないんですね。
今Windowsで使われてるのはPEフォーマットという奴
> オブジェクトファイルって、exeになる前の中間ファイルのことですか?
そう。というかVBも中間ファイルとかいって作ってるはずだが。
> (というか、リンクという作業もよくわかりません(w)
オブジェクトファイル同士(とライブラリ)をくっつけて実行ファイルを作ること
0631デフォルトの名無しさん
NGNG次はテトリスって話だけど、少なくともテトリスはブロック崩しより簡単だよ。
ぷよぷよは再帰使うと簡単だけど、VBって再帰使える?
0632デフォルトの名無しさん
NGNGテトリス
ぷよぷよ
電卓(俺推奨 藁 (1/3)*3が1と表示されるヤツ
だな。
0633デフォルトの名無しさん
NGNG薬師丸ひろ子まだ〜。
0634ヒッキー@プログラミング
NGNGぷよぷよは面白そうですねー。
でもぷよぷよ、すごく苦手なんです…連鎖のデバッグができない(w
>>629
ほおほお。そうですかー。
次にやってみたいと思います。
>>630
おー、ご教示ありがとうございます。
リンクという作業がようやく納得できました。
>>631
うーん、テトリスならすぐにできそうなので、
それからブロック崩しの続きを考えようと思います。
再帰ですか。VBはできないような……できるのかな。
ぷよぷよで再帰とはどこで使うのでしょう?
くっついた時の判定でしょうか?
>>632
あー、電卓の存在を忘れるところでした。
インタープリタは書いてみたいですが、もう少し経験を積んでから
やり始めようと思います。
>>633
そろそろ髪の毛1本づつとか送って来たりして(w
0635デフォルトの名無しさん
NGNG削除判定のときじゃない?
簡単な塗りつぶしのアルゴリズムと一緒。
0636デフォルトの名無しさん
NGNG配列変数で仮想画面を作ってそれで判定する・・・であってますか?
いや、というより本当に聞きたいのはブロックの回転の仕方なんです。
■
■ → ■
■■ ■■■
と回転させる時、みなさんはどのようにして回転させていますか?
やはり変数に(2次元配列変数)
│012
┼──
0│000
1│001
2│111
などと形を記録しておいて、回転の度に該当する変数を呼び出しているのでしょうか。
ていうか以前にそこらへんをすべてむりやり計算して回転させようとして無茶苦茶になって挫折したんです。
うーん、上手く説明できない。これでわかるかな?
0637デフォルトの名無しさん
NGNG0638デフォルトの名無しさん
NGNG計算して回転させるのも「むりやり」じゃなくてフツーだよ。
まぁ、やるなら最初にプログラム内で回転させたパターンを全部生成して、それを
使うのが一番良いと思うが。
0639デフォルトの名無しさん
NGNGVBでDirectX使ってみたら?
たしかDirectX7はVBからでも使えたような・・・。
0640デフォルトの名無しさん
NGNGモナーの *やさしい* Delphi質問スレ
http://pc.2ch.net/test/read.cgi/tech/1003113413/
の ( = ゚ ω゚ ) みたいになるぞ・・・
0641デフォルトの名無しさん
NGNG俺も詳しく知らないのでほっとけば誰かの講釈が入るだろうと思って
たんだけれど・・・・
MODで名前あってるか知らないけど、確かCSならHL(ハーフライフ)
持ってればただでゲームできるという代物だったよーな。
つまりHLのプログラムを利用したゲームだって事だと思う。
クォーク(クエイク?)とかアンリアルとかもにたようなモノだと
どこかで読んだ記憶がアリ。なんとかエンジンって言うのかな。
俺はこれくらいしかしりません。
0642デフォルトの名無しさん
NGNG>>640の言うようになるかどうかはお前次第だ。
別に移行のタイミングなんて関係ないから気にするな。
0644デフォルトの名無しさん
NGNGmodは知ってるけど、googleで検索すればいくらでも解説はあるから無視した。
ただ、音楽の方のmodばかりヒットするから、マイナス検索使わないと面倒だが。
そもそもこのスレに関係ないし。
■ このスレッドは過去ログ倉庫に格納されています