[Console]Jeu pokémon pour m'entrainer,besoin d'aide

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
ZeCluedo
Messages : 4
Inscription : jeu. 08/mai/2008 7:38

[Console]Jeu pokémon pour m'entrainer,besoin d'aide

Message par ZeCluedo »

Salut ! Je débute en PureBasic et je voudrais faire un jeu en DOS
pokémon,tout con,pour m'entrainer avec les variables,conditions...

Voila un apercu de ce que je cherche a faire :

Code : Tout sélectionner

Bonjour.Tu est ici pour affronter les plus grands pokémons au monde.Choisis ton niveau :

-novice
-confirmé
-expert

Je vois que tu es donc un (niveau)
Tu va donc affronter(Pikachu si novice, Kadabra si confirmé,Léviator si expert)
Le combat peut commencer !
Tu es donc un réel (niveau) ! Ton pokémon est (Salamèche si novice,Reptincelle si confirmé,Florizarre si expert)
Que désire tu faire ?
-Attaquer
-Passer le tour
-Quitter le programme d'entrainement

[Si tu attaque : (pokémon) perd (10 pv si novice,30 si confirmé,50 si expert)][Pokémon adverse attaque,(pokémon) perd (5 pv si novice,25 si confirmé et 58 si expert)][Après chaque attaque adverse,on revient au menu "Que désire tu faire ?"
[Si tu passe le tour : pokémon adverse attaque directemment]
[Si tu quitte : le programme se ferme]

Voilà ce que je voudrais,voila mon code,vous allez rire,mais aidez moi svp

Code : Tout sélectionner

OpenConsole()
PrintN("Bonjour.Tu est ici pour affronter les plus grands pokemons au monde.Choisis ton niveau :")

test1 = novice
test2 = confirme
test3 = expert

PrintN("Tu va donc affronter" + Str(test))


test4 = Salameche
test5 = Reptincelle
test6 = Dracaufeu

PrintN("Le combat peut commencer !")
PrintN("Tu es donc un reel" + Str(test) " ! Ton pokemon est (test )

PrintN("Que desire-tu faire ?)
PrintN("Attaquer)
PrintN("Passer le tour")
PrintN("Quitter le programme d'entrainement")

Input()
Je vous le rapelle,mon code est moisis,je débute depuis...1 jours :D donc en gros je voudrai savoir :
-quelles sont mes erreurs et il faut les remplacer par quoi

Et si vous êtes de bonne humeur ou que vous en avez envie : complétez mon code :lol:

A plus !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [Console]Jeu pokémon pour m'entrainer,besoin d'aide

Message par Backup »

ZeCluedo a écrit :Salut ! Je débute en PureBasic et je voudrais faire un jeu en DOS
faudra changer de language informatique !!

parcequ'en purebasic on ne peux pas programmer en DOS ...
(Selon Fred)

a part ça , il te faudra envisager une boucle
qui est la base de tout prg !!
c'est dans cette boucle que se dérouleront les combats...

je te conseille quand même d'aller faire un tour dans les Tuto du forum "débutants"

tu y apprendra les bases d'un prg :)
Dernière modification par Backup le jeu. 08/mai/2008 18:57, modifié 1 fois.
ZeCluedo
Messages : 4
Inscription : jeu. 08/mai/2008 7:38

Message par ZeCluedo »

ZeCluedo a écrit:
Salut ! Je débute en PureBasic et je voudrais faire un jeu en DOS
faudra changer de language informatique !!

parcequ'en purebasic on ne peux pas programmer en DOS ...
(Selon Fred)
Je voulais dire en console(la même chose ?)et sinon pas moyen de le faire sur une fenêtre ? Merci
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

non la console, n'est pas Dos !! :)

si tu peux envisager les fenetres a condition d'utiliser le mode Screen window

voici un exemple qui est basé sur l'ecran dans la fenetre :)

on peut tout faire avec un ecran, afficher des sprites (personages)
afficher du text, etc ...


Code : Tout sélectionner


#dobro =1
#Police =1

InitKeyboard () : ; j'espere qu'il y a un clavier au moins !!
Resultat = InitSprite () ; initialisation de la gestion des  Sprites par Purebasic

; ************** definition des variables ****************
EcranX = 800
EcranY = 600
; ***************************************************


; *********** ouvre une fenetre aucentre de l'ecran sans bordure, mais ayant la petite croix pour fermer *****************
WindowID = OpenWindow (1, 0, 0,EcranX, EcranY, "hello" , #PB_Window_SystemMenu|#PB_Window_BorderLess |#PB_Window_ScreenCentered )
; **************************************************************************************************

;********** placement d'un ecran graphique dans notre fenetre préalablement crée *************************    
Result = OpenWindowedScreen ( WindowID (1),0,0, EcranX,EcranY, 1, 0,0)
; *****************************************************************************************
    
; ******* creation d'un sprite ************
If CreateSprite (1,32,32) ; on creer un sprite vide (une cellule) de 32 par 32 et on lui donne le numero 1
    StartDrawing ( SpriteOutput (1) ) ; on va dessiner dedans !
        Circle (16,16,16, RGB (255,0,0)) ; on dessine un cercle rouge
    StopDrawing ()
EndIf
    ; ******************************************

; ********* preparation du point de depart de notre sprite *************************
x_sprite=EcranX/2 ; on centre les coordonées du sprite
y_sprite=EcranY/2 ; on centre les coordonées du sprite
    ; **************************************************************************
    
    
Repeat  ;*********  debut de boucle principale  **************************
    
    ExamineKeyboard (); on regarde si le clavier a ete touché par l'utilisateur 
    
    
    ; ************************ ecriture dans l'ecran *********************
    StartDrawing ( ScreenOutput ()) ; on va ecrire dans le fond de l'ecran
        Resultat = DrawText (50, 50, "appuyez sur les touches flechées" , RGB (255,255,0), RGB (0,0,0) )
        Resultat = DrawText (50, 150, "pour faire bouger le sprite" , RGB (255,255,0), RGB (0,0,0) )
    StopDrawing ()
    ; ******************************************************************
    
    ; le clavier a ete touché !!! 
    ; ********** gestion du clavier ***********************************
    If KeyboardPushed ( #PB_Key_Up ) ; press touche fleche haut
        Debug "press touche haut"
        y_sprite= y_sprite-1 ; diminue la coordonée Y du sprite 
    EndIf
    If KeyboardPushed ( #PB_Key_Down ) ; press touchefleche bas
        Debug " press touche bas"
        y_sprite= y_sprite+1 ; augmente la coordonée Y du sprite 
    EndIf
    If KeyboardPushed ( #PB_Key_Left ) ; press touche flechegauche
        Debug " press touche gauche"
        x_sprite= x_sprite-1  ; diminue la coordonée x du sprite 
    EndIf
    If KeyboardPushed ( #PB_Key_Right ) ; press touche flechedroit
        Debug " press touche droit"
        x_sprite= x_sprite+1  ; diminue la coordonée X du sprite 
    EndIf
    ; ****************************************************************
    
    
    ; ******* affichage du sprite ****************************************
    DisplaySprite (1, x_sprite, y_sprite) ; affiche le sprite au coordonées modifié par les touches
    ; ****************************************************************
    
    ; *************** affiche l'ecran ********************************
    FlipBuffers (): ; affiche l'ecran
    ; **************************************************************
    
    
    ; **** ok on nettoie pour le prochain affichage **********************
    ClearScreen ( RGB (0, 0, 0)) : ;efface l'ecran
    ; ***************************************************************
    
    Event= WindowEvent ()
    Delay (2)
Until Event= #PB_Event_CloseWindow Or KeyboardPushed ( #PB_Key_Escape ) ; press touche droit 
Kayne
Messages : 157
Inscription : sam. 06/oct./2007 18:33
Contact :

Message par Kayne »

Je crois que j'ai fait un grand tuto pour les débutants et la première partie est justement consacrée à la console, aux boucles et au condition.
http://tripamort.free.fr/tuto.php?action=afficher&id=15
__________________________________________

Débutant les tutoriels de mon site sont la pour vous n'hésitez pas à aller les voir: http://tripamort.free.fr/
__________________________________________
Kayne - Webmaster de http://tripamort.free.fr/
ZeCluedo
Messages : 4
Inscription : jeu. 08/mai/2008 7:38

Message par ZeCluedo »

Merci à toi Kayne :D
Dobro->compliqué pour moi ton code,tu en est a combien de mois/années de programation en Pure ?
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

Une machine est constituée de minuscules interrupteurs: soit le courant passe, soit çà ne passe pas. Les organigrammes
t'aideront a bien appréhender l'implacable logique de nos machines:
http://fr.wikipedia.org/wiki/Organigram ... grammation
Dernière modification par beauregard le dim. 11/mai/2008 16:11, modifié 1 fois.
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

Kayne a quand la suite des tes tutos et pourquoi il faut un mot de passe pour la suite?
Kayne
Messages : 157
Inscription : sam. 06/oct./2007 18:33
Contact :

Message par Kayne »

a dsl ça doit être une erreur faut que je corrige ça. Mais si tu fait annuler ca marche tu peut continuer.

Quand a la suite je la fait des que je peux, mais en fait il je lutte un peu pour faire le logiciel de traitement de texte. Mais ça devrait pas tarder.
__________________________________________

Débutant les tutoriels de mon site sont la pour vous n'hésitez pas à aller les voir: http://tripamort.free.fr/
__________________________________________
Kayne - Webmaster de http://tripamort.free.fr/
microu
Messages : 19
Inscription : lun. 12/mai/2008 14:22

Message par microu »

Je t'ai prog ton petit jeux pour te montrer l'exemple [ j'ai eu beaucoup de plaisir ^^ ]

Code : Tout sélectionner

OpenConsole()
ConsoleTitle("Pokemon center")
PrintN("Bienvenue dans le centre d'entrainement Pokemon")
PrintN("Quel est ton niveau")
PrintN("1/Novice")
PrintN("2/confirme")
PrintN("3/expert")
choix$ = Input() ; l'utilisateur ecrit soit 1, 2 ou 3 suivant sont choix
If choix$ = "1"
  niveau$ = "1"
  pokemon$ = "Salameche"
  PrintN("Bien... Tu as choisis le niveau Novice,tu vas donc affronter Pikachu !")
ElseIf choix$ = "2"
  niveau$ = "2"
  pokemon$ = "Reptincelle"
  PrintN("Bien... Tu as choisis le niveau Confirme, tu vas donc affronter Kadabra !")
ElseIf choix$ = "3"
  niveau$ = "3"
  pokemon$ = "Dracaufeu"
  PrintN("Bien... Tu as choisis le niveau Expert, Tu vas donc affronter Leviator !")
Else 
  PrintN("Entre un chiffre valable !") ; pour pas te compliquer la vie ZeCluedo je t'ais pas mis une autre boucle pour qu'il puisse refaire son choix
  ; donc si il met un chiffre invalide, le programme va se fermer direct !"
EndIf
PrintN("Le combat peux commencer... Tu est donc niveau " +niveau$)
Print("Et ton pokemon est " +pokemon$)

Repeat ; on commence la boucle du menu
PrintN("")
PrintN("Que desire-tu faire ?")
PrintN("")
PrintN("1/Attaquer")
PrintN("")
PrintN("2/Passer le tour")
PrintN("")
PrintN("3/Quitter le programme d'entrainement") 
PrintN("")
choix$ = Input()
PrintN("")
If choix$ = "1" And niveau$ = "1"
  PrintN("Ton pokemon perd 10 pv...Mais fait perdre 5pv...")
ElseIf choix$ = "1" And niveau$ = "2"
  PrintN("Ton pokemon perd 30 pv...Mais fait perdre 25pv...")
ElseIf choix$ = "1" And niveau$ = "3"
  PrintN("Ton pokemon perd 50 pv...Mais fait perdre 58pv...")
ElseIf choix$ = "2"
  PrintN("Tu passe ton tour mais ton pokemon se fait defoncer (La honte) ")
Else
End
EndIf
Until choix$ = "3"

Tu peux... Nan tu doit si tu veux apprendre vite bidouiller ce code, trifouiller la doc pour par exemple ajouter une couleur verte lorsque le pokemon perd moins de vie qu'il n'attaque...Bref a toi de voir... Mais je t'avertis les début son difficiles ^^
Répondre