code questで遊ぶ
この試練だけが解けない。
手で解いてHP49まではいけるが50に届かない。
pythonでランダムだと時間がかかりすぎる。
そこで序盤を数手教えこませてみたり。
ここは通らないだろうというところに死神をおいたりしてみる。
あとgoalから少し逆算させて高速化を図っている。
HP49までは解けるようになるが届かない。
定石に間違いがあるらしい。
残念ながら下のプログラムでは解けないと思う。
しりとりのプログラムもはじめて作ってみました。
----------------------------------------------------
翌日
車の異音で起こされる。
すぐ近くの空き地のような空間でおそらくUターンでもしようとしたのかトラックが立ち往生
ここ台風の迫る中、連日の雨でぬかるんでいたらしい。
3時間ぐらいなんか沼の試練と戦っていた。
この試練だけが解けない。
手で解いてHP49まではいけるが50に届かない。
pythonでランダムだと時間がかかりすぎる。
そこで序盤を数手教えこませてみたり。
ここは通らないだろうというところに死神をおいたりしてみる。
あとgoalから少し逆算させて高速化を図っている。
HP49までは解けるようになるが届かない。
定石に間違いがあるらしい。
残念ながら下のプログラムでは解けないと思う。
しりとりのプログラムもはじめて作ってみました。
# -*- coding: utf-8 -*- import random strings =["イアラ","ウェイト","オメガロ","ガルヒ","ガングリオンズ","クリオ","ジェノバ","スノウガ","ズビズバ","スペシウム","タグアズ","ドドンパ","トルネ","ネメシス","バイナリル","ハザード","パリピファイア","バルース","ヒラケゴマ","フェイク","プリズマ","ホルーガ","マッハ","マホマホ","ムート","ラリホフ","ランス","ループ","ロールウェイブ","ワロス"] print (strings[0]) print (strings[0][2]) #ググる python 文字列 長さ print (len(strings[4])) #ググる python 文字列 比較 if (strings[0][2]==strings[25][0]): print ('match') def match(s1,s2): if s1[len(s1)-1]==s2[0]: return True return False if match(strings[0],strings[25]): print ('match') #15分経過 #ググる python 配列 初期化 flg = [True for i in range(len(strings))] n=0 #ググる python 乱数 s1=random.randint(0,len(strings)-1) flg[s1]=False print (strings[s1]) while n<1000: s2=random.randint(0,len(strings)-1) if flg[s2] and match(strings[s1],strings[s2]): s1=s2 flg[s1]=False print (strings[s1]) n=n+1 #30分経過 #ググる python def 戻り値 複数 def siritori(): flg = [True for i in range(len(strings))] n=0 s1=random.randint(0,len(strings)-1) flg[s1]=False retword = strings[s1]+" " count=1 while n<1000: s2=random.randint(0,len(strings)-1) if flg[s2] and match(strings[s1],strings[s2]): s1=s2 flg[s1]=False retword = retword + strings[s1]+ " " count=count+1 n=n+1 return count,retword c=0 while c<20: c,w=siritori() print (c) print (w)
# -*- coding: utf-8 -*- import random map=[[-1,1,1,-1,-1,1,1,-1,-1,1],[1,"S",1,"L",-1,-1,-1,-1,-1,-1],[-1,-1,-1,1,1,-1,1,-1,1,1],[1,"L",-1,-1,1,-1,1,-1,1,-1],[-1,1,1,-1,-1,-1,-1,"L",1,-1],[1,-1,1,-1,-1,1,-1,1,-1,1],[-1,"L",-1,-1,-1,1,-1,-1,-1,1],[-1,1,-1,1,1,-1,1,-1,-1,-1],[-1,1,-1,-1,-1,1,1,-1,"G",1],[-1,-1,1,1,-1,-1,-1,1,-1,-1]] print (map[8][8]) #追加L #map[2][1]="L" #map[0][3]="L" #map[7][8]="L" #map[0][9]="L" #map[0][8]="L" #map[1][9]="L" #map[1][8]="L" #map[8][0]="L" #map[9][0]="L" #map[9][6]="L" #map[9][7]="L" #map[9][8]="L" #map[9][9]="L" #ググる python 多重配列 flg = [[True for i in range(10)] for j in range(10)] mflg=0 def usyamove(): global mflg ux=1 uy=1 uhp=36 for x in range(10): for y in range(10): flg[y][x]=True if map[y][x]=="L" or map[y][x]=="S": flg[y][x]=False n=0 mflg=0 #強制Walk uhp,ux,uy=walk(uhp,ux+1,uy) uhp,ux,uy=walk(uhp,ux,uy-1) uhp,ux,uy=walk(uhp,ux-1,uy) uhp,ux,uy=walk(uhp,ux-1,uy) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux+1,uy) uhp,ux,uy=walk(uhp,ux+1,uy) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux-1,uy) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux+1,uy) uhp,ux,uy=walk(uhp,ux+1,uy) uhp,ux,uy=walk(uhp,ux,uy-1) uhp,ux,uy=walk(uhp,ux,uy-1) uhp,ux,uy=walk(uhp,ux+1,uy) #43 uhp,ux,uy=walk(uhp,ux,uy+1) uhp,ux,uy=walk(uhp,ux+1,uy) uhp,ux,uy=walk(uhp,ux+1,uy) uhp,ux,uy=walk(uhp,ux,uy-1) uhp,ux,uy=walk(uhp,ux-1,uy) uhp,ux,uy=walk(uhp,ux,uy-1) uhp,ux,uy=walk(uhp,ux,uy-1) #46 while n<2000: if round(ux,uy) or mflg>3: return 0,False w=random.randint(0,3) if w==0: if walkck(ux+1,uy): uhp,ux,uy=walk(uhp,ux+1,uy) if w==1: if walkck(ux-1,uy): uhp,ux,uy=walk(uhp,ux-1,uy) if w==2: if walkck(ux,uy+1): uhp,ux,uy=walk(uhp,ux,uy+1) if w==3: if walkck(ux,uy-1): uhp,ux,uy=walk(uhp,ux,uy-1) #goal shift #if ux==8 and uy==8: if ux==9 and uy==5: n=2000 n=n+1 if uhp<43: return 43,False g=False #if ux>=8 and uy>=8: if ux==9 and uy==5: g=True #return uhp,g return uhp+1,g def round(x,y): if walkck(x+1,y): return False if walkck(x-1,y): return False if walkck(x,y+1): return False if walkck(x,y-1): return False return True def walkck(x,y): if x<0 or x>9 or y<0 or y>9: return False return flg[y][x] def walk(hp,x,y): global mflg flg[y][x]=False if map[y][x]==-1: hp=hp-1 mflg=mflg+1 if map[y][x]==1: hp=hp+1 mflg=0 return hp,x,y def mapw(): for y in range(10): s="" for x in range(10): if flg[y][x]==False and map[y][x]!="L": s=s+" " else: s=s+"1" print(s) hp=0 goal=False while hp<50: hp,goal=usyamove() if goal and hp>48: print (hp) mapw() print (hp)
----------------------------------------------------
翌日
車の異音で起こされる。
すぐ近くの空き地のような空間でおそらくUターンでもしようとしたのかトラックが立ち往生
ここ台風の迫る中、連日の雨でぬかるんでいたらしい。
3時間ぐらいなんか沼の試練と戦っていた。