# Small Basic Challenges of the Month - October 2017

Big thanks to LitDev for continuing to host these monthly challenges! And to all the community for contributing and helping each other out!

You can contribute to the challenges by posting your solutions and questions here:

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

We may extend these challenges over into a second month if solutions and questions are still coming in.

TextWindow Challenges

• Write a simple TextWindow based battleships game.
• Write a program to convert some text to a string of numbers (like a code) - the challenge is to also write a method to convert the number string back to text.

Graphics Challenge

• White a program to draw a fairground ride, use animation if you can.  Also, try to do it with native GraphicsWindow shapes and not just display a complete image.

Maths Challenge

• Write a program to calculate the sum of all numbers less than 1000 (1 to 999) that:

a) Are divisible by 7

b) Are perfect squares, 1, 4, 9 etc

c) That when multipled together equal 1000, eg (1,1000),(2,500),(4,5,50) (only use each number once and summ all the numbers found)

Community Suggestions (By Papa Lapub)

1. PaletteViewer
a.) Write a program to save colors (eg. SB supported HTML colors, websafe colors, ...) to a PDN Palette.txt or GIMP Palette.gpl file.

b.) Write a program to read this .txt or .gpl palette file and show it's colors visually (perhaps with infos like name, #hex, R,G,B)

2. RuntimeControls
Write a program which allows it to add controls like Button, (ML)TB during its own runtime. The added controls also have to work with events.

Do you have an idea for a future challenge? Please post it here!

Thank you for joining us!

Small and Basically coding,

- Ninja Ed