diff --git a/hello13.rb b/hello13.rb index 3a2430e..eae01ef 100644 --- a/hello13.rb +++ b/hello13.rb @@ -1,2 +1,5 @@ -puts <<2*2 - +a=[] +p(a.length) +p(rand(a.length)) +p(a[1]) +p(a[rand(a.length)]) diff --git a/pacman.rb b/pacman.rb index a4b2bae..7c5d61f 100755 --- a/pacman.rb +++ b/pacman.rb @@ -47,7 +47,7 @@ ey1=5 ex1=6 d=firld[ey1][ex1] - firld[ey][ex]="6" + firld[ey1][ex1]="6" makescreen(firld, stage1) #makescreen(firld, stage2) @@ -144,6 +144,7 @@ #makescreen(firld, stage2) printf("score:%d",a) c=0 + e=[0,1,2,3] while true if c>1 sleep(0.5) @@ -155,11 +156,13 @@ return end srand() - enemy=rand(4) + f=rand(e.length) + enemy=e[f] if enemy==0 #↑ if firld[ey-1][ex]=="1" #壁なので進まない=何もしない + e.delete_at(f) redo elsif firld[ey-1][ex]=="0" firld[ey][ex]=b @@ -173,6 +176,9 @@ b=firld[ey][ex] firld[ey][ex]="4" break + else + e.delete_at(f) + redo end elsif enemy==1 #↓ @@ -185,6 +191,7 @@ break elsif firld[ey+1][ex]=="1" # + e.delete_at(f) redo elsif firld[ey+1][ex]=="0" firld[ey][ex]=b @@ -198,6 +205,9 @@ b=firld[ey][ex] firld[ey][ex]="4" break + else + e.delete_at(f) + redo end elsif enemy==2 #→ @@ -210,6 +220,7 @@ break elsif firld[ey][ex+1]=="1" # + e.delete_at(f) redo elsif firld[ey][ex+1]=="0" firld[ey][ex]=b @@ -223,6 +234,9 @@ b=firld[ey][ex] firld[ey][ex]="4" break + else + e.delete_at(f) + redo end elsif enemy==3 #← @@ -242,11 +256,23 @@ b=firld[ey][ex] firld[ey][ex]="4" break + else + e.delete_at(f) + redo end + + elsif enemy==nil + sleep(0.5) + firld[y][x]="5" + makescreen(firld, stage1) + #makescreen(firld, stage2) + sleep(0.9) + print("\e[5mgameover!") + return end c+=1 + p(e) end - makescreen(firld, stage1) #makescreen(firld, stage2) printf("score:%d\n",a) @@ -281,6 +307,8 @@ d=firld[ey1][ex1] firld[ey1][ex1]="6" break + else + redo end elsif enemy==1 #↓ @@ -288,68 +316,74 @@ if firld[ey1+1]==nil firld[ey1][ex1]=d ey1=0 - d=firld[ey][ex] - firld[ey][ex]="4" + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break - elsif firld[ey+1][ex]=="1" + elsif firld[ey1+1][ex1]=="1" # redo - elsif firld[ey+1][ex]=="0" - firld[ey][ex]=b - ey+=1 - b=firld[ey][ex] - firld[ey][ex]="4" + elsif firld[ey1+1][ex1]=="0" + firld[ey1][ex1]=d + ey1+=1 + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break - elsif firld[ey+1][ex]=="2" - firld[ey][ex]=b - ey+=1 - b=firld[ey][ex] - firld[ey][ex]="4" + elsif firld[ey1+1][ex1]=="2" + firld[ey1][ex1]=d + ey1+=1 + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break + else + redo end elsif enemy==2 #→ - if firld[ey][ex+1]==nil - firld[ey][ex]=b - ex=0 - b=firld[ey][ex] - firld[ey][ex]="4" + if firld[ey1][ex1+1]==nil + firld[ey1][ex1]=d + ex1=0 + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break - elsif firld[ey][ex+1]=="1" + elsif firld[ey1][ex1+1]=="1" # redo - elsif firld[ey][ex+1]=="0" - firld[ey][ex]=b - ex+=1 - b=firld[ey][ex] - firld[ey][ex]="4" + elsif firld[ey1][ex1+1]=="0" + firld[ey1][ex1]=d + ex1+=1 + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break - elsif firld[ey][ex+1]=="2" - firld[ey][ex]=b - ex+=1 - b=firld[ey][ex] - firld[ey][ex]="4" + elsif firld[ey1][ex1+1]=="2" + firld[ey1][ex1]=d + ex1+=1 + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break + else + redo end elsif enemy==3 #← - if firld[ey][ex-1]=="1" + if firld[ey1][ex1-1]=="1" # redo - elsif firld[ey][ex-1]=="0" - firld[ey][ex]=b - ex-=1 - b=firld[ey][ex] - firld[ey][ex]="4" + elsif firld[ey1][ex1-1]=="0" + firld[ey1][ex1]=d + ex1-=1 + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break - elsif firld[ey][ex-1]=="2" - firld[ey][ex]=b - ex-=1 - b=firld[ey][ex] - firld[ey][ex]="4" + elsif firld[ey1][ex1-1]=="2" + firld[ey1][ex1]=d + ex1-=1 + d=firld[ey1][ex1] + firld[ey1][ex1]="6" break + else + redo end end c+=1