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 で再開する 

PacmanPB readme.pdf

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