トップページgamedev
990コメント416KB

ズブの初心者がゲーム作れるまで勉強するスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/07 20:26ID:PFtlmWD9
【参加資格】
ズブの初心者以外お断りです。

なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
0868名前は開発中のものです。2006/03/20(月) 05:09:20ID:5iZ2gAyz
#define MAX 50

//初期化
gosub *Boot_Initialize
gosub *Play_Initialize

*Start
repeat
    //裏画面を作る
    gsel 2,-1
    cls 4
    await 1

    //自機
    cspeed=8
    stick keyboard,15,1

    if keyboard & 1 {
     cx=cx-cspeed
     if cx<0 : cx=0
    }
    if keyboard & 4 {
     cx=cx+cspeed
     if cx>639-32 : cx=639-32
    }
    if keyboard & 64 {
    if benable=0 {
        benable=1
        bx=cx+16
        by=cy
    }
    }
0869名前は開発中のものです。2006/03/20(月) 05:12:32ID:5iZ2gAyz
    pos cx,cy: gcopy 3, 0,0

    //自機弾
    if benable=1 {
        by=by-8
        if by<0 : benable=0
        color 255,255,255
        line bx, by, bx, by-16
    }

    //敵機
    ndir=dir
    repeat MAX
        if tl.cnt.0 = 1 {
            pos tl.cnt.2,tl.cnt.3:gcopy 4, 0,0,32,32
            tl.cnt.2 = tl.cnt.2+dir
            if (tl.cnt.2 <= 0) : ndir=1
            if (tl.cnt.2 >= 602) : ndir=-1

            //あたり判定
            if benable and tl.cnt.2<bx and tl.cnt.2+32>bx and tl.cnt.3<by and tl.cnt.3+32>by: tl.cnt.0 = 0 : Score=Score+10 : Teki_Rest = Teki_Rest - 1

            //敵が接地したか
            if tl.cnt.3 > 448 : invasion = 1
        }
    loop
    if dir!ndir {
        repeat MAX
            tl.cnt.3=tl.cnt.3+4
        loop
    }
0870名前は開発中のものです。2006/03/20(月) 05:13:03ID:5iZ2gAyz
    dir=ndir

    Color 255, 255, 255
    pos 200,0 : mes "Score"
    pos 300,0 : mes Score

    if Score > HighScore : HighScore = Score
    pos 0,0 : mes "High-Score"
    pos 100,0 : mes HighScore

    //表画面へコピー
    gsel 0,1
    pos 0,0: gcopy 2,0,0,640,480

    if Teki_Rest=0 : gosub *Stage_Initialize
    if invasion=1 : gosub *Play_Initialize
loop

//ステージ初期化
*Stage_Initialize
    Stage_Num = Stage_Num + 1
    Dim tl,MAX,3    //敵
    
    repeat MAX
        tl.cnt.0 = 1    //利用中(0=否)
        tl.cnt.1 = 0    //呼び出すサブルーチン(未使用)
        tl.cnt.2 = ( cnt * 64 ) \ 640    //X座標
        tl.cnt.3 = ( cnt * 64 ) / 640 * 64    //Y座標
    loop
    cx=320
    cy=440
0871名前は開発中のものです。2006/03/20(月) 05:13:36ID:5iZ2gAyz
    benable=0
    
    Teki_Rest=MAX
    invasion = 0

    cls 4
    Color 255, 255, 255
    pos 280,240 : mes "Stage"
    pos 340,240 : mes Stage_Num
    AWait 1000
return

//プレイ初期化
*Play_Initialize
    Stage_Num=0
    Score=0
    gosub *Stage_Initialize
return

//起動時の初期化
*Boot_Initialize
    HighScore=74
    Score=0
    
    //裏画面
    buffer 2,640,480
    
0872名前は開発中のものです。2006/03/20(月) 05:14:08ID:5iZ2gAyz
    
    //自機
    buffer 3,32,32
    picload "jiki.bmp"
    
    //敵機
    buffer 4,32,32
    picload "teki.bmp"
    
    screen 0,640,480
    
    cls 4
return
■ このスレッドは過去ログ倉庫に格納されています