Эта программа - игра Snake & Ladder.
Она отлично работает, под этим я подразумеваю логику c игры, но я просто хочу добавить некоторые условия на кости во время броска например, бросание костей должно быть случайным, а сгенерированное число будет от 1 до 6, и наиболее важной частью является то, что игра начнется только тогда, когда число 6 придет, иначе она будет бросать кости. logi c как игра Snake and Ladder.
1) Число должно быть от 1 до 6. -> DONE
2) Бросайте кости, пока не придет 6, а затем начните игру, иначе попросите повторить бросание костей.
3) А как бросать кости случайно, а не вручную? Истинная случайность. -> СДЕЛАНО
Код
#include<iostream>
#include<bits/stdc++.h>
//// libraries for random number generation
//// rand() and srand() function help us to generate random number
#include<cstdlib>
////time library are used for time() function
#include<time.h>
using namespace std;
class Board{
int positionsnake[4] = {62,17,87,98};
int positionsnakefinal[4] = {18,7,36,79};
int positionladder[4] = {1,28,51,72};
int positionladderfinal[4] = {38,84,67,91};
unordered_map<int,int> snake;
unordered_map<int,int> ladder;
int position;
public:
Board(){
position = 0;
for (int i =0; i<4; i++)
{
snake[positionsnake[i]]=positionsnakefinal[i];
}
for (int j =0; j<4; j++)
{
ladder[positionladder[j]]=positionladderfinal[j];
}
}
int checkSnake_and_Ladder(int pos){
if(snake.find(pos)!=snake.end())
return snake.find(pos)->second;
if(ladder.find(pos)!=ladder.end())
return ladder.find(pos)->second;
return 0;
}
int updatePosition(int number){
if((position + number) > 100 )
return position;
position = position + number;
// Check Snake and ladder
int temp = checkSnake_and_Ladder(position);
if(temp!=0)
{
position = temp;
}
return position;
}
};
int randomNumber(){
int val;
val = rand() % 6 + 1;
}
int main(){
Board newBoard;
srand(time(NULL));
if(randomNumber() == 6){
int getinput, trackposition = 0;
cout<<"Welcome to Snake & Ladder Game!"<<"\n";
while(trackposition != 100 ){
cout<<"Roll a dice!"<<"\n";
cin>>getinput;
if(getinput > 6)
cout<<"Invalid Input"<<"\n";
else{
trackposition = newBoard.updatePosition(getinput);
cout<<"New postion:"<<trackposition<<"\n";
}
}
cout<<"You Won!";
}else{
randomNumber();
}
return 0;
}