[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
222(1): 63 ◆xdaKt6k1XI [sage] 04/06/30 21:22 ID:qAZjVMDs(1) AAS
>>211211(1): 名前は開発中のものです。 [sage] 04/06/29 22:14 ID:OSp1CFcf(3/4) AAS
>>210
混同してました
2人も先行者がいたのかorz
修正しました
HSPのほうはもうやらないの?
JavaScript ****** 6
Ruby.. ****** 6
生徒A(Win32API). ***** 5
生徒BLUE (Win32API). ***** 5
Delphi ***** 5
D言語 ** 2
LGP ** 2
x≠先生かつx=生徒 ⇒ x=俺(Win32API) 測定不能
VB 測定不能
今回のは敵の大きさとか動きとかよくわからないのでやらないです。
223(1): 名前は開発中のものです。 [] 04/06/30 22:22 ID:j1/sm794(1) AAS
320x240で一度作ったけど即死しすぎて32x32に縮小したよ
サイズ指定してないから何でもいいと思ったけどそのあたりどうなんですか?>先生
wikiのほうにまとめコーナー作っておいたので各自書きたいことがあったら適当にどうぞ
というか書いてくださいおながいします
名無しさんを消して自分の名前にして提出状況とかコンパイラは何を使ってるとかそんなのでいいので
外部リンク:gamdev.org
224: LGP@課題4sin波形 [] 04/07/01 00:05 ID:TMNGfYFe(1/2) AAS
//画面初期化、最後を0にすると全画面
CH = G@SETUP( 640 , 480 , 16 , 1 )
//ペンの設定、実線、線の幅1、赤色
G@GDISETPEN(LG_GDI_PS_SOLID,1,1.0,0,0)
//sin波形の始点になる点を描画(LINETOの都合)
G@GDILINE(CH,0,239,0,239)
FOR I=0 TO 360
X=I
//SINの引数と戻り値は固定小数点定数(float)
//整数を固定小数点定数にキャストするには65536を掛ける
//固定小数点定数を整数にキャストするには65536で割る
Y=SIN(I*65536)*100/65536+239
//最後にG@GDILINEかG@GDILINETOで線を引いた場所からX,Yまで線を引く
G@GDILINETO(CH,X,Y)
NEXT
G@FLIP()
//無限ループ
LOOP
S@WAIT()
ENDLOOP
225: 4 ◆3VUXqvbfSY [] 04/07/01 08:34 ID:KOe6GSoY(1) AAS
>>222,223
サイズは自由で結構です。
敵の動きは…だからy++;だけですよ?
226(1): 生徒A [sage] 04/07/01 14:26 ID:MCi74o/R(1) AAS
数日間ソースとにらめっこしてるのですが、バックバッファーの処理が上手くいかないです…
227(1): 名前は開発中のものです。 [sage] 04/07/01 15:45 ID:bdPAbTo6(1) AAS
>>226
キミのソースに少し手を加えたやつをうpろだにあげたから試してみれ。780.lzhだ。
ただしオフスクリーン処理以外(後始末とか)は端折ってるのでそこは参考にしないように。
228: LGP@課題5キー入力 [] 04/07/01 22:17 ID:TMNGfYFe(2/2) AAS
CH = G@SETUP( 640 , 480 , 16 , 1 )
LOOP //無限ループ
//赤い四角を黒で塗りつぶして消す
G@GDISETBRUSH( 0 , 0 , 0 , 0 )
G@GDIBOXFULL( CH , X, Y, X+320, Y+240 )
I@KEYGET() //キーの状態を得る
//I@KEYBTNの引数に調べたいキーをいれ、戻り値が1なら押してる状態
IF I@KEYBTN(0xC8)=1 THEN //0xC8はカーソルキー↑
IF Y>0 THEN
Y=Y-1
ENDIF
ENDIF
IF I@KEYBTN(0xCB)=1 THEN
IF X>0 THEN
X=X-1
ENDIF
ENDIF
IF I@KEYBTN(0xCD)=1 THEN
IF X<320 THEN
X=X+1
ENDIF
ENDIF
IF I@KEYBTN(0xD0)=1 THEN
IF Y<240 THEN
Y=Y+1
ENDIF
ENDIF
//赤い四角を描く
G@GDISETBRUSH( 0 , 1.0 , 0 , 0 )
G@GDIBOXFULL( CH , X, Y, X+320, Y+240 )
G@FLIP()
ENDLOOP
229: LGP@課題6当たり判定 [] 04/07/02 03:30 ID:4ZvlEEie(1/2) AAS
CH = G@SETUP( 640 , 480 , 16 , 1 )
X=320
Y=240
//無限ループ
LOOP
//黒で塗りつぶし
G@GDISETBRUSH( 0 , 0 , 0 , 0 )
G@GDIBOXFULL( CH , 0, 0, 640, 480)
//キー入力
//キーの状態を得る
I@KEYGET()
//I@KEYBTNの引数に調べたいキーをいれ、戻り値が1なら押してる状態
//0xC8はカーソルキー↑
IF I@KEYBTN(0xC8)=1 THEN
IF Y>0 THEN
Y=Y-1
ENDIF
ENDIF
IF I@KEYBTN(0xCB)=1 THEN
IF X>0 THEN
X=X-1
ENDIF
ENDIF
230: LGP@課題6当たり判定 [] 04/07/02 03:30 ID:4ZvlEEie(2/2) AAS
IF I@KEYBTN(0xCD)=1 THEN
IF X<(640-32) THEN
X=X+1
ENDIF
ENDIF
IF I@KEYBTN(0xD0)=1 THEN
IF Y<(480-32) THEN
Y=Y+1
ENDIF
ENDIF //敵移動
TY=TY+1;
IF TY>(640-32) THEN
TY=0
TX=RAND()%(640-32)
ENDIF
//赤い四角を描く
G@GDISETBRUSH( 0 , 1.0 , 0 , 0 )
G@GDIBOXFULL( CH , X, Y, X+32, Y+32 )
//敵を描く
G@GDISETBRUSH( 0 , 0 , 1.0 , 0 )
G@GDIBOXFULL( CH , TX, TY, TX+32, TY+32 )
//当たり判定
IF (ABS(X-TX)<32) AND (ABS(Y-TY)<32) THEN
END
ENDIF
G@FLIP()
ENDLOOP
231: 名前は開発中のものです。 [] 04/07/04 00:00 ID:UWWF49AF(1) AAS
保守age
232(1): HSPが初プログラム@生徒希望 [sage] 04/07/04 11:07 ID:3DUC6+Xf(1/2) AA×

外部リンク[zip]:gamdev.org
233(1): 名前は開発中のものです。 [sage] 04/07/04 11:13 ID:dw9vgL9Y(1/2) AAS
>>232
自分以下で2以上の全ての整数の割り算の余りが0にならなければ素数
別の解放にエラトステネスのふるいってのがあるけど別に使わなくていい
234: 名前は開発中のものです。 [sage] 04/07/04 11:14 ID:dw9vgL9Y(2/2) AAS
自分未満の整数の間違い
以下だったら自分も含むからね
235: 名前は開発中のものです。 [sage] 04/07/04 12:05 ID:WDudAYFD(1/5) AAS
自分の1/2で十分じゃね?
236(1): 名前は開発中のものです。 [sage] 04/07/04 12:35 ID:yqwpjhZT(1) AAS
(√自分)でよくない?
237(1): 名前は開発中のものです。 [sage] 04/07/04 12:38 ID:WDudAYFD(2/5) AAS
平方根求めるより楽だし
238: 名前は開発中のものです。 [sage] 04/07/04 12:55 ID:9GihiSR8(1) AAS
>>236-237
なんで平方根まででいいんだっけ?
239(1): 名前は開発中のものです。 [sage] 04/07/04 13:00 ID:WDudAYFD(3/5) AAS
それ以上のは今までに計算した分と対応してるだけ
240(1): HSPが初プログラム@生徒希望 [sage] 04/07/04 19:58 ID:3DUC6+Xf(2/2) AAS
えと、素数はどういうものかはわかるんですが、プログラムというかHSPでの算出方法が…
241(2): x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/04 20:45 ID:WDudAYFD(4/5) AAS
; 素数判定 with HSP 少しだけ高速版
sdim log, 7000: notesel log
title "素数判定 - Calculating..."
mesbox log, 640, 480
log = "2": n = 1
repeat 999
repeat
n += 2: f = 1
repeat n>>1-1,3if n \ cnt = 0: f = 0: break
continue cnt+2
loop
if f: break
loop
noteadd ""+n
await
loop
objprm 0, log
title "素数判定"
stop
242(1): x≠先生かつx=生徒 ⇒ x=俺 [sage] 04/07/04 20:47 ID:WDudAYFD(5/5) AAS
あ、インデントかけるの忘れとった。。。
; 素数判定 with HSP 単純版
sdim log, 7000: notesel log
title "素数判定 - Calculating..."
mesbox log, 640, 480
repeat ,2
n = cnt
repeat cnt-2, 2
if n \ cnt = 0: n = 0: break
loop
if n{
noteadd ""+cnt
i++
if i >= 1000: break
await
}
loop
objprm 0, log
title "素数判定"
stop
243: Ruby@素数高速化 [] 04/07/05 00:33 ID:K58VA1M5(1) AAS
以前のバージョン
43.702999830246秒
ループ 31343403回
新しいバージョン(奇数のみ評価、平方根までチェック)
0.921999931335449秒(約47倍)
ループ 225062回(約139倍)
思ったより高速化されてビクーリ
print "2\n"
count=1
loopCount=0
i=3
old=Time.now.to_f;
while count<1000 do
sosu=true
for j in 3..Math.sqrt(i) do
loopCount=loopCount+1
if ( (i % j) == 0)
sosu=false
end
end
if (sosu)
print "#{i}\n"
count=count+1
end
i=i+2
end
print " #{Time.now.to_f - old}秒かかりました\n"
print " #{loopCount}回ループしました\n"
print "素数を#{count}個みつけました\n"
244: 名前は開発中のものです。 [] 04/07/05 01:37 ID:o/9mlWPU(1) AA×
>>241

245: 名前は開発中のものです。 [sage] 04/07/05 07:17 ID:LZQQVRIy(1/3) AAS
Delphiで素数
外部リンク[zip]:gamdev.org
246: 名前は開発中のものです。 [sage] 04/07/05 13:04 ID:LZQQVRIy(2/3) AAS
最速の素数判定アルゴリズム
2chスレ:tech
上下前次1-新書関写板覧索設栞歴
あと 541 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.063s