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

Username/Email:
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 308
» Latest member: Donaldvem
» Forum threads: 1,741
» Forum posts: 17,901

Full Statistics

Latest Threads
The QB64 IDE shell
Forum: Utilities
Last Post: JasonPag
09-16-2024, 05:37 PM
» Replies: 9
» Views: 728
Importance regarding Ches...
Forum: Utilities
Last Post: JasonPag
09-01-2024, 06:34 PM
» Replies: 0
» Views: 23
Chess and Analysis and En...
Forum: Utilities
Last Post: JasonPag
08-28-2024, 02:37 PM
» Replies: 0
» Views: 24
DAY 009:_PutImage
Forum: Keyword of the Day!
Last Post: grymmjack
09-02-2023, 02:57 PM
» Replies: 54
» Views: 1,845
Fall Banner Contest?
Forum: Site Suggestions
Last Post: grymmjack
08-31-2023, 11:50 PM
» Replies: 36
» Views: 1,135
ColorPicker - Function th...
Forum: Dav
Last Post: Dav
08-31-2023, 11:04 PM
» Replies: 3
» Views: 299
Goals(1) = New Tile()
Forum: Works in Progress
Last Post: RhoSigma
08-31-2023, 09:45 PM
» Replies: 3
» Views: 111
micro(A)v11
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 09:14 PM
» Replies: 90
» Views: 3,305
Updating The Single Most ...
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 09:13 PM
» Replies: 7
» Views: 223
QBJS Image Question
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 05:49 PM
» Replies: 5
» Views: 132

 
  Importance regarding Chess within Improving Retention Skills
Posted by: JasonPag - 09-01-2024, 06:34 PM - Forum: Utilities - No Replies

Training for Your Maiden Chess Event

Beginning in your first chessboard tournament is an exciting adventure what tests one’s competencies & tactics. Even if you are a beginner towards chess & a seasoned competitor, getting ready efficiently could be key. Commence with mastering fundamentals, comprehending how every unit moves & practicing different beginnings. Frequent training is essential; participating often, if within regional clubs also online, helps someone acquaint someone with different tactics also improve someone’s abilities. Observing games through game of chess masters may provide knowledge about complex strategies & decision-making approaches. Considering beforehand is essential, permitting someone towards predict your opponent's moves. Staying calm under pressure, especially in tournament scenarios, might be vital. Recalling that chessboard ought to constantly be fun, with all game offering an possibility for study and improve. Participating in the chess group, even through online groups, groups, or functions, may improve someone’s journey. Chessboard is an adventure in ongoing learning & growth. So, prepare for your contest, stay playing, stay learning, and above all, have fun.
Chessboard time regulation Upper East Side

Leading Chessboard Publications geared towards Contestants on Every Level c250_16



Attached Files Image(s)
   
Print this item

  Chess and Analysis and Enhancing Your Skills
Posted by: JasonPag - 08-28-2024, 02:37 PM - Forum: Utilities - No Replies

Discovering Internet Chess Platforms

Digital chessboard sites offer a great method for play & understand from the ease someone’s house. Even if someone is a novice & a seasoned competitor, such platforms give multiple chances towards enhance someone’s play. Begin by fundamentals, grasping how every figure functions & familiarizing oneself with the chessboard. Consistent practice could be key; digital sites allow one towards compete versus rivals from different abilities, assisting someone adapt & develop. Viewing games through experts on these networks can offer beneficial knowledge about advanced plans & decision-making methods. Thinking multiple actions ahead could be essential regarding chess, allowing you for predict rivals' strategies and plan beforehand. Maintaining calm amid pressure, notably in digital competitions, boosts someone’s game. Chess must continuously prove engaging, having each competition providing a chance for understand. Engaging with the digital chess network, by forums, could enrich your journey, giving advice, support, also different companionships. Game of chess could be an adventure for constant study & improvement. Therefore, dive within digital chess, stay playing, continue learning, and most importantly, have fun the game!
Chess coaching geared towards match training Greenwich Connecticut

Ways towards Discover the Top Chess Events inside NYC c251_50



Attached Files Image(s)
   
Print this item

  Goals(1) = New Tile()
Posted by: gaslouk - 08-31-2023, 05:42 PM - Forum: Works in Progress - Replies (3)

Code: (Select All)
    ReDim Goals(6)
    Goals(1) = New Tile()
    Goals(1).Symbol = "o"
Expected operator in equation

Help.

thank you.

Print this item

  QBJS Image Question
Posted by: bplus - 08-31-2023, 05:20 PM - Forum: QBJS, BAM, and Other BASICs - Replies (5)

@dbox

Does the image have to be accessible from Internet?
I found one example with that, the Chuck Norris demo.

