{"id":104,"date":"2010-10-06T19:05:00","date_gmt":"2010-10-06T18:05:00","guid":{"rendered":"https:\/\/pagan-gerbil.net\/?p=104"},"modified":"2010-10-06T19:05:00","modified_gmt":"2010-10-06T18:05:00","slug":"my-next-learning-project","status":"publish","type":"post","link":"https:\/\/www.pagan-gerbil.net\/?p=104","title":{"rendered":"My Next Learning Project"},"content":{"rendered":"<p>I\u2019ve long ago established that I learn best from doing things. Even if those \u2018things\u2019 never get anywhere, the journey through real problems helps me get a handle on what they are. My army list program got me through <a href=\"http:\/\/windowsclient.net\/wpf\/\">WPF<\/a>, and then <a href=\"http:\/\/www.asp.net\/mvc\">MVC<\/a>. It\u2019s faltered, since I don\u2019t really have the enthusiasm for it that I once did (I\u2019ve spent over a year on it, and as it is a learning project I keep needing to redesign things&#8230;)<\/p>\n<p>This brings me to my new idea. Everyone who is anyone in .NET programming at the moment is <a href=\"http:\/\/en.wikipedia.org\/wiki\/Unit_testing\">unit testing<\/a>. I\u2019ve read a lot about unit testing, and dependency injection, and all those things but I am not entirely convinced I am doing it right. It was when I tried to apply these things to the wargame tools \/ army list program that I realised I had lost my direction with that one, and it was time to move to something new. Sticking with what I knew best, I initially thought about a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Warhammer_Fantasy_Roleplay\">WFRP<\/a> (second edition, naturally) calculator or helper of some sort \u2013 then quickly abandoned that idea as madness.<\/p>\n<p>But what about an easier system? Necromunda is a relatively simple game system. Something to calculate the effects of it\u2019s combat, shooting modifiers, exotic weapons and the many charts and tables for the end-game clean-up would be ideal. If I felt adventurous, I could even add in <a href=\"http:\/\/en.wikipedia.org\/wiki\/Gorkamorka\">Gorkamorka<\/a> variants.<\/p>\n<p>The scope I am envisioning is a disconnected class library, capable of managing and running a game of Necromunda. In theory, I could hook it up to a Silverlight, WPF or XNA (ha!) frontend, and all the functionality will be there to go. I would just need to connect certain bits for display. As it is all pure logic, it should be a good way to practice unit testing using a Test-Driven Development approach.<\/p>\n<p>I\u2019ll be documenting each step of the way in here, so I am forced to think about and describe what I\u2019m doing. The rules for the game are available for free (click on the image to get them) from Games Workshop, so it shouldn\u2019t be a problem me mentioning the odd one or two, followed by reams of code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve long ago established that I learn best from doing things. Even if those \u2018things\u2019 never get anywhere, the journey through real problems helps me get a handle on what they are. My army list program got me through WPF, and then MVC. It\u2019s faltered, since I don\u2019t really have the enthusiasm for it that &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.pagan-gerbil.net\/?p=104\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;My Next Learning Project&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[43,62,63,64],"series":[73],"_links":{"self":[{"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=\/wp\/v2\/posts\/104"}],"collection":[{"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=104"}],"version-history":[{"count":0,"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=\/wp\/v2\/posts\/104\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=104"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/www.pagan-gerbil.net\/index.php?rest_route=%2Fwp%2Fv2%2Fseries&post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}