Go share your results in this forum thread from LitDev:
These challenges are intended for people who are learning to program for the first time or for those returning to programming who want to start using SmallBasic. Some will be easy, some will be hard – but they will all make you think, and more importantly be GREAT FUN!
Please post your solutions / partial solutions / questions / feedback etc. into this thread that will remain ‘sticky’ for the month. The only rule is that your solution must use standard SmallBasic methods (no extensions).
It would be good if people could post their problems with these challenges so that a discussion can start so that everyone can learn from each other.
Also post feedback on the kind of challenges that you want to see more of in the future.
Curriculum Challenges 2.4
- Play ‘Jingle Bells’ with the Sound object (Sound object)
- Read and Save a set of musical notes to a file that can be played (Program and File objects).
- Save the notes in a format of your choice that can be modified outside Small Basic (Text object). The program must be able to read this format and convert to variables that can be played using the Sound object.
- (Easier) Write a program to calculate the mean, mode and median of a set of integers. Try to make it as efficient as possible.
- (Harder) I have 12 steps, and I can go down them in steps of 1 or 2. How many different ways could I go down the steps. For example I could take 12 single steps (1-1-1-1-1-1-1-1-1-1-1-1) , 6 double steps (2-2-2-2-2-2), 1-2-2-1-2-1-1-2 or any other combination.
- Draw a pizza with lots of toppings – you could let the user select and add their choice of topping.
- Make a fancy graphical ‘progress bar’ that updates using the Timer.
- (Easier) Write a program to read the day, month and year from a user and write it out to the TextWindow, formatted in nice colours.
- (Harder) Write an email verification program.
The email address must:
• Start with a string of alphanumeric characters
• followed by the @ symbol
• another string of alphanumeric characters
• followed by a “ . ”
• then a string of alphanumeric characters.
firstname.lastname@example.org and email@example.com are both valid
but @bc.d and 123.c@cvb are not valid
Write a program that realistically floats a cube on some water if the user enters the density of the cube. Assume the water has density 1000 kg/m3. If you want it harder, do it also for a sphere (Hint).
- (Easier) Write a ‘estimate the time interval’ game. When the user presses a START button the program will display a time in seconds (5 to 15 seconds). The user then must estimate when the time is up and press a STOP button. If they are within 1 second they get a point.
- (Harder) Make a ‘Puzzle Bobble‘ game.
Community Suggestions (by Papa Lapup)
Some tougher challenges for you to work on – perhaps contribute discussions on these challenges to help each other.
For TextWIndow (TW)
1. Show a simple graph for a simple function (with value table) in TW with eg. ‘*’ or ‘.’ Regular coord system can be 90° rotated. (perhaps more easy). Ymin and Ymax should fit in width of TW then (within choosable limits Xmin and Xmax). eg TWGraph.exe “f(x)” Xmin Xmax
2. Write a simple Month Calendar in TW (Sample Img in vbs but should also be possible in SB)
For GraphicsWindow (GW)
1. Once saw a fascinating and surprising animation of an ‘useless mechanical chain reaction’ in a kind of alchemy laboratory or witch kitchen background, which should be possible in SB (for advanced users) I think with simpler objects (domino, seesaw, coil spring, inclined plane, pendulum, free fall, etc). Why do something the simple way if it’s also possible complicated and tedious?
2. Write a flat-directory viewer for selectable folder (e.g. Subs in IE-Cache in LocAppData\Microsoft\Windows\Temporary Internet Files\Content.IE5) and show only ‘SubDirName\File.ext’ in MultiLineTextBox line by line. Unfortunately no Ext allowed, but can later be replaced with eg. LDListBox to select file and perform action on it.
Do you have an idea for a future challenge? Please post it in this forum thread:
Go community, go!
– Ninja Ed