![]() Groupe : Admins Messages : 2097 |
Bonjours à tous et à toutes .Hier soir je me suis mis à apprendre à programmer en C. Presque comme du PHP , sa m'arrange bien .J'ai créé mon premier jeu. Le TP n°1 du SDZ . Et je l'ai amélioré avec tous les conseils d'amélioration du tuto .Sinon, comme je l'avais promis dans un autre sujet il y a déjà un petit moment , voici mes 2 RPG créés avec RMXP. Pas fini, mais je ne penses pas les continuer... Mais par contre il se pourrit bien que je fasse un grand tutorial sur la création de RPG si sa en intéresse quelques un d'entre vous .Voilà A bientôt, Lb |
Groupe : Membres Messages : 126 |
pour ton rpg il marque une des bibliothèque nécessaire à cette application n'a pas été trouvé Ps ton jeu en c il est vraiment facile même en mode difficile
|
![]() Groupe : Admins Messages : 2097 |
^^ Pour le jeu en C tu as choisi 2 joueurs, donc normalement 1 joueur entre un nombre et l'autre doit le trouver .Pour les RPG, lien du premier post édité
|
![]() Groupe : Admins Messages : 2097 |
Un nouveau petit jeu qui se joue à deux : le jeu des allumettes ! Pour ceux qui ne conaissent pas Fort Boyard celui qui prends la dernière alumette à perdu. Code source : main.c Code C: #include <stdio.h> #include <stdlib.h> #include "main.h" long nbPointsJoueur1=0; long nbPointsJoueur2=0; long jouerEncore=1; long nballumettes=10; long nballumettesPrends=0; long noJoueur=1; long noJoueurGagnant=0; long noJoueurCommence=1; long nballumettesOk=0; int main() { printf("Bienvenue dans le jeu des allumettes !nCe jeu se joue a deux. Celui qui prend la derniere allumette a perdu.nVous ne pouvez pas prendre plus de 3 allumettes à la fois.nn"); while(jouerEncore==1){ long nballumettes=10; long nballumettesOk=0; long nballumettesPrends=0; long noJoueurGagnant=0; long noJoueurCommence=noJoueur; while(nballumettes!=1){ afficheallumettes(nballumettes); printf("Joueur %ld, combien d'allumettes prenez vous ? ",noJoueur); scanf("%ld",&nballumettesPrends); printf("nn"); if(verifieNombre(nballumettesPrends,nballumettes)){ noJoueur=changeJoueur(noJoueur); nballumettes-=nballumettesPrends; }else{ if(nballumettes-1>3){ nballumettesOk=3; }else{ nballumettesOk=nballumettes-1; } printf("Veuillez choisir un nombre entre 1 et %ld.n",nballumettesOk); nballumettes=redemandeNballumettes(nballumettes,noJoueur); noJoueur=changeJoueur(noJoueur); } } metPointsJoueurGagnant(noJoueur); printf("Le joueur %ld a perdu cette partie.nnJoueur 1 : %ld pointsnJoueur 2 : %ld pointsnnVoulez vous refaire une partie ? ",noJoueur,nbPointsJoueur1,nbPointsJoueur2); scanf("%ld",&jouerEncore); if(jouerEncore==1){ noJoueur=changeJoueur(noJoueurCommence); } } gagnantJeu(nbPointsJoueur1,nbPointsJoueur2); return 0; } long afficheallumettes(long nballumettes){ while(nballumettes!=0){ printf("|"); nballumettes--; } printf("nn"); } long verifieNombre(long nballumettesPrends,long nballumettes){ if(nballumettesPrends<=3 && nballumettesPrends>0 && nballumettes>nballumettesPrends){ return 1; }else{ return 0; } } long changeJoueur(long noJoueur){ if(noJoueur==1){ return 2; }else{ return 1; } } long redemandeNballumettes(long nballumettes,long noJoueur){ long nballumettesPrends=0; printf("Combien d'allumettes prenez vous ? "); scanf("%ld",&nballumettesPrends); printf("nn"); if(verifieNombre(nballumettesPrends,nballumettes)){ nballumettes-=nballumettesPrends; noJoueur=changeJoueur(noJoueur); }else{ if(nballumettes-1>3){ nballumettesOk=3; }else{ nballumettesOk=nballumettes-1; } printf("Veuillez choisir un nombre entre 1 et %ld.n",nballumettesOk); nballumettes=redemandeNballumettes(nballumettes,noJoueur); } return nballumettes; } long metPointsJoueurGagnant(long joueurPerdant){ if(joueurPerdant==1){ nbPointsJoueur2++; noJoueurGagnant=2; }else{ nbPointsJoueur1++; noJoueurGagnant=1; } } long gagnantJeu(long nbPointsJoueur1,long nbPointsJoueur2){ if(nbPointsJoueur1>nbPointsJoueur2){ printf("nLe joueur 1 gagne le jeu.nnJoueur 1 : %ld pointsnJoueur 2 : %ld points",nbPointsJoueur1,nbPointsJoueur2); }else{ printf("nLe joueur 2 gagne le jeu.nnJoueur 1 : %ld pointsnJoueur 2 : %ld points",nbPointsJoueur1,nbPointsJoueur2); } } main.h Code C: long afficheallumettes(long nballumettes); long verifieNombre(long nballumettesPrends,long nballumettes); long changeJoueur(long noJoueur); long redemandeNballumettes(); long metPointsJoueurGagnant(long joueurPerdant); long gagnantJeu(long nbPointsJoueur1,long nbPointsJoueur2); |
Groupe : Membres Messages : 30 |
C'est pour quand l'intelligence artificielle sur les allumettes ?
|
![]() Groupe : Admins Messages : 2097 |
^^ Bonne question Là je viens de finir le chapitre sur les pointeurs... encore un petit bout avant l'intelligence artificielle
|
Groupe : Membres Messages : 103 |
Un peu gros mais pas mal (redeclaration de variables )Tu vas voir les pointeurs en fait c'est assez simple le pire c'est les deux chapitres qui sont après .Tiens je m'y met aussi, voici deux jeux que j'ai réalisé en python : Ya pas les tabulations argh ! Plus ou moins : Code PYTHON: #!/usr/bin/python # Importation de la fonction randrange pour generer un nombre aleatoirement from random import randrange # Initialisation de la variable recommencer recommencer = 0 while recommencer == 0: # Generation du nombre et declaration de la variable joueur nombre_cache = randrange(0, 100) nombre_joueur = -50 nombre_coup = 0 # Boucle tant que le nombre n'est pas trouve while nombre_cache != nombre_joueur: # On demande le nombre nombre_joueur = input("Entrez un nombre compris entre 0 et 100 : ") # et on le compare if nombre_joueur < nombre_cache: print "Plus grand" elif nombre_joueur > nombre_cache: print "Plus petit" nombre_coup = nombre_coup + 1 print "Vous avez trouve ! Le nombre etait " , nombre_cache , " !" print "Vous avez trouve le nombre en ",nombre_coup, " coup(s) !" recommencer = input("Recommencer ?nOui = 0 Non = 1n") Pendu : Code PYTHON: #!/usr/bin/python # -.- coding: latin-1 -* # Pour effacer la console import os # Pour prendre un mot aléatoirement from random import randrange # Fonction qui arrête le script si la variable passée en argument contient des chiffres def is_str(string): if string.isalpha() == 0: print "Pas de chiffre ou de caracteres accentues !" raw_input('Quitter') exit() # Fonction qui vérifie que la chaîne passée en argument ne contient qu'un seul caractères def sup(lettre): if len(lettre) > 1: print "Juste une seule lettre !" raw_input('Quitter') exit() print "Bienvenue dans le jeu du Pendu !" print "N'utilisez pas de caracteres accentues.n" # Variables utilisées compteur = 0 coups = 0 max_coups = input("Combien de coups au maximum ?") + 1 lettre = "" mot_cache = "" # Mode un joueur ou mode 2 joueurs if input("Mode 1 joueur -> 1nMode 2 joueurs -> 2n") == 2: mot_cache = raw_input("Joueur 2, entrez le mot a faire deviner.n").lower().replace("'" , "") is_str(mot_cache) else: f = open('words.txt') # Ouverture du dico liste = f.readlines() mot_cache = liste[randrange(1, len(liste) )] # Choix aléatoire mot_cache = mot_cache[0:-1] # Enlève le retour à la ligne de fin os.system('cls') # Efface la console mot = "" taille_mot = len(mot_cache) print "Bienvenue dans le jeu du Pendu !" print "N'utilisez pas de caracteres accentues.n" # Création de la variable contenant autant de # que de caractères dans le mot caché while compteur < taille_mot: mot += "#" compteur+=1 # C'est parti while mot != mot_cache: if max_coups - coups != 0: # S'il reste encore des coups à joueur compteur = 0 # On remet le compteur à 0 coups += 1 # et on rajoute un coups print mot print "Il vous reste" , max_coups - coups , "coup(s) a jouer" lettre = raw_input("Proposer une lettre : ").lower() print "n" is_str(lettre) sup(lettre) # On regarde s' il y a la lettre rentrée dans le mot caché while compteur < taille_mot: if mot_cache[compteur] == lettre: mot = mot[:compteur] + lettre + mot[compteur+1:] compteur += 1 else: # Plus de coups à jouer, c'est la fin print "C'est fini, vous avez perdu ! Le mot etait " , mot_cache , " !" raw_input('Quitter') exit() print "Bravo vous avez trouve le mot cache :" , mot_cache ,"en" , coups , "coup(s)." raw_input('') Vous pouvez les télécharger ici (hébergés sur mon ordi, donc si le site est inaccesible c'est que mon ordi est éteint). |
![]() Groupe : Membres Messages : 617 |
lbeetls01, le problème de ton jeu c'est que une fois le jeu terminé, tu proposes au joueur le choix de continuer. Le problème, c'est qu'il faut savoir que 1 = continuer et que 0 = arrêter. Donc tu devrais faire : Code C: // Tu proposes le choix ici int jouerok = 0; while (jouerok != 1) { if (jouerEncore == 'oui' || jouerEncore == 'Oui') { long jouerEncore = 1; int jouerok = 1; // Ici tu mets la suite de ton code } elseif (jouerEncore == 'non' || jouerEncore == 'Non') { long jouerEncore = 0; int jouerok = 1; } else { printf("Merci d'entrer une reponse valide !"); } } Et aussi, ne met pas d'accents car pendant la compliation ils sont remplacés par des signes spéciaux
Si l'homme descends du singe... La tecktonik manifestement y remonte... |
![]() Groupe : Membres Messages : 72 |
C'est marrant ton jeu d'allumette, Par contre quand il demande si tu veux refaire une partie, je mets oui et ça m'affiche pleins de ligne à n'en plus finir EDIT : D'ailleur si à la place de 1, 2 ou 3 on mets un, deux ou trois ça fait les aussi les messages à la matrix
![]() |
![]() Groupe : Membres Messages : 129 |
Le C/C++ c'est chaud, je préfère approfondir le niveau de mon PHP/SQL plutôt que d'apprendre un autre langage mais c'est une bonne initiative, bon courage
Newser sur le Site du Zéro. |
![]() Groupe : Membres Messages : 617 |
C'est ce que je dis, faut placer mon code
Si l'homme descends du singe... La tecktonik manifestement y remonte... |
![]() Groupe : Admins Messages : 2097 |
Ok Bon je vais pas le modifier maintenant parce que c'était surtout pour mettre en pratique ce que j'avais appris. Ensuite faudra que je continue à l'apprendre (surtout apprendre à utiliser des librairies pour gérer les fenêtres, etc... et virer cette console ) mais maintenant je me suis lancé dans l'ActionScript (une surprise pour CP est bientôt prévue ).Bref, je vous tiens au courant
|
![]() Groupe : Membres Messages : 617 |
C'est clair que la SDL c'est passionant
Si l'homme descends du singe... La tecktonik manifestement y remonte... |