[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
129(3): 名前は開発中のものです。 [sage] 04/06/23 19:25 ID:mQ2LYzxk(1) AAS
mingwとかSDLとかHSPとかSDKとかSDLPerlとかが一体なんなのか
理解できない漏れ…
とりあえずHelloWorldはできたけどウインドウ表示なんて壁高杉
どうすればいいんだよう…
130(3): 4 ◆3VUXqvbfSY [] 04/06/23 20:11 ID:YwmthHB/(1) AAS
>>128ぜんぜんOK!HSPが居るんだから大じょーぶ。
>>129
MSDNライブラリを読む事から始めましょう。
ウィンドウ表示に関しては、VCの最初の壁です。コレがあるからVCは面倒くさいんですが…。
しかし、ウィンドウが表示できれば、簡単なゲームは直ぐ作れるようになりますって。
まあ、難しければHSPに転向しちゃうって手もあります。
スピードが要求されなければ、かなり便利な言語です。
HSPでググってみてください。
>>ALL
わかりました。インベーダーで始めましょう。
ただし、インベーダーが一通り作れたら、落ちゲーにも触れますよ(ぷよぷよやドリラー等)
階級制は面白いんですが…判断基準が…微妙…。
昇級試験制にしたらどうでしょう。
たとえば。
問題(if文を使わずに、A=Bなら0。A≠Bなら1を表示するプログラムを作れ)
とか
131(1): 名前は開発中のものです。 [sage] 04/06/23 20:12 ID:bTZutcV4(1) AAS
真に初心者であれば分からないのは当然。
とりあえず分からない単語を列挙すれば、誰か暇な人が答えてくれるかもしれない。
132(1): 名前は開発中のものです。 [sage] 04/06/23 22:00 ID:dPgxaG/R(1) AAS
>>129
hello worldを何で表示したか分からんからアレだけど、
取り合えずC/C++と仮定した場合、キミがいくべきところはここだ。
外部リンク:www.kumei.jp
133(1): 生徒BLUE@入隊希望 [] 04/06/23 22:23 ID:G2RbfgcV(2/2) AAS
>>127127(2): 生徒BLUE@入隊希望 [] 04/06/23 15:21 ID:G2RbfgcV(1/2) AAS
>>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);
}
の続き
これで完了です
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);
}
134(16): 名前は開発中のものです。 [] 04/06/24 00:34 ID:9IgBi+UW(1) AAS
>>130 ありがとうございます。C言語でも出来ますけど、あまり自信が無いんです…。
VBでキャラの移動と弾の発射だけやってみました。
←→キーで左右移動、Z or Spaceキーで弾の発射です。
外部リンク[lzh]:gamdev.org
135: 名前は開発中のものです。 [sage] 04/06/24 14:35 ID:9ja3YKOg(1) AAS
>>134
×押して終了しても、プロセスが残ってるみたい
136: メトロイド オモロイド [sage] 04/06/24 21:11 ID:Yq9S/x7T(1) AAS
2Dメトロイド&3Dメトロイド作ってみたらどうだ?
難しいがエラー無く完成したら腕上がるぞ。
137: 生徒BLUE [] 04/06/24 23:20 ID:kfww3pCy(1) AAS
次はいよいよインベーダーですか
参考にしたサイト:外部リンク:www3.omn.ne.jp
今回新しく使った関数:MoveToEx、LineTo
>>125125(2): 生徒BLUE@入隊希望 [] 04/06/22 23:32 ID:ImuZbVzv(1) AAS
赤い四角の課題解きました
書き込み制限に引っ掛かりますのでのんびり貼り付けていきます
参考にしたのは猫でもわかるプログラミングと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;
}
>>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;
}
138: 134 [] 04/06/25 02:41 ID:dGOyDbGP(1) AAS
当たり判定などを追加しました。問題のメモリリークのバグも直しました。
外部リンク[lzh]:gamdev.org
139(1): 4 ◆3VUXqvbfSY [] 04/06/25 07:09 ID:va8qXu2v(1) AAS
>>134さん
まずは、sinからお願いします。
あんまり爆走すると、先生にしますよ。
むしろ、なって欲し…
>>ALL
次の課題は、基本中の基本。
キー入力です。
先程の赤い四角を使い、カーソル(テンキーでも可)でグリグリ動く物を作ってください。
参考程度に
VC++ GetKeyState();//バーチャルキーの状態取得。
C++ getch();//標準入力
VB _KeyDown(key%,Shift%)//keyにキーコードが返る
HSP getkey p1,p2//p2のキーが押されていると、p1に1が代入される。
140: x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/06/25 18:25 ID:oIl/kTfS(1) AAS
sin波生成
外部リンク[zip]:rupan.zive.net
141: 63 ◆xdaKt6k1XI [sage] 04/06/25 23:47 ID:BZ++Tyug(1) AAS
動かせました。
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
142: 生徒142 [sage] 04/06/26 00:54 ID:NxwPZgd2(1/3) AAS
今日から参加します。
まずは四角
外部リンク[lzh]:gamdev.org
キー入力に取りかかります。
赤い四角を動かせばいいんですよね?
143: 生徒142 [sage] 04/06/26 03:19 ID:NxwPZgd2(2/3) AAS
連投
プロシージャのみ貼り付けてみます。
描画がカクカクします、再描画の処理はどうすればきれいに動くのでしょうか?
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;
}
144(1): 名前は開発中のものです。 [sage] 04/06/26 04:14 ID:sMwugFr/(1) AAS
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;}}
145: 生徒142 [sage] 04/06/26 04:30 ID:NxwPZgd2(3/3) AAS
>>144
すみません、ソース書いた時は{使ってなかったもので
ここに貼り付ける時に急遽書きました。
iが消えたり;の前に}書いたり間抜けなことになってますね。
次からはよく確かめます
146: 134 [] 04/06/26 05:20 ID:1CizLySr(1/2) AAS
>>139
VBでsinカーブを描画してみました。
そろそろC言語でやりたいとは思うのですが、ポインタの所がいまいちなので…
外部リンク[lzh]:gamdev.org
147: 名前は開発中のものです。 [sage] 04/06/26 08:40 ID:K/WyEUE8(1) AAS
<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>
148: 134 [] 04/06/26 10:37 ID:1CizLySr(2/2) AAS
外部リンク[lzh]:gamdev.org
キャラ移動です。一応加速度も考慮してあります。
149(3): 名前は開発中のものです。 [] 04/06/26 13:26 ID:wteFDikq(1/2) AAS
Wikiなんかじゃなくて専用のHP作ったら?
ソース貼るのに不憫だろ
150: 名前は開発中のものです。 [sage] 04/06/26 13:31 ID:jYUMekjC(1/7) AAS
>>149
神キタ━━━━━━(゚∀゚)━━━━━━ !!
tabとか半角スペースめんどいもんな
ひょっとして過去にうぷされたソースとかも整形してうぷしてくれれば
うれしいけどそれは望みすぎかな
急がなくていいからがんがれ!
151(1): 名前は開発中のものです。 [sage] 04/06/26 13:39 ID:CUwn7Ubj(1) AAS
強引な150に萌え
152: Ruby@課題1数当て [] 04/06/26 14:32 ID:jYUMekjC(2/7) AAS
kotae=rand(9)+1
while (true)
print "1〜9の数を入力してください\n"
gets
ans=Integer(chop)
if ans==kotae then
print "正解\n"
break
else
print "不正解\n"
end
end
153(1): 149 [] 04/06/26 15:26 ID:wteFDikq(2/2) AAS
俺かYoΣ(´□`;)
上下前次1-新書関写板覧索設栞歴
あと 634 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s