Just Code Challenge Week 8 Projects

Post your Just Code Challenge Week 8 Projects in this conversation! Per a suggestion from @ we are now posting the Just Code Challenge forum conversation earlier in the week to give people more opportunity to post projects. The blog post with my project will still appear on Fridays. I’ll update this conversation when this week’s project is published.

So if you finish your week 8 before Friday, go ahead and post it here. Have fun and be sure to download other projects and discuss!

Match Game Magic

MGM is a tiny version of the first iOS game I wrote (using Corona SDK) several years ago. The “hook” for the game was that every game you solved uncovered another picture — but this version just has one.

Also, this version has no “polish” such as sound effects, exploding confetti, etc.

Short video showing the project in action:
https://youtu.be/8EoG-ep2SzI

The project can be downloaded here:
http://jayjennings.com/justcode/MatchGameMagic.zip

This week’s submission is Matchbox Tic-Tac-Toe, which is based on an article in Martin Gardner’s Scientific American ‘Mathematical Games’ column from March 1962, which describes Donald Michie’s MENACE (Matchbox Educable Naughts And Crosses Engine), a Tic-Tac-Toe playing computer constructed from matchboxes and coloured beads. This is one of the first ever computer learning programs, and it didn’t even require an electronic computer. I’ve been meaning to program this for years. So, this was a good opportunity. I had originally intended this to be last week’s submission, but I underestimated the complexity of dealing with game position rotations and reflections, which took much longer to debug than anticipated.

A good write up of MENACE can be found here:
http://chalkdustmagazine.com/features/menace-machine-educable-noughts-crosses-engine/

Each possible game state is represented by a matchbox (with a diagram of the game state affixed to it). If the computer always moves first, then 304 matchboxes are required. (This number excludes redundant rotations and reflections of the basic positions. Otherwise, several thousand boxes would be required.) Each matchbox contains several differently coloured beads, each colour representing a currently blank game cell. For the computer’s move, the box representing the current game state is selected. Then a random bead is drawn from the box. The colour of the bead indicates which cell is to be chosen for the computer’s move. At the end of the game, if the computer has won, it is rewarded. Each matchbox used in the game has 3 beads added to it, the colour being the same as the bead that was picked for the move. If the computer lost the game, it is punished by removing the bead that was picked for each move. The result of the reward/punishment scheme is that the bead distribution in each box eventually increases the probability of selecting winning moves and avoiding losing moves.

Project file is here: Matchbox TicTacToe Project

For additional info see app.RevisionNotes in the project file, or click on the help button in the main window, when the program is running.

Submission for this week is my first Xojo Web project. Usually I’m working with other technologies like ASP.NET, HTML5 and Javascript, so it was a very interresting experience for me to learn how Xojo web development works. And to be honest I’m not realy happy with the styling and layout of my app. But however, I managed to get it running :-).

So, this app is a simple currency calculator/converter. You enter an amount, set the base and target currency and hit the button with the equal sign in the middle. Calcualtion is done using the latest currency rates taken from ECB (European Central Bank), using their public REST api (https://exchangeratesapi.io).

Project source can be downloaded here: CurrencyConverterWeb.zip
Feedback is welcome :slight_smile:

My app this week is JumpStart app launcher, inspired by the first real app I made for an Atari ST back in 1991 or so.

JustCode Challenge Week 8 - JumpStart App Launcher

Off topic: Atari ST, that bring back some memories.

This week, I propose a utility that displays mouse information: position, direction and buttons pressed. MouseInfo is a borderless and draggable tool, which takes up very little space on the screen. A context menu allows you to quit the application.


Source and win32 exe are here:
https://www.ascinfo.fr/fichiers/justcodechallenge2018/MouseInfo.zip

I wrote a simple text case converter (because URL conversions were my nemesis this week).

Enter text in the top box and select your target case from the popup.

GitHub

Another hot week in Germany. So I just played around with charts and created a pieCharts class. Any values can be entered in the Data field and these are then filled with random colors.

Sourcecode Download

My project for checking out if our books are still in the library is coming to a finish. I have changed the way to import the Excel list with holdings by using Einhugur’s plugins instead of Chilkat. One shortcoming is that the plugin can only read the data if there is no layouting done, so I had to remove the automatically added grey background in the header before the import worked as it is supposed to do.
Other improvements are export functionality, sound (so we can turn off the sound from the barcode scanner and use headphones instead) and a better implementation of the overview list.


For this project you need the following plugins from Einhugur (which I decided to buy because of this example):

  • ExcelReader
    -ExcelWriter
    -TypeLib
    -e-Crypt it engine

You may download the code here: https://surfdrive.surf.nl/files/index.php/s/0TmIejtlYJsgpY5