SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

DNAコピーゲーム

DNAの4種類の塩基を入力して、DNAの複製を作る学習ゲームです。
福野さんのブログで取り上げられた、DNAのスクリーンセーバーをヒントに作りました。
このゲームで、キミも脳細胞を分裂させよう!(笑)

  • 実行すると、DNAのらせんが表示された後、左側のらせんの続きの塩基が画面左下に表示されます。ペアになる塩基のアルファベットのキーを押してください。ちなみに塩基のペアは、「アデニン(A)」−「チミン(T)」、「シトシン(C)」−「グアニン(G)」です。
  • 正しいキーを押すと、次に右側のらせんの塩基が表示されます。同様にキーを押してください。
  • 続いてDNAが下へ伸びるので、制限時間の1分以内にたくさん入力して、DNAをどんどん伸ばしてください。
  • 1分経過すると、入力できた塩基数がスコア表示されて終了します。
  • ちなみに実際の細胞分裂でも、これと同じ作業が行われて、DNAが2対(4本)にコピーされています。

10 '*DNA copy*
20 CLS:CLV
30 LET [0],#41,#43,#47,#54
40 O=15:A=10:X=A*10:V=0
50 '@SPLOOP
60 D=RND(4)
70 LOCATE O+X/10,23:PRINT CHR$([D]);
80 LOCATE O-X/10,23:PRINT CHR$([3-D])
90 WAIT 3
100 IF X>0 THEN V=V-1 ELSE V=V+1
110 X=X+V
120 IF V<>0 THEN GOTO 50
130 L=O+X/10:R=O-X/10
140 S=0:CLT
150 '@GAMELOOP
160 D=RND(4)
170 LOCATE L,23:PRINT CHR$([D],1);
180 '@INPUTL
190 K=INKEY()
200 IF TICK()>=3600 THEN GOTO 320
210 IF K<>[3-D] THEN GOTO 180
220 LOCATE L+1,23:PRINT CHR$(K);
230 BEEP:S=S+1
240 LOCATE R-1,23:PRINT CHR$(1,[3-D]);
250 '@INPUTR
260 K=INKEY()
270 IF TICK()>=3600 THEN GOTO 320
280 IF K<>[D] THEN GOTO 250
290 LOCATE R-1,23:PRINT CHR$(K)
300 BEEP:S=S+1
310 GOTO 150
320 '@GAMEEND
330 BEEP 40,40
340 PRINT:PRINT
350 PRINT "* GAME END *"
360 PRINT "SCORE=";S
370 END