Posted By
AaronGale on 2023-04-03 19:26:57
| Re: Program an adventure game with AI (Chat GPT)
I tried one more time to get it to generate a longer, complete program. It got there eventually but then forgot to adhere to Commodore Basic 3.5 restrictions. I don't think it would take too much effort to fix the code though...
Me asking ChatGPT: "You stopped generating code, can you continue. Ensuring you adhere to Commodore Basic 3.5 restrictions."
I apologize for the delay. Here's a continuation of the program, adhering to Commodore Basic 3.5 restrictions:
10 REM THE ADVENTURES OF DWARF 20 REM BY CHATGPT 30 DIM D$(10), L$(10), D(10), M(10), E(10), T$(10) 40 FOR I = 1 TO 10: READ D$(I), L$(I), D(I), M(I), E(I), T$(I): NEXT I 50 REM INTRO 60 PRINT "WELCOME TO THE ADVENTURES OF DWARF!" 70 PRINT "YOUR GOAL IS TO FIND THE TREASURE AND ESCAPE!" 80 PRINT "YOU ARE IN ROOM 1. WHERE DO YOU WANT TO GO?": PRINT: GOSUB 400 90 REM MAIN GAME LOOP 100 LOC = D(LOC) 110 PRINT "YOU ARE NOW IN "; L$(LOC): PRINT 120 IF M(LOC) <> 0 THEN GOSUB 600 130 IF E(LOC) <> 0 THEN GOSUB 700 140 IF T$(LOC) <> "" THEN GOSUB 800 150 IF LOC = 10 THEN GOTO 1000 160 PRINT "WHERE DO YOU WANT TO GO?": PRINT: GOSUB 400 170 GOTO 100 180 REM SUBROUTINES 190 REM PRINT AVAILABLE DIRECTIONS 200 FOR I = 1 TO 3 210 IF D(I) = LOC THEN PRINT "GO "; D$(I); " (PRESS "; I; ")" 220 NEXT I 230 INPUT "YOUR CHOICE (1-3): ", A 240 IF A < 1 OR A > 3 THEN GOTO 230 250 NEWLOC = D(A) 260 RETURN 270 REM PLAYER DIES 280 PRINT "YOU HAVE DIED!": PRINT: GOTO 990 290 REM ENEMY ENCOUNTER 300 PRINT "YOU HAVE ENCOUNTERED AN ENEMY!": PRINT 310 PRINT "DO YOU WANT TO FIGHT (F) OR RUN (R)?" 320 INPUT A$ 330 IF A$ = "F" THEN GOSUB 900 ELSE GOTO 990 340 RETURN 350 REM TREASURE ENCOUNTER 360 PRINT "YOU HAVE FOUND A TREASURE CHEST!": PRINT 370 PRINT "DO YOU WANT TO OPEN THE CHEST (Y/N)?" 380 INPUT A$ 390 IF A$ = "Y" THEN GOSUB 800 ELSE RETURN 400 REM PRINT AVAILABLE DIRECTIONS 410 FOR I = 1 TO 3 420 IF D(I) = LOC THEN PRINT "GO "; D$(I); " (PRESS "; I; ")" 430 NEXT I 440 RETURN 450 REM SUBROUTINE TO CHECK IF THE PLAYER WON 460 IF LOC = 10 AND T$(LOC) <> "" THEN RETURN 1 ELSE RETURN 0 470 REM SUBROUTINE TO FIGHT ENEMIES 480 IF RND(1) > 0.5 THEN PRINT "YOU DEFEATED THE ENEMY!": PRINT: RETURN 490 GOTO 280 500 REM DATA 510 DATA "N", "ENTRANCE HALL", 2, 0, 0, "" 520 DATA "E", "KITCHEN", 3, 0, 1, "" 530 DATA "W", "LIVING ROOM", 4, 0, 2, "" 540 DATA "N", "DINING ROOM", 5, 1, 0, "" 550 DATA "E", "BATHROOM", 6, 2, 0, "" 560 DATA "N", "BEDROOM", 7, 0, 0, "" 570 DATA "E", "BALCONY", 8, 0, 0, "" 580 DATA "W", "STUDY", 9, 0, 3, "" 590 DATA "", "TREASURE ROOM", 10, 0, 0, "TREASURE" 600 REM SUBROUTINE FOR ENEMY ENCOUNTER 610 IF E(LOC) = 1 THEN GOSUB 290 620 RETURN 630 REM SUBROUTINE FOR TREASURE ENCOUNTER 640 IF T$(LOC) <> "" THEN GOSUB 350 650 RETURN 660 REM SUBROUTINE TO ESCAPE THE GAME 670 INPUT "DO YOU WANT TO ESCAPE (Y/N)? ", A$ 680 IF A$ = "Y" THEN PRINT "CONGRATULATIONS! YOU HAVE ESCAPED THE GAME!": PRINT: END 690 RETURN 700 REM SUBROUTINE FOR FIGHTING ENEMIES 710 IF E(LOC) = 1 THEN GOSUB 480 ELSE RETURN 720 RETURN 730 REM SUBROUTINE FOR FINDING TREASURE 740 IF T$(LOC) <> "" THEN GOSUB 810 ELSE RETURN 750 RETURN 760 REM SUBROUTINE TO PRINT LOCATION INFO 770 PRINT L$(LOC); ": "; T$(LOC): PRINT 780 RETURN 790 REM SUBROUTINE TO OPEN TREASURE CHEST 800 PRINT "YOU FOUND A TREASURE! CONGRATULATIONS!": PRINT 810 T$(LOC) = "" 820 RETURN 830 REM SUBROUTINE FOR RANDOM ENCOUNTER 840 IF RND(1) > 0.7 THEN GOSUB 600 850 IF RND(1) < 0.3 THEN GOSUB 700 860 IF T$(LOC) <> "" THEN GOSUB 730 870 RETURN 880 REM SUBROUTINE FOR FIGHTING ENEMIES 890 IF E(LOC) = 1 THEN GOSUB 480 ELSE RETURN 900 REM SUBROUTINE FOR FIGHTING 910 PRINT "YOU ARE FIGHTING THE ENEMY!": PRINT 920 GOSUB 2000: REM DELAY FOR DRAMATIC EFFECT 930 IF RND(1) > 0.3 THEN PRINT "YOU WON THE FIGHT!": PRINT: E(LOC) = 0: RETURN 940 PRINT "YOU LOST THE FIGHT!": PRINT: GOSUB 990: REM PLAYER DIES 950 RETURN 960 REM SUBROUTINE FOR CHECKING IF PLAYER WON 970 IF LOC = 10 AND T$(LOC) <> "" THEN RETURN 1 ELSE RETURN 0 980 REM SUBROUTINE FOR PLAYER DEATH 990 PRINT "YOU HAVE DIED!": PRINT: END 1000 REM SUBROUTINE FOR WINNING THE GAME 1010 PRINT "CONGRATULATIONS! YOU HAVE FOUND THE TREASURE AND ESCAPED THE GAME!": PRINT: END 1020 REM MAIN PROGRAM 1030 LOC = 1 1040 GOSUB 60 1050 GOSUB 400 1060 WHILE 1 1070 GOSUB 830 1080 GOSUB 100 1090 WEND 2000 REM DELAY SUBROUTINE FOR DRAMATIC EFFECT 2010 FOR I = 1 TO 3000: NEXT I 2020 RETURN
Line 920 made me laugh!
|