EXERCISE TOPIC▼
- Access exercises (91)
- C# exercises (79)
- Excel exercises (278)
- Power Apps exercises (13)
- Power Automate exercises (18)
- Power BI exercises (139)
- Python exercises (28)
- Report Builder exercises (141)
- SQL exercises (198)
- SSAS exercises (51)
- SSIS exercises (46)
- SSRS exercises (99)
- VBA exercises (85)
- Visual Basic exercises (46)
C# EXERCISES▼
VISUAL C# EXERCISES▼
- Creating forms (4)
- Coding form events (1)
- Laying out your code (2)
- C# variables (4)
- Enumerations and constants (2)
- Conditions (2)
- Modular code (3)
- Arrays (2)
- Looping (2)
- Files and folders (3)
- Properties in C# (3)
- Using lists (3)
- Validating forms (6)
- Toolbars, menus and status bars (1)
- FileDialogs and StreamReaders (1)
- Debugging and trapping errors (1)
- Introduction to DataGridViews (1)
- DataGridView events (3)
- Complex DataGridViews (2)
- Creating classes (4)
- The form as a class (1)
- Data structures (6)
- Inheritance (5)
- Interfaces (2)
- Delegates and events (2)
- Writing LINQ (2)
- Advanced LINQ (2)
- Entity Frameworks (1)
- LINQ with Entity Frameworks (4)
- Grouping using LINQ (2)
- LINQ to SQL (2)
Visual C# | Interfaces exercise | Create an interface to play any game
This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.
Software ==> | Visual C# (79 exercises) |
Version ==> | Any version of C# |
Topic ==> | Interfaces (2 exercises) |
Level ==> | Harder than average |
Subject ==> | C# training |
You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.
Create a new project called InterfaceGames. Add all of the files in the above folder into your project apart from the images, then choose to add the owl images into the project's Resources folder:

Double-click on this folder to open it, then choose to add resources to it in a reasonably intuitive way.
You may well need to spend some time resolving compilation errors to do with namespaces and class names before continuing - nothing ever seems to import first time correctly!
Try running the project with 3 different start forms. This is what you should see:
Start form | What you should see |
---|---|
frmStart | A form with two buttons on, to play Countdown or Pairs. |
frmCountdownLetters | A form for playing the letters game in Countdown. |
frmPairsGame | A form for playing pairs. |
Write an interface so that the following code works (note that the games are quite basic, and aren't the point of this exercise)!
private void btnCountdown_Click(object sender, EventArgs e) {
// button to play Countdown
Countdown g = new Countdown();
RunGame(g);
}
private void btnPairs_Click(object sender, EventArgs e) {
// button to play Pairs
Pairs p = new Pairs();
RunGame(p);
}
private void RunGame(IGame game) {
// play any game which implements IGame interface
game.Play();
MessageBox.Show(game.Results);
}
You'll need to create an IGame interface and Countdown and Pairs classes which implement it.
Here's what you might see after playing Countdown:

The system will display the letters chosen.
After playing Pairs, you might see a message like this:

Hopefully you'll improve on this, though!
If you have any spare time, you could always improve on the two games' code!