Skip to content

Add Math Game project - #763

Closed
Waaade105 wants to merge 2 commits into
the-csharp-academy:mainfrom
Waaade105:main
Closed

Add Math Game project#763
Waaade105 wants to merge 2 commits into
the-csharp-academy:mainfrom
Waaade105:main

Conversation

@Waaade105

Copy link
Copy Markdown

Math Game project submission for code review.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

🚀 Project Submitted!

Thanks for submitting your project! I will review it soon.

📋 Please check the dashboard to make sure the project is marked as Pending.

⚠️ If it's not marked as pending, submit it manually using the URL for this PR.

@Waaade105
Waaade105 marked this pull request as draft September 1, 2026 17:27
…switch statement and used modulo only for / operations
@Waaade105
Waaade105 marked this pull request as ready for review September 1, 2026 18:58
@TheCSharpAcademy TheCSharpAcademy self-assigned this Sep 2, 2026
@TheCSharpAcademy

TheCSharpAcademy commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

@Waaade105 Sorry about the delay. Project approved! 😄✅ The core requirements are met, input validation is handled better than in many first versions of this project, and the division logic avoids one of the most common bugs in this exercise. It's a shame you didn't complete all of the challenges this time, but nothing stops you from completing them later.

🥋You still need to submit your Freecodecamp certificate before you start earning belts 😊

👩‍🏫Feedback

🔍️One small refinement would be to create Random once rather than every time PlayGame() runs.

🔍️You could also simplify this:

int result = 0;

switch (operationSign)
{
    ...
}

into a switch expression:

int result = operationSign switch
{
    "+" => number1 + number2,
    "-" => number1 - number2,
    "*" => number1 * number2,
    "/" => number1 / number2,
    _ => throw new InvalidOperationException()
};

🔍For better readability, make sure you clean the console after each operation, or at least add more spacing between your prints, otherwise it gets crowded quite quickly:
image


🧐Challenges Review

✅ DRY / one method for different games This is one of the strongest parts of the submission.

❌ Difficulty levels: I don't see difficulty levels implemented. Every operation currently generates numbers in approximately the same 0–100 range.

❌ Timer: There is no timer tracking how long a game takes. Stopwatch would work nicely here.

❌ Random game The user currently chooses one operation and all five questions use that operation. A random-game mode could randomly select +, -, *, or / for each question.

🗺️ Suggested next step

I noticed that you haven't completed any of our courses yet. I suggest you try our Intro to Object Oriented Programming course next. This will close gaps in your knowledge and give you more confidence about OOP


☕If you like our roadmap, please consider buying us a coffee. We appreciate your help 🙂


Overall great work!✋🏻Looking forward to seeing your next projects!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants