Just Code Challenge Week 12 Projects

Post your Just Code Challenge Week 12 Projects in this conversation! The blog post with my project will is published on Friday and I’ll update this conversation when this it is published.

So whenever you finish your week 12 project, go ahead and post it here. Have fun and be sure to download other projects and discuss! Only 2 more weeks after this!

From @Jay Jennings (original post):

Xoggle (Like Boggle)

This week’s entry is a 1-player version of the game Boggle. (Easy to make it into a “pass-and-play” version, or even network — just save the letters from the first player and show the same letters to each player until each has had a turn, then shuffle for new letters and keep going.)

No video preview this week.

Here’s where you can grab the project:
http://jayjennings.com/justcode/Xoggle.zip

WordConvert is a simple tool that works by drag and drop. Drop files (AbiWord, Applix Words, ClarisWorks/AppleWorks, DockBook, HTML, ISCII Text, Microsoft Word, Office Open XML, OpenDocument, OpenOffice Writer, OPML, Rich Text Format, StarWriter, T602, Text, WML, WordPerfect or XSL-FO), choose the output format and click on the Go! button.

WordConvert is a good example of a front-end made for an external application (here AbiWord). It can serve as a basis for other converters. For this purpose, it checks that the files submitted have the required extension, that they are not folders and it ensures that the output names are consistent. Some improvements are possible (progress bar, checking the presence of the output file, processing the errors of the underlying tool, etc.). But it’s already good enough to compete with many other tools… free or not.

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

This week I wanted to get some experiences on multi-platform development by making an app for Mac, Windows and Linux. The app is a simple Stop Watch which counts hours, minutes, seconds and 1/10 of seconds. It also can log lap-times. My first approach was to use a Timer class with an interval of 100 milliseconds. Within the Action event ot the timer an integer property is then increased by 100 and the calculated time elements (hours, minutes, …) are displayed by a label. This works fine directly on Mac and on Windows too. But on remote sessions (RDP to Windows or Linux) the timer was not very accurate and differences to my reference clock were increasing continually. Therefore my second approach was to use the actual time of a Date class and calulate the difference to a start-time. This solution works quite accurate on RDP sessions and native as-well. There are still both approaches implemented into the project (see UseXojoDate property of the main-window).

Mainly I did the development on my MacBook and were able to compile for all three platforms on the Mac also. Because it was challenging to get the UI looking reasonable on all platforms, I re-designed the UI on Windows (‘design’ is a bit overstated :-)). My first design on Mac looked quite nice, I used a black background and light-gray text colors. But because buttons on Windows and Linux are very differnet, and fonts also behaving differnet, I had to find some compromises. So below you can see the final design with more or less standard background and font colors.

MacOS

Windows 10

Linux Mint

On the Xojo forum there are some users complaining about the poor performance of the Xojo IDE on Linux. I ran into the same issue with v2018r2 on my Linux MINT installation (running on VirtualBox) and it was not possible for me to do development on Linux.

Sourcecode can be downloaded here, it’s in the text-file-based project format.

My project this week uses the OpenWeather API to get temps for cities.

https://blog.xojo.com/2018/09/07/justcode-challenge-week-12-multitemp/

This week I made my own SegmentControl. You can customize the PanelWidth and MarginLeft as well as the colors. The desired panels are simply entered in PanelCaption with comma separated. There is a small example in the source code.

Sourcecode Download here

I’m getting to be a one trick pony with the Sudoku Solver project. I think this will be the last time it’s submitted in the Just Code Challenge though. I’ve added three new solving strategies the week, and it will now solve all of the puzzles in the example puzzle file, plus some new ones that I’ve added.


It’s being an interesting project, first working out the logic of the various solving strategies, and then trying to figure out the best way to implement it in code. Sometimes the more advanced strategies turn out to be very simple to code and basic strategies can result in some complex code.

Project file is here: Sudoku Solver Project

I had an extremely busy week with only an hour or two to really think about a new project. I watched a video about repetition in music on Youtube today and it linked to a cool web app called SongSim. SongSim is a simple similarity matrix…so I figured I’d create one in Xojo.

Github

Maze generator
A simple maze generator created with Xojo. In this project the „depth-first search“ algorithm is implemented with a „recursive backtracker“.

Download source

This week a bit late because attending the MBS Xojo Conference :wink:

Images from @Jay Jennings project file seem to be missing. I think these are images of the large letters.

No images used, just the caption for the Bevel Buttons. I wonder if it’s a font issue – I used Arial Black for the buttons. If you don’t have that font I assumed it would fall back to System, but maybe not?

Try changing the font for that control set and see what happens.

This is what came up when I opened the file:

So I didn’t go any further at the time. However, I just tried it again now, and cancelled out of the “resolve issues” dialog. The project compiled and ran properly. So, I’ve just deleted the image folder from the project, and there are no more issues.

If you delete the folder called “Images” it still functions “normally”.

I’m having problems with the functionality though, it won’t let me make words. If the next letter is valid and headed toward a word, it just ignores it. A boolean somewhere is backwards perhaps.

Ah, yeah, I was going to use graphics and then decided not to. I just refreshed the project file (which, now actually does use a tile image for the background of the bevel buttons) so it should be correct.

Not sure about the “won’t let me make words” thing, though. I haven’t seen that. It only allows you to click a letter that’s a “neighbor” of the last chosen letter (the letters highlight in green if they are available).

Here’s a 1-minute video showing me making letters – are you doing something differently? (The video looks like I am swiping from letter-to-letter, but I’m clicking on each button in turn.)
https://youtu.be/pOWf7OdriZ8

Jay

Dammit that explains it. I was playing Countdown not Boggle :stuck_out_tongue: