September 22, 2017:
Another challenging puzzle from the Mensa Calendar requires you to fill a 5x5 grid with the four letters A,B,C,D when you are given the number of occurrences of each letter in each row and column like this. No adjacent duplicates allowed in any row or column.
This September 7th puzzle has been added to
Mind Your ABCDs, Version2,0.
For user play, letter counts will be updated as letters are entered. And,
there is a "Solve it for me" after you give up J.
Check it out!
September 5, 2017:
Here's a puzzle for which I coded a
solver several years ago. This one is from a recent page of my Mensa
Page-A-Day Puzzle Calendar. Stars must be placed on pre-defined
subdivisions of a grid with no duplicate stars in any row, column or adjacent
diagonal cell. Stars On A Grid
Version 2 allows users or the program to solve this puzzle included in
the downloaded samples. New puzzles can be saved and reloaded.
Some typos and design improvements are included in this version..
August 30, 2017: Just time to squeeze in one more program this month. This one is puzzle #57 from Terry Stickles' excellent book Challenging Math Problems . "How many numbers less than 1,000,000 have digits that sum to 3? Examples: 1200, 111000, 21, and 300." Program DigitsSumToThree started out as a Beginner's level demo of how to extract digits from a number, add them up, and count those that sum to 3. This method works and is easy for the computer, but virtually impossible for a human to duplicate. That led to an Intermediate level version with two additional ways to answer the question, even by us mere humans. The link above provides more detail and the links to executable and source code for he program.
August 19, 2017: It's been a good news-bad news month. The transfer of DFF from host EasyCgi to Alentus went fairly smoothly with FrontPage support restored, but I'm being swamped by spam emails (~ 50 per day) since Alentus apparently does no screening at the server levelL. Outlook junk screening here at home is by sender address or domain name of which there seems to be an infinite number. I may be forced to another mail server if it cannot be fixed. Also thumbs down to EasyCgi for dropping FrontPage support without prior notice and for refusing to credit me for the unused 6 months of prepaid hosting feesL.
the fun side of the street though, I did manage to crack a fairly complicated
word search puzzle solverJ. The puzzle solution requires forming five
5-letter words by selecting one letter from each row corresponding to the letter
position in the word being formed. All letters will be used exactly once.
So the 1st letters of the words will be A, B, G, T, and W. 2nd letters will be
chosen from U, A, R, L ,P with each letter appearing in one word, etc.
Search By Column has more details and download links for the program.
August 1, 2017: If you're reading this, I'm happy to report that the DFF site has been successfully transferred to the new host. Feedback and Newsletter Subscription emails are working again and FrontPage can again be used to maintain and publish site changes. Time will tell if if there are drawbacks as yet undiscovered. If you encounter problems, please use the feedback to let me know.,
July 25, 2017: Starting the site relocation tomorrow. In theory, nothing will change from the visitors viewpoint until I verify that all is working on the new site.
One more program update posted today was to fix a scaling bug in our program which solves problems like this one from my Mensa calendar entry for July 23:.
The challenge is to find a word for the middle row which forms a three letter word in each of the seven columns. Program WordGrid_3Letters, Version 2.1 does that in short order.
April 21, 2017: Here's a Delphi demo, HeapsPermute, of an algorithm developed by J.R. Heap in 1963 which generates permutations of arbitrary data items. It is quite efficient because it swaps only 2 elements for each permutation generated. The disadvantage may be that that there is no apparent order in the generated permutations. Search "Heap's algorithm" on Wikipedia for more information. I plan to use the algorithm in a future "Made from scratch" puzzle solver which doesn't use the existing DFF Library.
March 28, 2017: We're back!. If you received a "Service Unavailable" message in the past two days, no worries. The host site maintenance guys mess up and cause this about once a month. It's usually only a couple of hours, but this time it was 2 daysL. I'm guessing that the root cause is that the DFF site runs under FrontPage, a terrific website builder abandoned by Microsoft years ago with no suitable conversion aids or equivalent replacement available. Manual conversion to something less usable is an easy task to defer, so I'm limping along with the old, unsupported builder program and not many choices for finding another host. After careful cost/benefit analysis, my conclusion is that what happens in the future is a problem to be addressed in the future.
In the meantime, I discovered a small bug in an old beginner's level program which generates odd order "magic squares" up to 51x51 using an ancient algorithm. Magic Squares V1.1 corrects a grid sizing problem for the 3x3 square.
March 19, 2017: CutList Version 4.05 posted today corrects a few misspelling and truncated text errors caught by a couple of sharp eyed users. Thanks to Karson and Anthony for taking the time to let ne know.
March 6, 2017: Several years ago, a buddy of mine took on the design and implementation of a children's water fountain with multiple nozzles squirting at random intervals and durations. I created an animated simulation to illustrate what it might look like. The result was posted here in the "Delphi Techniques" section as an example of how to draw on a graphic control. (a "TNozzle" in thus case). You can view a picture of the resulting real "Splash Pad" here.
A Delphi programmer recently sent me
his attempt to move the TNozzle class to a separate unit and found
that the his drawing attempts were displayed in the wrong place. The
solution was to draw on the canvas of the TNozzle Parent
ShapePaint Version 2.0 demonstrates how to do this.
The What's New Archives