[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次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
 >>129129(3): 名前は開発中のものです。 [sage] 04/06/23 19:25 ID:mQ2LYzxk(1) AAS
 mingwとかSDLとかHSPとかSDKとかSDLPerlとかが一体なんなのか 
 理解できない漏れ… 
  
 とりあえずHelloWorldはできたけどウインドウ表示なんて壁高杉 
 どうすればいいんだよう…  
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
 >>130130(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を表示するプログラムを作れ) 
  
 とか  
 ありがとうございます。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Σ(´□`;) 
154: Ruby@課題2素数 [] 04/06/26 16:17 ID:jYUMekjC(3/7) AAS
 count=0 
 i=2 
 while count<1000 do 
 sosu=true 
 for j in 2..i-1 do 
 if ( (i % j) == 0) 
 sosu=false 
 end 
 end 
 if (sosu) 
 print "#{i}\n" 
 count=count+1 
 end 
 i=i+1 
 end 
 print "素数を#{count}個みつけました\n" 
155: Ruby/SDL@課題3赤い四角 [] 04/06/26 17:32 ID:jYUMekjC(4/7) AAS
 require 'sdl'  
  
 SDL.init( SDL::INIT_VIDEO )  
 screen = SDL.setVideoMode( 640, 480, 16, SDL::SWSURFACE ) 
  
 screen.fillRect( 0, 0, 320, 240, [ 255, 0, 0 ] ) 
 screen.updateRect( 0, 0, 0, 0 ) 
  
 loop do   
   while event = SDL::Event2.poll 
     case event 
     when SDL::Event2::Quit, SDL::Event2::KeyDown 
       exit 
     end 
   end 
 end 
上下前次1-新書関写板覧索設栞歴
あと 632 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s