[過去ログ]
【初心者】課題をクリアしていくスレ【講習会】 (787レス)
【初心者】課題をクリアしていくスレ【講習会】 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
125: 生徒BLUE@入隊希望 [] 04/06/22 23:32 ID:ImuZbVzv 赤い四角の課題解きました 書き込み制限に引っ掛かりますのでのんびり貼り付けていきます 参考にしたのは猫でもわかるプログラミングとSTGを最初からみんなで作るスレです TABやスペースをnbspに変換するツールって欲しい時にはなかなか出てこないですね ム板でたまに見かけた記憶はあるのですが……、持ってる人いたらください それでは貼り付け開始 // 課題 赤い四角 #include <windows.h> #define WIDTH 640 #define HEIGHT 480 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); char szClassNme[] = "WINDOWCLASSNAME"; int DrawGr(HWND hWnd) { PAINTSTRUCT paint; HDC hdc = BeginPaint(hWnd, &paint); HPEN hPen, hOldPen; RECT rt; GetClientRect(hWnd, &rt); hPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0)); hOldPen = (HPEN)SelectObject(hdc, hPen); HBRUSH hBrush = CreateSolidBrush( RGB(255, 0, 0)); SelectObject(hdc, hBrush); Rectangle(hdc, 0, 0, 320, 240); SelectObject(hdc, hBrush); DeleteObject(hPen); SelectObject(hdc, hOldPen); DeleteObject(hPen); EndPaint(hWnd, &paint); return 0; } http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/125
126: 名前は開発中のものです。 [sage] 04/06/23 01:15 ID:4HGTxQki 怖いのは登山ルートが間違った状態で登っていることだ 行き先は崖だったり http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/126
127: 生徒BLUE@入隊希望 [] 04/06/23 15:21 ID:G2RbfgcV >>125の続き //640x480ってひょっとしてクライアントウィンドウじゃなくてウィンドウのサイズでよかったですか? int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInst,LPSTR lpszCmdLine, int nCmdShow) { HWND hWnd; MSG msg; WNDCLASS myProg; if (!hPreInst) { myProg.style =CS_HREDRAW | CS_VREDRAW; myProg.lpfnWndProc =WndProc; myProg.cbClsExtra =0; myProg.cbWndExtra =0; myProg.hInstance =hInstance; myProg.hIcon =NULL; myProg.hCursor =LoadCursor(NULL, IDC_ARROW); myProg.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH); myProg.lpszMenuName =NULL; myProg.lpszClassName =szClassNme; if (!RegisterClass(&myProg)) return FALSE; } RECT rect; rect.top = 0; rect.left = 0; rect.right = WIDTH; rect.bottom = HEIGHT; DWORD style=WS_BORDER | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX; AdjustWindowRect(&rect, style, FALSE); int width = rect.right - rect.left; int height = rect.bottom - rect.top; hWnd=CreateWindow(szClassNme, "【初心者】課題をクリアしていくスレ【講習会】", style, CW_USEDEFAULT,0,width,height,NULL,NULL,hInstance,NULL); ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return (msg.wParam); } http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/127
128: 名前は開発中のものです。 [] 04/06/23 18:23 ID:XpSZny8Q VBも参加していいですか? http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/128
129: 名前は開発中のものです。 [sage] 04/06/23 19:25 ID:mQ2LYzxk mingwとかSDLとかHSPとかSDKとかSDLPerlとかが一体なんなのか 理解できない漏れ… とりあえずHelloWorldはできたけどウインドウ表示なんて壁高杉 どうすればいいんだよう… http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/129
130: 4 ◆3VUXqvbfSY [] 04/06/23 20:11 ID:YwmthHB/ >>128 ぜんぜんOK!HSPが居るんだから大じょーぶ。 >>129 MSDNライブラリを読む事から始めましょう。 ウィンドウ表示に関しては、VCの最初の壁です。コレがあるからVCは面倒くさいんですが…。 しかし、ウィンドウが表示できれば、簡単なゲームは直ぐ作れるようになりますって。 まあ、難しければHSPに転向しちゃうって手もあります。 スピードが要求されなければ、かなり便利な言語です。 HSPでググってみてください。 >>ALL わかりました。インベーダーで始めましょう。 ただし、インベーダーが一通り作れたら、落ちゲーにも触れますよ(ぷよぷよやドリラー等) 階級制は面白いんですが…判断基準が…微妙…。 昇級試験制にしたらどうでしょう。 たとえば。 問題(if文を使わずに、A=Bなら0。A≠Bなら1を表示するプログラムを作れ) とか http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/130
131: 名前は開発中のものです。 [sage] 04/06/23 20:12 ID:bTZutcV4 真に初心者であれば分からないのは当然。 とりあえず分からない単語を列挙すれば、誰か暇な人が答えてくれるかもしれない。 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/131
132: 名前は開発中のものです。 [sage] 04/06/23 22:00 ID:dPgxaG/R >>129 hello worldを何で表示したか分からんからアレだけど、 取り合えずC/C++と仮定した場合、キミがいくべきところはここだ。 http://www.kumei.jp/c_lang/ http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/132
133: 生徒BLUE@入隊希望 [] 04/06/23 22:23 ID:G2RbfgcV >>127の続き これで完了です LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_DESTROY: PostQuitMessage(0); break; case WM_PAINT: DrawGr(hWnd); break; default: return(DefWindowProc(hWnd, msg, wParam, lParam)); } return (0L); } http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/133
134: 名前は開発中のものです。 [] 04/06/24 00:34 ID:9IgBi+UW >>130 ありがとうございます。C言語でも出来ますけど、あまり自信が無いんです…。 VBでキャラの移動と弾の発射だけやってみました。 ←→キーで左右移動、Z or Spaceキーで弾の発射です。 http://gamdev.org/up/img/737.lzh http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/134
135: 名前は開発中のものです。 [sage] 04/06/24 14:35 ID:9ja3YKOg >>134 ×押して終了しても、プロセスが残ってるみたい http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/135
136: メトロイド オモロイド [sage] 04/06/24 21:11 ID:Yq9S/x7T 2Dメトロイド&3Dメトロイド作ってみたらどうだ? 難しいがエラー無く完成したら腕上がるぞ。 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/136
137: 生徒BLUE [] 04/06/24 23:20 ID:kfww3pCy 次はいよいよインベーダーですか 参考にしたサイト:http://www3.omn.ne.jp/~renas/Win32/ 今回新しく使った関数:MoveToEx、LineTo >>125>>127>>133の中からDrawGr関数を書き換えて#include <math.h>を追加します。 //課題4sin波 int DrawGr(HWND hWnd) { PAINTSTRUCT paint; HDC hdc = BeginPaint(hWnd, &paint); HPEN hPen, hOldPen; RECT rt; GetClientRect(hWnd, &rt); hPen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0)); hOldPen = (HPEN)SelectObject(hdc, hPen); HBRUSH hBrush = CreateSolidBrush( RGB(255, 0, 0)); SelectObject(hdc, hBrush); MoveToEx(hdc,0,sin(0.0)*100+240,NULL); for (float i=0; i<6.28; i+=0.01) { LineTo(hdc,i*100,sin(i)*100+240); } SelectObject(hdc, hBrush); DeleteObject(hPen); SelectObject(hdc, hOldPen); DeleteObject(hPen); EndPaint(hWnd, &paint); return 0; } http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/137
138: 134 [] 04/06/25 02:41 ID:dGOyDbGP 当たり判定などを追加しました。問題のメモリリークのバグも直しました。 http://gamdev.org/up/img/741.lzh http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/138
139: 4 ◆3VUXqvbfSY [] 04/06/25 07:09 ID:va8qXu2v >>134さん まずは、sinからお願いします。 あんまり爆走すると、先生にしますよ。 むしろ、なって欲し… >>ALL 次の課題は、基本中の基本。 キー入力です。 先程の赤い四角を使い、カーソル(テンキーでも可)でグリグリ動く物を作ってください。 参考程度に VC++ GetKeyState();//バーチャルキーの状態取得。 C++ getch();//標準入力 VB _KeyDown(key%,Shift%)//keyにキーコードが返る HSP getkey p1,p2//p2のキーが押されていると、p1に1が代入される。 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/139
140: x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/06/25 18:25 ID:oIl/kTfS sin波生成 http://rupan.zive.net/~kain/cgi-bin/up/src/up1133.zip http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/140
141: 63 ◆xdaKt6k1XI [sage] 04/06/25 23:47 ID:BZ++Tyug 動かせました。 WIDTH 640,480 *main BUFFER 2,640,480,1 COLOR 255 BOXF x+320,y+240,x,y pos x,y stick a,15 if a&1 : x-1 if a&2 : y-1 if a&4 : x+1 if a&8 : y+1 await 1 GSEL 0 GCOPY 2,0,0,640,480 goto *main stop http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/141
142: 生徒142 [sage] 04/06/26 00:54 ID:NxwPZgd2 今日から参加します。 まずは四角 http://gamdev.org/up/img/742.lzh キー入力に取りかかります。 赤い四角を動かせばいいんですよね? http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/142
143: 生徒142 [sage] 04/06/26 03:19 ID:NxwPZgd2 連投 プロシージャのみ貼り付けてみます。 描画がカクカクします、再描画の処理はどうすればきれいに動くのでしょうか? LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wp,LPARAM lp){ HDC hdc;PAINTSTRUCT ps;HPEN hpen;static int x,y; switch(msg){case WM_CREATE:x = 0;y = 0;break; case WM_KEYDOWN:if(wp == VK_RIGHT){if(x < 310){x += 5;}} if(wp == VK_LEFT){f(x > 0){x -= 5;}} if(wp == VK_UP){if(y > 0){y -= 5}}; if(wp == VK_DOWN){if(y < 210){ y += 5;}} InvalidateRect(hWnd,NULL,TRUE); break; case WM_PAINT: hdc = BeginPaint(hWnd,&ps); hpen = CreatePen(PS_SOLID,3,RGB(255,0,0)); SelectObject(hdc,hpen); Rectangle(hdc,x,y,x+320,y+240); DeleteObject(hpen); EndPaint(hWnd,&ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return(DefWindowProc(hWnd,msg,wp,lp)); } return 0; } http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/143
144: 名前は開発中のものです。 [sage] 04/06/26 04:14 ID:sMwugFr/ if(wp == VK_LEFT){f(x > 0){x -= 5;}} ↓ if(wp == VK_LEFT){if(x > 0){x -= 5;}} if(wp == VK_UP){if(y > 0){y -= 5}}; ↓ if(wp == VK_UP){if(y > 0){y -= 5;}} http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/144
145: 生徒142 [sage] 04/06/26 04:30 ID:NxwPZgd2 >>144 すみません、ソース書いた時は{使ってなかったもので ここに貼り付ける時に急遽書きました。 iが消えたり;の前に}書いたり間抜けなことになってますね。 次からはよく確かめます http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/145
146: 134 [] 04/06/26 05:20 ID:1CizLySr >>139 VBでsinカーブを描画してみました。 そろそろC言語でやりたいとは思うのですが、ポインタの所がいまいちなので… http://gamdev.org/up/img/743.lzh http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/146
147: 名前は開発中のものです。 [sage] 04/06/26 08:40 ID:K/WyEUE8 <html><head><style type="text/css"><!-- .put{background-color:#FF0000;position:absolute;width:320px;height:240px;} --></style></head> <body onLoad="main()" onKeyDown="k[event.keyCode]=1" onKeyUp="k[event.keyCode]=0"> <div id=char class=put></div><script language="Javascript"> var timerID,k=[],x=0,y=0,charElm=document.getElementById('char'); function main(){ clearTimeout(timerID);timerID=setTimeout(main,30); x+=k[37]&&x?-8:k[39]&&x<320?8:0; y+=k[38]&&y?-8:k[40]&&y<240?8:0; charElm.style.left=x;charElm.style.top=y;} </script></body></html> http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/147
148: 134 [] 04/06/26 10:37 ID:1CizLySr http://gamdev.org/up/img/744.lzh キャラ移動です。一応加速度も考慮してあります。 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/148
149: 名前は開発中のものです。 [] 04/06/26 13:26 ID:wteFDikq Wikiなんかじゃなくて専用のHP作ったら? ソース貼るのに不憫だろ http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/149
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 638 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s