[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
87: 名前は開発中のものです。 [sage] 04/06/19 17:01 ID:olZSV2kJ(1) AAS
 >>85-86 
 Upするまえにテストしよ〜よ。 
 それから、問題文をちゃんと読むべし。 
88: 生徒A [sage] 04/06/19 19:27 ID:GZf8LDr8(1) AAS
 そういえば、新しい課題って無いの?
89(1): 名前は開発中のものです。 [sage] 04/06/19 20:08 ID:hqj9xu9C(1) AAS
 素数とかはロジックを考えるのは大切だけど、できてもあまり嬉しくないからなぁ。 
 かといって特定の分野に特化すると、それぞれの分野には初心者スレがあるし。 
 「適当なウィンドウを作成してsin波形を描画する」あたりはどう?
90(1): 4  ◆3VUXqvbfSY  [] 04/06/19 21:47 ID:wn6hjF1m(1/3) AAS
 良いねその課題!…ってチョットレベル上がり杉な… 
 …まあ良いか… 
 でもまずは、640*480のウィンドウに 
 (0,0)320*240の赤い四角を描いてください。
91: 4  ◆3VUXqvbfSY  [] 04/06/19 22:17 ID:wn6hjF1m(2/3) AAS
 前課題解答例 
  
 #include <stdio.h> 
  
 int Check_Prime(long n)//素数判定 
 { 
     long loops; 
     loops=1; 
     while(loops*loops < n) 
     { 
         if(loops>2)loops+=2; 
         else loops++; 
         if(n%loops==0)return 1; 
     } 
     return 0; 
 } 
  
 void main(void) 
 { 
     long loops=2,m=1; 
     printf("%ld  %ld\n",m,loops); 
     while(m<2000) 
     { 
         m++; 
         printf("%ld  %ld\n",m,loops); 
     } 
     if(loops>2)loops+=2; 
     else loops++; 
 } 
92(1): 63 ◆xdaKt6k1XI  [sage] 04/06/19 22:23 ID:D2QJG2Dd(1/2) AAS
 素数は無理でしたが・・・ 
 >>90の課題はできました。 
  
 WIDTH 640,480 
 COLOR 255 
 BOXF 320,240,1,0 
 stop 
93: 63 ◆xdaKt6k1XI  [sage] 04/06/19 22:24 ID:D2QJG2Dd(2/2) AAS
 >>92 
 BOXF 320,240,1,0 
 は 
 BOXF 320,240,0,0 
 です。 
94: 4 [] 04/06/19 22:25 ID:wn6hjF1m(3/3) AAS
 ミスった(汗。訂正 
 void main(void) 
 { 
     long loops=2,m=1; 
     printf("%ld  %ld\n",m,loops); 
     while(loops<2000) 
     { 
         if(Check_Prime(loops)==0) 
         { 
             m++; 
             printf("%ld  %ld\n",m,loops); 
         } 
         if(loops>2)loops+=2; 
         else loops++; 
     } 
 } 
95: 生徒A [sage] 04/06/20 04:33 ID:9LoKJ5Oe(1/3) AAS
 なんだか、構造体とかポインタとかWin32APIとかGDIとかメッセージループとか 
 難しすぎなんですけど… 
  
 できたには、できました。 
  
 #include "windows.h" 
 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 
 int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow ) 
 { 
 WNDCLASSEX wcex;HWND hWnd;MSG msg; 
 // ウィンドウクラス構造体を設定 
 wcex.cbSize = sizeof(WNDCLASSEX);wcex.style = CS_HREDRAW | CS_VREDRAW; 
 wcex.lpfnWndProc = (WNDPROC)WndProc;wcex.cbClsExtra = 0; 
 wcex.cbWndExtra = 0;wcex.hInstance = hInstance;wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION); 
 wcex.hCursor = LoadCursor(NULL, IDC_ARROW);wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); 
 wcex.lpszMenuName = NULL;wcex.lpszClassName = "ModelApp"; 
 wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION); 
 // ウインドウクラスを登録 
 RegisterClassEx(&wcex); 
 // ウインドウを作成 
    hWnd = CreateWindow(wcex.lpszClassName, 
 "640×480のウィンドウ上の(0,0)へ320×240の赤い四角を描く", 
 WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,640,480,NULL,NULL,hInstance,NULL); 
 ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd); 
 // メッセージループ 
 while(GetMessage(&msg, NULL, 0, 0))  
 {TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam; 
 }
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);} 
 }
上下前次1-新書関写板覧索設栞歴
あと 676 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s