I am trying to figure out how to get QB64 logo image into banner.

How do we get images loaded from our computer drive?

Print this item

  Updating The Single Most Influential Book of the BASIC Era
Posted by: grymmjack - 08-30-2023, 03:12 PM - Forum: QBJS, BAM, and Other BASICs - Replies (7)

https://blog.codinghorror.com/updating-t...basic-era/


[Image: basic-books.png]

Print this item

  QBJS String Patterns to Font Help
Posted by: bplus - 08-30-2023, 03:06 PM - Forum: QBJS, BAM, and Other BASICs - Replies (4)

@dbox

This code might be really cool for animated banners but QBJS is messing up code working fine in QB64.

Have a look:

Code: (Select All)
'Option _Explicit
'_Title "Font From String Patterns Strokes" ' b+ 2023-08-27
' Inspired by grymmjack post here https://staging.qb64phoenix.com/showthread...0#pid18990
' I used his font patterns to get my version started

' 2023-08-29 fixed with -1's in steps

' 2023-08-29 Now with numbered strokes for drawing
' and grymmjack's fix for character design

' 2023-08-30 attempting to get this working in QBJS, it would be nice part of Banner printing!


Screen _NewImage(800, 600, 32)
'_ScreenMove 200, 60
Dim spattern$(0 To 255)
Dim pattern5$(0 To 255)
LoadPatterns9x9 spattern$()
LoadPatterns5x5 pattern5$()
FPrint "TESTING", spattern$(), 323, 50, 2, 3, &HFF0000FF
FPrint "STARFIGHTER", spattern$(), 218, 180, 3, 3, &HFFFF0000
FPrint "STARFISHING", spattern$(), 70, 300, 5, 3, &HFFFFFF00
FPrint "BPLUS", spattern$(), 376, 550, 1, 2, &HFF008800
FPrint "b+", pattern5$(), 435, 547, 1, 1, &HFFFFFFFF
Sleep


Sub FPrint (s$, PA$(), x%, y%, scale%, spacing%, colr~&)
    ' s$ is string to "print" out
    ' PA$() is the array of string holding the font THE SQUARE pattern (must be NxN pattern)
    ' x, y top, left corner of print just like _PrintString
    ' scale is multiplier of pixeled font at NxN so now is Scale * N x Scale * N
    ' spacing is amount of pixels * scale between letters
    ' color~& type allows up to _RGB32() colors
    Dim As Integer ls, l, a, sq, r, c, i, digi
    Dim d$
    ls = Len(s$)
    For l = 1 To ls
        a = Asc(s$, l)
        If Len(PA$(a)) Then ' do we have a pattern
            sq = Sqr(Len(PA$(a)))
            'Print Chr$(a), sq  'debug
            For digi = 1 To 9
                d$ = _Trim$(Str$(digi))
                For r = 0 To sq - 1 ' row and col of letter block
                    For c = 0 To sq - 1
                        i = r * sq + c + 1
                        If Mid$(PA$(a), i, 1) = d$ Then
                            Line (x% + ((l - 1) * (sq + spacing%) + c) * scale%, y% + r * scale%)-Step(scale% - 1, scale% - 1), colr~&, BF
                            _Delay .04
                        End If
                    Next
                Next
            Next
        End If
    Next
End Sub


