Skip to main content

Fun with planets

screenshot Over the holidays I finally got around to doing some recreational coding again. The results even surprised me so I thought I’d share it with my blog-readers. So here it is, your very own planitarium. Planets flying around with real gravity just like Newton taught us (who needs all that fancy new-fangled relativity anyway), and if you feel like it you can even play God and slingshot planets into outer space. Just try clicking anywhere in or around the window.

I also included the source code although I’m not particularly proud of it. I’ve spent more time playing with the program than actually writing nice code. It’s been a long time since I’ve actually written code without tests. The code itself is quite simple. There’s a galaxy object that contains and handles all the planet interaction. There’s a body object that comes in two flavours, a normal one and a mousebody that represents the mouse position. They both implement IBody so the Galaxy doesn’t care what bodies there are. The normal body objects fly around. The MouseBody always has the position of the mousepointer and only has mass when you push a mousebutton.

That’s about it. There’s a planetariumview and a presenter object that handle painting the whole planet stuff. There’s a Time object that wraps a timer for the heartbeat and there is a program that wires it all together.

Enjoy! and let me know if you do anything fun with it.

Code:

Planetarium.rar (13.85 kb)

Binary:

Planetarium.exe (16.00 kb)

Comments

Popular posts from this blog

Using xUnit.Net with .Net 4.0

I’ve been using xUnit.Net for a while now. It’s just a tiny bit cleaner and slightly less abrasive than other .Net unit testing frameworks. Leaving out unnecessary stuff like [TestFixture] and shortening Assert.AreEqual to the equally clear but shorter Assert.Equal don’t seem like big improvements but when you type them several times a day tiny improvements start to add up. I also like the use of the [Fact] attribute instead of [Test]. It shifts the focus from testing to defining behavior. So how do we get all this goodness working with the Visual Studio 2010 beta?

Running a Git repository on Ubuntu using Gitosis

20I’ve been using Git for a couple of small projects that I’ve been hosting on github.com but version control for my bigger ‘secret’ projects still runs on a windows machine with visual svn server.Now that I’m starting to use Mono for a couple of projects so I’m playing with linux more. Last week I decided to try to try out gitosis on an ubuntu server. I found out it’s pretty easy to use when you know your way around git but for a noob like me some things weren’t immediately clear. Eventually I solved most problems I ran into, so I decided to write up the steps I took to install gitosis on ubuntu 10.04

Android development resource links

I've been playing with the Android SDK and I have a growing list of bookmarks to Android dev resources for my own use. I thought the best place to keep them would be here on my blog. That way other people can benefit too. I'll keep updating this list so feel free to add suggestions in the comments.