• Welcome to RetroCoders Community.
 

News:

Welcome to RetroCoders Community

Main Menu

Recent posts

#91
B.A.M / Festive Skull
Last post by CharlieJV - Dec 17, 2023, 12:09 AM
#92
GWBasic / Re: GW Basic Skull Code By ZXD...
Last post by CharlieJV - Dec 16, 2023, 04:10 PM
Good stuff.
#93
GWBasic / Re: Screen Full of Stars and a...
Last post by CharlieJV - Dec 16, 2023, 03:52 PM
Cool.  I'm having a "Lite-brite" flashback (I loved that toy).
#94
GWBasic / Screen Full of Stars and a Wel...
Last post by ron77 - Dec 16, 2023, 10:38 AM
10 RANDOMIZE TIMER:DEF SEG=&HB800
20 FOR I=0 TO 2000:POKE I*2+1,0:POKE I*2,42:NEXT
30 T$="Hello, welcome to RetroCoders Community Forum!"
40 LOCATE 12,(80-LEN(T$))\2:PRINT T$;
50 WHILE INKEY$<>CHR$(27):POKE INT(RND*2000)*2+1,INT(RND*16):WEND
␚



#95
GWBasic / GW Basic Skull Code By ZXDunny
Last post by ron77 - Dec 16, 2023, 10:29 AM
10 REM SKULL
11 RANDOMIZE TIMER
20 SCREEN 1: CLS 0: C=2: PI=3.14159
30 DEF FN R(n)=INT(RND*n)+1
40 K=360: DIM S(K+1): DIM C(K+1)
50 FOR I=0 TO K: T=I*2*PI/K: S(I)=SIN(T): C(I)=COS(T): NEXT I
60 U=120: V=-60: D=2: N=7: A=70
70 FOR J=1 TO 40
80 FOR T=0 TO K*2
90 Z=A*C(((T*N)\D) MOD K)
100 X=U+Z*C(T MOD K): Y=V+Z*S(T MOD K)
110 E=X*X: R=SQR(E+Y*Y)
120 F=Y+K: G=SQR(E+F*F)
130 L=Y+60: I=X-120: H=SQR(I*I+L*L)
140 IF (G<=220 OR R<=K) AND (R<=380 OR R>=480 OR ABS(X)>=160 OR ABS(X MOD 32)<=4 OR R MOD 48<=4) AND (J<=1 OR H>=90) AND (Y<-300 OR Y>=-160 OR -X*2-Y<=180) THEN X=X/4: Y=200-((Y/5)+130): PSET (X+160,Y),C: PSET (160-X, Y),C
150 NEXT T
160 D=FN R(3): N=FN R(5)+2: A=FN R(80)+50: U=FN R(K): V=FN R(940)-520: C=15
170 NEXT J

#96
GWBasic / GW Basic Psalms Reader
Last post by ron77 - Dec 16, 2023, 10:22 AM
With the help from mysoft since gwbasic is limited and you can't load the entire text file in memory (you get "out of string space" error), plus you can't print lines that are over 255 chars - so mysoft coded this workaround for it - attached is "psalms.txt" database with psalms book.


140 Rem ====== PSALMS READER =========
150 Rem ==== MAIN LOOP =======
155 DIM PSALMS$(100)
160 CLS: PC =-1:C=0: Input "WHICH CHAPTER DO YOU WISH TO READ?: "; C
170 If C < 1 Or C > 150 Then GoTo 160
175 PRINT "PLEASE WAIT WHILE I LOAD PSALMS CHAPTER "; C
180 OPEN "R", #1, "psalms.txt", 128
190 CHATPERNUMBER$=""

201 FIELD #1, 128 AS sBlk$
202 iLineStart% = 0: iBigLine% = 0
210 if EOF(1) then goto 250 else gosub 9000
211 P1 = INSTR(SLINE$,":")
220 CHATPTERNUMBER$ = MID$(SLINE$, 1, P1-1)
230 IF VAL(CHATPTERNUMBER$) = C THEN PC = PC + 1:PSALMS$(PC) = SLINE$
235 REM IF VAL(CHATPTERNUMBER$) > C goto 250
240 GOTO 210
250 CLOSE #1
260 Rem ====== DONE READING FILE =========
270 Rem ====== DISPLAYING PSALMS =========
280 CLS
290 PRINT "PSALMS CHAPTER "; C
300 PRINT "================"
310 PRINT
320 FOR I = 0 TO PC
325 IF I MOD 8 = 0 THEN :PRINT: PRINT "PRESS ANY KEY TO CONTINUE":WHILE INKEY$="": WEND:CLS: PRINT "PSALMS CHAPTER "; C: PRINT "================": PRINT
330 PRINT PSALMS$(I); " "
340 NEXT I 
350 PRINT
360 PRINT "================"
370 PRINT
380 PRINT "PRESS ANY KEY TO CONTINUE"
390 WHILE INKEY$ = "": WEND
400 CLS
410 Rem ====== DONE DISPLAYING PSALMS =========
420 Rem ====== ASKING FOR NEXT CHAPTER =========
430 Input "DO YOU WISH TO READ ANOTHER CHAPTER? (Y/N): "; A$
440 If A$ = "Y" Or A$ = "y" Then GoTo 160
450 If A$ = "N" Or A$ = "n" Then GoTo 460
460 CLS
470 PRINT "THANK YOU FOR USING PSALMS READER"
480 END

9000 'Read the next line into sLine$ (iBigLine%=1 if line got truncated)
9005 sLine$ = "": iCRLF% = 1: IF sBuf$ = "" THEN 9080
9010 N% = INSTR(sBuf$, CHR$(13))
9015 IF N% = 0 THEN 9055
9020   IF (LEN(sLine$) + N% - 1) > 255 THEN 9045
9025     sLine$ = sLine$ + LEFT$(sBuf$, N% - 1)
9030     sBuf$ = MID$(sBuf$, N% + 1): IF iCRLF% <> 0 AND sBuf$ = "" THEN LastR% = 1
9035     IF iCRLF% <> 0 AND LEFT$(sBuf$, 1) = CHR$(10) THEN sBuf$ = MID$(sBuf$, 2)
9040     iBigLine% = 0: RETURN
9045   N% = 256 - LEN(sLine$): sLine$ = sLine$ + LEFT$(sBuf$, N% - 1)
9050   sBuf$ = MID$(sBuf$, N%): iBigLine% = 1: RETURN
9055 N% = INSTR(sBuf$, CHR$(10)): iCRLF% = 0: IF N% THEN 9020
9060 IF (LEN(sLine$) + LEN(sBuf$)) < 256 THEN 9075
9065   N% = 256 - LEN(sLine$): sLine$ = sLine$ + LEFT$(sBuf$, N% - 1)
9070   sBuf$ = MID$(sBuf$, N%): iBigLine% = 1: RETURN
9075 sLine$ = sLine$ + sBuf$: sBuf$ = ""
9080 IF EOF(1) THEN iBigLine% = 0: RETURN
9085 GET #1: sBuf$ = sBlk$: iCRLF% = 1
9090 IF LastR% <> 0 AND ASC(sBuf$) = 10 THEN sBuf$ = MID$(sBuf$, 2)
9095 LastR% = 0: GOTO 9010

You cannot view this attachment.

#98
General Discussion / Re: Jam for All Dialects of Ba...
Last post by Marcus - Nov 30, 2023, 02:37 PM
Awesome :)
#99
GWBasic / Re: GW BASIC Game Dev Blog "Th...
Last post by ron77 - Nov 22, 2023, 04:46 PM
Ok, so I got the main Opening Title Screen for the game...



So far, I've made a chat simulation and a message simulation - this game is supposed to be one big gigantic Simulation...

anyway, now that the Opening Screen Title is Done I can focus on coding the game...
#100
GWBasic / Re: GW BASIC Game Dev Blog "Th...
Last post by CharlieJV - Nov 22, 2023, 01:50 PM
Looks great!