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 Small Basic.  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 Challenge 2.3

  1. Draw a face using ellipses.
  2. Animate the face to move on the screen.
  3. Make a collage picture using all of the shapes (line, rectangle, ellipse, image, text and triangle) added at random positions, with random opacity, color, rotation and zoom.  Consider using the Timer to create the shapes.
  4. Use the pen width and colour to create a gray car wheel with a black tire.
  5. Make an animated scrolling text program.  If you want a harder challenge, move the text in a curve.

Basic Challenges

  1. Write a program to calculate triangular numbers (1,3,6,10...)
  2. Write a program to read data in from the GraphicsWindow.  You should have a TextBox and Button to get the entry.  Save the entered data in an array which you can save to a file or output to a multi-line textbox.
  3. Write a program to read some text and replace all capital letters with a * character.
  4. Write a program to convert currencies, graphical or text based.  Perhaps use a file to store current exchange rates.

Physics Challenge

Make a pendulum that swings as accurately as possible.

Game Challenge

Write a Atari missile command game.

Stack Challenge

Write a simple TextWindow based calculator using the stack using the ideas below.

Add (push) input to a stack.

If the stack has 3 entries then

  1. Get (pop) the 3 entries.
  2. Assume the 1st and 3rd are numbers and the 2nd is an operator (+ - * /).
  3. Do the sum and write some output.
  4. Put the result on the stack (push) and wait for more entry.

You could add some error checking for step 2.


Community Suggestion 1 (8 Bit Pony & Jibba Jabba)

Create a basic webpage with the shapes commands.

  1.     Create a form that allows users to post feedback on the website.
  2.     Create a log of hits on the site and log what they clicked on, then generate a summary of activity
  3.     Create an online database of member details, a mini address book. (arrays practice)
  4.     Create an online mini diary/journal that signed up visitors can use (secure w/password)
  5.     Write the diary entries to file and maybe create a lookup form

Community Suggestion 2 (By Nonki)

  1. Make a subroutine to write text with format such as "#,##0.0".  This subroutine has two parameters a format (i.e. "##" ) and a number (i.e. 9).  And it write a formatted number (i.e. " 9") to TextWindow screen.
  2. Make a GUI for a cue of billiard.  You may use mouse click, mouse drag or something else.


You can participate in the challenge in this forum thread:




   - Ninja Ed