ゲームを作りたい人のための ソースコード集

私がその日作った短めのソースを簡単な解説とともに載せていきます
ゲーム制作初心者にとって参考になるかもしれないソースが多いです





じゃんけんゲーム

じゃんけんゲームです。

7種類の手で勝敗を決める特殊なじゃんけんです

勝敗表は以下の画像のようになります

 

 

#include "user32.as"
#const handmax 7
#module
;枠線描写
#deffunc boxline int _x1, int _y1, int _x2, int _y2
    line _x1+(_x2<_x1)-(_x2>_x1),_y1,_x2,_y1
    line _x1,_y2,_x2,_y2
    line _x1,_y1,_x1,_y2
    line _x2,_y1,_x2,_y2
    return
;文字を中央に配置
#deffunc align str string, local cx, local cy
    cx=ginfo_cx:cy=ginfo_cy:tcx=cx:tcy=cy
    pos 0,ginfo_dispy:mes string
    cx-=ginfo_mesx/2
    cy-=ginfo_mesy/2
    pos cx,cy:mes string
    pos tcx,tcy+ginfo_mesy
    return
#global

randomize
sdim handname,handmax
handname(0)="Rock"
handname(1)="Fire"
handname(2)="Scissors"
handname(3)="Sponge"
handname(4)="Paper"
handname(5)="Air"
handname(6)="Water"
dim handobjid,handmax

font msgothic,16
pos 500,50
objsize 100,50
objmode 2
repeat handmax
    button gosub handname(cnt),*syoubu
    handobjid(cnt)=stat
loop
pos 270,230
button gosub "再挑戦!",*saido:hobjsaido=objinfo(stat,2)
ShowWindow hobjsaido, 0
syoubuflg=0
gosub *draw
stop
*draw
    redraw 0
    color:boxf
    pos 50,20:mes"Opponent"
    pos 500,20:mes"Player"
    x=50:y=50
    repeat handmax
        color 255,255,255
        boxline x,y,x+100,y+50
        pos x+50,y+25
        align handname(cnt)
        y+50
    loop
    if syoubuflg=0{
        font msgothic,38
        pos 320,240:align "ジャーンケーン…"
        font msgothic,16
    }else:if syoubuflg=1{
        ox=50
        oy=50*opponent+50
        px=500
        py=50*player+50
        boxf ox,oy,ox+100,oy+50
        color
        pos ox+50,oy+25
        align handname(opponent)
        color 255,255,255
        line ox+100,oy+25,px,py+25
        font msgothic,38
        pos 320,180
        winflg=0
        if judge=0{
            align "DRAW"
        }else:if judge<=handmax/2{
            winflg=0
            align "LOSE…"
        }else:if judge>handmax/2{
            winflg=1
            align "WINNER!"
        }
        font msgothic,16
        if judge!=0{
            sid=opponent
            eid=player
            sdim h1,512
            repeat
                h1+=handname(sid)
                if sid=eid{
                    break
                }else{
                    if winflg{
                        h1+=" < "
                        sid--
                        if sid<0{sid+=handmax}
                    }else{
                        h1+=" > "
                        sid++
                        if sid>=handmax{sid-=handmax}
                    }
                }
            loop
            pos 320,420
            align h1
        }
    }
    redraw
    return
*syoubu
    player=stat
    opponent=rnd(handmax)
    ;じゃんけんの勝敗判定
    judge=(player-opponent+handmax)¥handmax
    syoubuflg=1
    repeat handmax
        objenable handobjid(cnt),0
    loop
    ShowWindow hobjsaido, 5
    gosub *draw
    return
*saido
    syoubuflg=0
    repeat handmax
        objenable handobjid(cnt),1
    loop
    ShowWindow hobjsaido, 0
    gosub *draw
    return

