PacmanPB
PB-100+OR-1 / PB-SIM / Pokecom GO(slow)
Programmed by NUAO
2022/12/4
1対1のパックマン勝負
<概要・操作>
・フィールドは自動生成され、全5レベルあり、1レベル当たり横7×縦4。 W7 x L4 x 5levels
・フィールドの上下と左右は繋がっている。 connection to left/right, top/bottom
・敵は各レベル1匹のみ。「逆襲モード」はないので逃げるだけ。 no reverse-attack mode
・パックマンは3匹。3匹死ぬとゲームオーバー。 3xPacman
・表示 display
↑上へ ↓下へ ・エサ >〇パックマン Ω敵
数字:食べたエサの数
・各レベルのエサ(20個)を全て食べるとレベルクリア。 20foods/level
・敵と完全に重なると死亡(すり抜けることもある)。"■ LOSE ■"及び残パックマン数を表示する。
・死亡後にパックマンの残数が残っている場合は、当レベルの初期位置から再開する。
・レベル4,5は敵の移動スピードが速くなる。 level1-3:enemy slow level4,5:enemy fast
・レベル5をクリアするとゲーム終了。
・敵は上下移動したときに移動方向をランダムに決める。 左右移動中は方向を変えない。
・中断後の再開は[P0] RUN 50。 restart after break
・高速化のため例外キー処理を省略している。エラーが出た場合は RUN 50 で再開する
![](https://www.google.com/images/icons/product/drive-32.png)
PB-100実機形式
PB-SIM形式
[P0]
10 VAC:P=3
15 FOR L=1 TO 5:GOSUB #2
20 V=3:W=2:D=.5*(1+INT(L/4)):A$="0"
25 GOSUB 50:NEXT L
30 PRINT:PRINT "CLEAR!";S:END
50 A$=KEY:A$="0"+A$:GOTO 60+VAL(A$)
60 M$="\CI":GOTO 100
61 GOTO 69
62 IF MID(X+7*Y+2,1)="\DA";Y=Y+1:IF Y>3;Y=0
63 GOTO 69
64 B$=">":X=X-1:IF X<0;X=6
65 GOTO 69
66 B$="<":X=X+1:IF X>6;X=0
67 GOTO 69
68 IF MID(X+7*Y+2,1)="^";Y=Y-1:IF Y<0;Y=3
69 M$=B$
100 PRINT CSR 0;MID(7*Y+2,7);S;CSR X;M$;
110 IF W=Y;PRINT CSR V;"\OM";
120 IF X=V;IF Y=W THEN 200
125 IF A$="0" THEN 170
130 IF MID(X+7*Y+2,1)<>"\DT" THEN 160
140 S=S+1:IF S=20*L;RETURN
150 K=X+7*Y:$=MID(1,K+1)+" "+MID(K+3)
160 PRINT CSR X;"-";
170 GOSUB #1:PRINT CSR X;"\CI";:GOTO 50
200 P=P-1:PRINT:PRINT "\BX LOSE \BX";P;"\CI"
210 IF P=0;PRINT "GameOver";S:END
220 X=0:Y=0:GOTO 50
[P1]
10 C$=MID(V+7*W+2,1)
15 IF C$<>"^" THEN 35
20 K=RAN#:IF K<.5 THEN 55
22 IF K<.75;D=-D
25 W=W-1:IF W<0;W=3
30 RETURN
35 IF C$<>"\DA" THEN 55
40 K=RAN#:IF K<.5 THEN 55
42 IF K<.75;D=-D
45 W=W+1:IF W>3;W=0
50 RETURN
55 V=V+D:IF V<0;V=6:RETURN
60 IF V>6;V=0
65 RETURN
[P2]
10 $="*":PRINT:PRINT L;"stage";P;"\CR\CI";
20 FOR I=0 TO 3
30 F=INT(RAN#*7)
40 G=INT(RAN#*7):IF F=G THEN 40
50 FOR J=0 TO 6:H$="\DT"
60 IF J=F;H$="^"
70 IF J=G;H$="\DA"
80 $=$+H$:NEXT J:NEXT I
90 $=$+"*":PRINT:RETURN