Skip to content

Cycli/vuepoint-coding-test

Repository files navigation

VuePoint Solutions Coding Test

Introduction

This short coding task is intended to test your understanding of object-oriented programming, your ability to construct a solution based on a requirement and follow good coding and design practices.

Coding Task

Using C# or VB.NET, write a program that simulates a number of participants playing a series of rounds of Rock-Paper-Scissors. If you're unfamiliar with how this game is played, we've included a brief explanation at the end of this description.

This version of Rock-Paper-Scissors will have the following characteristics:

  • The winner is determined by who has the highest number of points after m rounds.
  • A point is awarded to a player for each hand gesture that defeats another player's gesture. No point's are awarded for the same gesture.
  • Rounds will be 'fair' - each player will not have privileged information about the other player's choice for a round. However, players are allowed to use their opponents previous rounds' choices to develop a strategy.
  • Within the fairness constraint, how the players choose which option to play is left to you.

When writing the simulation, you should consider how the code might support extensions to the game, for example, a more complex scoring system or the support for a human player.

We do not expect you to produce a graphical interface or output for the task - simple console output is fine. However, you should think carefully about how your design would support a graphical interface in the future.

You should also demonstrate how your code has been tested.

The Game of Rock Paper Scissors

Rock-Paper-Scissors is usually played between two people who, after a count of three, simultaneously make one of three hand gestures:

  • A closed fist to indicate a Rock
  • A flat hand to indicate Paper
  • Two fingers extended to represent Scissors

If both players make the same gesture, then the round is a draw. If the gestures are different, then the winner is decided as follows:

  • Paper beats Rock as Paper wraps Rock
  • Rock beats Scissors as Rock blunts Scissors
  • Scissors beats Paper as Scissors cut Paper

About

A coding test for VuePoint developer candidates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages