Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write the code to simulate a game of snakes and ladder for 1 player and have it

ID: 3570813 • Letter: W

Question

Write the code to simulate a game of snakes and ladder for 1 player and have it compute the average number of moves per games. Your time loop is really a toss loop. Each time is a toss. Print the trajectories for the first 10 players, and then compute the average for 100,000 players, each indivdual. So this is mainly two for loops, nested. You may creat an auxilliary jump and fall 2-D Array which tells where to jump/fall. http://en.wikipedia.org/wiki/Snakes_and_Ladders#mediaviewer/File:Cnl03.jpg says it in 1 picture. Or go to: http://en.wikipedia.org/wiki/Snakes_and_Ladders I just want the C++ code, complete and ready to run in Dev C++. Grade depends purely on the code. Non working code gets partial credit.

Explanation / Answer

//***************************************************************
// Source Code
//****************************************************************

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
#include<time.h>

void draw_line(int n,char ch);
void board();
void gamescore(char name1[],char name2[],int p1, int p2);
void play_dice(int &score);

void main()
{
int player1=0,player2=0,lastposition;
char player1name[80],player2name[80];
clrscr();
randomize();
draw_line(50,'=');
cout<<" SNAKE LADDER GAME ";
draw_line(50,'=');
cout<<" Enter Name of player 1 :";
gets(player1name);
cout<<" Enter Name of player 2 :";
gets(player2name);
while(player1<=100 && player2<=100)
{
board();
gamescore(player1name,player2name,player1,player2);
cout<<" --->" <<player1name<<" Now your Turn >> Press any key to play ";
getch();
lastposition=player1;
play_dice(player1);
if(player1<lastposition)
cout<<" Oops!! Snake found !! You are at postion "<<player1<<" ";
else if(player1>lastposition+6)
cout<<" Great!! you got a ladder !! You are at position "<<player1;
cout<<" --->"<<player2name<<" Now your Turn >> Press any key to play ";
getch();
lastposition=player2;
play_dice(player2);
if(player2<lastposition)
cout<<" Oops!! Snake found !! You are at position "<<player2<<" ";
else if(player2>lastposition+6)
cout<<" Great!! you got a ladder !! You are at position "<<player2<<" ";
getch();
}
clrscr();
cout<<" ";
draw_line(50,'+');
cout<<" RESULT ";
draw_line(50,'+');
cout<<endl;
gamescore(player1name,player2name,player1,player2);
cout<<" ";
if(player1>=player2)
cout<<player1name<<" !! You are the winner of the game ";
else
cout<<player2name<<" !! You are the winner of the game ";
draw_line(50,'+');
getch();
}

void draw_line(int n,char ch)
{
for(int i=0;i<n;i++)
cout<<ch;
}

void board()
{
clrscr();
cout<<" ";
draw_line(50,'-');
cout<<" SNAKE AT POSITION ";
draw_line(50,'-');
cout<<" From 98 to 28 From 95 to 24 From 92 to 51 From 83 to 19 From 73 to 1 From 69 to 33 From 64 to 36 From 59 to 17 From 55 to 7 From 52 to 11 From 48 to 9 From 46 to 5 From 44 to 22 ";
draw_line(50,'-');
cout<<" LADDER AT POSITION ";
draw_line(50,'-');
cout<<" From 8 to 26 From 21 to 82 From 43 to 77 From 50 to 91 From 62 to 96 From 66 to 87 From 80 to 100 ";
draw_line(50,'-');
cout<<endl;
}

void gamescore(char name1[],char name2[],int p1, int p2)
{
cout<<" ";
draw_line(50,'~');
cout<<" GAME STATUS ";
draw_line(50,'~');
cout<<" --->"<<name1<<" is at position "<<p1<<endl;
cout<<" --->"<<name2<<" is at position "<<p2<<endl;
draw_line(50,'_');
cout<<endl;
}

void play_dice(int &score)
{
int dice;
dice=random(6)+1;
cout<<" You got "<<dice<<" Point !! ";
score=score+dice;
cout<<"Now you are at position "<<score;
switch(score)
{
case 98 :score=28;break;
case 95 :score=24;break;
case 92 :score=51;break;
case 83 :score=19;break;
case 73 :score=1;break;
case 69 :score=33;break;
case 64 :score=36;break;
case 59 :score=17;break;
case 55 :score=7;break;
case 52 :score=11;break;
case 48 :score=9;break;
case 46 :score=5;break;
case 44 :score=22;break;
case 8 :score=26;break;
case 21 :score=82;break;
case 43 :score=77;break;
case 50 :score=91;break;
case 54 :score=93;break;
case 62 :score=96;break;
case 66 :score=87;break;
case 80 :score=100;
}
}

//***************************************************************
// END OF PROJECT
//***************************************************************