0
    posted by higashijugem 07:57comments(0)|-|





    一日ゲームNo.19「迷路RPG」

    一日ゲーム第十九弾

     

    アクションRPGです

    マウスクリックで自キャラ(赤)を移動させ、敵キャラ(青)と接触することで戦闘を行います

    敵を倒すとレベルが上がります

    最終的にボスを倒すとゲームクリアーです

    草や岩を踏むと時々体力が回復します

     

    ダウンロード

     

     

    ソースコード

    0
      posted by higashijugem 19:54comments(0)|-|





      一日ゲームNo.18「カメとアキレス」

      一日ゲーム第十八弾

       

      カメをアキレスに追いつかれる前にゴールにたどり着かせるゲームです

      計算式の空欄に正しい数字を入れて、カメをゴールまで進ませましょう

      レベルが高いほど計算が難しくなります

       

      ダウンロード

      ソースコード

       

      0
        posted by higashijugem 07:12comments(0)|-|





        一日ゲームNo.17「PolyhedronSuffle」

        一日ゲーム第十七弾

         

        カップシャッフルゲームの三次元版みたいなものです

        多面体の角の一つが黄色くなっており、クリックするとランダムに移動します

        移動先をクリックすれば正解し、次のステージに進めます

        全5ステージです

         

        ダウンロード

        ソースコード

         

        0
          posted by higashijugem 15:46comments(0)|-|





          一日ゲームNo.16「打斬張」

          一日ゲーム第十六弾

          少し複雑なじゃんけんゲームです

           

          打(赤)は斬(緑)に強く、斬(緑)は張(青)に強く、張(青)は打(赤)に強いです

          「並び替え」・・・個体の並び替えを行います。先頭の五体のみ戦闘に参加させられます

          「交配」・・・二つの個体を組み合わせます。ステータスは組み合わせた個体のステータスからランダムで決定します

          「解雇」・・・個体を削除します。

           

          ダウンロード

          ソースコード

           

           

          0
            posted by higashijugem 17:33comments(0)|-|





            一日ゲームNo.15「円迷路」

            一日ゲーム第十五弾

            一風変わった迷路ゲームです

             

            白い線がルートで、サークルの外側がゴールになります

            操作キーは十字キーのみです

             

            ダウンロード

            ソースコード

            ※10/31修正

             

            0
              posted by higashijugem 18:47comments(0)|-|





              一日ゲームNo.14「KnightJumper」

              久々の一日ゲーム、第十四弾です

               

              チェスのナイトのような動きをするキャラクターを操作し、ステージをクリアしていきます

              キャラクターが移動するごとにマスが減っていくので、身動きが取れなくなる前にゴール(青枠のマス)までたどり着く必要があります

              また、キャラクターがいるマスと移動先のマスが二段以上差がある場合は移動できません

              マップ上には攻略に役立つアイテム(紫のマス)があります、上手く活用して攻略を有利に進めてください

               

              操作方法

              マップ上をクリック・・・移動

              アイテム名をクリック・・・アイテムを使用

               

              gキーを押すことでゲームオーバー、その時点でのクリアステージ数が表示されます

              ※10/24 システムを調整しました

               

              ダウンロード

              ソースコード

               

               

              0
                posted by higashijugem 19:14comments(0)|-|





                一日ゲームNo.13「七並べ」

                一日ゲーム第十三弾は、カードゲーム「7並べ」です

                ルールは通常の7並べと同じです

                すでに配置されているカードの隣のスペースをクリックし、手持ちに対応したカードがあれば配置します

                相手のターンは自動で進行します

                 

                操作説明:

                 左クリック・・・カード配置

                 右クリック・・・パス

                 

                ダウンロード

                ※リンクが違っていたので修正しました

                 

                0
                  posted by higashijugem 10:36comments(0)|-|





                  一日ゲームNo.12「ピラミッド」

                  一日ゲーム第十弾、「ピラミッド」というトランプを使ったカードゲームです

                  詳しいルールはこちらのサイトに書いてあります。

                   

                  左クリックでカードを選択、選択したカードは青線で囲まれます

                  右クリックで選択したカードを解除します

                  右下のカード群が手札です、クリックすることで次々とカードを指定できます

                  カードを消せなくなったら左上のボタンを押すと最初からやり直せます

                   

                  合計が13になるようにカードを選び、ピラミッドのカードがなくなればゲームクリアです

                   

                  ダウンロード

                   

                  0
                    posted by higashijugem 09:11comments(0)|-|





                    一日ゲームNo.11「バトルタンク」

                    一日ゲーム第十一弾、「バトルタンク」

                    ジャンルはアクションRPGです

                     

                    ゲームを起動すると戦車みたいなのが出ます、それを操作してマップ内にいる敵全てを倒せばクリアです

                    戦車の中心から伸びた赤いラインが敵がいる方角なので、それを目印に敵を探し出しましょう

                    勝つたびに戦車の能力は上がっていきます

                    (7/17 バランス調整)

                     

                    操作説明

                    W・・・前進

                    A, D・・・旋回

                    S・・・後退

                    マウスクリック・・・射撃(左クリックを押しっぱなしで連射できます)

                     

                    ダウンロード

                     

                    ソースコード

                     

                    0
                      posted by higashijugem 06:58comments(0)|-|