ライフゲーム 大久保博史 2004/02/29 14:29:32 ├こちらは自動で初期配置しなおしませんが、... 大久保 2004/02/29 14:31:32 └ライフゲームって人生ゲームですか。 小塚貞典 2004/03/02 11:06:22 └ライフゲームについては 大久保 2004/03/02 18:37:17 └ライフゲームの原理がわかったら、ここの 青木太一 2004/03/02 20:11:42
ライフゲーム 大久保博史 2004/02/29 14:29:32 ツリーへ
ライフゲーム |
返事を書く |
大久保博史 2004/02/29 14:29:32 | |
ライフゲームを作りました 同じパターンの繰り返しになると自動的に初期配置をします。 初期値を40くらいでやって、遅ければ数字を下げ、早ければ70くらいまで上げてみてください。 RANDOMIZE set echo "off" input prompt "何マス平方?":t set bitmap size t*8.5,t*8.5 set window 1,t+1,1,t+1 SET TEXT HEIGHT 0.85 dim a(t,t) dim a$(t,t) dim b(t,t) 1000 let kazoeru=1 let m=rnd print m*100 for x=1 to t for y=1 to t let n=rnd if n<m then let a(x,y)=0 else let a(x,y)=1 if a(x,y)=0 then let a$(x,y)="あ" if a(x,y)=1 then let a$(x,y)="い" next y next x SET DRAW MODE Hidden for x=1 to t for y=1 to t if a$(x,y)="あ" then let co=3 else let co=3 set text color co PLOT TEXT ,AT x,y: "●" next y next x SET DRAW MODE explicit 2000 for x=1 to t for y=1 to t let p=mod(x-1,t) if p=0 then let p=t let q=mod(x+1,t) if q=0 then let q=t let r=mod(y-1,t) if r=0 then let r=t let s=mod(y+1,t) if s=0 then let s=t let b(x,y)=a(p,s)+a(x,s)+a(q,s)+a(p,y)+a(q,y)+a(p,r)+a(x,r)+a(q,r) if b(x,y)=2 then goto 3000 if b(x,y)=3 then let a$(x,y)="い" else let a$(x,y)="あ" SET DRAW MODE Hidden 3000 next y next x let lbt$=lbs$ let lbs$=lbf$ let lbf$="" for x=1 to t for y=1 to t if a$(x,y)="あ" then let a(x,y)=0 if a$(x,y)="い" then let a(x,y)=1 let lbf$=lbf$&a$(x,y) next y next x SET DRAW MODE explicit SET DRAW MODE Hidden clear set text color 2 for x=1 to t for y=1 to t if a$(x,y)="あ" then goto 1010 PLOT TEXT ,AT x,y: "●" 1010 next y next x let kazoeru=kazoeru+1 if lbf$=lbs$ then goto 5000 if lbf$=lbt$ then goto 5000 goto 2000 5000 print kazoeru;"世代" print "----------------------------------------" goto 1000 END |
├こちらは自動で初期配置しなおしませんが、... 大久保 2004/02/29 14:31:32 ツリーへ
Re: ライフゲーム |
返事を書く |
大久保 2004/02/29 14:31:32 | |
こちらは自動で初期配置しなおしませんが、若干高速化しています。 RANDOMIZE input prompt "何マス平方?":t set bitmap size t*10,t*10 set window 1,t+1,1,t+1 SET TEXT HEIGHT 0.90 dim a(t,t) dim a$(t,t) dim b(t,t) 1000 let kazoeru=1 let m=rnd print m*100 for x=1 to t for y=1 to t let n=rnd if n<m then let a(x,y)=0 else let a(x,y)=1 if a(x,y)=0 then let a$(x,y)="あ" if a(x,y)=1 then let a$(x,y)="い" next y next x SET DRAW MODE Hidden for x=1 to t for y=1 to t if a$(x,y)="あ" then let co=3 else let co=3 set text color co PLOT TEXT ,AT x,y: "●" next y next x SET DRAW MODE explicit set text color 2 2000 for x=1 to t for y=1 to t let p=mod(x-1,t) if p=0 then let p=t let q=mod(x+1,t) if q=0 then let q=t let r=mod(y-1,t) if r=0 then let r=t let s=mod(y+1,t) if s=0 then let s=t let b(x,y)=a(p,s)+a(x,s)+a(q,s)+a(p,y)+a(q,y)+a(p,r)+a(x,r)+a(q,r) if b(x,y)=2 then goto 3000 if b(x,y)=3 then let a$(x,y)="い" else let a$(x,y)="あ" SET DRAW MODE Hidden 3000 next y next x for x=1 to t for y=1 to t if a$(x,y)="あ" then let a(x,y)=0 if a$(x,y)="い" then let a(x,y)=1 next y next x SET DRAW MODE explicit SET DRAW MODE Hidden clear for x=1 to t for y=1 to t if a$(x,y)="あ" then goto 1010 PLOT TEXT ,AT x,y: "●" 1010 next y next x let kazoeru=kazoeru+1 mouse poll x,y,left,right if left=1 then goto 5000 goto 2000 5000 print kazoeru;"世代" print "----------------------------------------" goto 1000 END |
└ライフゲームって人生ゲームですか。 小塚貞典 2004/03/02 11:06:22 ツリーへ
Re: ライフゲーム |
返事を書く |
小塚貞典 2004/03/02 11:06:22 | |
ライフゲームって人生ゲームですか。 最近、gameの理論がセンター試験(昔の共通一時)に出題されたらしいですね。 |
└ライフゲームについては 大久保 2004/03/02 18:37:17 ツリーへ
Re: ライフゲームって人生ゲームですか。 |
返事を書く |
大久保 2004/03/02 18:37:17 | |
ライフゲームについては http://www.mars.dti.ne.jp/~khnum/life/index.html で詳しく解説されています。 確かに人生ゲームと紛らわしいですね^^ >gameの理論がセンターに出題 難しそうですね 再来年受験ですが今から恐怖です |
└ライフゲームの原理がわかったら、ここの 青木太一 2004/03/02 20:11:42 ツリーへ
Re: ライフゲームについては |
返事を書く |
青木太一 2004/03/02 20:11:42 | |
ライフゲームの原理がわかったら、ここの http://hensel.lifepatterns.net/ Javaアプレットを試してみてください。すごいですよ。 (「Enjoy Life」ボタンを押してください。) かなり高速なLifeをいろんなパターンでみることができます。 十進BASICに関係なくてごめんなさい。なつかしかったもので。 |