2013年8月3日投稿 / 投稿者 : 0918nobita / タグ : 投稿プログラム QRコード ゲーム 0918nobita
これは、最初に自分のHP、自分の(青色)ピクセルの移動速度、目標撃破数、(赤色の)敵ピクセルの出現率を設定してから、 時間経過で蛆虫のように増え続ける敵ピクセルに向かってAボタンで上向きにビームをうって、撃破数を稼ぐゲームです。 設定した目標撃破数に達したらクリアです。 敵ピクセルにぶつかるとダメージを受け、HPが減っていきます。 画面の外に自分のピクセルが行ってしまうと、短時間で大量のダメージを受け、早く画面内に戻らないとHPが0になって負けてしまいます。
このプログラムのバージョンは1.0.1です。
今回公開したバージョンでは、敵ピクセルが動きません…(スプライトやBGは使わず、あくまでも1ピクセルの敵と戦わせる方針で行きます) なので、次のバージョンでは敵ピクセルのAIを追加して、攻撃方法(接近戦用の何か、拡散して攻撃できるなにか)や使えるアイテム(検討中なのはピクセル爆弾、攻撃力アップポーションとか)も 追加できるように頑張ります!!(将来的には、自分で敵出現率を決めたりするのではなく、パズドラみたいにいくつかダンジョンを用意して、それをユーザーが進めていくようにしたいと思ってます。)
今後操作動画とかYoutubeにうPするかも
プチコンmkII 向けの QR コードです。
- ’┌──────────────────────────┐
- ’│ Pixel Matchless │
- ’│ Ver 1.0.1 │
- ’│ By 0918nobita │
- ’└──────────────────────────┘
- ACLS
- CLEAR
- SYSBEEP=FALSE
- BGMSTOP
- GOSUB @RCHTXTBINIT
- PNLTYPE ”OFF”
- SAI=2
- ’───────────────────────────
- ’チュウイカ゛キ
- ’───────────────────────────
- @TYUI
- GPAGE 0
- _X=60:_Y=10:RCHTXT$=”&Bケ゛−ムフ゜レイ{シ゛ョウノ チュウイ}”:GOSUB @RICHTXT
- _X=25:_Y=40:RCHTXT$=”{チョウシ゛カンノ}ケ゛−ムフ゜レイ{ハサケ、}”:GOSUB @RICHTXT
- _X=25:_Y=60:RCHTXT$=”{テキト゛ニ キュウケイヲ トルヨウニ シテクタ゛サイ。}”:GOSUB @RICHTXT
- _X=60:_Y=100:RCHTXT$=”Аホ゛タン{ヲ オシテクタ゛サイ。}”:GOSUB @RICHTXT
- GPAGE 1
- _X=75:_Y=100:RCHTXT$=”&BBy 0918nobita”:GOSUB @RICHTXT
- @TYUILOOP
- IF BUTTON(2)==16 THEN GOTO @TYUI2
- GOTO @TYUILOOP
- @TYUI2
- ’───────────────────────────
- ’メインメニュ−
- ’───────────────────────────
- BGMPLAY 27
- GPAGE 1:GCLS 233
- @MENYU
- GPAGE 0:GCLS 233
- MK=0
- GEKIHA=0
- GFILL 0,30,255,60,15
- GFILL 0,60,255,62,253
- _X=55:_Y=40:RCHTXT$=”&1@2ヒ゜クセル ムソウ”:GOSUB @RICHTXT
- _X=75:_Y=150:RCHTXT$=”@1&FBy 0918nobita”:GOSUB @RICHTXT
- LOCATE 12,10:PRINT ”А:スタ−ト”
- LOCATE 12,12:PRINT ”Б:シュウリョウ”
- LOCATE 12,14:PRINT ”Х:アソヒ゛カタ”
- @MENYULOOP
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- IF BUTTON(2)==16 THEN GOTO @MENYU2
- IF BUTTON(2)==32 THEN ACLS:CLEAR:END
- IF BUTTON(2)==128 THEN GOTO @GUIDE
- VSYNC 1
- GOTO @MENYULOOP
- @MENYU2
- CLS
- GPAGE 0:GFILL 0,60,255,62,253
- GPAGE 0:GFILL 0,30,255,60,15
- _X=5:_Y=40:RCHTXT$=”&1@2>ムス゛カシサ”:GOSUB @RICHTXT
- LOCATE 4,10:?”HP:”
- LOCATE 1,1:PRINT ”А:シュツケ゛キ Б:モト゛ル”
- LOCATE 1,2:PRINT ”К/н:カ−ソルノ イト゛ウ ▲▼:スウチノ ヘンコウ”
- @MENYULOOP2
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- GPAGE 1:GPSET RND(255),RND(191),RND(255)
- LOCATE 4,10:?” ”
- LOCATE 4,10:?”HP:”;HOSTHP
- LOCATE 4,11:?” ”
- LOCATE 4,11:?”テキノ シュツケ゛ンリツ:”;TEKIT
- LOCATE 4,12:?” ”
- LOCATE 4,12:?”モクヒョウ ケ゛キハスウ:”;MOKUHYO
- LOCATE 4,13:?” ”
- LOCATE 4,13:?”ソウサヒ゜クセルノ イト゛ウソクト゛:”;S
- IF MK==0 THEN LOCATE 3,11:?” ”:LOCATE 3,10:?”Й”
- IF MK==1 THEN LOCATE 3,10:?” ”:LOCATE 3,11:?”Й”:LOCATE 3,12:?” ”
- IF MK==2 THEN LOCATE 3,11:?” ”:LOCATE 3,12:?”Й”:LOCATE 3,13:?” ”
- IF MK==3 THEN LOCATE 3,12:?” ”:LOCATE 3,13:?”Й”:LOCATE 3,14:?” ”
- IF MK==4 THEN LOCATE 3,13:?” ”:LOCATE 3,14:?”Й”:LOCATE 3,15:?” ”
- IF MK==0 AND BUTTON()==1 THEN HOSTHP=HOSTHP+1
- IF MK==0 AND BUTTON()==2 THEN HOSTHP=HOSTHP−1
- IF MK==1 AND BUTTON(2)==1 THEN TEKIT=TEKIT+1
- IF MK==1 AND BUTTON(2)==2 THEN TEKIT=TEKIT−1
- IF MK==2 AND BUTTON()==1 THEN MOKUHYO=MOKUHYO+1
- IF MK==2 AND BUTTON()==2 THEN MOKUHYO=MOKUHYO−1
- IF MK==3 AND BUTTON(2)==1 THEN S=S+1
- IF MK==3 AND BUTTON(2)==2 THEN S=S−1
- IF BUTTON(2)==16 THEN CLS:GPAGE 0:GCLS 15:GOTO @BATTLE
- IF BUTTON(2)==256 THEN MK=MK−1
- IF BUTTON(2)==512 THEN MK=MK+1
- IF BUTTON(2)==32 THEN CLS:GOTO @MENYU
- IF MK<0 THEN MK=0
- IF MK>3 THEN MK=3
- IF HOSTHP<5 THEN HOSTHP=5
- IF HOSTHP>100 THEN HOSTHP=100
- IF TEKIT<1 THEN TEKIT=1
- IF TEKIT>3999 THEN TEKIT=3999
- IF MOKUHYO<1 THEN MOKUHYO=1
- IF MOKUHYO>99999 THEN MOKUHYO=99999
- IF S<1 THEN S=1
- IF S>10 THEN S=10
- VSYNC 1
- GOTO @MENYULOOP2
- ’───────────────────────────
- ’Battle
- ’───────────────────────────
- @BATTLE
- BGMSTOP
- GPAGE 0:_X=80:_Y=100:RCHTXT$=”@2&DStart!!”:GOSUB @RICHTXT
- WAIT 60
- GPAGE 0:GFILL 0,0,255,191,15
- GPAGE 1:GFILL 0,0,255,191,233
- HOSTX=10:HOSTY=10
- BATIME=0
- BGMPLAY 3
- @BATTLELOOP
- IF GEKIHA>=MOKUHYO THEN BGMSTOP:BGMPLAY 5:GOTO @WIN
- B=BUTTON()
- SYU=RND(SAI)
- HOST2X=HOSTX:HOST2Y=HOSTY
- ’STATES
- PNLSTR 1,1,” ”,15
- PNLSTR 1,1,”HP:”,15
- PNLSTR 4,1,STR$(HOSTHP),15
- PNLSTR 1,3,”ケ゛キハスウ:”,15
- PNLSTR 8,3,STR$(GEKIHA),15
- ’アタリ ハンテイ
- IF HOSTX<0 THEN ATARI=1
- IF HOSTX>255 THEN ATARI=1
- IF HOSTY<0 THEN ATARI=1
- IF HOSTY>191 THEN ATARI=1
- IF GSPOIT(HOSTX+3,HOSTY)==2 THEN ATARI=1
- IF GSPOIT(HOSTX−1,HOSTY)==2 THEN ATARI=1
- IF GSPOIT(HOSTX,HOSTY+3)==2 THEN ATARI=1
- IF GSPOIT(HOSTX,HOSTY−1)==2 THEN ATARI=1
- IF GSPOIT(HOSTX−1,HOSTY−1)==2 THEN ATARI=1
- IF GSPOIT(HOSTX+3,HOSTY+3)==2 THEN ATARI=1
- IF GSPOIT(HOSTX+3,HOSTY−1)==2 THEN ATARI=1
- IF GSPOIT(HOSTX−1,HOSTY+3)==2 THEN ATARI=1
- IF ATARI==1 THEN HOSTHP=HOSTHP−1:BEEP 1:ATARI=0
- IF HOSTHP<=0 THEN GOTO @LOSE
- GFILL HOSTX,HOSTY,HOSTX+2,HOSTY+2,4
- ’イト゛ウノミ
- IF B==1 THEN HOSTY=HOSTY−S:WAIT 1
- IF B==2 THEN HOSTY=HOSTY+S:WAIT 1
- IF B==4 THEN HOSTX=HOSTX−S:WAIT 1
- IF B==8 THEN HOSTX=HOSTX+S:WAIT 1
- IF B==5 THEN HOSTY=HOSTY−S:HOSTX=HOSTX−S:WAIT 1
- IF B==9 THEN HOSTY=HOSTY−S:HOSTX=HOSTX+S:WAIT 1
- IF B==6 THEN HOSTY=HOSTY+S:HOSTX=HOSTX−S:WAIT 1
- IF B==10 THEN HOSTY=HOSTY+S:HOSTX=HOSTX+S:WAIT 1
- ’↑ヒ゛−ム
- IF B==17 THEN HOSTY=HOSTY−S:WAIT 1:ATACK=1
- IF B==18 THEN HOSTY=HOSTY+S:WAIT 1:ATACK=1
- IF B==20 THEN HOSTX=HOSTX−S:WAIT 1:ATACK=1
- IF B==24 THEN HOSTX=HOSTX+S:WAIT 1:ATACK=1
- IF B==21 THEN HOSTY=HOSTY−S:HOSTX=HOSTX−S:WAIT 1:ATACK=1
- IF B==25 THEN HOSTY=HOSTY−S:HOSTX=HOSTX+S:WAIT 1:ATACK=1
- IF B==22 THEN HOSTY=HOSTY+S:HOSTX=HOSTX−S:WAIT 1:ATACK=1
- IF B==26 THEN HOSTY=HOSTY+S:HOSTX=HOSTX+S:WAIT 1:ATACK=1
- ’↓ヒ゛−ム
- IF B==16 THEN ATACK=1
- IF ATACK==1 THEN GOSUB @BATTLEK
- IF ATACK==1 THEN GLINE HOSTX,HOSTY,HOSTX,0,2:BEEP 11:WAIT 1:GFILL HOSTX−5,HOSTY,HOSTX+5,0,15:WAIT 1
- IF ATACK!=0 THEN ATACK=0
- IF HOST2X!=HOSTX OR HOST2Y!=HOSTY THEN GPAGE 0:GFILL HOST2X,HOST2Y,HOST2X+2,HOST2Y+2,15
- IF SYU==1 THEN PIXEL=1
- FOR TEKIS=0 TO TEKIT STEP 1
- IF PIXEL==1 THEN GPAGE 0:GPSET RND(255),RND(191),2
- NEXT
- IF PIXEL==1 THEN PIXEL=0
- BATIME=BATIME+1
- VSYNC 1
- GOTO @BATTLELOOP
- ’ケ゛キハスウニ カサン(ヒ゛−ム)
- @BATTLEK
- FOR BATY=HOSTY−1 TO 0 STEP −1
- IF GSPOIT(HOSTX,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX−5,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX−4,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX−3,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX−2,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX−1,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX+5,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX+4,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX+3,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX+2,BATY)==2 THEN GEKIHA=GEKIHA+1
- IF GSPOIT(HOSTX+1,BATY)==2 THEN GEKIHA=GEKIHA+1
- NEXT
- RETURN
- ’───────────────────────────
- ’RESULT
- ’───────────────────────────
- @WIN
- CLS
- GPAGE 0:_X=80:_Y=100:RCHTXT$=”@2&DCLEAR!”:GOSUB @RICHTXT
- WAIT 60
- GPAGE 0:GCLS 233
- GPAGE 1:GCLS 233
- FOR RESULTX=−20 TO 20 STEP 2
- GPAGE 0:GFILL 0,0,255,191,233
- _X=RESULTX:_Y=20:RCHTXT$=”@2&FRESULT”:GOSUB @RICHTXT
- WAIT 1
- NEXT
- WAIT 1:_X=20:_Y=45:RCHTXT$=”@1&F{ケ゛キハスウ}:”+STR$(GEKIHA)+”{キ}”:GOSUB @RICHTXT
- WAIT 1:_X=20:_Y=65:RCHTXT$=”@1&Fミッションクリア!{オメテ゛トウ!}”:GOSUB @RICHTXT
- @LOOP2
- IF BUTTON(2)==16 THEN BGMPLAY 27:GOTO @MENYU
- VSYNC 1
- GOTO @LOOP2
- @LOSE
- BGMSTOP
- CLS
- BEEP 13
- GPAGE 0:_X=97:_Y=100:RCHTXT$=”@2&1LOSE”:GOSUB @RICHTXT
- WAIT 60
- GPAGE 0:GCLS 233
- GPAGE 1:GCLS 233
- FOR RESULTX=−20 TO 20 STEP 2
- GPAGE 0:GFILL 0,0,255,191,233
- _X=RESULTX:_Y=20:RCHTXT$=”@2&FRESULT”:GOSUB @RICHTXT
- WAIT 1
- NEXT
- WAIT 1:_X=20:_Y=45:RCHTXT$=”@1&F{カカッタ シ゛カン}:”+STR$(BATIME):GOSUB @RICHTXT
- WAIT 1:_X=20:_Y=55:RCHTXT$=”@1&F{ケ゛キハスウ}:”+STR$(GEKIHA)+”{キ}”:GOSUB @RICHTXT
- WAIT 1:_X=20:_Y=75:RCHTXT$=”@1&F{サ゛ンネン!}”:GOSUB @RICHTXT
- @LOOP
- IF BUTTON(2)==16 THEN BGMPLAY 27:GOTO @MENYU
- VSYNC 1
- GOTO @LOOP
- ’───────────────────────────
- ’リッチテキスト By gbt_ss
- ’───────────────────────────
- @RICHTXT
- RCHMODE=0
- FOR RCHTX_I=0TO LEN(RCHTXT$)−1
- IF RES$==”” THEN RES$=”BGF0”
- RCHT1$=MID$(RCHTXT$,RCHTX_I,1)
- IF RCHT1$==”&”AND MID$(RCHTXT$,RCHTX_I+1,1)==”&” THEN SWRCH=1:RCHTX_I=RCHTX_I+1GOTO @RCHTXTLOOPNAIA
- IF RCHT1$==”@”AND MID$(RCHTXT$,RCHTX_I+1,1)==”@” THEN SZRCH=1:RCHTX_I=RCHTX_I+1GOTO @RCHTXTLOOPNAIA
- IF RCHT1$==”@” THEN SZRCH=1:GOSUB @RICHS_:RCHTX_I=RCHTX_I+1GOTO @NEXT
- IF RCHS==0THEN RCHS=1
- IF RCHT1$==”&”AND SWRCH==0 THEN SWRCH=1:GOSUB @RICH_:RCHTX_I=RCHTX_I+1GOTO @NEXT
- IF RCHT1$==”&”AND SWRCH==1 THEN SWRCH=0:GOSUB @RICH_:RCHTX_I=RCHTX_I+1:GOTO @NEXT ELSE SWRCH=0
- @RCHTXTLOOPNAIA
- IF RCHT1$==”{”AND RES$==”BGF0” THEN RES$=”BGU0L”:GOTO @NEXT
- IF RCHT1$==”}”AND RES$==”BGU0L”THEN RES$=”BGF0” :GOTO @NEXT
- IF !RCHMODE THEN GOSUB @RCH_NOM
- IF RCHMODE AND 16 THEN RRPSW=!RRPSW
- IF RCHMODE AND 1 THEN GOSUB @BOLD
- IF RCHMODE AND 2 THEN GOSUB @OBLI
- IF RCHMODE AND 4 THEN GOSUB @UND
- _X=_X+(8−(2*RRPSW))*RCHS
- @NEXT
- NEXT
- @RICHS_
- RCHT2$=MID$(RCHTXT$,RCHTX_I+1,1)
- IF RCHT2$==”1” THEN RCHS=1
- IF RCHT2$==”2” THEN RCHS=2
- IF RCHT2$==”4” THEN RCHS=4
- IF RCHT2$==”8” THEN RCHS=8
- RETURN
- @RICH_
- RCHT2$=MID$(RCHTXT$,RCHTX_I+1,1)
- IF RCHT2$==”B” THEN RCHMODE=RCHMODE XOR 1
- IF RCHT2$==”I” THEN RCHMODE=RCHMODE XOR 2
- IF RCHT2$==”U” THEN RCHMODE=RCHMODE XOR 4
- IF RCHT2$==”S” THEN RCHMODE=RCHMODE XOR 16
- RR111$=”0123456789AbCDEF”
- RR222$=”00010203040506070809101112131415”
- FOR RRRR=0TO 15
- IF RCHT2$==MID$(RR111$,RRRR,1)THEN RCHCOL=VAL(MID$(RR222$,RRRR*2,2))
- NEXT
- RETURN
- @RCH_NOM
- GPUTCHR _X,_Y,RES$,ASC(RCHT1$),RCHCOL,RCHS
- RETURN
- @BOLD
- IF RCHMODE AND 2 THEN RETURN
- GPUTCHR _X,_Y,RES$,ASC(RCHT1$),RCHCOL,RCHS
- GPUTCHR _X+RCHS,_Y,RES$,ASC(RCHT1$),RCHCOL,RCHS
- RETURN
- @UND
- GPUTCHR _X,_Y,RES$,ASC(RCHT1$),RCHCOL,RCHS
- GLINE _X,_Y+8*RCHS,_X−(2*RRPSW)+(8*RCHS),_Y+8*RCHS,(15+RCHCOL*16)
- RETURN
- @OBLI
- RCHIZ=2
- CHRREAD(RES$,ASC(RCHT1$)),RCHIZ$
- FOR RC_Y=0 TO 7
- RC_X2=0
- FOR RC_X=RCHIZ TO RCHIZ+7
- RCHIZ2=RC_Y*8+RC_X2
- IF MID$(RCHIZ$,RCHIZ2,1)!=”0”THEN GOSUB @ITALLR
- RC_X2=RC_X2+1
- NEXT
- RCHIZ=(RCHIZ−0.26)’0.375)
- NEXT
- IF !!(RCHMODE AND 1)AND OBLILOP==0 THEN _X=_X+1OBLILOP=1GOTO @OBLI
- IF !!(RCHMODE AND 1)AND OBLILOP==1 THEN OBLILOP=0:RETURN
- RETURN
- @ITALLR
- GPSET _X+RC_X+1,_Y+RC_Y,(15+RCHCOL*16)
- RETURN
- @RCHTXTBINIT
- CHRINIT ”BGF0”
- CHRINIT ”BGU0L”
- LOAD”BGU0L:SBFT_J01”,0
- LOAD”BGF0:SBFT_J02”,0
- RETURN
- ’───────────────────────────
- ’アソヒ゛カタ
- ’───────────────────────────
- @GUIDE
- CLS
- GPAGE 0:GCLS 233
- _X=10:_Y=20:RCHTXT$=”@1&F{コレハ、ホウコウ}キ−{テ゛ アオイロノ ミカタノ}”:GOSUB @RICHTXT
- _X=10:_Y=30:RCHTXT$=”@1&Fヒ゜クセル{(テン)ヲ ウコ゛カシ、}Aホ゛タン{テ゛}”:GOSUB @RICHTXT
- _X=10:_Y=40:RCHTXT$=”@1&F{ウエムキニ} ヒ゛−ム{ヲ ハッシャシ、}”:GOSUB @RICHTXT
- _X=10:_Y=50:RCHTXT$=”@1&F{テキノ アカイ}ヒ゜クセル{ヲ ケ゛キハスル}ケ゛−ム{テ゛ス。}”:GOSUB @RICHTXT
- _X=10:_Y=70:RCHTXT$=”@1&FBホ゛タン{テ゛ モト゛リマス。}”:GOSUB @RICHTXT
- @LOOP3
- IF BUTTON(2)==32 THEN GOTO @MENYU
- GOTO @LOOP3
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.114 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:15 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30