[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
96: 生徒A [sage] 04/06/20 04:33 ID:9LoKJ5Oe(2/3) AAS
// ウインドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hDC;PAINTSTRUCT ps;static HPEN hPen;static HBRUSH hBr;
RECT box;box.bottom =480;box.left =0;box.right =640;box.top =0;
// メッセージの種類に応じて処理を分岐
switch (message){
case WM_CREATE:hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));hBr=CreateSolidBrush(0x00000000);
return 0;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);SelectObject(hDC,hBr);FillRect(hDC,&box,hBr);
SelectObject(hDC,hPen);Rectangle(hDC,0,0,320,240);EndPaint(hWnd,&ps);return 0;
case WM_DESTROY:PostQuitMessage(0);return 0;
default:return DefWindowProc(hWnd, message, wParam, lParam);}
}
97: 生徒A [sage] 04/06/20 04:36 ID:9LoKJ5Oe(3/3) AAS
正直、4行で実現できるHSPがうらやましいと思った…
98(1): 名前は開発中のものです。 [] 04/06/20 04:46 ID:l91pLvEB(1) AAS
ここはJavaでは参加できないですか?
99: 名前は開発中のものです。 [sage] 04/06/20 07:05 ID:w0wGxy3B(1) AAS
>>98
問題ないと思いますよ
100: 名前は開発中のものです。 [sage] 04/06/20 07:50 ID:NlSC2nfH(1/2) AAS
赤い四角
<html><body><script>
s='<body><div style="position:absolute;left:0px;top:0px;background-color:Red;width:320px;height:240;"></div></body>';
window.open('','','width=640,height=480').document.write(s);
</script></body></html>
101: 名前は開発中のものです。 [sage] 04/06/20 07:51 ID:NlSC2nfH(2/2) AAS
SIN波
<html><body></div><script>
var a=[];
for(i=0;i<10000;i++)a[i]=0;
for(i=0;i<100;i++)a[(Math.sin(Math.PI/50*i)*50+50|0)*100+i]=1;
var s='<body><font face="MS ゴシック" style="font-size:4px;">';
for(i=0;i<100;i++){for(j=0;j<100;j++)s+=a[i*100+j]?'■':' ';s+='<br>';}
s+='</font></body>';
window.open('','','width=640,height=480').document.write(s);
</script></body></html>
102(2): 名前は開発中のものです。 [sage] 04/06/20 11:15 ID:B7NIG/G/(1) AAS
画面を黒でクリアする方法ってこれでいいんですか?
void Clear(void)
{
SelectObject(hDC , GetStockObject(BLACK_BRUSH));
Rectangle(hDC , 0 , 0 , WIDTH , HEIGHT);
}
103: 名前は開発中のものです。 [sage] 04/06/21 12:47 ID:X4sdLydq(1) AAS
>>102
イイともワルいともいえないというか、
ウィンドウを更新するとか必要だけど、まぁ、そんな感じ。
つーか、先生はどこだ?!
104: 4 ◆3VUXqvbfSY [] 04/06/21 13:24 ID:xh+2kWgx(1) AAS
ココw
…まあ、VCの人が出来てんだから、sinの課題も可能か…
sinの方の制作もどうぞ。
さて…みなさんに質問です。
これから、ゲーム制作を開始してみます。
次の課題は、インベーダーとテトリス
どちらがいいですか?
いや…どっちが基本的ですかね?
とりあえず、プログラムの特徴は
インベーダー:かなり基本的なシューティング。当たり判定とキー判定がネック。また、あの敵の大群を纏めて動かすのも結構めんどい。高速化も要るかも。
テトリス:かなり基本的なパズル。回転の処理、消しの判定、落ち判定がネック。とは言え、これ自体はさして大変ではない。インベーダーより楽に見えるが、向こうより単純な分、テスト回数が少なく、飽きるかもw
まあ、どちらも一気にはつくりませんw
方向性が決まったら、ボトムアップに作りましょうw
105: 名前は開発中のものです。 [sage] 04/06/21 13:30 ID:Z9w22r4l(1/2) AAS
>>102
DCはグローバルで持ってるのか?引数で渡した方が良いぞ。
106: 名前は開発中のものです。 [sage] 04/06/21 15:47 ID:6NF9APWD(1) AAS
どちらにせよソースが収まらない悪寒
107(1): x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/06/21 18:09 ID:X+fe3iOx(1) AAS
HSP版
#include "hspext.as"
pos 0, 240
repeat 640
emsin sin, cnt\256
line cnt, 240+(sin*240/256)
loop
stop
108: 名前は開発中のものです。 [sage] 04/06/21 19:41 ID:/2qctf8W(1) AAS
テトリスは専用スレがあるし、JavaScriptで7行に収まったりと、
ネタが出尽くしているので飽きてます。
109: 名前は開発中のものです。 [sage] 04/06/21 19:57 ID:8Xx3uQUF(1/3) AAS
237 名前:名前は開発中のものです。[sage] 投稿日:03/09/21(日) 18:16 ID:vg0x9Gpj
>>227227(1): 名前は開発中のものです。 [sage] 04/07/01 15:45 ID:bdPAbTo6(1) AAS
>>226
キミのソースに少し手を加えたやつをうpろだにあげたから試してみれ。780.lzhだ。
ただしオフスクリーン処理以外(後始末とか)は端折ってるのでそこは参考にしないように。
外部リンク:www.excite.co.jp
2Freference%2Fdesign%2Ffeatures%2Fmakegames%2Fpage2.asp&wb_lp=ENJA&wb_dis=2
テトリス→ブロック崩し→パックマン→スーパーマリオ→ギャラガ
がいいらしい
リンク先のスーパーマリオ2が違うゲーム(夢工場?)に見えるけどなんなんだろ
110: 名前は開発中のものです。 [sage] 04/06/21 20:05 ID:B4V2NoLh(1) AAS
メッセージループを使う60fpsのゲームにして欲しい。
後々こっちのほうが役に立つと思う。
111(1): 生徒A [sage] 04/06/21 21:54 ID:jNWjDlXF(1/3) AAS
とりあえず、sinカーブの方を少し遅れたんですが、作ってみました。
一番先頭に#include<math.h>を付けたら、あとはキャプション以外は、ウィンドウプロシージャーしか違わないので
そこだけ書く事にしました。
// ウインドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hDC;PAINTSTRUCT ps;static HPEN hPen;static HBRUSH hBr;
RECT box;box.bottom =480;box.left =0;box.right =640;box.top =0;
int x=0,y,k=0; double rad=3.14159/180;
// メッセージの種類に応じて処理を分岐
switch (message){
case WM_CREATE:
hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));hBr=CreateSolidBrush(0x00000000);
return 0;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);SelectObject(hDC,hBr);FillRect(hDC,&box,hBr);
for(x=0;x<=640;x++){
y=(int)(sin((double)k*rad)*100.0+240.0);
x++; k++;
if(k>360)k=0;
SelectObject(hDC,hPen); SetPixel(hDC,x,y,RGB(255,0,0));
}
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:PostQuitMessage(0);return 0;
default:return DefWindowProc(hWnd, message, wParam, lParam);}
}
112: 生徒A [sage] 04/06/21 21:57 ID:jNWjDlXF(2/3) AAS
私は、インベーダーの方が良いと思います。
113(1): 名前は開発中のものです。 [sage] 04/06/21 22:10 ID:MJraUy6q(1/2) AAS
本当に一からやるんだったら、まだまだ基礎的なことはたくさんあるですよ。
o 描いた四角を横に動かし続ける
o 画面の端で跳ね返るようにする
o 2つの四角を描いてを横に動かし続ける(速度が違うようにする)
o 四角同士が衝突したら跳ね返るようにする
o 四角を斜めに動かす
o 斜めに跳ね返るようにする
o 丸を描く
o 丸同士を当てたら跳ね返るようにする(ビリヤードみたいなの)
o etc, etc, etc...
114: 名前は開発中のものです。 [sage] 04/06/21 22:13 ID:MJraUy6q(2/2) AAS
あと、できればバイナリ付きソースをUPして欲しかったり…
115(1): 名前は開発中のものです。 [sage] 04/06/21 22:17 ID:8Xx3uQUF(2/3) AAS
まとめページ
外部リンク:gamdev.org
アップローダ
外部リンク:gamdev.org
116: 名前は開発中のものです。 [sage] 04/06/21 22:23 ID:Z9w22r4l(2/2) AAS
誰かsin関数くらい自前で用意して描画しろよ。
117: 生徒A [sage] 04/06/21 22:33 ID:jNWjDlXF(3/3) AAS
sin関数を自前で用意するとなると、テイラー級数展開?が必要になる気がしたんですが…
確か、こんな式だったような
sin(x) = x-(x^3/3!)+(x^5/5!)-(x^7/7!)+…
118(1): 名前は開発中のものです。 [sage] 04/06/21 23:47 ID:8Xx3uQUF(3/3) AAS
赤い四角、Delphiです
procedure TForm1.Button1Click(Sender: TObject);
begin
ClientWidth:=640;
ClientHeight:=480;
Canvas.Brush.Color:=clRed;
Canvas.FillRect(Rect(0,0,320,240));
end;
119(1): 名前は開発中のものです。 [sage] 04/06/22 00:43 ID:z3uDPhKo(1/2) AAS
sin波形、Delphi
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
ClientWidth:=640;
ClientHeight:=480;
Canvas.Pen.Color:=clRed;
Canvas.MoveTo(0,240);
for i:=0 to 627 do begin
Canvas.LineTo(i, Trunc(sin(i/100)*100)+240);
end;
end;
120: 4 ◆3VUXqvbfSY [] 04/06/22 06:00 ID:tegmloOZ(1) AAS
>>113
勿論、選んだ方の基礎からやっていきますから。大丈夫です。ただ、大まかな指針が欲しいだけで。
>>115
ワーイ、まとめページだ!ありがとう!
>>ALL
マジで、先生増やしてよ〜。僕一人じゃ不安だよ〜
上下前次1-新書関写板覧索設栞歴
あと 667 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s