📄 inherit.bas
字号:
SCREEN 12
DIM orgin$(6)
DIM d(4, 3)
DIM son$(5000)
DIM prior(5000)
DIM generation(7)
REM orgin declaration
orgin$(1) = "ccs"
orgin$(2) = "css"
orgin$(3) = "scc"
orgin$(4) = "scs"
orgin$(5) = "csc"
orgin$(6) = "ssc"
aim1$ = "ccc"
aim2$ = "sss"
REM end declaration
CLS
FOR i = 1 TO 4
FOR j = 1 TO 3
READ d(i, j)
NEXT j
NEXT i
DATA 2,1,2
DATA 2,1,3
DATA 3,1,2
DATA 3,1,3
FOR i = 1 TO 7
READ generation(i)
NEXT i
DATA 5,21,85,341,1365
DATA 5461,21845
tot = 1
h = 1
Find = false
aim = 0
aim1 = 0
aim2 = 0
aim3 = 0
aim4 = 0
aim5 = 0
aim6 = 0
aim7 = 0
aim8 = 0
FOR b = 1 TO 4
son$(1) = orgin$(b)
LOCATE 10, 5: PRINT "father:"; LEFT$(son$(1), 1)
LOCATE 17, 5: PRINT "mother:"; RIGHT$(son$(1), 2)
h = 1
DO
o$ = son$(h)
FOR j = 1 TO 4
tot = tot + 1
son$(tot) = MID$(o$, d(j, 1), 1) + MID$(o$, d(j, 2), 1) + MID$(o$, d(j, 3), 1)
prior(tot) = h
NEXT j
FOR i = 2 TO tot
a$ = son$(i)
IF son$(i) = aim1$ THEN aim1 = aim1 + 1
IF son$(i) = aim2$ THEN aim2 = aim2 + 1
IF son$(i) = orgin$(1) THEN aim3 = aim3 + 1
IF son$(i) = orgin$(2) THEN aim4 = aim4 + 1
IF son$(i) = orgin$(3) THEN aim5 = aim5 + 1
IF son$(i) = orgin$(4) THEN aim6 = aim6 + 1
IF son$(i) = orgin$(5) THEN aim7 = aim7 + 1
IF son$(i) = orgin$(6) THEN aim8 = aim8 + 1
NEXT i
IF (aim1 <> 0) AND (aim2 <> 0) THEN Find = true
aim = aim1 + aim2 + aim3 + aim4 + aim5 + aim6 + aim7 + aim8
g = 0
DO
g = g + 1
LOOP UNTIL tot < generation(g)
GOSUB 10
aim1 = 0
aim2 = 0
aim3 = 0
aim4 = 0
aim5 = 0
aim6 = 0
aim7 = 0
aim8 = 0
h = h + 1
LOOP UNTIL tot > 1361
DO
LOOP UNTIL INKEY$ <> ""
CLS
tot = 1
NEXT b
END
10
LINE (140, 390)-(540, 390), 2
LINE (140, 390)-(140, 20), 2
LOCATE 5, 60: PRINT "Generation:"; g
LOCATE 7, 60: PRINT "Son:"; tot
LOCATE 26, 20: PRINT "ccc"
LOCATE 26, 26: PRINT "sss"
LOCATE 26, 32: PRINT "ccs"
LOCATE 26, 38: PRINT "css"
LOCATE 26, 44: PRINT "scc"
LOCATE 26, 50: PRINT "scs"
LOCATE 26, 56: PRINT "csc"
LOCATE 26, 62: PRINT "ssc"
LINE (153, 390)-(173, 390 - aim1 * .5), 3, BF
LINE (201, 390)-(221, 390 - aim2 * .5), 4, BF
LINE (249, 390)-(269, 390 - aim3 * .5), 5, BF
LINE (297, 390)-(317, 390 - aim4 * .5), 6, BF
LINE (345, 390)-(365, 390 - aim5 * .5), 7, BF
LINE (393, 390)-(413, 390 - aim6 * .5), 8, BF
LINE (441, 390)-(461, 390 - aim7 * .5), 8, BF
LINE (489, 390)-(509, 390 - aim8 * .5), 9, BF
LOCATE 9, 60: PRINT "ccc:"; aim1;
LOCATE 10, 60: PRINT "sss:"; aim2;
LOCATE 11, 60: PRINT "ccs"; aim3
LOCATE 12, 60: PRINT "css"; aim4
LOCATE 13, 60: PRINT "scc"; aim5
LOCATE 14, 60: PRINT "scs"; aim6
LOCATE 15, 60: PRINT "csc"; aim7
LOCATE 16, 60: PRINT "ssc"; aim8
LOCATE 18, 60: PRINT "tot:"; aim
RETURN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -