Hey Mark,

Minor cosmetic change to bowling7.bas.

Add the following to the end of the 'Drawlane' routine...

' Pindeck Pin Spots
for i = 1 to pins
circle rack[i,0], rack[i,1], pr*.5, 1, 8 filled


I am calling it "bowling7_1.bas".

Glad to see things are working for you, Johnno!

Those square brackets give me the heebee geebees.

Did you have a a problem with the sound? Bowl and hit pin sounds out of sync? If so then I may have a solution. If not, it was probably something "I" did, and you can pretend I didn't mention it... lol

Is there a way of modifying the game to have multiple players?

Sorry about the square brackets... lol Habit. sdlbasic uses the square brackets to differentiate between arrays and subroutines/functions....

The pin place spots were one of those, 'Hey what's missing" moments... I suppose a pinsetter and sweep gate maybe a bit of a stretch... lol

I'm running out of ideas... Just staring at the keyboard and screen trying to think of a project that is simple AND fun... Did you know that there IS a limit to how much coffee one can drink? lol

I had even thought of revisiting Logo and remembered the phrase, "Re-inventing the wheel". Text adventures are fun but oh so much work... ouch... I would like to tackle a flight-sim but not proficient enough with 3D. Don't even know if SB or SDLB are capable of such things... I have no idea as to how to even begin any board games (primitives OR sprites) eg: checkers etc... Actually, not quite true... Managed to cobble together a Snakes and Ladders for the grand kids. It was done with sdlbasic and the coding, although it worked, was quite sloppy...

Do you know of any tutorials for SB (or similar) that would make for an interesting project? I'm running on fumes...

It's almost 9pm here and time for a coffee and a game or two of Doom....

Have a great day.


Hi J,

Sound seems OK to me, when I click with aim line showing the ball gets rolling and the pin strike sound is just about right. That sound makes a huge difference to playing.

All the elements are there to make it a 2 or 3 player game (that would still fit the scoring sheet under the alley). You would need to track players and their scores and where to draw scores... so scores may need 3 dimension. It would be big overhaul but all the drawing is solved except the y positions for scores all would depend on a Player variable to track who is up and whose score is being updated.

Square brackets just remind me of SdlBasic, though easier to type than (), never got used to them for arrays. Also it seems to me at one time, square brackets were just for Matrix Math here with SB ???

Modifying bowling would be good project or do a tic tac toe version to learn displaying board games. Do you think a 4x4 tic tac toe version would work? A quy at QB64 just did a very nice Sudoku Game, I checked my SB stuff and found I was only playing with solvers, so that might be a project here? I have to check SB library for the game...

Tutorials in my opinion are not nearly as good as friends at forums mainly because the former is much more rare but also there are so many types of games that require different skills and levels of dedication.

I was afraid you you were going to say that... *sigh* So, the sound issue was my fault... Good thing I figured it out... *phew*

I gave the sweep gate a moments thought then decided against it... My bowling style is too aggressive and toppled pins end up where the sweep gate cannot reach... There are still a few minor tweaks needed. When the ball enters the gutter, without contacting the pins, the pin hit sound is still played...
The sound is controlled by the ball number without the consideration of its position on the lane... In the 10th frame and the first ball is a strike, the second ball (bowling at a full deck) when it hits the pins, plays the "spare" sound... As I said, minor problems, but not critical to the game play...

Not sure about a 4x4 tic-tac-toe... but I have seen a 3D version.. Cannot remember where or when but I remember seeing it.

Quick question. Does SB have a particle system? If not, how hard would it be to make one? Could be cool to use as explosions etc instead of looping explosion sprites. Any thoughts? Crazy thought... Instead of using a sweep gate to clear the fallen pins, how about a sweeping laser, to vaporise the pins? Too radical? Too hard? Too cool? I know. Not 'exactly' regulation... but could be fun... Or perhaps fragile pins. Instead of falling... Shattering.

Must be caffeine withdrawal... Woke up at 4am thinking about that bowling game... I think its haunting me... lol

I'm going back to bed...


Oh dang! Missed that!

Shattering or exploding pins! ;-))

What exactly do you put in your coffee? ;-))

Actually both are fun ideas! They could also melt or vaporize but exploding would be most dramatic.

The bomb sample has both particles and demo's explosion.

Particle samples:
more particles could easily be converted, conversion might be good exercise
Space (Sierpinski Triangles as particles)
Stars most classic particle system

If particle system is array of objects of same type and their properties are all .something like
star(i).dx 'change in x
star(i).dy 'change in y
star(i).red 'for rgb colors that you what to change when running in main loop

Unlike with QB64, no need for TYPE... END TYPE, unlike with SdlBasic don't need separate array for each property or multi-dimensional array for each property.

3D Tic tac toe is in Code Library, Games 1 probably.

Slight modification to exploding or vaporizing pins... might be a good idea if it were the FALLEN pins that exploded. Otherwise there would be no "pin action" (pins moving about so as to effect the movement of the other pins)

Just for giggles, I'm going to 'mock up' a 'to scale' bowling lane. I have my suspicions as to how it will turn out, but hey, just for giggles right?

Oh. Whilst on the subject of 'lane'... I was telling my wife, over breakfast this morning, about the 'pin spots' on the pin deck and she said, "What about the little arrows on the lane?". You just know where this is going don't you?

Many thanks for the particle tip... on that note, I have always been curious as to the purpose of the 'dot' in say star(i).x What exactly does the dot do?

Anyway. The 'mock up' and 'arrows' are not going to appear as if by magic...

More coffee... Oh. More about coffee... Santa brought me a coffee machine for Xmas!!! Santa's name is now in my 'Hall of Fame"....


Hi J,

Maybe you don't remember but we did "to scale" at least lane length versus width, maybe it was SdlBasic?
Let's checkout forum's record on Bowling... (dang Search could not find the forum topic! ? ! ???)
OK maybe its SdlBasic we tried to scale... I am missing bowling version 6 which might have been that.
Almost a year ago exactly when we worked on this.

star(i).x = 25
star(i).y = 100
Now star(i) has a location on the screen.

To change, star(i).x = star(i).x + star(i).dx '<<< move star(i).x location
check if outside screen
If star(i).x > xmax or star(i).x < 0 then getNewStar(i) '>>> call getNewStar maker for index i because star is outside screen

I just finished the image and was about to see if SB could attach files when I noticed your 'reminder'... My mind must be slipping...

Many thanks for the 'dot' explanation. Much appreciated... I didn't thank you before did I? Just checking... lol