トップページ⇒tech
1001コメント487KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001ヒッキー@プログラミングNGNG
VBでWinAPIを使う方法がわかってきたので
作りたくなりました。

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

オナーニスレだけどよろしくね。
0652デフォルトの名無しさんNGNG
651さんの普通が何か分からないけど、
回転法則自体は>>643の仕様どおりになってると思う。
(壁にめり込むのは別として)

市販されてるテトリスは回転法則がソフトによってまちまちです。
例えばこの辺を参照
ttp://www.din.or.jp/~koryan/t_r01.htm
0653デフォルトの名無しさんNGNG
テトリスと言えば、漏れはやはりセガのアーケード版だな。
同時期に出た各社のテトリス(アーケードでもATARI版とかあった)の中では
セガのが一番良かった。落下スピードが反則的に速いかわりに、地面について
からくっつくまでの時間がとても長い。
BPSのパソコン版はイマイチ。
0654デフォルトの名無しさんNGNG
>>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使うね。
0655ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/tetris2.zip
↑テトリス、次UPしました。
 今のところ問題点としては

・壁に埋まる
・レベルが上がらない(早くならない)

などです。

>>649
どもども。
一番上まであがったら座標が-1になるときがあって、それで
エラーを吐いていたようです。応急処理的に、MsgBoxを出してみました。
ご報告、ありがとうございます。

>>650
僕もそういう感じで処理したかったんですが、
VBだと冗長な処理になってしまいます…。
宣言時に初期化できないもんでしょうか。