Sub LoadPatterns9x9 (SPattern() As String)
    Dim As Integer a
    a = Asc("S")
    SPattern(a) = SPattern(a) + "..111111."
    SPattern(a) = SPattern(a) + ".2......."
    SPattern(a) = SPattern(a) + ".2......."
    SPattern(a) = SPattern(a) + "..3......"
    SPattern(a) = SPattern(a) + "...333..."
    SPattern(a) = SPattern(a) + "......4.."
    SPattern(a) = SPattern(a) + ".......4."
    SPattern(a) = SPattern(a) + ".......4."
    SPattern(a) = SPattern(a) + "5555555.."
    a = Asc("T")
    SPattern(a) = SPattern(a) + "111111111"
    SPattern(a) = SPattern(a) + "....2...."
    SPattern(a) = SPattern(a) + "....2...."
    SPattern(a) = SPattern(a) + "....2...."
    SPattern(a) = SPattern(a) + "....2...."
    SPattern(a) = SPattern(a) + "....2...."
    SPattern(a) = SPattern(a) + "....2...."
    SPattern(a) = SPattern(a) + "....2...."
    SPattern(a) = SPattern(a) + "....2...."
    a = Asc("A")
    SPattern(a) = SPattern(a) + "...122..."
    SPattern(a) = SPattern(a) + "..1...2.."
    SPattern(a) = SPattern(a) + "..1...2.."
    SPattern(a) = SPattern(a) + ".1.....2."
    SPattern(a) = SPattern(a) + ".1333332."
    SPattern(a) = SPattern(a) + ".1.....2."
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    a = Asc("F")
    SPattern(a) = SPattern(a) + "122222222"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1333333.."
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    a = Asc("I")
    SPattern(a) = SPattern(a) + ".2222222."
    SPattern(a) = SPattern(a) + "....1...."
    SPattern(a) = SPattern(a) + "....1...."
    SPattern(a) = SPattern(a) + "....1...."
    SPattern(a) = SPattern(a) + "....1...."
    SPattern(a) = SPattern(a) + "....1...."
    SPattern(a) = SPattern(a) + "....1...."
    SPattern(a) = SPattern(a) + "....1...."
    SPattern(a) = SPattern(a) + ".3333333."
    a = Asc("G")
    SPattern(a) = SPattern(a) + ".11111111"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2....4444"
    SPattern(a) = SPattern(a) + "2.......5"
    SPattern(a) = SPattern(a) + "2......35"
    SPattern(a) = SPattern(a) + "2.....3.5"
    SPattern(a) = SPattern(a) + ".33333..5"
    a = Asc("H")
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "133333332"
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1.......2"
    a = Asc("E")
    SPattern(a) = SPattern(a) + "111111111"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2444444.."
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "2........"
    SPattern(a) = SPattern(a) + "233333333"
    a = Asc("N")
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "12......3"
    SPattern(a) = SPattern(a) + "1.2.....3"
    SPattern(a) = SPattern(a) + "1..2....3"
    SPattern(a) = SPattern(a) + "1...2...3"
    SPattern(a) = SPattern(a) + "1....2..3"
    SPattern(a) = SPattern(a) + "1.....2.3"
    SPattern(a) = SPattern(a) + "1......23"
    SPattern(a) = SPattern(a) + "1.......3"
    a = Asc("B")
    SPattern(a) = SPattern(a) + "1222222.."
    SPattern(a) = SPattern(a) + "1......3."
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1......3."
    SPattern(a) = SPattern(a) + "1333333.."
    SPattern(a) = SPattern(a) + "1......4."
    SPattern(a) = SPattern(a) + "1.......4"
    SPattern(a) = SPattern(a) + "1......4."
    SPattern(a) = SPattern(a) + "1444444.."
    a = Asc("L")
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "122222222"
    a = Asc("U")
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + "1.......3"
    SPattern(a) = SPattern(a) + ".2222222."
    a = Asc("P")
    SPattern(a) = SPattern(a) + "1222222.."
    SPattern(a) = SPattern(a) + "1......2."
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1......2."
    SPattern(a) = SPattern(a) + "1333332.."
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    SPattern(a) = SPattern(a) + "1........"
    a = Asc("R")
    SPattern(a) = SPattern(a) + "1222222.."
    SPattern(a) = SPattern(a) + "1......2."
    SPattern(a) = SPattern(a) + "1.......2"
    SPattern(a) = SPattern(a) + "1......2."
    SPattern(a) = SPattern(a) + "1333332.."
    SPattern(a) = SPattern(a) + "1.....4.."
    SPattern(a) = SPattern(a) + "1......4."
    SPattern(a) = SPattern(a) + "1.......4"
    SPattern(a) = SPattern(a) + "1.......4"
End Sub

Sub LoadPatterns5x5 (SPattern() As String)
    Dim As Integer a
    a = Asc("b")
    SPattern(a) = SPattern(a) + "1...."
    SPattern(a) = SPattern(a) + "1...."
    SPattern(a) = SPattern(a) + "1.22."
    SPattern(a) = SPattern(a) + "12..2"
    SPattern(a) = SPattern(a) + "1.22."
    a = Asc("+")
    SPattern(a) = SPattern(a) + "....."
    SPattern(a) = SPattern(a) + "..1.."
    SPattern(a) = SPattern(a) + ".212."
    SPattern(a) = SPattern(a) + "..1.."
    SPattern(a) = SPattern(a) + "....."
End Sub

It appears the first square for pixel is off and the right side of letters are being drawn on left of left most pixel/squares
   

Print this item

  Working on the Doodle Drawing Recorder/Player. Testers wanted
Posted by: Dav - 08-30-2023, 02:43 AM - Forum: Works in Progress - Replies (8)

I'm re-doing the Doodle draw program started a few years ago, which records what you draw on the screen and plays it back to you, showing a hand doing the drawing.  This one is using a new drawing method.  Would appreciate some testers.  See it it works smoothly for you.  I'm having a little display glitches now and then, can't seem to narrow down why.  Especially after changing the color (Pressing C), the mouse seems to hang in Linux sometimes.  And the hand jumps around sometimes oddly.  Probably I'm coding mouse usage wrong.

Left Click to draw, Right Click to clear screen. D = Draws, F = FILL, C = Change color, SPACE restarts.  Use +/- to change brush size.  Press ESC to stop drawing and play back what you drew.

Eventually this will save/load the drawing files, but for now it just works without saving any files.   Just draw and press ESC, it will playback what you just drew.  Trying to get the basic bugs out of the way first.

The .BAS source is kind of large, so here it is for download.

(EDIT: Download removed. Get the lastest version posted HERE)

- Dav

Print this item

  Fall Banner Contest?
Posted by: grymmjack - 08-30-2023, 12:22 AM - Forum: Site Suggestions - Replies (36)

Ideas? 

I was thinking it might be fun to make this also programming generated banner?

Fall theme, but the program would need to be the size of the banner. 

What do y'all think? Animations, static images as long as generated with code, sounds etc?

If interested or have ideas contrary let's talk!

Was thinking deadline could be Oct 1?

Print this item

  Problem with one function
Posted by: Kernelpanic - 08-29-2023, 11:11 PM - Forum: Help Me! - Replies (3)

The function expects a double, but should return a string. Is this possible?
It is about replacing the Saxon point with a comma in a German edition. The program works, and I want to wrap that in a function. But the function doesn't want to.

"Illegal string-number conversion" - where? Maybe someone knows where the error is? Thanks!

This is OK:

Code: (Select All)

'Punkt in der Zahlenausgabe durch Komma ersetzen - 28. Aug. 2023
'Aus: SB S.100

Option _Explicit

Dim As Double zahl
Dim As Integer punkt_position
Dim As String zk_zahl

Print "Eingegebene Zahl mit Komma ausgeben"

Print
Input "Zahl: ", zahl

'In Zeichenkette umwandeln
zk_zahl = Str$(zahl)

'Position des Punktes ermitteln
punkt_position = InStr(zk_zahl, ".")

'Punkt durch Komma ersetzen - Mid$-Anweisung
If punkt_position <> 0 Then
  Mid$(zk_zahl, punkt_position) = ","
End If

Print "Zahl nach deutscher Notation: "; zk_zahl

End

The function gives the error message (punktKomma = zk_zahl -- Line 50)
Code: (Select All)

'Punkt in der Zahlenausgabe durch Komma ersetzen - 28. Aug. 2023
'Aus: SB S.100

Option _Explicit

Declare Function punktKomma(dEingabe As Double) As String

Dim As Double zahl
Dim As Integer punkt_position
Dim As String zk_zahl

Print "Eingegebene Zahl mit Komma ausgeben"

Print
Input "Zahl: ", zahl

'In Zeichenkette umwandeln
zk_zahl = Str$(zahl)

'Position des Punktes ermitteln
punkt_position = InStr(zk_zahl, ".")

'Punkt durch Komma ersetzen - Mid$-Anweisung
If punkt_position <> 0 Then
  Mid$(zk_zahl, punkt_position) = ","
End If

Print "Zahl nach deutscher Notation: "; zk_zahl

Print

'Warum ueber Val(x) gehen? Der Ursprungswert ist doch da.
zahl = zahl * 3
Print Using "Eingabe * 3 = ####.##"; zahl

End

Function punktKomma (dEingabe As Double)

  Dim As Integer punkt_position
  Dim As String zk_zahl

  zk_zahl = Str$(dEingabe)
  punkt_position = InStr(zk_zahl, ".")

  If punkt_position <> 0 Then
    Mid$(zk_zahl, punkt_position) = ","
  End If
  punktKomma = zk_zahl
End Function

Print this item

  Ugh. Is my math (and logic) right?
Posted by: CharlieJV - 08-29-2023, 12:47 AM - Forum: Help Me! - Replies (11)

Such a long time since I've done this kind of stuff, I don't have much confidence in my struggled result.

Is this the right way to draw a line with PSET ???

Code: (Select All)
SCREEN _NEWIMAGE(641, 201, 32)

SUB MyLine(x1%, y1%, x2%, y2%)
' y% = m# * x% + c#
    xd% = x2% - x1%
    yd% = y2% - y1%
    m# = yd%/xd%
    c# = y2% - x2% * m#
    IF xd% >= yd% THEN FOR i = x1% to x2%: PSET(i, m# * i + c#) : NEXT i
    IF xd% < yd%  THEN  FOR i = y1% to y2%: PSET((i - c#)/m#, i) : NEXT i
END SUB

FOR X = 0 TO 640 step 10
    MyLine(0,0,X,200)
NEXT X
FOR Y = 0 TO 200 step 5
    LINE (0,0)-(640, Y), _RGB(255,255,0)
NEXT X

Print this item