Welcome to Phrogram Sign in | Join | Help


Announcing the results of our Winter/Spring Contest!

  •  04-25-2008, 2:40 PM

    Announcing the results of our Winter/Spring Contest!

    We had seven entries in our Winter/Spring contest (or just our "latest contest", announced in January, for our southern hemisphere entrants), for best use of math in a program. Thanks to everyone who entered! It was great to see what you came up with, and there was a lot of diversity in how you each pursued this challenge!

    In announcing the results, I’ll start by summarizing each entry, and let you know which three are the finalists. Then I’ll rank the top three as second runner-up, first runner-up and grand-prize winner. In case you’re too impatient to read these judging notes, just scroll down to the end!

    Entry summaries (in order of entry submission date)

    1) Calculator, by Nick. Nick, you quickly became one of our most active members, with nearly 200 posts since joining in January – your love for programming is infectious! Apart from this program, you’ve also uploaded several others and its clear that you are poised to follow in your dad’s footsteps as a “master programmer.” As for the merits of your entry, you came up with a two-step process for applying the four basic mathematical operators of +, -, * and /. Your program is compact and concise and gets the job done but it has a few “fit and finish” issues. The most obvious weakness is that the minus operation repeats itself nine times on the screen - for no obvious reason, I might add! The add and multiplication operations work fine but the clear console after the delay leaves the user with a blank screen but no prompt on what to do next (except use the ‘exit the program’ button), and the divide operation didn’t seem to work at all. So as a first-time entry, your program is a decent effort, but it doesn’t didn’t make it into the finals. Looking forward to seeing another one of your programs in a future contest!

    2) Asteroids Math, by Davidinnz. David in NZ, you an even newer member of the Phrogram community than Nick, and it’s great to see some new faces in our forums! In your game, a spaceship is tasked to blow up asteroids with numbers that match the product of the equation at the bottom of the screen. As you noted in your post, the shell of the game is from other Asteroids examples included with Phrogram, but you have done nice work giving it a fun math slant. As your upload notes also indicate, your program is extensible with other types of equations, and levels. Your use of Phrogram’s “undocumented” handling of constructors is not an issue; in fact, as we work on improving our documentation, it’s probably worth covering it, as described in the “generic collections” post you started last month (thanks for flagging the point). All things considered, though, and in light of the competition, your entry also doesn’t quite find its way into the finalist circle, although by all accounts, your ongoing efforts will land you there on another contest in the not-too-distant future!

    3) A_Game, by Sjrek. Sjrek, you have been a longtime Phrogram user, and your entry reflects your solid knowledge of both programming and math. It shows the physics-based interaction between the mouse, represented by a dark blue ball, on light blue balls that the user creates, either by double-clicking on the mouse (for a few balls) or hitting the “A” key (for lots of balls). The balls then behave around each other and the mouse in accordance with various principles, including gravity, friction and momentum. If you stop using the mouse and stop clicking, all the balls end up in relatively stationary positions at the bottom of the screen affected primarily (it seems) by “air friction.” So, how does this program stack up to the others? Well, it’s definitely one of the top two in terms of advanced math, and the visual display of that math, using your built-in randomness factors for starting speed, is intriguing. The comments are great so it’s also easy to modify the code to change the forces and thus see the differences in their effect on display. It’s really hard to fault this program, Sjrek – so we won’t even try. But with the competition being very stiff on this contest, we made a gut decision to recognize the work of a few other programmers who gave our users math programs that seemed a little more engaging than watching a single dark blue ball and lots of little blue balls move around the screen. Not that we didn’t enjoy playing with your program for the first half-hour or so!

    4) CalculateArea, by ChristmasWhistler. With extensive commenting, this game walks the user through an intriguing method for calculating the area of any polygonal shape based on a determinant. The program starts by having the user set the determinant with a line that is given a specific length in one of three units of measurement. The user is then prompted to draw a polygon with up to 100 (wow!) vertices. It then calculates the area in square feet, meters, kilometers, etc. This program reflects not only very solid math, but also very well crafted code, with nice error detection through a trace command (when the map is misspelled) and nice closure of the polygon when the distance between the start and end points is small enough to assume that that's what the user meant to do (and we really don’t quite know how that is accomplished!) All in all, this program makes it into the top three through sheer force of math intellect and nice graphics to boot!

    5) Butterfly Chase, by Rust Family. Rust Family, this is your second consecutive entry in a Phrogram programming contest and while you didn’t enter as many programs as the last time, we love your ongoing enthusiasm for programming in Phrogram. As was true in your entries for our Fall contest, your programs are very solid on graphic design and wonderfully creative. In this game, the user must catch butterflies with an equation that matches the answer noted at the bottom of the screen. The background noise sounds suspiciously like the crickets hanging around that beautiful Chinese pagoda on your Phrojong Solitaire game, and who knew that mathematical butterflies make the same sound as crickets? ;) The math is fun and engaging and it is challenging to play, especially on a smaller screen where you can’t see the numbers on the butterfly wings all that well! There is much to like about this fun game, so yes, it too advances to our finalist list!

    6) MoonPhase, by TomDad. This father and son team has been in the winner’s circle before so there is no doubt that they’ve got the chops to deliver another great program, this time on math. And as the comments in their code shows, they have “done the math” to make this program an accurate depiction of the phase of the moon at the time the program is run. The key to this program is clearly in the PhaseCalculator() method. What might be interesting, although it is not immediate obvious how to do it, would be to make this program give the moon phase for a date entered by a user, not the date taken from the computer’s clock. But that’s for another project. All things considered, while this is a very interesting application of math to astronomical data, and deserves kudos, it too (like Sjrek's A_Game) gets inched off the finals list by the prowess of our other contestants!

    7) Math2D, by MichaelH. This program is the most interesting visual 2D display of math data that we’ve ever seen. The math here is a computation of a shadow effect based on an object being directly in front of the light object when it is in the center of the screen. Apart from the cool display of the objects as they burst forth when you start the program, their design and rotation effects are all pure math. It’s hard not to recognize this program as a very solid example of mathematical thinking, so it’s our third and last entry to the finalists list.

    Prize winners

    Now it’s time to rank the top three. Of course, this is a highly subjective process because all the finalists are very solid programs, and your own opinion may reasonably differ. (In fact, for our next contest, we plan on switching to a community vote mechanism for deciding the ranking of our finalists). But, after due consideration, here are the official results of the judges!

    • 2nd runner up goes to Butterfly Chase, a great little game that takes easy math and makes it as fun and exciting as, well chasing butterflies on a beautiful spring day. Congratulations, Rust Family, you win your choice of Phrogram Talk or Precision Math!
    • 1st runner up goes to Math2D, a fascinating display of shadow effects on math objects in a 2D environment … Congratulations, MichaelH, you have won a free copy of Phrogram Express!
    • And the winner is (drum roll, please) ... CalculateArea, by ChristmasWhistler, for a really well conceived and fun to use program that takes what might be a random polygon and gives it a precise measurement using a single line length determinant. Congratulations, ChristmasWhistler, you win a free copy of Phrogram Standard!
    Second Runner-UpFirst Runner-Up& the Winner is ...

    Again, thanks to everyone who submitted a contest entry, hope to see you back on the next one and hope we get some other folks giving it a shot too. So, stay tuned for our next programming contest, to be announced sometime this summer!

    DavidW, for
    the Phrogram Team

    Filed under:
View Complete Thread