1000 ' 1010 ' b Ri}Rj 1020 ' 1030 SCREEN 3,,0,1 : CONSOLE 0,25,0,1 : COLOR 7,0,0,0,2 : CLS 3 1040 SIZE_X=11 : SIZE_Y=11 1050 DIM R(SIZE_X+2,SIZE_Y+2),S(SIZE_X+2,SIZE_Y+2) 1060 DIM DX(8),DY(8) 1070 ' 1080 RESTORE *DXDY 1090 FOR I=1 TO 8 : READ DX(I) : NEXT 1100 FOR I=1 TO 8 : READ DY(I) : NEXT 1110 *DXDY 1120 DATA -1, 0, 1,-1, 1,-1, 0, 1 ' \P 1130 DATA -1,-1,-1, 0, 0, 1, 1, 1 ' 1140 ' 1150 RESTORE *INIT_S 1160 FOR Y=5 TO 9 : FOR X=5 TO 9 1170 READ S(X,Y) 1180 NEXT X : NEXT Y 1190 ' 1200 *INIT_S 1210 DATA 0,0,1,0,0 1220 DATA 0,1,0,1,0 1230 DATA 1,0,1,0,1 1240 DATA 0,1,0,1,0 1250 DATA 0,0,1,0,0 1260 ' 1270 ' 1280 ' 1290 ' 1300 SEDAI=0 1310 ' 1320 DO 1330 SEDAI=SEDAI+1 : PRINT "";SEDAI;"" 1340 COLOR 2 : PRINT "";CHR$(13); : COLOR 7 1350 GOSUB *SUB_R : GOSUB *GAMEN 1360 PRINT "=";KOTAI;"" 1370 IF KOTAI=0 THEN PRINT:PRINT "ł܂":EXIT DO 1380 INPUT "",ZOKKO$ 1390 GOSUB *SUB_S 1400 LOOP WHILE ZOKKO$="" 1410 ' 1420 END 1430 ' 1440 '---------------------------------------- 1450 *SUB_S 1460 ' ' }X 1470 FOR X=2 TO 1+SIZE_X ' (01) 1480 FOR Y=2 TO 1+SIZE_Y ' (02) 1490 IF R(X,Y)=3 THEN ' (03) 1500 S(X,Y)=1 ' (04) 1510 ELSE ' (05) 1520 IF R(X,Y)<>2 THEN ' (06) 1530 S(X,Y)=0 ' (07) 1540 END IF ' (08) 1550 END IF ' (09) 1560 NEXT Y ' (10) 1570 NEXT X ' (11) 1580 RETURN ' 1590 ' 1600 '---------------------------------------- 1610 *SUB_R 1620 ' ' }W 1630 FOR X=1 TO SIZE_X+2 : FOR Y=1 TO SIZE_Y+2 ' (01) 1640 R(X,Y)=0 ' 1650 NEXT Y : NEXT X ' 1660 ' ' 1670 FOR X=2 TO 1+SIZE_X ' (02) 1680 FOR Y=2 TO 1+SIZE_Y ' (03) 1690 FOR I=1 TO 8 ' (04) 1700 R(X,Y)=R(X,Y)+S(X+DX(I),Y+DY(I)) ' (05) 1710 NEXT I ' (06) 1720 NEXT Y ' (07) 1730 NEXT X ' (08) 1740 RETURN ' 1750 ' 1760 '---------------------------------------- 1770 *GAMEN 1780 ' 1790 SCREEN ,,1,1 : CLS 2 1800 STEP_X=380/SIZE_X : STEP_Y=380/SIZE_Y 1810 LINE (200,0)-(599,399),8,BF : LINE (210,10)-(590,390),0,BF 1820 FOR X=210 TO 591 STEP STEP_X : LINE (X, 10)-(X,390),8:NEXT X 1830 FOR Y= 10 TO 391 STEP STEP_Y : LINE (210,Y)-(590,Y),8:NEXT Y 1840 ' 1850 KOTAI=0 1860 FOR X=2 TO 1+SIZE_X : FOR Y=2 TO 1+SIZE_Y 1870 XX=213+(X-2)*STEP_X : YY=13+(Y-2)*STEP_Y 1880 PAINT (XX,YY),S(X,Y)*5,8 1890 PUT (XX,YY),KANJI(48+R(X,Y)),,6,S(X,Y)*5 1900 KOTAI=KOTAI+S(X,Y) 1910 NEXT Y : NEXT X 1920 GET (0,0)-(639,399),TENSO% : SCREEN ,,0,1 : PUT (0,0),TENSO% 1930 ' 1940 RETURN