Opgepast! Het lijkt erop dat je Dodona gebruikt binnen een andere webpagina waardoor mogelijk niet alles goed werkt. Laat dit weten aan de lesgever zodat die het probleem kan oplossen door een instelling in de leeromgeving aan te passen. Ondertussen kan je op deze link klikken om Dodona te openen in een nieuw venster.
Opgepast! De pagina kon niet volledig ingeladen worden, waarschijnlijk door een netwerkprobleem. Het kan zijn dat niet alle functionaliteit beschikbaar is. Probeer de pagina te verversen.
Snakes and ladders
Log in om je oplossingen te testen.
// Snakes and ladders program
using System;
using System.Collections.Generic;
class Submission
{
// -------------------------
// Globals
// -------------------------
static Random random_generator = new Random();
// -------------------------
// Subprograms
// -------------------------
static void Play(int[] board, int[] players)
{
int current_player = 0;
bool game_won = false;
while (!game_won)
{
int player_square = players[current_player];
Console.WriteLine();
Console.WriteLine("------------------------------------");
Console.WriteLine($"Player {current_player + 1}, it's your turn.");
Console.WriteLine($"You are on square {player_square}");
Console.WriteLine("Press Enter to roll the dice.");
Console.ReadLine();
int dice = random_generator.Next(1, 7);
Console.WriteLine($"You rolled a {dice}");
player_square += dice;
if (player_square > board.Length - 1)
{
player_square = board.Length - 1;
}
Console.WriteLine($"You moved to square {player_square}");
int board_square = board[player_square];
if (board_square < player_square)
{
Console.WriteLine("Oh no, you landed on a snake.");
player_square = board_square;
Console.WriteLine($"You are now on square {player_square}");
}
else if (board_square > player_square)
{
Console.WriteLine("Yay, you landed on a ladder.");
player_square = board_square;
Console.WriteLine($"You are now on square {player_square}");
}
if (player_square >= board.Length - 1)
{
game_won = true;
Console.WriteLine($"Player {current_player + 1} wins the game!");
}
else
{
players[current_player] = player_square;
Console.WriteLine("Press Enter for the next player to take their turn.");
Console.ReadLine();
current_player = (current_player + 1) % players.Length;
}
}
}
static int[] initialise_board(int squares)
{
int[] board = new int[squares + 1];
for (int square = 0; square <= squares; square++)
{
board[square] = square;
}
board[4] = 7;
board[6] = 15;
board[18] = 23;
board[19] = 2;
board[24] = 17;
return board;
}
static int[] Initialise_players()
{
int[] players = new int[2] { 1, 1 };
return players;
}
// -------------------------
// Main program
// -------------------------
public static void Main(string[] args)
{
int[] board = initialise_board(25);
int[] players = Initialise_players();
Play(board, players);
}
}