[過去ログ]
【初心者】課題をクリアしていくスレ【講習会】 (787レス)
【初心者】課題をクリアしていくスレ【講習会】 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
121: 名前は開発中のものです。 [sage] 04/06/22 08:07 ID:bOsE7Dq6 >>118-119 正解。 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/121
122: 名前は開発中のものです。 [sage] 04/06/22 12:14 ID:vyNZUIcy >>111 作ったペンとブラシは終了時に開放したほうがいいですよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/122
123: 名前は開発中のものです。 [sage] 04/06/22 13:59 ID:z3uDPhKo 階級制にしようぜ! *問題に難易度設定 課題にも難易度が設定されていて大佐向け、中尉向けなどがある *昇格資格 課題を一つクリアするたびに昇格 自分の階級より下の問題を解いても昇格しない(大佐は少尉向けの課題を解いても出世はなし) *出題する権利 自分より2つ下向けの課題を出せる(大佐になれば少佐向けを出題できる) *特別昇格 自分より格下の問題を解いた場合、通常は昇格しない しかし、お手本になるようなすばらしい解答、解説をした場合は 昇格の対象となる (上級職の人の任意か下級職の人の過半数の支持が目安) こんな感じでどうよ せっかくだからゲーム感覚でやろうじゃないかと設定してみた ちょっと昇格条件が甘すぎる気もするけど もちろん4 ◆3VUXqvbfSY氏や他の先生役の人はそのまま出題してくれるとありがたい 階級はこれがわかりやすくていい http://www.special-warfare.net/data_base/102_military_unit/001_military_us/rank_01.html http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/123
124: 名前は開発中のものです。 [sage] 04/06/22 15:06 ID:3E6K9gNw 階級みたいにポンポンと技術は上がらんからねぇ。 プログラミングの技術って、どちらかというと山登りみたいな感じだと思う。 準備(下積み)がほぼ大半を占めるけど、準備だけしてもだめで 登り方も知らないと駄目だし(変な登り方をすると途中でのたれ死ぬ) なにより体力(根気)が必要。 どれをとっても「これだけやれば大丈夫」という基準が無い。 たまに天才がいて、Tシャツ短パンで一直線にエベレストに登頂したりするけど そういうやつ以外は「大佐のくせにそんなことも知らないのかよ。プッ」って言われるのがオチかも。 http://mevius.5ch.net/test/read.cgi/gamedev/1086858349/124
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 642 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s