modeling-practice

Modeling Battleship in C# - Playing the Game

NOTE: This is the final part of a three-part series demonstrating how we might model the classic game Battleship as a C# program. Part 1 is over here. You might want to use the sample project over on GitHub to follow along with this post. Also, check out my other posts in the Modeling Practice series! With all the components and setup taken care of in the previous part of this series, it's now time to finish our system and... Read more >

Modeling Battleship in C# - Components and Setup

NOTE: This is Part 2 of a three-part series demonstrating how we might model the classic game Battleship as a C# program. Part 1 is over here. You might want to use the sample project over on GitHub to follow along with this post. Also, check out my other posts in the Modeling Practice series! In the first part of this series we discussed how to play a game of Battleship and what kinds of components and strategies we would... Read more >

Modeling Battleship in C# - Introduction and Strategies

NOTE: This is Part 1 of a three-part series demonstrating how we might model the classic game Battleship as a C# program. You might want to use the sample project over on GitHub to follow along with this post. Also, check out my other posts in the Modeling Practice series! In software development, often we programmers are asked to take large, complex issues and break them down into smaller, more manageable chunks in order to solve any given problem. I... Read more >

Modeling Practice: UNO in C# Part 3 - Final Steps and Playing The Game

Note: This post is the third in a three-part series which attempts to model the card game UNO as a C# application. Here's Part One and Part Two. You may want to use the GitHub repository to follow along. In the previous parts of this series we first saw how to play UNO and how to model the cards and moved on to how to model the player behavior. In this post, the last part of the series, we're going... Read more >

Modeling Practice: UNO in C# Part 2 - Player Behavior

Note: This post is the second in a three-part series which attempts to model the card game UNO as a C# application. Here's Part One. You may want to use the GitHub repository to follow along. Now that we have modeled the cards and the draw pile, we come to the first really tricky part of this modeling practice: we must model the players of the game AND how they will behave during the game itself. The first part (modeling... Read more >

Modeling Practice: UNO in C# Part 1 - Rules, Assumptions, Cards

Note: This post is the first in a three-part series based around modeling the card game UNO in a C# application. You may want to use the GitHub repository to follow along. I often find that one of the hardest things to do in software development is take a large complex problem and break it down into smaller, more easy problems. As with nearly anything, the only way to get better at this is to practice, so today I'm introducing... Read more >

Solving Minesweeper with C# and LINQ

Anybody who's spent any time at a Windows machine in the last 26 years has probably played a few games of Minesweeper: I mostly work in the ASP.NET space, and I'd been wondering for a few weeks how feasible it was to build a program that could solve Minesweeper automatically, similar to what I did for the board game Candy Land a few months ago. You can see where this is going: I wrote a Minesweeper solver program using... Read more >

Simulating Candy Land in .NET Part 2: Programming the Game

This is the second part of a two-part series detailing how to simulate the Hasbro board game Candy Land as a C# console project. Click here for Part 1 Now that we've got our basic classes defined and ready to go, we can start programming the game. However, the first thing we need to do is figure out how many Cards and BoardSpaces a standard game as. The Space In Between Of the two, the more difficult problem is the... Read more >
/* * * DON'T EDIT BELOW THIS LINE * * */ (function () { var s = document.createElement('script'); s.async = true; s.type = 'text/javascript'; s.src = '//' + disqus_shortname + '.disqus.com/count.js'; (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); }());