C# 2019 Fall Homework Connect 4 - student code ending 0-4 MineSweeper - student code ending 5-9 Find basic classical gamerules from internet. Leg1 Deadline 2019-10-13 23:59:59 Menu system, board drawing, user input validation. Board size is not fixed! Give user an option to do custom size game. Connect 4 Allow only make legal moves, implement 2 player simple gameflow (just check for full board). MineSweeper Initialize board with random mines (look up for classical board sizes/mine counts). User should be able just open up any square, and discover is there a mine or not (you can always implement more!). Leg2 Deadline 2019-10-27 23:59:59 Implement game settings loading and saving from json file. Implement game save and load system to/from json (either save after every move, or have a command to save current game state). Allow multiple save games (ask filename from the user, check for overwriting). Allow continuing previously saved games (list all possible saved games). Implement "(non-) nullable reference types" in all your projects! All your project files should have this; enable Solution must rebuild without any warnings! Leg3 Deadline 2019-11-10 23:59:59 Replace json files with EF based database. Use SQLite. Leg4 - separate task - Book database https://enos.itcollege.ee/~akaver/CSharp/2018/bonus.txt Deadline 2019-11-24 23:59:59 No ViewBag/VieData in your Pages! ViewData/ViewBag is only allowed for sending data to _Layout. No magic strings in code! OK: TodoTaskCategorySelectList = new SelectList(_context.TodoTaskCategories, nameof(TodoTaskCategory.TodoTaskCategoryId), nameof(TodoTaskCategory.TodoTaskCategoryName)); NOT OK: TodoTaskPrioritySelectList = new SelectList(_context.TodoTaskPriorities, "TodoTaskPriorityId", "TodoTaskPriorityName"); LEG FINAL - finalize home project Deadline - defence before examination Examination dates: 2019-12-21, 2020-01-06, 2020-01-10 Write your home project as asp.net razor pages solution. Start playing game in console, save state to db, and continue the same game in web, and then save it and continue in console. Use the same game engine (class library) between console and web app. Make a nice and usable UI! UI out of buttons/table is totally ok (but make it nice). Connect4 - implement gameplay against computer (computer makes random moves - or make it better). Homework Defence Register here: 2019-12-20 https://doodle.com/poll/pek9fpnywsnfxprv 2019-12-30 https://doodle.com/poll/riyq5m2exsv8qerp 2020-01-09 https://doodle.com/poll/bqpb2dikyguwiupp You have to be there at the beginning of your alloted/selected hour!