Ejemplo n.º 1
0
/* Boutique */
void boutique(void)
{
	Menu menu;

	effacer();
	titre("Boutique", VERT);

	/* On affiche l'ASCII Art du marchand de la boutique */
	lireEtAfficher("ASCII_Art/ASCII_Art_Marchand_Boutique.txt");
	
	printf("\n\n");

	/* On affiche le texte de presentation du marchant de la boutique */
	lireEtAfficher("Boutique/Texte_Presentation_Marchand.txt");

	/* On affiche le nombre de tek du joueur */
	printf("Vous avez %d tek ;)\n", inventaire.tek.nbTek);

	/* 
	On cree un menu : 
		- Acheter des potions
		- Vendre des tresors
		- Sortir de la boutique

	Puis on demande ce que le joueur veut faire */
		
	menuNouveau(&menu);

	menuAjouter(&menu, acheterBoutique, "Acheter des potions");
	menuAjouter(&menu, vendreBoutique, "Vendre des tresors");
	menuAjouter(&menu, sortirBoutique, "Sortir de la boutique");

	menuChoisirSansOperationPossible(&menu, "Que souhaitez-vous faire ?");
}
Ejemplo n.º 2
0
void demanderMetierNouveauPersonnage(void)
{
	static const Metier baseTypeMetier[NB_METIER] = 
	{
		{"Paysan", 4, 0, 0},
		{"Assassin", 0, 4, 0},
		{"Forgeron", 0, 0, 4},
		{"Laboureur", 3, 1, 0},
		{"Charpentier", 3, 0, 1},
		{"Marchand", 1, 3, 0},
		{"Macon", 0, 3, 1},
		{"Bourreau", 1, 0, 3},
		{"Marechal", 0, 1, 3},
		{"Mineur", 2, 2, 0},
		{"Chevalier", 0, 2, 2},
		{"Alchimiste", 2, 0, 2},
		{"Meunier", 2, 1, 1},
		{"Boulanger", 1, 2, 1},
		{"Boucher", 1, 1, 2}
	};
	unsigned int choixJoueur;

	effacer();
	titre("Nouvelle Partie", VERT);

	printf("Quel metier voulez-vous choisir ?\n\n");
	afficherDifferentMetier();
	choixJoueur = choisirMenuSansOperationPossible(NB_METIER);

	strcpy(personnage.metier, baseTypeMetier[choixJoueur - 1].nomMetier);
	personnage.sante += baseTypeMetier[choixJoueur - 1].sante;
	personnage.protection += baseTypeMetier[choixJoueur - 1].protection;
	personnage.degatParTour += baseTypeMetier[choixJoueur - 1].degatParTour;
}
Ejemplo n.º 3
0
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: on_pushButton_0_clicked(); break;
        case 1: on_pushButton_1_clicked(); break;
        case 2: on_pushButton_2_clicked(); break;
        case 3: on_pushButton_3_clicked(); break;
        case 4: on_pushButton_4_clicked(); break;
        case 5: on_pushButton_5_clicked(); break;
        case 6: on_pushButton_6_clicked(); break;
        case 7: on_pushButton_7_clicked(); break;
        case 8: on_pushButton_8_clicked(); break;
        case 9: on_pushButton_9_clicked(); break;
        case 10: on_pushButton_Plus_clicked(); break;
        case 11: on_pushButton_Moins_clicked(); break;
        case 12: on_pushButton_Mul_clicked(); break;
        case 13: on_pushButton_DIV_clicked(); break;
        case 14: afficheClavier(); break;
        case 15: effacer(); break;
        case 16: changeMode((*reinterpret_cast< int(*)>(_a[1]))); break;
        default: ;
        }
        _id -= 17;
    }
    return _id;
}
Ejemplo n.º 4
0
void BlocAliens::deplacer() {
	effacer();
	for (int ligne = 0; ligne < hauteur; ligne++) {
		for (int colonne = ecartGauche; colonne < ecartGauche + largeur;
				colonne++) {
			if (getAlien(ligne, colonne) != NULL) {
				getAlien(ligne, colonne)->deplacerPosition(direction);
			}
		}
	}
	dessiner();
	switch (direction) {
	case DEPL_BAS:
		positionLigne++;
		break;
	case DEPL_HAUT:
		positionLigne--;
		break;
	case DEPL_DROITE:
		positionColonne++;
		break;
	case DEPL_GAUCHE:
		positionColonne--;
		break;
	}
}
Ejemplo n.º 5
0
void titre(const char *s, const unsigned int typeCouleur)
{
	effacer();
	
	couleur(typeCouleur);
	printf("\t\t\t\t%s\n\n", s);
	couleur(BLANC);
}
Ejemplo n.º 6
0
// Création de la fenêtre à l'écran. Cette méthode n'existe que pour pouvoir se passer 
// de constructeur avec paramètres pour les débutants en C++.
void Fenetre::apparait(const char *titre, int large, int haut, int x, int y, int r, int v, int b) {
    if (!existe) {    
    	fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL); // création de la fenêtre
    	gtk_window_set_title(GTK_WINDOW(fenetre), titre); // mise en place du titre
    	gtk_window_set_default_size (GTK_WINDOW(fenetre), large, haut); // taille minimale
    	
        // mise en place d'un contenant dans cette fenêtre
        contenant = gtk_vbox_new (FALSE, 0);
        gtk_container_add (GTK_CONTAINER (fenetre), contenant);
        gtk_widget_show (contenant);
    
        /* Création de la zone graphique pour la fenêtre */
        zoneDeDessin = gtk_drawing_area_new ();
        gtk_widget_set_size_request (GTK_WIDGET (zoneDeDessin), large, haut);
        gtk_box_pack_start (GTK_BOX (contenant), zoneDeDessin, TRUE, TRUE, 0);
        gtk_widget_show (zoneDeDessin);
        
        dessin=NULL; // pas de bitmap pour le moment il sera crée par l'exposition
        boutonAppuye=-1; // indicateurs pour la souris non positionnés
        sourisX=-1; sourisY=-1;
        fond.red=r; fond.green=v; fond.blue=b; // couleur de fond selon paramètre
        existe=TRUE; // le fenêtre est utilisable
    
        /* Signaux utilisés pour fermer la fenêtre */
    	g_signal_connect(G_OBJECT(fenetre), "destroy", 
                G_CALLBACK(Fenetre::relais_supprime_event), this);
        g_signal_connect(G_OBJECT(fenetre), "delete_event", 
                G_CALLBACK(Fenetre::relais_detruire_event), this);
                
        /* Signaux utilisés pour rafraîchir l'écran */
        g_signal_connect (G_OBJECT (zoneDeDessin), "expose_event",
    		    G_CALLBACK (Fenetre::relais_expose_event), this);
        g_signal_connect (G_OBJECT (zoneDeDessin), "configure_event",
    		    G_CALLBACK (Fenetre::relais_configure_event), this);

        /* Signaux utilisés pour la souris */
        g_signal_connect (G_OBJECT (zoneDeDessin), "motion_notify_event",
    		    G_CALLBACK (Fenetre::relais_bouge_event), this);
        g_signal_connect (G_OBJECT (zoneDeDessin), "button_press_event",
    		    G_CALLBACK (Fenetre::relais_bouton_event), this);

         // signaux autorisés dans la zone de dessin
        gtk_widget_set_events(zoneDeDessin, GDK_EXPOSURE_MASK
            | GDK_LEAVE_NOTIFY_MASK
            | GDK_BUTTON_PRESS_MASK
            | GDK_POINTER_MOTION_MASK
            | GDK_POINTER_MOTION_HINT_MASK);
    
        choixFonte("times"); // fonte initiale
        
        gtk_widget_show_all(fenetre); // visible
    
        deplacerEn(x,y); // position initiale de la fenêtre
		delai(100); // ce délai est nécessaire pour que la première écriture dans la fenêtre soit prise en compte
		effacer(); // au départ la fenêtre est de la couleur de fond choisie
        }
}
Ejemplo n.º 7
0
////////////////////////////////////////////////////////////////////////
///
/// @fn void DeleteTool::deleteBuffer()
///
/// Suppression des objets en tampon.
///
/// @return Aucune.
///
////////////////////////////////////////////////////////////////////////
void DeleteTool::deleteBuffer()
{
	while (!buffer.empty())
	{
		auto parent = buffer.top()->obtenirParent();
		parent->effacer(buffer.top());
		buffer.pop();
	}
}
Ejemplo n.º 8
0
Liste::~Liste()
{
	premier();
	for (int i = 0; i < get_longueur(); i++)
	{
		effacer();
		suivant();
	}
}
Ejemplo n.º 9
0
/* Affiche un texte lorsque le joueur se trouve sur la porte de la sortie */
void afficherTextePorteSortie(void)
{
	effacer();
	titre("Porte de sortie", VERT);

	/* Si le joueur possede la cle de fin de niveau */
	if(inventaire.possedeCleFinNiveau)
	{
		unsigned int choixJoueur;

		/* On affiche un texte indiquant le passage du prochain niveau */
		lireEtAfficher("Sortie/Texte_Porte_Sortie_Cle.txt");

		/* On demande si le joueur veut faire un tour a la boutique avant de passer au prochain
		niveau */
		choixJoueur = demanderConfirmation("Voulez-vous aller dans la boutique ? (0/1)", SEPARATION);

		/* S'il veut */
		if(choixJoueur == OUI)
			/* On appelle la fonction boutique */
			boutique();

		appuyezEntree("\nAppuyez sur ENTREE pour acceder au prochain niveau");

		/* On enleve la cle de fin de niveau de l'inventaire du joueur */
		inventaire.possedeCleFinNiveau = 0;
		/* On incremente de 1 la variable niveauActuel du joueur pour indiquer le passage au 
		prochain niveau */
		++(personnage.niveauActuel);

		/* On sauvegarde l'inventaire pour que le joueur conserve l'inventaire entre le passage
		de niveau */
		sauvegarderInventaire();

		/* On vide le dossier de sauvegarde sur le niveau (car on va changer de niveau) */
		viderDossierNiveauSauvegarde(personnage.nom);

		/* On relance le jeu */
		jeu();
	}
	/* Sinon */
	else
	{
		/* On affiche un texte indiquant qu'il faut une cle au joueur pour passer la porte */
		lireEtAfficher("Sortie/Texte_Porte_Sortie.txt");
		
		appuyezEntree("\nAppuyez sur ENTREE pour continuer");
	}
}
Ejemplo n.º 10
0
void sauvegarderEtQuitterNiveau(void)
{
	unsigned int choixJoueur;

	effacer();
	titre("Sauvegarder et Quitter", VERT);

	choixJoueur = demanderConfirmation("Voulez-vous vraiment sauvegarder et quitter le niveau ici ? (0/1)", PAS_SEPARATION);

	if(choixJoueur == OUI)
	{
		sauvegarderNiveauActuel();
		coloration("\nSauvegarde terminee...\n", VERT);
		quitter();
	}
}
Ejemplo n.º 11
0
/* Categorie vente de la boutique */
void vendreBoutique(void)
{
	unsigned int choixJoueur;
	int indexTresor;

	effacer();
	titre("Boutique", VERT);

	/* Si le joueur a des tresors a vendre */
	if(joueurPossedeTresor())
	{
		/* On recupere l'index du tresor que le joueur souhaite vendre */
		indexTresor = demanderObjetAvendre();

		if(indexTresor != -1)
		{
			/* On demande la confirmation de la vente */
			choixJoueur = demanderConfirmation("Etes vous sur de vouloir vendre cet objet ? (0/1)", 
			SEPARATION);

			/* Si le joueur veut */
			if(choixJoueur == OUI)
			{
				/* On vend le tresor */
				vendreTresor(indexTresor);
				appuyezEntree("Appuyez sur ENTREE pour continuer vos ventes");
			}
			/* Si le joueur ne veut pas vendre, on le redirige simplement dans la categorie vente
			de la boutique*/


			/* On revient a la categorie vente de la boutique */
			vendreBoutique();
		}
	}
	/* Sinon le joueur n'a aucun tresor */
	else
	{
		/* On affiche qu'il n'a rien a vendre et on le redirige vers la boutique */

		printf("Vous n'avez rien a vendre ! :'(\n");
		appuyezEntree("Appuyez sur ENTREE pour revenir a la boutique");

		boutique();
	}
}
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: clavier(); break;
        case 1: effacer(); break;
        case 2: addpile(); break;
        case 3: undo(); break;
        case 4: redo(); break;
        case 5: clickedBt((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 6: evaluate(); break;
        case 7: eval(); break;
        case 8: duplicate(); break;
        case 9: drop(); break;
        case 10: clear(); break;
        case 11: toModeEntier(); break;
        case 12: toModeReel(); break;
        case 13: toModeRationnel(); break;
        case 14: toModeComplexe(); break;
        case 15: toModeBestFit(); break;
        case 16: toModeRadiant(); break;
        case 17: toModeDegre(); break;
        case 18: cos(); break;
        case 19: sin(); break;
        case 20: tan(); break;
        case 21: cosh(); break;
        case 22: sinh(); break;
        case 23: tanh(); break;
        case 24: ln(); break;
        case 25: log(); break;
        case 26: inv(); break;
        case 27: sqrt(); break;
        case 28: sqr(); break;
        case 29: sign(); break;
        default: ;
        }
        _id -= 30;
    }
    return _id;
}
Ejemplo n.º 13
0
t_ch_int	*connex_of(t_graphe *graphe, char *sommet, int **status, int *names)
{
  t_graphe	*res;
  int		*visite;
  t_ch_ch_int	*ttmp;
  t_ch_int	*conx;;

  conx = xmalloc(sizeof(*conx));
  visite = get_visite(graphe->taille);
  res = parcours_profondeur(graphe, sommet);
  for (ttmp = res->graphe; ttmp != NULL; ttmp = ttmp->next)
    {
      (*status)[get_index(ttmp->number, names, graphe->taille)] = 1;
      visite[get_index(ttmp->number, names, graphe->taille)] = 1;
    }
  effacer(res);
  conx = tab2ch(visite, names, graphe->taille);
  return (conx);
}
Ejemplo n.º 14
0
/* Categorie achat de la boutique */
void acheterBoutique(void)
{
	char commande[TAILLE_MAX];

	effacer();
	titre("Boutique", VERT);

	/* On affiche les explications pour la categorie achat de la boutique */
	lireEtAfficher("Boutique/Texte_Explication_Potion.txt");

	/* On affiche les prix */
	afficherPrixPotionBoutique();

	/* On lit la commande du joueur */
	printf("Que souhaitez-vous faire ? (-1 pour revenir dans la boutique)\n\n");
	printf("> ");
	lire(stdin, commande);

	/* On execute la commande du joueur */
	executerCommandeAcheterBoutique(commande);
}
/* Sauvegarde le niveau et quitte le jeu */
void sauvegarderEtQuitterNiveau(void)
{
	unsigned int choixJoueur;

	effacer();
	titre("Sauvegarder et Quitter", VERT);

	/* On demande la confirmation du joueur */
	choixJoueur = demanderConfirmation("Voulez-vous vraiment sauvegarder et quitter le niveau ici ? (0/1)", PAS_SEPARATION);

	/* S'il veut bien sauvegarder et quitter le niveau */
	if(choixJoueur == OUI)
	{
		/* On sauvegarde le niveau */
		sauvegarderNiveauActuel();
		/* On affiche un texte indiquant la fin de la sauvegarde */
		coloration("\nSauvegarde terminee...\n", VERT);

		/* On quitte */
		quitter();
	}
}
Ejemplo n.º 16
0
void AExtension::effacerDonnees()
{
	effacer();
	donnees.clear();
}
Ejemplo n.º 17
0
void TableauChiffres::setChiffres(const QVector<int> &chiffres) {
    effacer();
    m_chiffres.clear();
    m_chiffres = chiffres;
}
Ejemplo n.º 18
0
void afficher_sans_afficher(void) {
	effacer();
	nom_token(uniteCourante,nom,valeur);
}
Ejemplo n.º 19
0
Calculatrice::Calculatrice(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Calculatrice)
{

    ui->setupUi(this);
    connect(ui->addTab, SIGNAL(clicked()), this, SLOT(creerTab()));


    mapper = new QSignalMapper();

    connect(ui->BtBack, SIGNAL(clicked()), this, SLOT(effacer()));
    connect(ui->BtVider, SIGNAL(clicked()), ui->entreeTxt, SLOT(clear()));
    connect(ui->BtEnvoyer, SIGNAL(clicked()), this, SLOT(envoyer()));
    // PAVE NUMERIQUE
    connect(ui->Bt0, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt0, "0");
    connect(ui->Bt1, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt1, "1");
    connect(ui->Bt2, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt2, "2");
    connect(ui->Bt3, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt3, "3");
    connect(ui->Bt4, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt4, "4");
    connect(ui->Bt5, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt5, "5");
    connect(ui->Bt6, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt6, "6");
    connect(ui->Bt7, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt7, "7");
    connect(ui->Bt8, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt8, "8");
    connect(ui->Bt9, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->Bt9, "9");
    //OPERATEUR
    connect(ui->BtPlus, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtPlus, "+");
    connect(ui->BtMoins, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtMoins, "-");
    connect(ui->BtVirgule, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtVirgule, ",");
    connect(ui->BtSigne, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtSigne, "NEG");
    connect(ui->BtMult, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtMult, "*");
    connect(ui->BtDiv, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtDiv, "/");
    connect(ui->BtExpression, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtExpression, "'");
    connect(ui->BtPuissance, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtPuissance, "^");
    connect(ui->BtEspace, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtEspace, " ");
    //FONCTION
    connect(ui->BtFactoriel, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtFactoriel, "!");
    connect(ui->BtModulo, SIGNAL(clicked()), mapper, SLOT(map()));
    mapper->setMapping(ui->BtModulo, "%");


    connect(mapper, SIGNAL(mapped(const QString &)), this, SLOT(ecrire(const QString &)));
    creerTab();



}
Ejemplo n.º 20
0
void EntiteBase::deplacer(int direction){
	effacer();
	deplacerPosition(direction);
	dessiner();
}
Ejemplo n.º 21
0
void afficher(void) {
	effacer();
	nom_token(uniteCourante,nom,valeur);
	affiche_element(nom,valeur, TRACE_XML);
}