How to resolve the algorithm Nim game step by step in the V (Vlang) programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Nim game step by step in the V (Vlang) programming language

Table of Contents

Problem Statement

Nim is a simple game where the second player─if they know the trick─will always win.

The game has only 3 rules:

To win every time,   the second player simply takes 4 minus the number the first player took.   So if the first player takes 1,   the second takes 3; if the first player takes 2,   the second should take 2; and if the first player takes 3,   the second player will take 1. Design a simple Nim game where the human player goes first, and the computer always wins. The game should enforce the rules.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Nim game step by step in the V (Vlang) programming language

Source code in the v programming language

import os { input }

fn show_tokens(tokens int) {
    println('Tokens remaining $tokens\n')
}

fn main() {
    mut tokens := 12
    for {
        show_tokens(tokens)
        t := input('  How many tokens 1, 2, or 3? ').int()
        if t !in [1, 2, 3] {
            println('\nMust be a number between 1 and 3, try again.\n')
        } else {
            ct := 4 - t
            mut s := 's'
            if ct == 1 {
                s = ''
            }
            println('  Computer takes $ct token$s \n')
            tokens -= 4
        }
        if tokens == 0 {
            show_tokens(0)
            println('  Computer wins!')
            return
        }
    }
}

  

You may also check:How to resolve the algorithm Terminal control/Cursor positioning step by step in the jq programming language
You may also check:How to resolve the algorithm Arrays step by step in the Component Pascal programming language
You may also check:How to resolve the algorithm Anagrams/Deranged anagrams step by step in the Haskell programming language
You may also check:How to resolve the algorithm Remove duplicate elements step by step in the MATLAB programming language
You may also check:How to resolve the algorithm Sierpinski carpet step by step in the Go programming language