Created
April 1, 2014 14:45
-
-
Save Nucleareal/9915566 to your computer and use it in GitHub Desktop.
昔書かれた糞コード
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "hspkey.as" | |
| buffer 1 : picload ".\\img\\life.bmp" | |
| lifesize_x = ginfo(12)/8 | |
| lifesize_y = ginfo(13) | |
| gsel 0 | |
| betreg = 0 : betweencntr = 5 | |
| betred = 50 : betweencntt = 2 | |
| fieldbase_x = 480 | |
| fieldbase_y = 480 | |
| base_x = 0 | |
| base_y = 0 | |
| field_x = fieldbase_x / lifesize_x | |
| field_y = fieldbase_y / lifesize_y | |
| fdx_x = field_x-1 | |
| fdx_y = field_y-1 | |
| dim field ,field_x,field_y | |
| dim chgflg,field_x,field_y | |
| notedata = "" : predata = "" | |
| notesel notedata | |
| noteload ".\\startlife.txt" | |
| repeat field_y | |
| cntr = cnt | |
| noteget predata,cnt | |
| repeat field_y | |
| field(cnt,cntr) = int(strmid(predata,cnt,1)) | |
| loop | |
| loop | |
| repeat | |
| generationflg = 0 | |
| hspgetkey | |
| if (keychk_Enter) { | |
| if (keysub_Enter == 0) { | |
| generationflg = 1 | |
| keysub_Enter++ | |
| } | |
| else { | |
| if (keysub_Enter > betreg) { | |
| if (keysub_Enter > betred) { | |
| if (keysub_Enter \ betweencntt == 0) { | |
| generationflg = 1 | |
| keysub_Enter++ | |
| } | |
| else { | |
| keysub_Enter++ | |
| } | |
| } | |
| else { | |
| if (keysub_Enter \ betweencntr == 0) { | |
| generationflg = 1 | |
| keysub_Enter++ | |
| } | |
| else { | |
| keysub_Enter++ | |
| } | |
| } | |
| } | |
| else { | |
| keysub_Enter++ | |
| } | |
| } | |
| } | |
| else { | |
| keysub_Enter = 0 | |
| } | |
| redraw 0 | |
| color 255,255,255 : boxf | |
| gmode 0,lifesize_x,lifesize_y | |
| repeat field_y | |
| cntr = cnt | |
| repeat field_x | |
| pos base_x+cnt*lifesize_x,base_y+cntr*lifesize_y | |
| gcopy 1,field(cnt,cntr)*lifesize_x,0 | |
| loop | |
| loop | |
| redraw 1 | |
| if (generationflg) { | |
| repeat field_y | |
| cntr = cnt | |
| repeat field_x | |
| searchlifecnt = 0 | |
| switch field(cnt,cntr) | |
| case 0 | |
| if (cnt <= 0) { | |
| if (cntr <= 0) { | |
| //左上 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| } | |
| else { | |
| if (cntr >= fdx_y) { | |
| //左下 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| } | |
| else { | |
| //左 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| } | |
| } | |
| } | |
| else { | |
| if (cnt >= fdx_x) { | |
| if (cntr <= 0) { | |
| //右上 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| } | |
| else { | |
| if (cntr >= fdx_y) { | |
| //右下 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| } | |
| else { | |
| //右 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| } | |
| } | |
| } | |
| else { | |
| if (cntr <= 0) { | |
| //上 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| } | |
| else { | |
| if (cntr >= fdx_y) { | |
| //下 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| } | |
| else { | |
| //中央 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| } | |
| } | |
| } | |
| } | |
| if (searchlifecnt == 3) { | |
| chgflg(cnt,cntr) = 1 //生命誕生 | |
| } | |
| swbreak | |
| case 1 | |
| if (cnt <= 0) { | |
| if (cntr <= 0) { | |
| //左上 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| } | |
| else { | |
| if (cntr >= fdx_y) { | |
| //左下 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| } | |
| else { | |
| //左 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| } | |
| } | |
| } | |
| else { | |
| if (cnt >= fdx_x) { | |
| if (cntr <= 0) { | |
| //右上 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| } | |
| else { | |
| if (cntr >= fdx_y) { | |
| //右下 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| } | |
| else { | |
| //右 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| } | |
| } | |
| } | |
| else { | |
| if (cntr <= 0) { | |
| //上 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| } | |
| else { | |
| if (cntr >= fdx_y) { | |
| //下 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| } | |
| else { | |
| //中央 | |
| if (field(cnt+1,cntr )) : searchlifecnt++ //右探索 | |
| if (field(cnt+1,cntr-1)) : searchlifecnt++ //右上探索 | |
| if (field(cnt ,cntr-1)) : searchlifecnt++ //上探索 | |
| if (field(cnt-1,cntr-1)) : searchlifecnt++ //左上探索 | |
| if (field(cnt-1,cntr )) : searchlifecnt++ //左探索 | |
| if (field(cnt-1,cntr+1)) : searchlifecnt++ //左下探索 | |
| if (field(cnt ,cntr+1)) : searchlifecnt++ //下探索 | |
| if (field(cnt+1,cntr+1)) : searchlifecnt++ //右下探索 | |
| } | |
| } | |
| } | |
| } | |
| switch searchlifecnt | |
| case 2 | |
| case 3 | |
| chgflg(cnt,cntr) = 1 | |
| swbreak | |
| default | |
| chgflg(cnt,cntr) = 0 | |
| swbreak | |
| swend | |
| swbreak | |
| swend | |
| loop | |
| loop | |
| repeat field_y | |
| cntr = cnt | |
| repeat field_x | |
| field(cnt,cntr) = chgflg(cnt,cntr) | |
| loop | |
| loop | |
| } | |
| await 1 | |
| loop |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment