Welcome, Guest
You have to register before you can post on our site.

Username/Email:
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 326
» Latest member: hafsahomar
» Forum threads: 1,759
» Forum posts: 17,939

Full Statistics

Latest Threads
As technology rapidly evo...
Forum: Utilities
Last Post: Frankvab
06-15-2025, 06:09 AM
» Replies: 14
» Views: 165
Everybody's heard about t...
Forum: Utilities
Last Post: Frankvab
06-15-2025, 06:07 AM
» Replies: 22
» Views: 1,366
MBA Assignment Help in Du...
Forum: General Discussion
Last Post: hafsahomar
06-11-2025, 07:05 AM
» Replies: 0
» Views: 22
лучшие песни медляки слуш...
Forum: Petr
Last Post: WillieTop
06-08-2025, 02:21 AM
» Replies: 0
» Views: 30
пинк слушать онлайн беспл...
Forum: SMcNeill
Last Post: WillieTop
06-08-2025, 02:20 AM
» Replies: 0
» Views: 25
скачать музыку российскую...
Forum: madscijr
Last Post: WillieTop
06-08-2025, 02:18 AM
» Replies: 0
» Views: 25
нежная музыка mp3 скачать
Forum: Keybone
Last Post: WillieTop
06-08-2025, 02:17 AM
» Replies: 0
» Views: 26
лучшая песня слушать онла...
Forum: bplus
Last Post: WillieTop
06-08-2025, 02:16 AM
» Replies: 0
» Views: 30
пикник слушать онлайн луч...
Forum: Spriggsy
Last Post: WillieTop
06-08-2025, 02:15 AM
» Replies: 0
» Views: 26
какая сейчас популярная м...
Forum: RhoSigma
Last Post: WillieTop
06-08-2025, 02:14 AM
» Replies: 0
» Views: 20

 
  AurelEdit Phoenix Edition
Posted by: aurel - 06-04-2022, 07:17 PM - Forum: Programs - Replies (44)

Inspired by Phoenix edition here is new version of my code editor
for QB64 Phoenix Edition.
here is just preview ..expect soon download link.

   

Print this item

  XONIX
Posted by: DANILIN - 06-04-2022, 04:35 PM - Forum: Programs - Replies (7)

? xonix ? ... XoniX ... !!! XONIX !!!

Code: (Select All)
Randomize Timer: b = Int(Rnd*15+5): a = Int(Rnd*15+5): ' xonix.bas
y = Int(Rnd*(b-3)+3): x = Int(Rnd*(a-3)+3): d=Int(Rnd*4+1)
'y = 5: x = 5: b = 10: a = 20: d=1 ' xonix.bas

For i = 1 To a: Print "#";: Next: Print ' area
For j = 1 To b-2: Print "#";: For k = 1 To a-2: Print ".";: Next: Print "#": Next
For i = 1 To a: Print "#";: Next

For q = 1 To 1000: _Delay .03: Locate y, x: Print " "

    If d=1 Then If (y-1 = 1) And (x+1 = a) Then d=3
    If d=1 Then If (y-1 > 1) And (x+1 = a) Then d=4
    If d=1 Then If (y-1 = 1) And (x+1 < a) Then d=2
    If d=1 Then y = y-1: x = x+1

    If d=2 Then If (y+1 = b) And (x+1 = a) Then d=4
    If d=2 Then If (y+1 < b) And (x+1 = a) Then d=3
    If d=2 Then If (y+1 = b) And (x+1 < a) Then d=1
    If d=2 Then y = y+1: x = x+1

    If d=3 Then If (y+1 = b) And (x-1 = 1) Then d=1
    If d=3 Then If (y+1 < b) And (x-1 = 1) Then d=2
    If d=3 Then If (y+1 = b) And (x-1 > 1) Then d=4
    If d=3 Then y = y+1: x = x-1

    If d=4 Then If (y-1 = 1) And (x-1 = 1) Then d=2
    If d=4 Then If (y-1 > 1) And (x-1 = 1) Then d=1
    If d=4 Then If (y-1 = 1) And (x-1 > 1) Then d=3
    If d=4 Then y = y-1: x = x-1

    Locate y, x: Print "@"