>>651
ういー。がんばります。
>>652 さんのおっしゃる通り、いろいろ回転が違うみたいですね。
ゲームボーイでさっきやりましたが、>>643 さんにリンクして頂いた
回転と違っていました。
って、>>652さんのページ、すごいですね(藁

>>653
あー、セガのってサルのやつですですよね。
僕は当時お小遣いが少なくてほとんどできませんでした…。
なんかOL風の人が、異様な形相ですごい速度を
さばいてたのを見ました。
テトリスってパソコン版あったんですか?知らなかった。

>>654
回転、計算でもとめれるんですねー。
僕は回転の仕方を考えていたら頭がよじれそうになりました。
やっぱ配列に回転後のデータを格納しておいた方が速いのでしょうか。
0656バード大佐NGNG
すげー
いつのまにかテトリス開発に移ってたのかw
0657デフォルトの名無しさんNGNG
(´-`).。oO(なんでみんな既存のゲームに似せようとするんだろ...)
0658デフォルトの名無しさんNGNG
>>657
ブロック崩し、テトリス、パックマン、リバーシ(オセロ)、ぷよぷよ、インベーダー……
このあたりはゲームプログラミング初心者に最適な題材だからだ。

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

それと、この際タイトルに
「貴様ら! 落ちてくるブロック揃えて消してください」なんてどうかと。
0660 NGNG
シンプルに、
『貴様ら!ブロックをそろえてください』でいいんじゃない?
0661デフォルトの名無しさんNGNG
ストレートに
貴様ら!テトリス作ったからプレイしてください
でどう?
0662デフォルトの名無しさんNGNG

「貴様ら!ブロック崩し作るので見てください (662)」
               ↓
「貴様ら!ブロック消し作るので見てください (3)」
0663デフォルトの名無しさんNGNG
>>662の
>けしって何
の部分が
「こけしって何」に見えた俺は逝ってよし?
0664デフォルトの名無しさんNGNG
>>663
(´-`).。oO(逝かないで・・・)
0665ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/tetris3.zip
↑次UPしました。
 まだ若干ブロックに埋まったりします…

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

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

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

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

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

>>663
こけしですかー。最近見てないなぁ…。
0666ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/tetris4.zip
↑次UPしました。一応ちゃんと動くようになりました。

 あとは音を付けたいと思います。
0667デフォルトの名無しさんNGNG
何が何でも罵倒語と丁寧語をスレタイトルに同居させんといかんのだな
0668デフォルトの名無しさんNGNG
>>667
http://jiten.www.infoseek.co.jp/Kokugo?pg=result_k.html&col=KO&qt=%B5%AE%CD%CD&sm=1
昔は尊敬の意味があった(^^)
0669デフォルトの名無しさんNGNG
電波ども、ドキュソを
0670デフォルトの名無しさんNGNG
ああ、努力って報われるのね。
このスレッド見てて、そう思った。
俺も頑張ろう。
0671デフォルトの名無しさんNGNG
>>668
「ら」は尊敬じゃないだろう。
0672ヒッキー@プログラミングNGNG
http://www.geocities.co.jp/SiliconValley/2530/tetris5.zip
↑次UPしてみました。

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

などしてみました。

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

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

>>669
目撃ドキュソ

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

>>671
そうですね…うーん、貴様ドモ!…余計ダメですね。
0673デフォルトの名無しさんNGNG
>>672

どのキーでブロックを回転させるの?
0674ヒッキー@プログラミングNGNG
スペースキーで回転します。
逆回転は今の所ありません…
0675 NGNG
http://ww31.tiki.ne.jp/~mayugon/java/tamago/
0676660NGNG
貴方様ドモ!!で。
0677デフォルトの名無しさんNGNG
貴様方!!
0678ヒッキー@プログラミングNGNG
今日は風邪気味で休憩してました。
最近、更新回数が減ったせいか、酸化してくださるかたも
減っていったような…
そろそろブロック崩しの続きでも作ろうと思います。

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

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

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

次スレは「貴様方!C言語勉強するので見てください」だな(藁
0680デフォルトの名無しさんNGNG
http://pc.2ch.net/test/read.cgi/tech/1008483093/
0681ヒッキー@プログラミングNGNG
>>679
クサカベさんって、煽り専門のように見えるのですが
気のせいでしょうか。
この発言に「はつみみです。」っていうレスついたりして(藁

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

対抗age
0682ヒッキー@プログラミングNGNG
体調がすこぶる悪いです。
開発停滞してる間にお客さんが減ってしまった…。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>692
吸収するべくがんばります。
0695デフォルトの名無しさんNGNG
>>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 される)

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

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

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

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

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

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

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

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

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

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

どこまで似てるのはよくてどこからはダメなのか、というのはよくわからんです。
0706  NGNG
まあ、テトリスっぽくなければOKでしょう(謎
0707デフォルトの名無しさんNGNG
下から上にブロック発射すればよい。

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

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

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

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

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

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

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

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

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

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

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

>>711
コンパイラはフリーでありますよ。
ボーランドのTurboC++とかDownloadできるみたいです。
GUIのツール類は無いみたいですが…
0714デフォルトの名無しさんNGNG
>>698
DIB は描画時にデバイスコンテクストにあわせて変換が入るから、遅くないか?
0715 NGNG
「映画の著作物」は頒布の話だから、ゲームのアイディア保護とは違う気もします。
このへんようわからんのですが…
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
0716デフォルトの名無しさんNGNG
>>714
DDBに比べれば確かに遅いかもしれないけど
最近のマシンなら十分に使い物になる。60fpsくらい全然余裕(解像度にもよると思うけど)。
バリバリに画面描画を行うならDirectXがいいかもしれないけど
たいていはDIB(っていうか、旧WinG)で間に合うと思う。
0717デフォルトの名無しさんNGNG
>>713
お言葉はありがたいけど……
フリーであるんだけどね、通信速度が……WinUpDateで精一杯(藁
ISDN?いやいや、56kbpsしか出ませんよ(泣
通信費か、もしくは……
0718デフォルトの名無しさんNGNG
>>717
Cマガ買え
0719デフォルトの名無しさんNGNG
小遣1k円……
ノート1冊0.1k円……
がんばる!
0720デフォルトの名無しさんNGNG
>>717
とりあえずCの勉強ならLSI-Cの試食版でもやってみれば?
アーカイブで400Kだから全然余裕だろ?
0721701NGNG
>>713
けど6行あるうちの4行しか使ってません。というか使えません。
大きくすると描画に時間がかかってゲームにならないんです。
しかも教育用ポケコンの仕様かどうかわかりませんが、横幅が普通のよりせまいんです。
だから雑誌に載っているプログラムを打ち込んでもはしっこが見えない・・・(泣
0722デフォルトの名無しさんNGNG
>>720
アリガトウ♥
コレから落としてきます。 ねこでも――で便供養中です。
0723デフォルトの名無しさんNGNG
スマソ。
/便供養中/勉強中/鬱;
0724  NGNG

いいものいっぱい!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
0725デフォルトの名無しさんNGNG
a 宣伝ですか?
g とりあえず、あぼ〜んっと。
e あげとこうっと。
0726デフォルトの名無しさんNGNG
>>380……
>>724宣伝ウザい。
0727デフォルトの名無しさんNGNG
かちゅ〜しゃでみると>>721のうごきがおかすぃ、、。
0728ヒッキー@プログラミングNGNG
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
0729デフォルトの名無しさんNGNG
P/ECEをやれYO!
OK?
0730デフォルトの名無しさんNGNG
>>728
とりあえず、コンパイラの警告レベルを 4 にしましょう。

if (x = 0)

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

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

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

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

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

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

漏れはメモリ領域取ってStretchDIBitsとか使うけど。パレット付きとか使うとき楽。
上限反転も気にしないで済むし。
0745744NGNG
>>744
ぐは,上下反転ね(;´Д`)
0746 NGNG
ピクミン操作は、どうよです!
0747デフォルトの名無しさんNGNG
>>744
上下は高さをマイナスにすればいいんだよ。ヘルプにも書いてあったような。

SetPixelはDIBの直接アクセスに比べると遥かに遅いです。
少なくとも100倍は差があるかと。MMXも使えないし。
0748744NGNG
>>747
流石にそれは知ってますよ。説明不足だったかな。スマ
個人的にはリソース不足も関係なく使えてウマーなのでStretchDIBitsを使ってます。
0749デフォルトの名無しさんNGNG
DirectDrawSurfaceだと9x系でもリソース消費が少なくて(゚д゚)ウマー
0750デフォルトの名無しさんNGNG
DirectDrawSurfaceってGDI関数使っての描画できないんだっけ?
TrueTypeつかって文字書きたいときなんかどうすんの?
0751デフォルトの名無しさんNGNG
>>750
IDirectDrawSurface7::GetDC() なんかでデバイスコンテクスト拾える。DirectX 8 だとダメだが。
■ このスレッドは過去ログ倉庫に格納されています