※第三回プチコン大喜利応募作品
2分間で何点取れるかを競うスコアアタックゲームです。This is a score attack game in 2 minutes.
下画面に10人のプロ生ちゃんが並んでいます。タッチするとジャンプするので、画面内を漂っている[P]を取らせて得点していきます。A girl on the bottom of screen can jump by tapping with stylus. A point is obtained if she captures the [P].
プロ生ちゃんは、[P]を取れば取る程ジャンプ力は上昇していきます。The more she captures it, the higher she jumps.
このプログラムは、以下のリソースも使用します。This program uses following resources.
CR(),CG(),CB() | プロ生ちゃんのベースの色のRGB値 |
KC | [P]発生量調整値 |
KS | [P]発生時のスプライト番号 |
KW | [P]新規発生用カウンタ |
MJ | プロ生ちゃん達の最大ジャンプ力 |
PJ() | プロ生ちゃんのジャンプ力 |
PS() | プロ生ちゃんの移動量 |
PV() | プロ生ちゃんの向き |
PY() | プロ生ちゃんのY座標 |
SC | スコア |
TM | 残り時間 |
001. ′┌─────────────────────────┐Л 002. ′│ PRG:TBDS_PN by OBONO │Л 003. ′└─────────────────────────┘Л 004. Л 005. ACLS:CLEAR:PNLTYPE ”OFF”Л 006. GOSUB @IN:GOSUB @GT:GOSUB @GSЛ 007. Л 008. ′┝┸┝┸┝┸ MAIN LOOP ┝┸┝┸┝┸Л 009. Л 010. @LPЛ 011. Л 012. IF TCHST AND TCHTIME==1 THEN GOSUB @PJЛ 013. FOR I=0 TO 9:GOSUB @PM:NEXTЛ 014. TM=TM-1:KW=KW-1Л 015. IF KW<=0 THEN GOSUB @KEЛ 016. LOCATE 7,1:? SC:LOCATE 24,1Л 017. ? TM>=3600;”:”;MID$(STR$(TM%3600/60+100.001),1,5)Л 018. VSYNC 1:IF TM>0 THEN @LPЛ 019. GOSUB @GV:GOSUB @GS:GOTO @LPЛ 020. Л 021. ′┝┸┝┸┝┸ SUB ROUTINES ┝┸┝┸┝┸Л 022. Л 023. @PJ ′ЙЙЙ JUMP!Л 024. Л 025. X=(TCHX+2)/26 OR 0Л 026. IF PY(X)<384 THEN RETURNЛ 027. BEEP 8,PJ(X)*32,64,X*14+1Л 028. FOR I=0 TO 9Л 029. IF I!=X AND PY(I)==384 THEN PV(I)=I<XЛ 030. NEXT:PS(X)=-PJ(X):RETURNЛ 031. Л 032. @PM ′ЙЙЙ MOVE & JUDGEЛ 033. Л 034. S=PS(I):Y=PY(I)+S:S=S+1Л 035. C=64+(S>0)*8Л 036. IF Y>=384 THEN Y=384:C=48Л 037. FOR P=0 TO 1:SPPAGE PЛ 038. SPCHR I,C,I+4,PV(I),0,1Л 039. SPOFS I,I*26-5,Y-P*240Л 040. IF SPHIT(I,10) THEN GOSUB @KCЛ 041. NEXT:PS(I)=S:PY(I)=Y:RETURNЛ 042. Л 043. @KC ′ЙЙЙ GET [P]Л 044. Л 045. SC=SC+1:J=PJ(I)+.5:PJ(I)=JЛ 046. BEEP 27,0,127,I*14+1Л 047. SPOFS SPHITNO,-24,0Л 048. IF J<=32 THEN KC=KC+1:IF MJ<J THEN MJ=JЛ 049. RETURNЛ 050. Л 051. @KE ′ЙЙЙ ENTER [P]Л 052. Л 053. X=RND(2)*288-24Л 054. Y=368-RND(MJ*(MJ+1)/2-8)Л 055. P=0:IF Y>192 THEN Y=Y-240:P=1Л 056. IF Y<0 OR Y>176 THEN @KEЛ 057. SPPAGE P:SPOFS KS,X,YЛ 058. SPOFS KS,240-X,Y,64+RND(64)Л 059. KS=KS+1-(KS==99)*90Л 060. KW=2048/KC:RETURNЛ 061. Л 062. ′┝┸┝┸┝┸ SCREENS ┝┸┝┸┝┸Л 063. Л 064. @GT ′ЙЙЙ TITLEЛ 065. Л 066. CLS:FOR I=0 TO 9:Z=I>7Л 067. READ T$:SPCHR I,0,I+4,0,0,1Л 068. SPANIM I,6,8:COLOR 7-Z*5Л 069. LOCATE 5-Z*4,I+Z*3+8:? T$Л 070. NEXT:COLOR 0:TM=0Л 071. PNLSTR 9,8,”TOUCH TO START”Л 072. @GT2Л 073. IF TM%16 THEN @GT3Л 074. I=TM/16:Y=RND(4)*48Л 075. A=RND(33)/16+2:SPANIM I,6,A+1Л 076. SPOFS I,256,YЛ 077. SPOFS I,-32,Y,36*AЛ 078. @GT3Л 079. TM=(TM+1)%160:VSYNC 1Л 080. IF !TCHST OR TCHTIME!=1 THEN @GT2Л 081. RETURNЛ 082. Л 083. @GS ′ЙЙЙ GAME STARTЛ 084. Л 085. FOR P=0 TO 1:SPPAGE PЛ 086. FOR I=10 TO 99:SPOFS I,-32,0Л 087. NEXT:NEXTЛ 088. FOR I=0 TO 9Л 089. PJ(I)=8:PS(I)=0Л 090. PV(I)=I<5:PY(I)=384Л 091. SPANIM I,1,1,1:GOSUB @PMЛ 092. NEXT:CLS:LOCATE 1,1Л 093. ? ”SCORE 0”;” ”*11;”TIME 2:00.00”Л 094. BEEP 32:PNLSTR 13,8,”READY?”Л 095. WAIT 120:PNLSTR 13,8,” ”*6Л 096. SC=0:KC=128:KS=10:KW=0:MJ=8Л 097. TM=7200:BGMPLAY 3:RETURNЛ 098. Л 099. @GV ′ЙЙЙ GAME OVERЛ 100. Л 101. FOR P=0 TO 1:SPPAGE PЛ 102. FOR I=0 TO 9Л 103. SPCHR I,56+(PY(I)<384)*40Л 104. NEXTЛ 105. FOR I=10 TO 99Л 106. SPREAD(I),X,Y:SPOFS I,X,YЛ 107. NEXT:NEXT:BGMSTOP:BEEP 55Л 108. PNLSTR 12,7,”TIME UP!”Л 109. WAIT 120Л 110. PNLSTR 9,10,”TOUCH TO RETRY”Л 111. @GV2Л 112. VSYNC 1Л 113. IF !TCHST OR TCHTIME!=1 THEN @GV2Л 114. RETURNЛ 115. Л 116. ′┝┸┝┸┝┸ INITIALIZE ┝┸┝┸┝┸Л 117. Л 118. @INЛ 119. Л 120. Z=SYSBEEP:SYSBEEP=0Л 121. VISIBLE 0,0,0,0,0,0Л 122. LOAD ”BGF:SBFT_J01”,0Л 123. FOR P=0 TO 1Л 124. SPPAGE PЛ 125. B$=”SP”+CHR$(85-P*2)Л 126. LOAD B$+”0:SBCH_PN1”,0Л 127. LOAD B$+”1:SBCH_PN2”,0Л 128. LOAD ”COL1:SBCL_PN1”,0Л 129. FOR I=0 TO 9Л 130. IF !P THEN READ CR(I),CG(I),CB(I)Л 131. FOR J=1 TO 15Л 132. COLREAD(”SP”,J+224),R,G,BЛ 133. R=(R*3+CR(I))/4Л 134. G=(G*3+CG(I))/4Л 135. B=(B*3+CB(I))/4Л 136. COLSET ”SP”,I*16+J+64,HEX$(R,2)+HEX$(G,2)+HEX$(B,2)Л 137. NEXT:NEXTЛ 138. FOR I=0 TO 9Л 139. SPSET I,0,I+4,0,0,1,32,64Л 140. SPHOME I,0,16:SPOFS I,-32,0Л 141. SPCOL I,8,8,16,24,0Л 142. NEXTЛ 143. FOR I=0 TO 7Л 144. CHRREAD(”SPU3”,I+160),C$Л 145. CHRSET B$+”1”,I+208,C$Л 146. NEXTЛ 147. FOR I=10 TO 99Л 148. SPSET I,116,2,0,0,1Л 149. SPOFS I,-32,0:SPANIM I,2,4Л 150. NEXTЛ 151. BGPAGE P:BGFILL 0,0,0,33,23,”91CF91D091D1”Л 152. NEXTЛ 153. SYSBEEP=Z:VISIBLE 1,1,1,1,1,1Л 154. RETURNЛ 155. Л 156. ′┝┸┝┸┝┸ DATA ┝┸┝┸┝┸Л 157. Л 158. DATA 192,192,192,255,64 ,64Л 159. DATA 255,192,64 ,192,255,64Л 160. DATA 64 ,255,64 ,64 ,255,192Л 161. DATA 64 ,192,255,64 ,64 ,255Л 162. DATA 192,64 ,255,255,64 ,192Л 163. DATA ”┌────────────────────┐”Л 164. DATA ”│トヒ゛タ゛セ!! │”Л 165. DATA ”│ ┳┠ ┓┓ │”Л 166. DATA ”│ ┏┏╋┻┨ ┣┏╋ ┨┠┯┠┓ │”Л 167. DATA ”│ ┻ ┛ ┻ ┳┠┯┠ │”Л 168. DATA ”│ ┳━ ┯┠┨ ┠┠┯┠┓ │”Л 169. DATA ”│ チャン│”Л 170. DATA ”└────────────────────┘”Л 171. DATA ”2015.1.31 Programmed by OBONO”Л 172. DATA ” http://d.hatena.ne.jp/OBONO/”Л 173. Л 174. ′─────────────────────── EOFЛ