Advertisement
otakus

Untitled

May 6th, 2011
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.56 KB | None | 0 0
  1.      
  2. int p1_score, p2_score;
  3. int roll1, roll2, roll3;
  4. int rollcount=0, turns;
  5. bool isEven, isOdd, is3kind, is2kind, is3inarow;
  6. bool player1;
  7. char roll,pressedYes;
  8. int big, mid, lil;
  9.      
  10.      
  11. int main(void){
  12.     cout<<"Welcome to Schmahtzee! It's just like Yahtzee...Except, not."<<endl<<endl<<endl;
  13.     srand(time(NULL));
  14.     player1=true;
  15.     do{
  16.         do{
  17.             roll1=1+rand()%6;
  18.             roll2=1+rand()%6;
  19.             roll3=1+rand()%6;
  20.        
  21.             rollcount++;
  22.  
  23.             cout<<endl;
  24.             if(player1)
  25.                 cout<<"It's time to roll, Player 1!"<<endl;
  26.             else
  27.                 cout<<"It's time to roll, Player 2!"<<endl;
  28.             cout<<endl;
  29.             cout<<"You rolled: " <<roll1<< ", " <<roll2<< ", and " <<roll3<<"."<<endl;
  30.             cout<<"Would you like to keep these(y/n)? ";
  31.             cin>>pressedYes;
  32.             if (pressedYes=='y'){
  33.                 if (roll1%2==0&&roll2%2==0&&roll3%2==0){isEven=true;}//3even
  34.                 if (roll1%2==1&&roll2%2==1&&roll3%2==1){isOdd=true;}//odd
  35.                 if (roll1==roll2&&roll1==roll3){is3kind=true;} //3 of a kind
  36.                                
  37.                 if (roll1>roll2&&roll1>roll3)//begin 3 in a row
  38.                         big=roll1;
  39.                 else if (roll1>roll2&&roll1<roll3)
  40.                         mid=roll1;
  41.                 else if (roll1>roll3&&roll1<roll2)
  42.                         mid=roll1;
  43.                 else
  44.                         lil=roll1;
  45.  
  46.                 if (roll2>roll1&&roll2>roll3)
  47.                         big=roll2;
  48.                 else if (roll2>roll1&&roll2>roll3)
  49.                         mid=roll2;
  50.                 else if (roll2>roll3&&roll2<roll1)
  51.                         mid=roll2;
  52.                 else
  53.                         lil=roll2;
  54.  
  55.                 if (roll3>roll1&&roll3>roll2)
  56.                         big=roll3;
  57.                 else if (roll3>roll1&&roll3<roll2)
  58.                         mid=roll3;
  59.                 else if (roll3>roll2&&roll3<roll1)
  60.                         mid=roll3;
  61.                 else
  62.                         lil=roll3;
  63.                
  64.                 if (big==mid+1&&big==lil+2){is3inarow=true;}//end 3 in a row
  65.                 if(roll1==roll2||roll2==roll3||roll1==roll3){is2kind=true;}//2 of a kind
  66.  
  67.                 cout<<"You could put them in: ";
  68.                 if(isEven)cout<<"(3 Evens)";
  69.                 if(isOdd)cout<<"(3 Odds)";
  70.                 if(is3kind)cout<<"(3 of a kind)";
  71.                 if(is2kind)cout<<"(2 of a kind)";
  72.                 if(is3inarow)cout<<"(3 in a row)";
  73.                 cout<<endl;
  74.                 cout<<"    Option 1: 3 odds (5 points)."<<endl;
  75.                 cout<<"    Option 2: 3 evens(5 points)."<<endl;
  76.                 cout<<"    Option 3: 3 of a kind (30 points)"<<endl;
  77.                 cout<<"    Option 4: 2 of a kind (face of 2)"<<endl;
  78.                 cout<<"    Option 5: 3 in a row(15 points)."<<endl;
  79.                 cout<<"So what'll it be?"<<endl;
  80.                 cin>>roll;
  81.  
  82.                 if (roll==1&&isOdd){
  83.                     if(player1)
  84.                         p1_score+=5;
  85.                     else
  86.                         p2_score+=5;
  87.                 }
  88.                 if (roll==2&&isEven){
  89.                     if(player1)
  90.                         p1_score+5;
  91.                     else
  92.                         p2_score+5;
  93.                 }
  94.                 if (roll==3&&is3kind){
  95.                     if (player1)
  96.                         p1_score+30;
  97.                     else
  98.                         p2_score+30;
  99.                 }
  100.                 if (roll==4&&is2kind){
  101.                     if (player1){
  102.                         if(roll1==roll2)
  103.                             p1_score+=roll1+roll1;
  104.                         else if(roll2==roll3)
  105.                             p1_score+=roll2+roll2;
  106.                         else
  107.                             p1_score+=roll3+roll3;
  108.                     }
  109.                     else{
  110.                         if(roll1==roll2)
  111.                             p2_score+=roll1+roll1;
  112.                         else if(roll2==roll3)
  113.                             p2_score+=roll2+roll2;
  114.                         else
  115.                             p2_score+=roll3+roll3;
  116.                     }
  117.                 }
  118.                 if (roll==5&&is3inarow){if (player1)
  119.                     p1_score+15;
  120.                 else
  121.                     p2_score+15;
  122.                 }
  123.             }
  124.             isEven=0;
  125.             isOdd=0;
  126.             is3kind=0;
  127.             is2kind=0;
  128.             is3inarow=0;
  129.         }while (rollcount<3&&pressedYes!='y');
  130.         if(player1)
  131.             player1=false;
  132.         else
  133.             player1=true;
  134.         turns++;
  135.     }while (turns<60);
  136.     cout<<"Player 1's Score:"<<p1_score<<endl;
  137.     cout<<"Player 2's Score:"<<p2_score<<endl;
  138.     if(p1_score>p2_score)
  139.         cout<<"Player 1 Won!"<<endl;
  140.     else if(p1_score<p2_score)
  141.         cout<<"Player 2 Won!"<<endl;
  142.     else
  143.         cout<<"It's a tie!"<<endl;
  144.     return 0;
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement