|
Case study: Brazilian Street Fighter
On looking through my old files I came accross some really old programs I coded
when I was about 9. This one I am really proud of as it was part of my Fighter
series, which was like an old version of Mortal Combat, Teken, Street Fighter,
etc. I am epscially proud of this one because I actually got it finished with
a quick fight, tournament and 2 player mode working. The code is © me,
but it should give you some idea of how you can get your program to work.
1 LET B = 50000
2 LET V$ = "medium"
3 LET J = 100
4 LET X$ = "average"
5 LET T$ = "no"
6 LET Y$ = "no"
200 SCREEN 7
210 CLS
211 LET Y$ = "no"
220 PRINT "BRAZILIAN STREET FIGHTER"
230 PRINT "========= ====== ======="
240 PRINT
250 PRINT "MAIN MENU"
260 PRINT "1) fight"
270 PRINT "2) difficulty level"
275 PRINT "3) toughness level"
280 PRINT "4) exit"
290 INPUT Q$
300 IF Q$ = "1" THEN GOTO 350
310 IF Q$ = "2" THEN GOTO 1020
315 IF Q$ = "3" THEN GOTO 1250
320 IF Q$ = "4" THEN END
330 IF Q$ = "777" THEN GOTO 200
340 GOTO 200
350 CLS
360 PRINT "FIGHT!"
370 PRINT "======"
380 PRINT
390 PRINT "1) quick fight"
400 PRINT "2) torniment"
410 PRINT "3) 2 player fight"
420 PRINT "4) return to the main menu"
430 INPUT Q$
440 IF Q$ = "1" THEN GOTO 485
450 IF Q$ = "2" THEN GOTO 1480
460 IF Q$ = "3" THEN GOTO 3150
470 IF Q$ = "4" THEN GOTO 200
480 GOTO 350
485 LET S = J
486 LET C = J
490 CLS
495 IF Y$ = "no" THEN PRINT "you : "; S
496 IF Y$ = "yes" THEN PRINT "player 1 : "; S
497 IF Y$ = "no" THEN PRINT "computer : "; C
498 IF Y$ = "yes" THEN PRINT "player 2 : "; C
500 DRAW "C2 BM100,50 L10 D10 R10 U10 D10 R25 D5 L20 D50 L8 U20 L4 D20
L8 U25 R20 L20 U25 L25 U5 R30"
510 DRAW "C6 BM200,50 L10 D10 R10 U10 D10 R25 D5 L20 D50 L8 U20 L4 D20
L8 U25 R20 L20 U25 L25 U5 R30"
511 IF Y$ = "yes" THEN GOTO 3170
610 LET I = B
620 DO WHILE I > 1
630 IF INKEY$ = CHR$(122) THEN GOTO 750
640 LET I = I - 1
650 LOOP
660 CLS
670 DRAW "C2 BM100,50 L10 D10 R10 U10 D10 R25 D5 L20 D50 L8 U20 L4 D20
L8 U25 R20 L20 U25 L25 U5 R30"
680 DRAW "C6 BM200,50 L10 D10 R10 U10 D10 R25 D5 L20 D50 L8 U20 L4 D20
L8 U25 R20 L20 U25 H10 L74 U5 R79 F10"
685 PRINT "PUNCH!"
690 LET K = 50000
700 DO WHILE K > 1
701 LET K = K - 1
710 LOOP
720 LET S = S - 10
730 IF S < 1 THEN GOTO 940
740 GOTO 490
750 CLS
760 DRAW "C2 BM100,50 L10 D10 R10 U10 D10 R5 E10 R74 D5 L69 G10 D50 L8
U20 L4 D20 L8 U25 R20 L20 U25 L25 U5 R30"
770 DRAW "C6 BM200,50 L10 D10 R10 U10 D10 R25 D5 L20 D50 L8 U20 L4 D20
L8 U25 R20 L20 U25 L25 U5 R30"
775 PRINT "PUNCH!"
780 LET L = 50000
790 DO WHILE L > 1
800 LET L = L - 1
810 LOOP
820 LET C = C - 10
830 IF C < 1 THEN GOTO 860
850 GOTO 490
860 CLS
870 DRAW "C2 BM150,50 L10 D10 R10 U10 D10 E20 F5 G20 D50 L8 U20 L4 D20
L8 U25 R20 L20 U25 H20 E5 F20"
880 IF Y$ = "no" THEN PRINT "YOU WIN!"
884 IF Y$ = "yes" THEN PRINT "PLAYER 1 WINS!"
890 LET L = 200000
900 DO WHILE L > 1
910 LET L = L - 1
920 LOOP
921 IF T$ = "level1" THEN GOTO 2630
922 IF T$ = "level2" THEN GOTO 2730
923 IF T$ = "level3" THEN GOTO 2830
924 IF T$ = "level4" THEN GOTO 2930
925 IF T$ = "level5" THEN GOTO 3030
930 GOTO 200
940 CLS
950 DRAW "C6 BM150,50 L10 D10 R10 U10 D10 E20 F5 G20 D50 L8 U20 L4 D20
L8 U25 R20 L20 U25 H20 E5 F20"
960 IF Y$ = "no" THEN PRINT "YOU LOSE!"
961 IF Y$ = "yes" THEN PRINT "PLAYER 2 WINS!"
970 LET K = 200000
980 DO WHILE K > 1
990 LET K = K - 1
1000 LOOP
1005 IF T$ = "yes" THEN GOTO 2560
1010 GOTO 200
1020 CLS
1030 PRINT "dificulty level"
1040 PRINT "========= ====="
1050 PRINT
1060 PRINT "current dificulty level "; V$
1070 PRINT
1080 PRINT "1) set to EASY"
1090 PRINT "2) set to MEDIUM"
1100 PRINT "3) set to HARD"
1110 INPUT Q$
1120 IF Q$ = "1" THEN GOTO 1160
1130 IF Q$ = "2" THEN GOTO 1190
1140 IF Q$ = "3" THEN GOTO 1220
1150 GOTO 1020
1160 LET B = 100000
1170 LET V$ = "easy"
1180 GOTO 200
1190 LET B = 50000
1200 LET V$ = "medium"
1210 GOTO 200
1220 LET B = 25000
1230 LET V$ = "hard"
1240 GOTO 200
1250 CLS
1260 PRINT "fighter toughness"
1270 PRINT "======= ========="
1280 PRINT
1290 PRINT "current toughness : "; X$
1300 PRINT
1310 PRINT "1) set to WUSS"
1320 PRINT "2) set to AVERAGE"
1330 PRINT "3) set to TOUGH"
1340 INPUT Q$
1350 IF Q$ = "1" THEN GOTO 1390
1360 IF Q$ = "2" THEN GOTO 1420
1370 IF Q$ = "3" THEN GOTO 1450
1380 GOTO 1250
1390 LET J = 50
1400 LET X$ = "wuss"
1410 GOTO 200
1420 LET J = 100
1430 LET X$ = "average"
1440 GOTO 200
1450 LET J = 200
1460 LET X$ = "tough"
1470 GOTO 200
This is the first half of the code. I've finish this next column. |