Hej!
Har fastnat på mitt tändsticksspel. Spelet skall gå till såhär.
I det här spelet för två spelare börjar spelarna med att det ligger femton tändstickor på bordet. Spelarna turas om att ta tändstickor från bordet. När en spelare ska ta tändstickor får hon välja mellan att ta 1, 2 eller 3 tändstickor. Den som tar sista stickan är vinnaren av partiet. Du ska skriva ett program som låter användaren spela detta spel mot datorn. Programmet ska slumpa vem som börjar. Datorn skall spela optimalt i mening att om den kan säkra en seger så skall den göra det. Det betyder bland annat att om datorn börjar kommer den alltid att vinna. Om den vid ett drag inte kan säkra segern får den göra valfritt drag.
min kod
int computer, user, result, totalsticks = 15;
printf("The computer will randomly select who will start. There are total of 15 matchsticks. Please select between 1-3 matchsticks. The last user who selects the last matchstick will loose.\n");
srand(time(NULL));
rand()%2;
result = rand()%2;
while (totalsticks > 1)
{
if (result == 0)
{
printf("The computer draws: %d\n", computer);
result = 1;
}
else
{
printf("Please draw between 1-3 matchsticks.");
scanf("%d", &user);
result = 0;
}
Jag tror att datorn måste plocka ut 2st om den börjar och därefter plocka ut beroende vad user plocka ut. Tips på hur man gör det? dessutom måste jag skriver ut tändstickorna i "|" och inte siffror, tips?
Har fastnat på mitt tändsticksspel. Spelet skall gå till såhär.
I det här spelet för två spelare börjar spelarna med att det ligger femton tändstickor på bordet. Spelarna turas om att ta tändstickor från bordet. När en spelare ska ta tändstickor får hon välja mellan att ta 1, 2 eller 3 tändstickor. Den som tar sista stickan är vinnaren av partiet. Du ska skriva ett program som låter användaren spela detta spel mot datorn. Programmet ska slumpa vem som börjar. Datorn skall spela optimalt i mening att om den kan säkra en seger så skall den göra det. Det betyder bland annat att om datorn börjar kommer den alltid att vinna. Om den vid ett drag inte kan säkra segern får den göra valfritt drag.
min kod
int computer, user, result, totalsticks = 15;
printf("The computer will randomly select who will start. There are total of 15 matchsticks. Please select between 1-3 matchsticks. The last user who selects the last matchstick will loose.\n");
srand(time(NULL));
rand()%2;
result = rand()%2;
while (totalsticks > 1)
{
if (result == 0)
{
printf("The computer draws: %d\n", computer);
result = 1;
}
else
{
printf("Please draw between 1-3 matchsticks.");
scanf("%d", &user);
result = 0;
}
Jag tror att datorn måste plocka ut 2st om den börjar och därefter plocka ut beroende vad user plocka ut. Tips på hur man gör det? dessutom måste jag skriver ut tändstickorna i "|" och inte siffror, tips?