[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
134(16): 名前は開発中のものです。 [] 04/06/24 00:34 ID:9IgBi+UW(1) AAS
>>130 ありがとうございます。C言語でも出来ますけど、あまり自信が無いんです…。

VBでキャラの移動と弾の発射だけやってみました。
←→キーで左右移動、Z or Spaceキーで弾の発射です。
外部リンク[lzh]:gamdev.org
さん
まずは、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
156: Ruby/SDL@課題4sin波形 [] 04/06/26 18:50 ID:jYUMekjC(5/7) AAS
require 'sdl' 

SDL.init( SDL::INIT_VIDEO ) 
screen = SDL.setVideoMode( 640, 480, 16, SDL::SWSURFACE )

count=0.0
while count < 6.28
  x=count*100
  y=Math.sin(count)*100+240
  screen.putPixel(x,y,[255,0,0])
  count=count+0.01
end
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
157: Ruby/SDL@課題5キー入力 [] 04/06/26 20:12 ID:jYUMekjC(6/7) AAS
require 'sdl'

SDL.init( SDL::INIT_VIDEO ) 
screen = SDL.setVideoMode( 640, 480, 16, SDL::SWSURFACE ) 

y=0
x=0

loop do
  while event = SDL::Event2.poll 
    case event 
    when SDL::Event2::Quit 
      exit 
    end
  end

  SDL::Key.scan
  y -= 1 if SDL::Key.press?( SDL::Key::UP )
  x += 1 if SDL::Key.press?( SDL::Key::RIGHT )
  y += 1 if SDL::Key.press?( SDL::Key::DOWN )
  x -= 1 if SDL::Key.press?( SDL::Key::LEFT )

  x=0 if x<0
  x=319 if x > 319
  y=0 if y<0
  y=239 if y > 239

  screen.fillRect( 0, 0, 640, 480, [ 0, 0, 0 ] )
  screen.fillRect( x, y, 320, 240, [ 255, 0, 0 ] )
  screen.updateRect( 0, 0, 0, 0 )
end
158
(1): 名前は開発中のものです。 [sage] 04/06/26 21:12 ID:4yTlUeBl(1) AAS
こりゃある意味、荒らしといえなくもないな
159: 名前は開発中のものです。 [] 04/06/26 21:34 ID:jYUMekjC(7/7) AAS
Ruby/SDLインストール方法(Windows)

1.とりあえずコレをダウンロード
外部リンク[lzh]:www.kmc.gr.jp

2.解凍して適当なフォルダにコピー

3.[コピーしたフォルダ]\usr\local\binにパスを切る
(たとえばc:\ruby\usr\local\binなど)

以上でインストール終了。

スクリプトをテキストファイルとして保存して(拡張子は.rbが一般的)
ruby [ファイル名]として実行
(たとえばruby sosu.rbなど)

公式サイト
外部リンク[html]:www.kmc.gr.jp
チュートリアル
外部リンク[html]:www.kmc.gr.jp
160
(1): 名前は開発中のものです。 [sage] 04/06/26 23:23 ID:VAfJSjue(1) AAS
宣伝?
161: 名前は開発中のものです。 [] 04/06/26 23:49 ID:PaYEz6W8(1) AAS
キー入力、Delphiです
TApplicationEventsとQD3のDDIDEX使ってます

private
Chara: TPoint;

procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
var Done: Boolean);
begin
DDIDEX1.Scan(DI_KEYB);
Chara.X:=Chara.X+DDIDEX1.Stick.X;
Chara.Y:=Chara.Y+DDIDEX1.Stick.Y;
if (Chara.X<0) or (Chara.X>319
319(2): 名前は開発中のものです。 [sage] 04/07/14 14:18 ID:fwuwWRAB(1) AAS
チェック対象がたくさんある場合の当たり判定って、どうやるのがベストなんだろう?
弾が20個、ターゲットが20機居たら20x20の全組み合わせの判定をするしかないの?
) then begin
Chara.X:=Chara.X-DDIDEX1.Stick.X;
end;
if (Chara.Y<0) or (Chara.Y>239
239(1): 名前は開発中のものです。 [sage] 04/07/04 13:00 ID:WDudAYFD(3/5) AAS
それ以上のは今までに計算した分と対応してるだけ
) then begin
Chara.Y:=Chara.Y-DDIDEX1.Stick.Y;
end;
Canvas.Brush.Color:=clBlack;
Canvas.FillRect(Rect(0,0,ClientWidth,ClientHeight));
Canvas.Brush.Color:=clRed;
Canvas.FillRect(Rect(Chara.X,Chara.Y,Chara.X+320,Chara.Y+240));
Sleep(5);
Done:=False;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DoubleBuffered:=True;
ClientWidth:=640;
ClientHeight:=480;
end;
162
(1): 名前は開発中のものです。 [sage] 04/06/27 01:17 ID:m6T91X5d(1/2) AAS
>>149
インデントを保ったままソースをうぷしたいなら
ソース置き場やゲムデヴあぷろだをを利用させてもらう手もある
というかこのスレはなぜ貼り付けるのが主流なんだw

ソース置き場
外部リンク[html]:do.sakura.ne.jp
ゲムデヴあぷろだ
外部リンク:gamdev.org

>>151
うむ、萌えプロ目指してるからな
参考1) 外部リンク[html]:www.bk1.co.jp
参考2) 画像リンク


>>153
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < 専用のHPまだ〜?
            \_/⊂ ⊂_)    \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  S p o k e  |
>>158
このスレ自体(ry
まぁ、土曜日を利用してスタートダッシュだ許せ

>>160
おまいらも開発環境や実行環境ぐらい書けよ
ところでRubyって宣伝と思われるほどマイナーなのか?
ちなみにRuby暦1日(もう2日目だな)なので優しくしてくれな
1-
あと 625 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s