Programmer l'ordinateur dans un jeu

Résolu/Fermé
jomulex Messages postés 7 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 septembre 2011 - 21 sept. 2011 à 05:18
jomulex Messages postés 7 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 septembre 2011 - 22 sept. 2011 à 18:40
Bonjour,
Bonjour,
J'ai un exercice de programmation en C. Je dois creer un jeu qui stimule un dé aleatoirement, un jeu entre un joueur etl'ordinateur, je peux bien programmer pour le joueur avec les aleatoires, mais je me demande comment faire jouer l'ordinateur quand sa sera son tour en utilisant le meme algorithme du jeu? Je ne sais vraiment pas par ou commencer.
Toute piste sera la bienvenue.
Merci bien.



A voir également:

8 réponses

periplasme Messages postés 391 Date d'inscription vendredi 22 avril 2011 Statut Membre Dernière intervention 5 février 2013 53
22 sept. 2011 à 18:00
je vois pas ou est le soucis ... on choisit alétaroirement un chiffre de 1 a 6, puis on demande au joueur d'entrer la valeur sur laquelle il mise, puis on génere a nouveau un chiffre al"atoire pour le choix de l'ordinateur ... non ?

au pire montre dans quel état est ton code, on pourra alors t'aider a comprendre les correction a faire !
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
21 sept. 2011 à 08:41
moi, je ne vois même pas comment stimuler un dé... peut être avec des décharges électriques.
0
jomulex Messages postés 7 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 septembre 2011
21 sept. 2011 à 16:34
Bonjour
Stimuler un de c'est vous le lancer, il donne des chiffres aleatoires compris dans l'intervalle de 1 a 6.
C'est juste une generation des nombres aleatoires dans cet intervalle.
0
periplasme Messages postés 391 Date d'inscription vendredi 22 avril 2011 Statut Membre Dernière intervention 5 février 2013 53
21 sept. 2011 à 16:57
je plussois jomulex : utilise ton algo d'alea pour la génération du dé, et du lancer de l'ordinateur ! c'est pas plus compliqué ;-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 sept. 2011 à 08:49
Oui, mais un ordinateur c'est lourd à lancer !
Sinon, je ne vois pas comment un ordinateur peut me lancer un dé...? Ha si, en le mettant sur le tiroir du lecteur de CD et en lui demandant de l'ouvrir. Il te reste à bricoler un support pour mettre le dé devant le tiroir comme ça l'ordinateur pourra jouer lui aussi.
0
jomulex Messages postés 7 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 septembre 2011
22 sept. 2011 à 15:13
Salut
Merci periplasme
C'est la ou il y a la probleme, je me demande comment utiliser le meme algorithme du joueur pour l'intelligence artificielle aussi. Existe-t-il une commande qui fait sa?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 sept. 2011 à 16:53
non.
0
jomulex Messages postés 7 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 septembre 2011
22 sept. 2011 à 18:40
Merci periplasme

Ce dont vous parlez a deja ete fait, j'ai ecris un code pour faire le choix du joueur qui commence en premier.
Voici le code:
Il est correct et il marche, mais mon probleme c'est de pouvoir faire jouer l'intelligence articielle quand sa sera son tour.

En sortie sur la console, je veux avoir un truc du genre:

JOUEUR AI(Intelligence art.)

0 0

espace pour lancer !

AI
3 3
2 5
4 9

a chaque lancer vous decidez d'arreter en appuyant sur ENTER ou de continuer en appuyant sur SPACE
/*************************************************************************
* Par : Cédric BULA BULA MULENGA *
* Date de correction : le 18 octobre 2011 *
* Fichier : creé le 12 septembre 2011 *
* Modifié le : 21 sept 2011, *
* Ce programme est un simulateur du jeu PIG *
* *
* *
* Le jeu se joue entre deux joueurs qui qui lancent un dé a tour de role *
* et accumule des points pour des lancers differents de 1. A un lancer *
* de 1, il perd son tour et ainsi de suite.
*Les deux joueurs sont principalement un joueu (Vous p.ex) et l'intelligence *artificielle. *
*************************************************************************/


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

/*ALEATOIRE DU CHOIX DU PREMIER JOUEUR*/
/* Cette fonction retourne le nombre aleatoire qui determinera qui jouera
en premier entre le joueur et l'intelligence artificielle.
joueur : valeur inferieure de l'intervalle, de type entier.
ai : L'intelligence artificielle comme valeur superieure de lìntervalle
aleatoire, de type entier.
*/
int nb_aleatoire1(int joueur, int ai)
{
return (int)(joueur + rand() / (RAND_MAX + 0.01) * (ai - joueur + 1));
}

int main(void)
{
/*Affichage des regles du jeu a l'ecran*/
printf("--------------------------------------------------------------------------------\n");
printf("\t\t\t\t\t PIG\n");
printf("--------------------------------------------------------------------------------\n\n");
printf("Votre objectif:\t Atteindre 100 points avant l'intelligence\n");
printf("\t\t artificielle afin de gagner la partie.\n\n");
printf("La règle du jeu est telle que vous lancez un dé. Vous pouvez relancer tant que\n");
printf("vous n'obtenez pas un 1 ou arrêter a n'importe");
printf("quel moment. Si vous décidez d'arrêter, tous les lancers du tour");
printf("en cours sont additionner a votre score. Si vous obtenez 1 avant");
printf("de décider d'arrêter, vous avez aucun point\n\n\n");
printf("BONNE CHANCE !!!\n\n");
system("PAUSE");
system("CLS");
{
/*Choix du joueur qui jouera en premier*/
int i;
srand((unsigned int) time(NULL)); /*Pour l'initialisation de rand*/
rand();
for(i = 0; i < 1; i++)
{
if (nb_aleatoire1(1, 2) == 1)
{
/*Affichage du message pour que le premier joueur selectionné commence*/
printf("Vous commencez en premier\n\n");
}
else
{
printf("L'ordinateur commence en premier\n\n");
}
}
}
system("PAUSE");
system("CLS");


return 0;
}
0