Login
Back to forumSee the full topicGo to last reply

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!



Back to top


Copyright © Plus/4 World Team, 2001-2024