 REM CROSSGATE 1.0
1 :
2 GRAPH:MO=100:GOTO 9
9 LV=1:EP=0:DIM WP%(20):FOR I=1 TO 20:WP%(1)=0:NEXT:WP%(4)=5
10 GRAPH:FOR I=1 TO 80 STEP 2:LINE 0,0,80,I:LINE 159,0,80,I:NEXT
20 FOR I=1 TO 80 STEP 2:LINE 0,0,81-I,80:LINE 159,0,80+I,80:NEXT
30 LOCATE 2,5:PRINT "ħ";:LOCATE 3,8:PRINT "ver1.5";
40 LOCATE 4,7:PRINT "ߵ";
50 FOR I=1 TO 160:BOX I,0,I,80,1,2:BOX 161-I,0,161-I,80,1,2:NEXT
70 FOR I=1 TO 6:BOX 0,0,160,80,1,2:FOR T=1 TO 100:NEXT T:NEXT I 
80 REM main
90 FOR I=1 TO 80:LINE 0,0,80,I,0:LINE 159,0,80,I,0:NEXT
100 FOR I=1 TO 80:LINE 0,0,81-I,80,0:LINE 159,0,80+I,80,0:NEXT
110 POKE 199,13:CLS:PRINT "      ѡ","̡    ****","ʦ   ħʿ",
120 PRINT "˧  ƷŮ","    ǻ";
130 BOX 1,16,160,16:LINE 80,16,80,80
140 X=1
150 BOX 1,17,79,80,1,2
160 Y=X
161 K=ASC(INKEY$)
170 IF K=23 THEN X=X+1 ELSE IF K=22 THEN X=X-1 ELSE IF K=13 THEN 300 ELSE BEEP:161
180 IF X>1 THEN X=1
190 IF X<0 THEN X=0
200 IF Y=1 THEN BOX 1,17,79,80,1,2 ELSE BOX 81,17,160,80,1,2
210 IF X THEN BOX 1,17,79,80,1,2 ELSE BOX 81,17,160,80,1,2
220 GOTO 160
300 SEX=X
310 ON 2-X GOTO 9000,9100
320 GOSUB 9600:PRINT "죬ڿAwinдġħȻһҫ۵İ׹wq";
321 PRINT "xĻбŷ㱻׹";:A$=INKEY$:GOSUB 9600
322 PRINT "ͷͣƤȥ......";:A$=INKEY$:GOSUB 9600
323 PRINT "֪˶ãˡȻͷεģҲٵˡ-_-#";:A$=INKEY$
324 GOSUB 9600:PRINT "ܡһԻ͵ĵáԵĳ"
325 PRINT "  ";
326 A$=INKEY$:IF A$="b" OR A$="n" THEN 327 ELSE BEEP:326
327 CLS:LOCATE 3,2:PRINT "ˣһȡ";:BOX 0,0,160,80,1,2:A$=INKEY$:GOSUB 9600
328 CLS:PRINT "һ׺˳ǰ˵......";:A$=INKEY$:GOSUB 9600
329 PRINT "شһ⣺","磬ǵġ˵еߡ"
331 PRINT "  ";:BOX 0,0,160,80,1,2 
332 A$=INKEY$:IF A$="b" THEN 333 ELSE IF A$="n" THEN 334 ELSE 332
333 GOSUB 9600:PRINT "ƤҵҪ";:GOTO 335
334 GOSUB 9600:PRINT "Ǹǫˣǡ";
335 PRINT "Žȥáõĳаѽָ";:BOX 0,0,160,80,1,2:A$=INKEY$
336 GOSUB 9600:PRINT "ȥûң㲻Ūħû˵ΣգҪ";
337 PRINT "ȥ","ȥ ȥ";:BOX 0,0,160,80,1,2
340 A$=INKEY$:IF A$="b" THEN 400 ELSE IF A$="n" THEN 350 ELSE 340
350 GOSUB 9600:LOCATE 3,1:PRINT "Сȥ";:BOX 0,0,160,80,1,2:A$=INKEY$
351 GOSUB 9600:PRINT "⵽׺˵Ķ򣬱һ߽ȥ"
352 LOCATE 4,1:PRINT "-5 -5","......-_-#......";:A$=INKEY$
400 DIM MAP%(10,20):X=10:Y=10:TI=TIM:MO=MOM
401 GOSUB 9600:LOCATE 1,8:PRINT "һ","   32 ʯе","  Ψһһʯ",
402 PRINT "  ҵָ","  СĻС";
403 BOX 56,0,104,16:BOX 8,16,152,80
404 A$=INKEY$:GOSUB 9600:LOCATE 3,4:PRINT "Now Loading...";:FOR I=1 TO 1000:NEXT
405 CLS:FOR T=1 TO 10:FOR I=1 TO 20:READ S:MAP%(T,I)=S:IF S=1 THEN GOSUB 8000
406 NEXT:NEXT:DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
407 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
408 DATA 1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1
409 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
410 DATA 1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1
411 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
412 DATA 1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1
413 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
414 DATA 1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1
415 DATA 1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1
450 :
460 GOSUB 8100
500 KX=X:KY=Y
511 A=ASC(INKEY$):GOTO 5999
512 IF A=22 THEN X=X+1 ELSE IF A=23 THEN X=X-1
513 IF A=21 THEN Y=Y+1 ELSE IF A=20 THEN Y=Y-1
514 IF(A=20 OR A=21 OR A=22 OR A=23)=0 THEN 511
515 BOX(KX-1)*8+1,(KY-1)*8+1,(KX-1)*8+8,(KY-1)*8+8,1,0
516 IF Y>10 THEN Y=10 ELSE IF(X=11 AND Y=10)THEN GOSUB 3000
517 IF MAP%(Y,X)=1 THEN X=KX:Y=KY
518 ON 24-A GOSUB 8120,8160,8140,8100
520 GOTO 500
530 :
540 :
550 :
560 :
570 :
580 :
590 :
600 :
610 :
620 :
630 :
640 :
650 :
660 :
670 :
680 :
690 END
3000 IF WP%(1)=1 THEN GOTO 4000 ELSE GOSUB 9600
3001 LOCATE 2,4:PRINT "ָûҵ"," ȲҪȥɡ";
3002 FOR I=1 TO 999:NEXT I:RESTORE:GOTO 405
4000 GOSUB 9600:PRINT "˺۵صķ䡣׺ڶ治Զһ";
4001 PRINT "ϺȲ衣";:A$=INKEY$:GOSUB 9600
4002 PRINT "㿴ǰȻԵõӣһŭȼ㲻ȥ...";:A$=INKEY$
4003 GOSUB 9600:LOCATE 3,1:PRINT "ӭ!ӭ!ҵ!!";:BOX 0,0,160,80,1,2:A$=INKEY$
4004 GOSUB 9600:PRINT "û뵽ͷӣӯһˤڵϡȻߵߣ";
4005 PRINT "˵...";:A$=INKEY$:GOSUB 9600:PRINT "ȻǸǵģȥɣ"
4006 LOCATE 4,1:PRINT "..ȥ","վ...";:BOX 0,0,160,80,1,2
4007 A$=INKEY$:IF A$="b" THEN 4020 ELSE IF A$="n" THEN 4008 ELSE 4007
4008 GOSUB 9600:PRINT "ŶԭðɣҵĲѪħ..";:BOX 0,0,160,80,1,2
4009 FOR I=1 TO 23:CIRCLE 80,56,I,0,2:FOR T=1 TO 100:NEXT T:NEXT I
4010 FOR I=1 TO 23:CIRCLE 80,56,I,0,1:FOR T=1 TO 100:NEXT T:NEXT I
4011 LOCATE 4,1:PRINT "ѻָ","ħѻָ";
4012 BOX 0,0,160,31,1,2:BOX 0,48,111,80,1,2:TI=TIM:MO=MOM
4013 :
4019 :
4020 A$=INKEY$:GOSUB 9600:PRINT "OK~!ȥǿɰĹ¡":BOX 0,0,160,80,1,2
4021 A$=INKEY$:GOSUB 9600:PRINT "һ׹ֻһ㵽һ䡣"
4022 A$=INKEY$:GOSUB 9600:PRINT "ڻԻͣ㲻˵Ľǵֻŷһ";
4023 PRINT "Щ":A$=INKEY$:GOSUB 9600
4024 PRINT "ô˵ףǲǡߵĽָ𣿿ʹ״";
4025 PRINT "";:BOX 0,0,160,80,1,2:A$=INKEY$:GOSUB 9600
4026 PRINT "ߤν䡹","õʹ״","õƺţ","    ˡ";
4027 WP%(1)=0:WP%(3)=1:A$=INKEY$:GOSUB 9600
4028 LOCATE 3,4:PRINT "Now Loading...";
4029 OPEN "cgSave" FOR OUTPUT AS #1
4030 WRITE#1,TI,TIM,GO,FA,MI,MO,MOM,JI
4031 FOR I=1 TO 20:WRITE#1,WP%(I):NEXT I
4032 WRITE#1,QI,SEX:CLOSE#1
4040 GOSUB 9600:PRINT "ħforǰv1.0ѾעƷ"
4050 PRINT "Nosex.V.Awin","ѣѣ287641135";:POKE 199,13
4060 END
5999 IF A=113 THEN 9950
6000 C=INT(RND(1)*10+1):IF C<8 THEN 512
6001 GOSUB 9600:PRINT "㲻СĲȵأһֻСʯѹצŻ,ѵ";
6002 PRINT "":A$=INKEY$:GOSUB 9600:DHPM=90+INT(RND(1)*20-10):DHP=DHPM:DMI=50:DFA=30
6003 DGO=20:PRINT "  ";DHP;"/";DHPM:LOCATE 1,11:PRINT "  ";TI;"/";TIM
6010 LOCATE 2,5:PRINT "";:LOCATE 2,15:IF SEX THEN PRINT "" ELSE PRINT "";
6020 LOCATE 3,1:PRINT "Сʯ  ";NA$
6021 PRINT "  ٹ    Ʒ","  ۼ    ";
6022 KA$=INKEY$
6023 IF KA$="b" THEN GOSUB 6100 ELSE IF KA$="n" THEN GOSUB 7000
6024 IF KA$="m" THEN GOSUB 7200 ELSE IF KA$="g" THEN GOSUB 7400
6025 IF(KA$="b" OR KA$="n" OR KA$="m" OR KA$="g")=0 THEN 6022
6026 :
6027 :
6028 :
6029 :
6030 :
6040 IF TI<=0 THEN GOTO 9900
6050 IF DHP<=0 THEN GOTO 6200 ELSE GOSUB 9600:GOTO 6003
6060 A$=INKEY$:RESTORE:GOTO 405
6100 REMչ
6101 MISS=INT(RND(1)*10+1)
6103 IF MISS>8 THEN TI=TI
6104 IF MISS<2 THEN DHP=DHP
6105 IF MISS<9 THEN TI=TI-INT(DGO*2/FA+1)
6106 IF MISS>1 THEN DHP=DHP-INT(GO*10/DFA+1)
6107 RETURN
6200 REMᶷ
6201 GOSUB 9600:PRINT "Сʯִ!";
6202 WWP=INT(RND(1)*10+1)
6203 IF WWP>9 THEN WP%(1)=1:PRINT "񵽡ߤν䡹","Իȥඣ"
6204 IF WWP<4 THEN WP%(2)=WP%(2)+1:PRINT "񵽡ħʯһ";
6210 LOCATE 4,1:PRINT "õ30㾭";:EP=EP+30
6220 A$=INKEY$:GOSUB 9500:RESTORE:GOTO 405
6230 :
6240 :
6250 :
7000 GOSUB 9600:PRINT "ѡƷּ","١ߤν䡹 x";WP%(1)
7001 PRINT "ħʯ         x";WP%(2),"ʹ״       x";WP%(3)
7002 PRINT "ܲѪҩ(50)   x";WP%(4);
7003 A$=INKEY$:IF ASC(A$)=13 THEN 7005
7004 IF A$="b" OR A$="n" OR A$="m" THEN GOSUB 7008 ELSE IF A$="g" THEN GOSUB 7010 ELSE 7003
7005 RETURN
7006 :
7007 :
7008 GOSUB 9600:PRINT "ƷãΪ㡣ء";:A$=INKEY$:RETURN
7009 :
7010 IF WP%(4)>0 THEN 7011 ELSE 7050
7011 GOSUB 9600:PRINT "æһƿҩһںȸɣˬ","ظ";
7020 PRINT "50㡣";:TI=TI+50:IF TI>TIM THEN TI=TIM:WP%(4)=WP%(4)-1
7030 A$=INKEY$:RETURN
7050 GOSUB 7008:RETURN
7060 :
7070 :
7080 :
7090 :
7100 :
7110 :
7200 REM
7201 GOSUB 9600:PRINT "ħ";MO;"/";MOM
7202 IF SEX THEN PRINT "ǬһLv1-ħ20";ELSE PRINT "ٻħLv1-ħ10";
7203 A$=INKEY$:IF A$="b" THEN 7204 ELSE IF ASC(A$)=13 THEN 7209 ELSE 7203
7204 IF SEX=1 THEN GOSUB 7300 ELSE GOSUB 7350
7209 RETURN
7300 IF MO>19 THEN 7301 ELSE 7310
7301 FOR I=1 TO 160:LINE 161-I,0,161-I,80:NEXT
7302 FOR I=1 TO 200:DX=INT(RND(1)*160+1):DY=INT(RND(1)*80+1):DRAW DX,DY,0:NEXT I
7303 FOR I=1 TO 20:LXA=INT(RND(1)*160+1):LXB=INT(RND(1)*160+1):LYA=INT(RND(1)*80+1)
7304 LYB=INT(RND(1)*80+1):LINE LXA,LYA,LXB,LYB,0:NEXT
7305 FOR I=180 TO 30 STEP-3:ELLIPSE I,40,30,35,1,0:ELLIPSE I-10,40,30,40,1,1:NEXT
7306 DHP=DHP-3*INT(GO*10/DFA+1):MO=MO-20:IF MO<0 THEN MO=0
7307 RETURN
7308 :
7309 :
7310 GOSUB 9600:PRINT "ħ";:RETURN
7350 IF MO>9 THEN 7351 ELSE 7360
7351 FOR I=1 TO 160:LINE 161-I,0,161-I,80:NEXT
7352 FOR I=1 TO 200:DX=INT(RND(1)*160+1):DY=INT(RND(1)*80+1):DRAW DX,DY,0:NEXT I
7353 FOR I=1 TO 20:LXA=INT(RND(1)*160+1):LXB=INT(RND(1)*80+1):LYA=INT(RND(1)*60+1)
7354 LYB=INT(RND(1)*60+1):ELLIPSE LXA,LXB,LYA,LYB,0,2:NEXT
7355 FOR I=1 TO 35 STEP 0.5:CIRCLE 80,40,I,1,1:CIRCLE 80,40,I+1,1,0
7356 NEXT I:CIRCLE 80,40,36,1,2
7357 DHP=DHP-INT((JI+80)*12/DFA+1):MO=MO-10:IF MO<0 THEN MO=0
7358 RETURN
7360 GOSUB 9600:PRINT "ħ";:RETURN
7400 GOSUB 9600:AWAY=INT(RND(1)*10+1):IF AWAY<5 THEN PRINT "ܳɹ":RESTORE:GOTO 405
7401 PRINT "תӣȴһʯͷСʯѾˡ":TI=TI-5
7402 A$=INKEY$:RETURN
7403 :
7404 :
7405 :
7406 :
8000(I-1)*8+1,(T-1)*8+1,(I-1)*8+8,(T-1)*8+8,1,2
8001(I-1)*8+1,(T-1)*8+8,(I-1)*8+8,(T-1)*8+8,0 
8002(I-1)*8+1,(T-1)*8+4,(I-1)*8+8,(T-1)*8+4,0 
8003(I-1)*8+4,(T-1)*8+4,(I-1)*8+4,(T-1)*8+8,0 
8004(I-1)*8+1,(T-1)*8+1,(I-1)*8+1,(T-1)*8+4,0 
8005 I-1)*8+1,(T-1)*8+1,(I-1)*8+1,(T-1)*8+4,0 
8006 :
8007 :
8008 :
8009 :
8010 :
8100(X-1)*8+1,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+8,1,1
8101(X-1)*8+1,(Y-1)*8+1,(X-1)*8+2,(Y-1)*8+2,1,0
8102(X-1)*8+1,(Y-1)*8+1,(X-1)*8+2,(Y-1)*8+2,1,0
8103(X-1)*8+7,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+2,1,0
8110 X-1)*8+7,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+2,1,0
8120(X-1)*8+1,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+8,1,1
8121(X-1)*8+1,(Y-1)*8+1,(X-1)*8+2,(Y-1)*8+2,1,0
8122(X-1)*8+1,(Y-1)*8+1,(X-1)*8+2,(Y-1)*8+2,1,0
8123(X-1)*8+1,(Y-1)*8+7,(X-1)*8+2,(Y-1)*8+8,1,0
8124 X-1)*8+1,(Y-1)*8+7,(X-1)*8+2,(Y-1)*8+8,1,0
8140(X-1)*8+1,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+8,1,1
8142(X-1)*8+7,(Y-1)*8+7,(X-1)*8+8,(Y-1)*8+8,1,0
8143(X-1)*8+1,(Y-1)*8+7,(X-1)*8+2,(Y-1)*8+8,1,0
8144 X-1)*8+1,(Y-1)*8+7,(X-1)*8+2,(Y-1)*8+8,1,0
8160(X-1)*8+1,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+8,1,1
8162(X-1)*8+7,(Y-1)*8+7,(X-1)*8+8,(Y-1)*8+8,1,0
8163(X-1)*8+7,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+2,1,0
8164 X-1)*8+7,(Y-1)*8+1,(X-1)*8+8,(Y-1)*8+2,1,0
9000 REMг
9001 TIP=0:GOP=15:FAP=0:MIP=15:MOP=0:SEX=1:NA$="  ̡  "
9002 GOSUB 9500
9003 GOTO 320
9004 :
9100 REMŮ
9101 TIP=0:GOP=0:FAP=15:MIP=0:MOP=15:SEX=0:NA$="****"
9102 GOSUB 9500
9103 GOTO 320
9500 REM㩬ֵ
9501 TIM=TIP*8+GOP*2+FAP*3+MIP*3+MOP
9502 GO=TIP*0.2+GOP*2.7+FAP*0.3+MIP*0.3+MOP*0.2
9503 FA=TIP*0.2+GOP*0.3+FAP*3+MIP*0.3+MOP*0.2
9504 MI=TIP*0.1+GOP*0.2+FAP*0.2+MIP*2+MOP*0.1
9505 MOM=TIP*1+GOP*2+FAP*2+MIP*2+MOP*10
9506 JI=FAP*0.2+MOP*0.8-TIP*0.3-GOP*0.1-MIP*0.1
9507 :
9508 :
9509 NEX=(LV+1)*(LV+1)*(LV+1)*(LV+1)
9510 IF EP>=NEX THEN LV=LV+1:9800
9511 :
9512 :
9513 :
9599 RETURN
9600 FOR I=0 TO 80 :LINE 0,I,160,I,1:NEXT I
9601 FOR I=80 TO 0 STEP-1:LINE 0,I,160,I,0:NEXT I 
9602 CLS:RETURN
9800 PO=4:TI=TIM:MO=MOM
9802 GOSUB 9600:PRINT "   ";TIP," ڹ  ";GOP," ۷  ";FAP
9810 PRINT "   ";MIP,"!! ħ  ";MOP;
9819 A$=INKEY$:IF PO=0 THEN 9880
9820 IF A$="b" THEN TIP=TIP+1
9830 IF A$="n" THEN GOP=GOP+1
9840 IF A$="m" THEN FAP=FAP+1
9850 IF A$="g" THEN MIP=MIP+1
9860 IF A$="h" THEN MOP=MOP+1
9870 IF(A$="b" OR A$="n" OR A$="m" OR A$="g" OR A$="h")=0 THEN 9819
9880 IF PO=0 THEN GOSUB 9500:GOTO 9511 ELSE PO=PO-1
9890 GOTO 9802
9900 GOSUB 9600:PRINT "㱾ΪԼԸСʯСһԼˡһ";
9910 PRINT "ô...";:A$=INKEY$
9920 FOR I=1 TO 40 STEP 0.1:LINE 0,I,160,I:LINE 0,81-I,160,81-I:NEXT
9930 CLS:LOCATE 3,6:PRINT "Game  Over":BOX 0,0,160,80,1,2
9940 A$=INKEY$:GOTO 4040
9950 GOSUB 9600:PRINT NA$;"  LV ";LV,"飺 ";EP,"NEXT ";NEX,"    ħ "
9951 PRINT INT(TI);:LOCATE 5,4:PRINT INT(GO);:LOCATE 5,7:PRINT INT(FA);:LOCATE 5,10:
9952 PRINT INT(MI);:LOCATE 5,13:PRINT INT(MO);:LOCATE 5,16:PRINT INT(JI+80);
9953 FOR I=1 TO 5:LINE I*24,48,I*24,80:NEXT:A$=INKEY$
9954 GOSUB 9600:PRINT "Ʒ״̬","١ߤν䡹 x";WP%(1),"ħʯ         x";WP%(2)
9955 PRINT "ʹ׳       x";WP%(3),"ܻظҩ(50)   x";WP%(4);
9956 A$=INKEY$:RESTORE:GOTO 405
