Go to content

Down the Oregon Trail with Functional C# | .NET Conf 2022

In 1971, three students from Minnesota thought they could liven up a history lecture by creating a computer game for the students to play, and after several days of work in HP Time Share BASIC, they came up with what turned out to be a significant milestone in the history of computer games - Oregon Trail. Oregon Trail is often regarded as one of the first great computer games, as well as being the originator of a franchise that is still running to this day. It was effectively also one of the first instances of both Shareware and a Commercial home release of(depending on the version). My interest though, isn't just in historical computer games, it's also .NET and Functional Programming. I want to use this as a worked example of one of my passions - Functional Programming in C#! The challenge I've set myself is to redevelop Oregon Trail into C# using the following restrictions: * Near 100% unit test coverage * No variables can change state once set * No statements (for, foreach, if, where, etc.) unless there literally is no way of avoiding them I'll also be demonstrating a few of the tricks Functional Programming can offer, like Higher-order functions, functional flows with simple Monads and Tail Recursion. There should also be a bit of retro computing fun, while we're at it. https://www.dotnetconf.net #DotNet #dotnetconf #dotnet7 πŸ™‹β€β™€οΈπŸ™‹β€β™‚οΈ Get your questions answered on the Microsoft Q&A for .NET: https://aka.ms/dotnet-qa 🏫 Learn C#, F#, and .NET with free self-guided learning from Microsoft Learn: https://aka.ms/learndotnet

November 14, 2022