Next

qbasic qb64 xonix
gif 45 kB
   

https://en.wikipedia.org/wiki/Xonix
en.wikipedia.org/wiki/Xonix

Print this item

  working extended Atari Adventure game in QuickBasic by rtorres !
Posted by: madscijr - 06-04-2022, 04:17 PM - Forum: Programs - Replies (6)

Searching through my old downloads, I found the Atari classic done in QuickBasic (I knew I had it somewhere!) by mtorres, and it works in QB64! It feels like Christmas in June!

Here's a link to the youtube video of it running: 


And here's a link to the game and the source code !!! :
For me (and I'm sure a bunch of fellow geeks who grew up with the Atari VCS and programming games in BASIC on their 8-bit home computers) this is like finding the holy grail! The source code for Atari Adventure in BASIC!! 

I definitely plan on playing with this code and seeing what can be done with & learned from it. 

To make it easy and in case the mega.nz/youtube ever go down, I'm attaching the files: 
  • "Adventure game atari.pdf" = the original post about it which I had saved the PDF of
    (I'm not finding the original in the QB64.org backup...?) hurray for OCD!
  • "Adventure game atari (2017-05-19).7z" = the original code I downloaded
  • "Adventure.zip" = the (newer?) code & files I just found at mega.nz

Enjoy, and thanks to mtorres (are they still part of the QB64 community?) for sharing this with the world!



Attached Files
.pdf   Adventure game atari.pdf (Size: 183.54 KB / Downloads: 113)
.zip   Adventure.zip (Size: 155.86 MB / Downloads: 125)
.7z   Adventure game atari (2017-05-19).7z (Size: 1.2 MB / Downloads: 106)
Print this item

  A QuickBasic game that supports Oculus ??
Posted by: madscijr - 06-03-2022, 09:07 PM - Forum: General Discussion - No Replies

I came across this today while browsing around. 
A QuickBasic game that supports the Oculus headset?? 
I haven't tried running it (and I don't have an Oculus!) 
but in case anyone is curious... 
(It would be rad if QB64 added VR support!)

  • Gridfighter 3D - '80s style arcade shooter written in Quickbasic. Also the very first known DOS game that supports Oculus Rift VR headset.

Print this item

  Backgammon: Blot/JanusBlot
Posted by: BG 7 - 06-03-2022, 09:05 AM - Forum: Programs - No Replies

Hi !

Just want to share (again) our freeware backgammon program using QB64 respectively now QB64 Phoenix Edition:
Blot/JanusBlot

Blot is a real "oldtimer" - first appearance in 1984 - with old fashioned retro graphics - but a unique AI
(handcrafted evaluation, no neural net).

Blot/JanusBlot is suitable for novices to experts, on average the play is estimated to be at
an intermediate/advanced level.

As you can see here, Blot/JanusBlot is hosted together with the 1. Backgammon-computer rating list,
please have a look at:
www.mustrum.de/blot.html

The site is in german. If you download Blot respectively JanusBlot (recommended)
there is a short description and documentation in english.

Have fun with Blot/JanusBlot !

Hans-Jürgen

Print this item

  Spring Toy
Posted by: SierraKen - 06-03-2022, 01:24 AM - Forum: Programs - Replies (6)

A few years ago we were making Slinky toys with QB64 and today I was just goofing around with graphics and math and came across this spring that stretches and comes back. Someone probably made this before but I want to show you guys what I did myself. Smile It's non-stop until you end it, back and forth. You can press Esc to end. 


Code: (Select All)
_Title "Spring Toy"
Screen _NewImage(800, 600, 32)
xx = 200
yy = 200
length = 100
r = 1
c = _RGB32(0, 255, 0)
Do
    If more = 0 Then xx = xx - .5: length = length + .5
    If more = 0 Then yy = yy - .5: length = length + .5
    If more = 1 Then xx = xx + .5: length = length - .5
    If more = 1 Then yy = yy + .5: length = length - .5
    If xx < 10 Then more = 1
    If xx > 200 Then more = 0

    For t = 0 To length Step .01
        cx = (Sin(t) * xx) + xx + t
        cy = (Cos(t) * yy) + yy + t
        fillCircle cx, cy, r, c
    Next t
    _Delay .05
    _Display
    Cls

Loop Until InKey$ = Chr$(27)


'from Steve Gold standard
Sub fillCircle (CX As Integer, CY As Integer, R As Integer, C As _Unsigned Long)
    Dim Radius As Integer, RadiusError As Integer
    Dim X As Integer, Y As Integer
    Radius = Abs(R): RadiusError = -Radius: X = Radius: Y = 0
    If Radius = 0 Then PSet (CX, CY), C: Exit Sub
    Line (CX - X, CY)-(CX + X, CY), C, BF
    While X > Y
        RadiusError = RadiusError + Y * 2 + 1
        If RadiusError >= 0 Then
            If X <> Y + 1 Then
                Line (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
                Line (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
            End If
            X = X - 1
            RadiusError = RadiusError - X * 2
        End If
        Y = Y + 1
        Line (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
        Line (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
    Wend
End Sub

Print this item

  Tesselated hex grid routine
Posted by: OldMoses - 06-03-2022, 12:42 AM - Forum: Utilities - Replies (4)

Back on the old forum I did a program for overlaying square and hex grids over maps & images. The square grid was easy peasy, the hex grid posed a somewhat greater challenge. In revisiting that program, I felt the need to make the hex grid more versatile and modular. Here's a demo of what I came up with.

Code: (Select All)
'Tesselated Hex Grid Demo- OldMoses
SCREEN _NEWIMAGE(1024, 512, 32)
test& = _NEWIMAGE(512, 256, 32)
_DEST test&
CLS , &HFFFF0000
_DEST 0

in% = -1
hsiz = 50
xoff = 0
yoff = 0
DO
    DO
        k$ = INKEY$
        IF k$ <> "" THEN
            SELECT CASE LCASE$(k$)
                CASE IS = "t" '                                 "t" tilt grid 90 degrees
                    t = NOT t
                CASE IS = "+" '                                 "+" increase grid size
                    hsiz = hsiz + 1
                CASE IS = "-" '                                 "-" decrease grid size
                    hsiz = hsiz - 1: IF hsiz < 6 THEN hsiz = 6
                CASE IS = "e" '                                 "e" bias grid up
                    yoff = yoff - 1
                CASE IS = "x" '                                 "x" bias grid down
                    yoff = yoff + 1
                CASE IS = "s" '                                 "s" bias grid to left
                    xoff = xoff - 1
                CASE IS = "d" '                                 "d" bias grid to right
                    xoff = xoff + 1
                CASE IS = "q" '                                 "q" return to system
                    SYSTEM
            END SELECT
            in% = -1
        END IF
        _LIMIT 30
    LOOP UNTIL in%
    in% = 0
    CLS , &HFFB0B0B0
    _DEST test&
    CLS , &HFFFF0000
    _DEST 0
    Hex_Grid hsiz * 2, 0, xoff, yoff, t, &HFF000000 '           draw double sized grid on screen
    Hex_Grid hsiz, test&, xoff, yoff, NOT t, &HFF000000 '       draw base sized, rotated grid on test insert image
    _PUTIMAGE (256, 64), test&, 0
    _DISPLAY
LOOP


'Tessellated hex grid drawing subroutine
'siz = distance in pixels between opposite sides
'img = destination image for grid
'h = horizontal offset
'v = vertical offset
'vert = {0} opposite vertices horizontal  {-1} opposite vertices vertical
SUB Hex_Grid (siz AS INTEGER, img AS LONG, h AS INTEGER, v AS INTEGER, vert AS _BYTE, cl AS _UNSIGNED LONG)

    old& = _DEST
    grd& = _NEWIMAGE(_WIDTH(img), _HEIGHT(img), 32) '           temporary grid image
    _DEST grd&

    'Base geometric algorithm
    side_len = siz / SQR(3) '                                   length of side
    side_hlf = _SHR(side_len, 1) '                              1/2 length of side (for slope line offsets)
    siz_hlf = _SHR(siz, 1) '                                    length from center to orthogonal side
    a = side_len: b = 0 '                                       orthogonal line offsets
    c = side_hlf: d = -siz_hlf '                                left angled line offsets
    e = side_hlf: f = siz_hlf '                                 right angled line offsets
    IF vert THEN
        offA = side_len + side_hlf + _SHR(side_hlf, 1) '        column spacing (x) when vertical opposite vertices
        offB = siz - _SHR(side_hlf, 1) '                        row spacing (y) when vertical
        SWAP a, b: SWAP c, d: SWAP e, f '                       rotate figure end points 90 degrees around (x, y)
    ELSE
        offA = _SHL(side_len + side_hlf, 1) '                   column spacing (x) when horizontal
        offB = _SHR(siz, 1) '                                   row spacing (y) when horizontal
    END IF
    row = -1
    DO
        column = -1
        y = row * offB + v '                                    set origin point y
        of = -(_SHR(offA, 1)) * (row MOD 2 = 0) '               bias alternating rows by half
        DO
            x = column * offA + h + of '                        set origin point x
            LINE (x, y)-(x - a, y - b), cl '                    display orthogonal line
            LINE (x, y)-(x + c, y + d), cl '                    draw angled right/up
            LINE (x, y)-(x + e, y + f), cl '                    draw angled left/down
            column = column + 1 '                               move to next column position
        LOOP UNTIL (column - 1) * offA > _WIDTH(grd&)
        row = row + 1
    LOOP UNTIL (row - 1) * offB > _HEIGHT(grd&)
    'end base geometric algorithm

    _PUTIMAGE , grd&, img '                                     overlay grid to img
    _FREEIMAGE grd&
    _DEST old&

END SUB 'Hex_Grid

Print this item

  My old Turtle Graphics Fractals
Posted by: triggered - 06-02-2022, 03:37 PM - Forum: Programs - Replies (9)

I decided to try and implement a graphics method I'm particularly fond of:

Code: (Select All)
Screen 12

Dim a$
a$ = "FRRFRRF"

Dim j
For j = 1 To 4
    a$ = stReplace$(a$, "F", "FLFRRFLF")
Next j

TurtleGraphics 320 / 2, 240 / 2, 0, 5, a$

End

Sub TurtleGraphics (x0 As Double, y0 As Double, a0 As Double, ssize As Double, path As String)
    Dim As Double x, y, angle, stepsize
    Dim w As String
    Dim t As String
    x = x0
    y = y0
    angle = a0
    w = path
    stepsize = ssize

    PReset (x0, y0)

    Do While Len(w)
        t = Left$(w, 1)
        w = Right$(w, Len(w) - 1)
        Select Case t
            Case "F"
                x = x + stepsize * Cos(angle)
                y = y + stepsize * Sin(angle)
            Case "L"
                angle = angle - 60 * _Pi / 180
            Case "R"
                angle = angle + 60 * _Pi / 180
        End Select
        Line -(x, y), 15
    Loop
End Sub

Function stReplace$ (a As String, b As String, c As String)
    Dim i As Integer
    Dim g As String
    Dim r As String
    For i = 1 To Len(a)
        g = Mid$(a, i, 1)
        If g = b Then
            r = r + c
        Else
            r = r + g
        End If
    Next
    stReplace = r
End Function

Print this item

  Found a BUG with the QB64 editor compiled with the -O3 option
Posted by: Coolman - 06-02-2022, 11:29 AM - Forum: General Discussion - Replies (2)

i found a bug with the qb64 editor compiled with the -O3 option. here are the steps:

1/ launch QB64

2/ load any program (the bug occurs even without)

3/ Menu / Search / Find
the editor is definitely blocked.

no problem with the original version.

if someone can test and confirm under linux or even windows !. qb64 must be compiled with the -O3 option.

Print this item

  Looking for everyone's best
Posted by: triggered - 06-01-2022, 09:18 AM - Forum: Help Me! - Replies (12)

Maybe this is how the forums are organized, or maybe it's just he kind of work(s) people make public... What I'm seeing is a lot of people have mastered the QB64 code snippet, demonstrating how to do this-or-that in isolation. What I'm looking for is the section where people's finished works are featured. Everything looks like a half-working program in progress, or a paste from something coded years ago without much regard for future integrations.

Where can I find the best, most polished programs written by the members, not just small demos?

Print this item