0% found this document useful (0 votes)
24 views2 pages

Program: Using Using Namespace Class Private Static Int Int New Int Int

This document contains C# code that defines a Snake and Ladder game. It includes a dictionary to define the snake and ladder board positions, a random number generator, and methods to simulate a player's turn and the overall game. The Turn method simulates rolling dice, moving the player, checking for snakes or ladders, and returning the new position. The Main method sets up 3 starting players and loops through turns until a player reaches square 100 and wins.

Uploaded by

Diana Iagar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views2 pages

Program: Using Using Namespace Class Private Static Int Int New Int Int

This document contains C# code that defines a Snake and Ladder game. It includes a dictionary to define the snake and ladder board positions, a random number generator, and methods to simulate a player's turn and the overall game. The Turn method simulates rolling dice, moving the player, checking for snakes or ladders, and returning the new position. The Main method sets up 3 starting players and loops through turns until a player reaches square 100 and wins.

Uploaded by

Diana Iagar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 2

using System;

using System.Collections.Generic;

namespace SnakeAndLadder
{
class Program
{
private static Dictionary<int, int> snl = new Dictionary<int, int>() {
{4, 14},
{9, 31},
{17, 7},
{20, 38},
{28, 84},
{40, 59},
{51, 67},
{54, 34},
{62, 19},
{63, 81},
{64, 60},
{71, 91},
{87, 24},
{93, 73},
{95, 75},
{99, 78},
};
private static Random rand = new Random();
private const bool sixesThrowAgain = true;

static int Turn(int player, int square)


{
while (true)
{
int roll = rand.Next(1, 6);
Console.Write("Player {0}, on square {0}, rolls a {0}", player,
square, roll);
if (square + roll > 100)
{
Console.WriteLine(" but cannot move.");
}
else
{
square += roll;
Console.WriteLine(" and moves to square {0}", square);
if (square == 100) return 100;
int next = square;
if (snl.ContainsKey(square))
{
next = snl[square];
}
if (square < next)
{
Console.WriteLine("Yay! Landed on a ladder. Climb up to {0}.",
next);
if (next == 100) return 100;
square = next;
}
else if (square > next)
{
Console.WriteLine("Oops! Landed on a snake. Slither down to
{0}.", next);
}
}
if (roll < 6 || !sixesThrowAgain) return square;
Console.WriteLine("Rolled a 6 so roll again.");
}
}
static void Main(string[] args)
{
// three players atarting on square one
int[] players = { 1, 1, 1 };
while (true)
{
for (int i = 0; i < players.Length; i++)
{
int ns = Turn(i + 1, players[i]);
if (ns == 100)
{
Console.WriteLine("Player {0} wins!", i + 1);
return;
}
players[i] = ns;
Console.WriteLine();
}
}
}
}
}

You might also like