Pig the dice game: Difference between revisions
Content added Content deleted
(Added C code for the gam,e) |
|||
Line 697: | Line 697: | ||
Next jugador |
Next jugador |
||
Until false |
Until false |
||
</lang> |
|||
=={{header|C}}== |
|||
<lang c> |
|||
#include <stdio.h> |
|||
#include <stdlib.h> |
|||
#include <time.h> |
|||
const int NUM_PLAYERS = 2; |
|||
const int MAX_POINTS = 100; |
|||
//General functions |
|||
int randrange(int min, int max){ |
|||
return (rand() % (max - min + 1)) + min; |
|||
} |
|||
void ResetScores(int *scores){ |
|||
for(int i = 0; i < NUM_PLAYERS; i++){ |
|||
scores[i] = 0; |
|||
} |
|||
} |
|||
void Play(int *scores){ |
|||
int scoredPoints = 0; |
|||
int diceResult; |
|||
int choice; |
|||
for(int i = 0; i < NUM_PLAYERS; i++){ |
|||
while(1){ |
|||
printf("Player %d - You have %d total points and %d points this turn \nWhat do you want to do (1)roll or (2)hold: ", i + 1, scores[i], scoredPoints); |
|||
scanf("%d", &choice); |
|||
choice = tolower(choice); |
|||
if(choice == 1){ |
|||
diceResult = randrange(1, 6); |
|||
printf("\nYou rolled a %d\n", diceResult); |
|||
if(diceResult != 1){ |
|||
scoredPoints += diceResult; |
|||
} |
|||
else{ |
|||
printf("You loose all your points from this turn\n\n"); |
|||
scoredPoints = 0; |
|||
break; |
|||
} |
|||
} |
|||
else if(choice == 2){ |
|||
scores[i] += scoredPoints; |
|||
printf("\nYou holded, you have %d points\n\n", scores[i]); |
|||
break; |
|||
} |
|||
} |
|||
scoredPoints = 0; |
|||
CheckForWin(scores[i], i + 1); |
|||
} |
|||
} |
|||
void CheckForWin(int playerScore, int playerNum){ |
|||
if(playerScore >= MAX_POINTS){ |
|||
printf("\n\nCONGRATULATIONS PLAYER %d, YOU WIN\n\n!", playerNum); |
|||
exit(EXIT_SUCCESS); |
|||
} |
|||
} |
|||
int main() |
|||
{ |
|||
srand(time(0)); |
|||
int scores[NUM_PLAYERS]; |
|||
ResetScores(scores); |
|||
while(1){ |
|||
Play(scores); |
|||
} |
|||
return 0; |
|||
} |
|||
</lang> |
</lang> |
||