IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Pacman simplifié : chasseur et monstres aléatoires


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Pacman simplifié : chasseur et monstres aléatoires
    Je voudrais avoir de l'aide pour mon projet de programmation. Je suis en deuxième année au cégep au canada, et j'ai du mal èa commencer. Mon programme que je dois écrire se fait en langage C avec le logiciel dev++. Ils'agit d'un jeu comme pac-man mais moins compliqué. mon programme je l'ai appelé ChasseurDeMonstre.

    Le but du programme: J'ai une map ou une carte délimiter de 24 lignes et 79 colonnes. Il y a un chasseur (H) qui peut se déplacer à l'intérieur de la carte et plusieurs monstres (M) qui sont placés au hasard au débu du jeu. Les monstres sont immobiles. Pour le jeu, il y a un menu qui affiche les niveaux (au nombre de 3), les vies (3 maximum) et un minuteur.

    J'ai résussis a afficher ma carte de jeu. Par contre, je n'arriv pas créer le chasseur et le positionner dans la carte du jeu. je n'arrive pas à générer les monstres aléatoire sur ma carte de jeu.

    Voici ce que j'ai pu faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    #include <iostream>
    #include <stdio.h>
    #include "conio.h"
    #include <windows.h>
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    #define MAX 79 // 80 colonne maximum
    #define MIN 24 // 25 ligne minimum
    int main(int argc, char** argv) {
    	int i,j;
    	int mini=24;
    	int maxi=79;
    	for (i=2;i<mini;i++)
    	{
    		for (j=0;j<maxi;j++)
    		{
    			if (i==2 && j==0)
    				printf("%c",201);
    			else if (i==2 && j==maxi-1)
    				printf("%c",187);
    			else if (i==mini-1 && j==0)
    				printf("%c",200);
    			else if (i==mini-1 && j==maxi-1)
    				printf("%c",188);
    			else if (i==2 && j!=0)
    				printf ("%c",205);
    			else if (i==mini-1 && j!=0)
    				printf ("%c",205);
    			else if (i!=2 && j==0)
    				printf ("%c",186);
    			else if (i!=mini-1 && j==maxi-1)
    				printf ("%c",186);
    			else
    				printf (" ");
    		}
    		printf ("\n");
    	}
    	system ("pause");
    	return 0;
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Points : 387
    Points
    387
    Billets dans le blog
    3
    Par défaut
    Une question : tu utilises les API's Windows pour le rendu graphique ?

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Ton programme ne fait qu'afficher une carte. Pour ton jeu, il va falloir que ton programme "connaisse" la carte. Qu'il sache par exemple quelle case est libre, quelle case est occupée par un mur, un monstre, un chasseur. Bref qu'il ait en mémoire tous les points de ta carte avec ce qu'il y a sur le point en question.

    Ensuite les déplacements du chasseur et des monstres ne sera qu'une modification en X et en Y. A la limite, si tu commences ton code de cette manière, l'affichage deviendra un souci annexe et presque anodin (une fonction qui affiche à l'écran le jeu qu'il y a en mémoire et c'est réglé quoi...)

    PS: tu pourrais remplacer toutes tes valeurs "magiques" par les caractères correspondants. Si je veux afficher 'a' je n'écris pas printf("%c\n", 97), je préfère écrire printf("%c\n", 'a')...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Besoin d'aide pour mon projet Démineur
    Par Vances1 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 17/05/2017, 14h08
  2. besoin d'aide pour mon projet
    Par ayadiwadhah dans le forum C
    Réponses: 6
    Dernier message: 23/09/2014, 17h01
  3. Besoin d'aide pour mon projet "Recette de cuisine"
    Par Geralterego dans le forum Modélisation
    Réponses: 21
    Dernier message: 07/08/2014, 17h52
  4. Besoin d'aide pour un projet
    Par ZiMo dans le forum Linux
    Réponses: 9
    Dernier message: 24/10/2005, 00h28
  5. besoins de sujets pour mon projet
    Par Hydre dans le forum Windows
    Réponses: 2
    Dernier message: 24/08/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo