Probleme de commande avec Liberty BASIC

Mr.Doom Messages postés 1 Date d'inscription   Statut Membre -  
ellas32 Messages postés 3 Statut Membre -
Voila,

J'ai commencé à programmer il y a quelques temps et je me trouve confronté à un petit problème. J'ai fais un petit jeu où il y a un compteurs de score, de vie , et de niveau.
Seul problème je ne sais pas comment le comptabilisé . Le seul moyen pour que vous compreniez est que je vous montre le code :
(le jeu est loin d'être fini il y a des vides)

==========================================

UpperLeftX = 450
UpperLeftY = 275
WindowWidth = 500
WindowHeight = 500

NomainWin
StaticText #Fen.txtIntro, "Bienvenue dans le programme de devinette algébrique.", 120, 100, 400, 25
StaticText #Fen.txtRègles, "Les règles sont simples : deviner le nombre que j'ai choisi. ", 115, 120, 400, 25
Button #Fen.But1, "Menu ", [Menu], UL, 225, 200, 45, 25
StaticText #Fen.txtCopy, "Ce programme ne peu être modifié sans l'autorisation au préalable de son créateur ", 50, 400, 400, 25
Open "Devin algébrique" for Window as #Fen
Wait

[Menu]
Close #Fen
Button #Fen.but1, "Jouer", [Jouer], UL, 225, 100, 45, 25
Button #Fen.but2, "Options", [Option], UL, 225, 150, 45, 25
Button #Fen.but3, "Règles", [Règles], UL, 225, 200, 45, 25
Button #Fen.but4, "Crédits", [Crédits], UL, 225, 250, 45, 25
Button #Fen.but5, "Contact", [Contact], UL, 225, 300, 45, 25
Button #Fen.but6, "Quitter", [Quitter], UL, 225, 350, 45, 25
Open "Menu" for Window as #Fen
Wait

[Jouer]
Close #Fen
StaticText #Fen.txtscore, "Score : ", 50, 10, 100, 25
StaticText #Fen.txtniveau, "Niveau : ", 200, 10, 100, 25
StaticText #Fen.txtvie, "Vie(s) restante(s) : ", 350, 10, 100, 25
Open "Jeu" for Window as #Fen
Wait

[Options]

[Règles]
Close #Fen
StaticText #Fen.txtRègles, "Lorsque vous aurez cliqué sur le bouton 'Jouer' , je choisirais un nombre que vous devrez deviner. ", 15, 50, 500, 25
StaticText #Fen.txtRègles2, "Chacune de vos tentatives seront comptabilisées. ", 120, 80, 300, 25
StaticText #Fen.txtRègles3, "Moins vous aurez effectué de tentatives et plus vous aurez de points par nombres devinés. ", 30, 110, 500, 25
StaticText #Fen.txtRègles4, "Plus vous gagnerez de parties et plus le niveau deviendra difficile. ", 90, 140, 350, 25
Button #Fen.butRetour, "Retour", [Retour], UL, 225, 200, 45, 25
Open "Règles" for Window as #Fen
Wait

[Crédits]
close #Fen
StaticText #Fen.txtCrédits, "Unique et seul créateur : SnIpEr ", 175, 50, 200, 25
StaticText #Fen.txtCrédits2, "Désigneur : SnIpEr ", 205, 80, 150,25
StaticText #Fen.txtCrédits3, "Codeur : SnIpEr ", 210, 110, 100, 25
StaticText #Fen.txtCrédits4, "Programme utilisé pour la création du jeu : Liberty Basic ", 110, 140, 300, 25
Button #Fen.butRetour, "Retour", [Retour], UL, 225, 200, 45, 25
Open "Crédits" for Window as #Fen
Wait

[Contact]
Close #Fen
StaticText #Fen.txtcontact, "Pour toutes demandes ou suggestions, vous pouvez m'écrire à : ", 100, 50, 305, 25
StaticText #Fen.txtcontact2, "Snipeer666@hotmail.com ", 190, 110, 130, 25
Button #Fen.butRetour, "Retour", [Retour], UL, 225, 200, 45, 25
Open "Contact" for Window as #Fen
Wait

[Quitter]
Close #Fen
End

[Retour]
goto [Menu]
==========================================
voila j'ignore si il éxiste des commandes pour faire des compteurs ou autre.
J'aimerais aussi avoir votre avis par rapport a ce jeu, si je pourais alléger le code ou des critiques par rapport a sa structure.

De plus j'aimerais savoir quel serais le meilleur programme pour faire du C++ (j'aimerais commencé a apprendre dans ce language, un des plus répendu a mon avis)

Voila merci de vos réponses

@+
----------------------------------------------------------------------------
Mr.Doom
----------------------------------------------------------------------------

3 réponses

  1. ellas32 Messages postés 3 Statut Membre
     
    J'ai continué ton programme en décalant tous ce que j'ai rajouté. J'ai modifié le fonctionnement du jeu mais on peut encore l'améliorer.

    =================================================================================
    'J'ai décalé toutes les commandes que j'ai ajouté pour t'aider

    Score=0
    Niveau=1
    Vies=5 ' note : Les vies sont changées durant le jeux

    UpperLeftX = 450
    UpperLeftY = 275
    WindowWidth = 500
    WindowHeight = 500

    NomainWin
    StaticText #Fen.txtIntro, "Bienvenue dans le programme de devinette algébrique.", 120, 100, 400, 25
    StaticText #Fen.txtRègles, "Les règles sont simples : deviner le nombre que j'ai choisi. ", 115, 120, 400, 25
    Button #Fen.But1, "Menu ", [Menu], UL, 225, 200, 45, 25
    StaticText #Fen.txtCopy, "Ce programme ne peu être modifié sans l'autorisation au préalable de son créateur ", 50, 400, 400, 25
    Open "Devin algébrique" for Window as #Fen
    Wait

    [Menu]
    Close #Fen
    [MenuSansCloseFen] 'Besoin de rajouter une marque car je n'avais pas besoin de close Fen
    Button #Fen.but1, "Jouer", [Jouer], UL, 225, 100, 45, 25
    Button #Fen.but2, "Options", [Option], UL, 225, 150, 45, 25
    Button #Fen.but3, "Règles", [Règles], UL, 225, 200, 45, 25
    Button #Fen.but4, "Crédits", [Crédits], UL, 225, 250, 45, 25
    Button #Fen.but5, "Contact", [Contact], UL, 225, 300, 45, 25
    Button #Fen.but6, "Quitter", [Quitter], UL, 225, 350, 45, 25
    Open "Menu" for Window as #Fen
    Wait

    [Jouer]
    Close #Fen

    if Niveau = 1 then
    ajout$="(de 1 à 5)"
    solution=int(rnd(1)*5) + 1
    Vies=4
    end if

    if Niveau = 2 then
    ajout$="(de 1 à 10)"
    solution=int(rnd(1)*10) + 1
    Vies=9
    end if

    if Niveau = 3 then
    ajout$="(de 1 à 15)" 'Annoncer la difficulté au joueur * et choisir un nombre au hazard en fonction du niveau
    solution=int(rnd(1)*15) + 1
    Vies=10
    end if

    if Niveau = 4 then
    ajout$="(de 1 à 20)"
    solution=int(rnd(1)*20) + 1
    Vies=10
    end if

    if Niveau = 5 then
    ajout$="(de 1 à 25)"
    solution=int(rnd(1)*25) + 1
    Vies=10
    end if
    'Je rajoute du texte pour avertir le joueur
    Statictext#Fen.st1, "ETAT : Entrez un nombre "+ajout$+" puis cliquez sur 'essayer'", 1, 125, 700, 25
    StaticText #Fen.txtscore, "Score : ";Score, 50, 10, 100, 25
    StaticText #Fen.txtniveau, "Niveau : ";Niveau, 200, 10, 100, 25
    StaticText #Fen.txtvie, "Vie(s) restante(s) : ";Vies, 350, 10, 100, 25
    Button #Fen.st2, "Essayer", [Essayer], UL, 200, 90, 60, 25
    textbox#Fen.entree, 180, 50, 100, 25
    Open "Jeu" for window as #Fen
    print#Fen.entree, "!setfocus"
    Wait

    [Essayer]
    print#Fen.entree, "!contents? entreeCHR$" 'Lire ce que l'utilisateur a entré
    if entreeCHR$="" then wait 'S'il n'a rien écrit, ne rien faire
    entree=val(entreeCHR$) 'Convertir le texte que l'utilisateur a entré de caractères en chiffres (absence du signe '$')

    'Si le joueur rate
    if entree<>solution then
    if Vies=0 then notice"VOUS AVEZ PERDU !!":close#Fen:end 'Si le joueur n'a plus de vie, fin du programme
    if entree>solution then
    print#Fen.st1, "ETAT : RATé ! Votre nombre est trop grand ! Entrez un nombre plus petit et cliquez sur 'Essayer'."
    Vies=Vies-1
    print#Fen.txtvie, "Vie(s) restante(s) : ";Vies
    end if
    if entree<solution then
    print#Fen.st1, "ETAT : RATé ! Votre nombre est trop petit ! Entrez un nombre plus grand et cliquez sur 'Essayer'."
    Vies=Vies-1
    print#Fen.txtvie, "Vie(s) restante(s) : ";Vies
    end if
    print#Fen.entree, "" 'Effacer le chiffre entré par le joueur (Comme ça il ne doit pas toujours effacer)
    print#Fen.entree, "!setfocus" 'Comme ça le joueur ne doit pas cliquer sur la case pour pouvoir écrire dedans
    wait
    end if

    'SI le joueur gagne
    if entree=solution then
    if Niveau=1 then points=5
    if Niveau=2 then points=10
    if Niveau=3 then points=15
    if Niveau=4 then points=20
    if Niveau=5 then points=25
    print#Fen.st1, "ETAT : BRAVO ! Tu as réussi ! Tu gagnes ";points;" points. Tu monte au niveau ";Niveau+1
    notice"BRAVO ! Tu as réussi ! Tu gagnes ";points;" points. Tu monte au niveau ";Niveau+1
    Niveau=Niveau+1
    close#Fen
    goto[MenuSansCloseFen]
    end if

    [Option] 'Tu avais fait une faute car la commande d'avant disait : (si tu appuies sur options va a [Option]' mais tu avais écrit 'Options' (avec s)
    notice"Les options ne sont pas encore disponibles"
    wait

    [Règles]
    Close #Fen
    StaticText #Fen.txtRègles, "Lorsque vous aurez cliqué sur le bouton 'Jouer' , je choisirais un nombre que vous devrez deviner. ", 15, 50, 500, 25
    StaticText #Fen.txtRègles2, "Chacune de vos tentatives seront comptabilisées. ", 120, 80, 300, 25
    StaticText #Fen.txtRègles3, "Moins vous aurez effectué de tentatives et plus vous aurez de points par nombres devinés. ", 30, 110, 500, 25
    StaticText #Fen.txtRègles4, "Plus vous gagnerez de parties et plus le niveau deviendra difficile. ", 90, 140, 350, 25
    Button #Fen.butRetour, "Retour", [Retour], UL, 225, 200, 45, 25
    Open "Règles" for Window as #Fen
    Wait

    [Crédits]
    close #Fen
    StaticText #Fen.txtCrédits, "Unique et seul créateur : SnIpEr ", 175, 50, 200, 25
    StaticText #Fen.txtCrédits2, "Désigneur : SnIpEr ", 205, 80, 150,25
    StaticText #Fen.txtCrédits3, "Codeur : SnIpEr ", 210, 110, 100, 25
    StaticText #Fen.txtCrédits4, "Programme utilisé pour la création du jeu : Liberty Basic ", 110, 140, 300, 25
    Button #Fen.butRetour, "Retour", [Retour], UL, 225, 200, 45, 25
    Open "Crédits" for Window as #Fen
    Wait

    [Contact]
    Close #Fen
    StaticText #Fen.txtcontact, "Pour toutes demandes ou suggestions, vous pouvez m'écrire à : ", 100, 50, 305, 25
    StaticText #Fen.txtcontact2, "Snipeer666@hotmail.com ", 190, 110, 130, 25
    Button #Fen.butRetour, "Retour", [Retour], UL, 225, 200, 45, 25
    Open "Contact" for Window as #Fen
    Wait

    [Quitter]
    Close #Fen
    End

    [Retour]
    goto [Menu]

    ================================================================================

    Voila moi aussi je programme en basic. Je connais des commandes pour faire des compteurs (timer par ex) Si tu aime toujours ça, mon adresse msn est worms_fp@hotmail.com. La tienne c'est snipeer666@hotmail.com (d'après ton programme :p) Voila
    0