Welcome to Phrogram Sign in | Join | Help
in Search


Announcing the results of our Winter/Spring Contest!

Last post 04-30-2008, 2:29 PM by davidw. 6 replies.
Sort Posts: Previous Next
  •  04-25-2008, 2:40 PM 6573

    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:
  •  04-26-2008, 1:14 PM 6581 in reply to 6573

    Re: Announcing the results of our Winter/Spring Contest!

    Congratulations, ChristmasWhistler! Great work!

    Just 1 question, David. How did you do the mouseover pictures?  


    The mind is like a parachute: it works best when open.
  •  04-26-2008, 2:38 PM 6587 in reply to 6573

    Re: Announcing the results of our Winter/Spring Contest!

    Congratulations, ChristmasWhistler, MichaelH and Rust Family! Well done. (And to all the other entrants, too, for making it a contest.)
    Filed under:
  •  04-27-2008, 3:13 AM 6589 in reply to 6587

    Re: Announcing the results of our Winter/Spring Contest!

    Well done all...the quality of the enrties makes things a lot harder these days!
    TomDad. Tom is my son...and I'm his Dad. So we are TomDad Software.
  •  04-28-2008, 12:32 PM 6597 in reply to 6573

    Re: Announcing the results of our Winter/Spring Contest!

    Team Phrogram,

    Wow.  Color me surprised.  I really felt the entries were very solid for this contest and my chances of winning small.  I mean, take a look at the screen shots of the three Phrograms above.  Which one looks the coolest?  Certainly not the one with a circle and with some lines drawn on it (smile)!

    Congratulations to all.

    Like I say in the comments - the heavy lifting math portion of the program is done in less than 5 lines of code.  A for-loop is all that you need once you have all the points in your polygon.

    But, as DavidW hinted - there is some good code to be borrowed for your Phrograms too.  Take a look at the initialize() method.  This method reads in two text files that determine how CalculateArea will run.  The first sets up the environment for debugging statements that can be strategically placed in your code to help, well, debug.  It also establishes the language that shall be used.  All the language-based output is stored in a second file.  The default is enus (English-USA) but could easily be replaced with frfr (French-French) or cafr (Candian-French) or anything else.  Then, have a friend translate the

    CalculateAreaMRI.enus

    CalculateAreaMRI.enus

    file to German-German (dede) or whatever - and your program now speaks a different language.

    Well, check it out.

    Thanks again, you all, for your help and guidance in this Forum.  I "lurk" just about every day - learning bits and pieces that I apply over time.

    Regards,


    ChristmasWhistler
    http://www.christmaswhistler.com
    (\ _/)
    (- . -) This is bunneh. Copy and paste him to
    (")-(") your signature, so that he may gain popularity and eventually rule the world
  •  04-30-2008, 1:27 PM 6603 in reply to 6587

    Re: Announcing the results of our Winter/Spring Contest!

    And to all the other entrants, too, for making it a contest.

    Indeed. 


    The mind is like a parachute: it works best when open.
  •  04-30-2008, 2:29 PM 6605 in reply to 6603

    Re: Announcing the results of our Winter/Spring Contest!

    Hey winners, email me (davidw@phrogram.com) for more info on how to get your prize.

    ChristmasWhistler - - while as you point out, the "hard math" component of your program wasn't all that complex, it was very creative and elegantly accomplished. And, as an overall work - including the experience of using the program, the comments, and what others can learn from it - it really was a solid effort. Plus, we didn't judge solely on the "visuals" - if we had, you are right, the ranking would probably have been different - and you came up with a nice implementation of the steps in using the program. Again - very nice job!

    Dragon Rider - - in answer to your earlier question, the way I make a picture clickable is first I put it on the web somewhere so it has its own URL. I use the Phrogram webserver but you could use something like photobucket (which a lot of people with MySpace pages use). Then you click on the "insert/edit image button" that is on the compose message menu bar and enter the URL. Then, with the image selected, you click on the "insert/edit link" tool and add a URL link to the image. You can also do this by accessing the message's HTML directly, using the "edit HTML source button."

    If anyone has ideas for the next contest, please start a new message. It would be great to get community input on that. Nick wrote earlier that a 3D game contest would be fun, and that's one possibility. We did several game contests early on so we've been trying to create a little varierty as well.

View as RSS news feed in XML