Forum Liberty Basic France

Jeux » [Standby] JustDames ver 0.120510 Jeu de Dames en cours de réalisation...
Le 16/05/2012 à 12h51

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Reprise du message précédent

joan74:
Là, J'ai du mal à comprendre ! 'DefaultDir$' ne servirait donc à rien ?


Au contraire Joan !!!!
Avec tes 3 functions tu recherches le chemin complet depuis la racine de chaque fichier, alors que DefaultDir$ le contient déjà par défaut ! c'est JB lui-même qui la remplie pour toi.

Essaye le bout de code que je t'ai écrit tu verras que ça fonctionne très bien !

Regarde le bien, tu verras que DefaultDir$ est le premier paramètre de la commande Files.....

J'ai dit que DefaultDir$ contient le chemin du répertoire (donc qui contient "\" à la fin) à partir duquel tu lances le fichier programme (.bas)
Donc si tu as stocké des fichiers dans un sous-répertoire il te faut l'écrire dans ta variable Fichier$ : c'est ce que j'ai fait.

Files va donc additionner les 2 chaines DefaultDir$ + ta variable Fichier$ ce qui donnera le chemin complet du fichier en question depuis la racine.

Tu peux aussi t'écrire cette petite function que tu peux utiliser dans tous tes programmes, à partir du moment où tous les fichiers utilisés se trouvent dans le répertoire d'où le programme sera lançé (ou dans un sous répertoire) :

Code VB :
    function fileExists(filename$)
        'DIM info$(10,10) 'doit avoir été déclaré au debut du programme
        files DefaultDir$, filename$, info$()
        fileExists = val(info$(0, 0))  '<> 0 si vrai
    end function
 
qui renverra 0 si le fichier n'existe pas.


joan74:
Je préfére une meilleure comprenhension, qu'un code condensé que j'aurais du mal à reprendre...

Dans une certaine mesure je suis entièrement d'accord avec toi.
Mais préférer écrire 50 lignes d'affectation de variable tableau plutôt que 8 lignes qui font la même chose sans complications particulières, ça c'est du masochisme :D :D
Moi je suis plutôt fainéant, donc je trouve des astuces ;)

C'est comme la grande quantité de if imbriqués ou à répétition pour extraire un n° de case à partir de X,Y ou inversement !!!
Une ou 2 lignes de calcul simple ferait la même chose :top

Vivement que tu trouves de jolis SPRITES PLUS GROS ! :top


@+


PS: Roland, si tu lançes loadbmp sur un fichier qui n'existe pas tu verras ce qu'il se passe :heink :lol :lol



Edité par cassiope01 Le 18/05/2012 à 06h02
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 16/05/2012 à 13h37

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
Heu..., je voudrais pas etre insolent, mais on pourrais aussi faire une procédure pour vérifier qu'il y a bien un système d'exploitation dans le PC....on sait jamais. ;)
Cette procédure de recherche et vérif de présence, c'est bon pour les" install's" qui balancent des fichiers un peu partout. Ce n'est pas le cas de nos prog's où tout est dans un seul dossier.(ce qui est quand meme plus sympa).... :)
____________________
Roro

   
Le 18/05/2012 à 07h20

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Ca y est, j'ai trouvé Joan !
Je suis content d'avoir réussi, mais je sais pas si tu vas l'être aussi ! :( :top
En tout cas ça fonctionne très bien ;)
Il te faut lire les commentaires pour comprendre le calcul...

Voici les 2 functions NumCaseToDamierX(Num) et NumCaseToDamierY(NumCase) :

Code VB :
'2012
function NumCaseToDamierX(Num)
    if Num<0 or Num>50 then
        notice "ERROR 1 Function : NumCaseToDamierX(Num)"
        exit function
    end if
    nY = NumCaseToDamierY(Num)  ' obtention du Y
    NumCaseToDamierX = 2*(Num-(nY-1)*5) - 1*(nY mod 2 = 0)  ' mod = reste de la division du premier chiffre par le deuxième.
                            '   sachant que (nY mod 2 = 0) retourne 1 si c'est vrai ou 0 si c'est faux.
end function
 
'2012
function NumCaseToDamierY(NumCase)
    if NumCase < 0 or NumCase > 50 then
        notice "ERROR 1 Function : NumCaseToDamierY(NumCase)"
        exit function
    end if
    NumCaseToDamierY = int(NumCase/5) + 1*(NumCase mod 5 > 0)  ' mod = reste de la division du premier chiffre par le deuxième.
                          '   sachant que (NumCase mod 5 > 0) retourne 1 si c'est vrai ou 0 si c'est faux.
end function
 




Edité par cassiope01 Le 19/05/2012 à 10h28
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 18/05/2012 à 12h41

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Quelques mots sur statictext : il fait un retour à la ligne tout seul, si la chaine qu'il doit contenir est plus longue que sa largeur déclarée, et si sa hauteur déclarée lui permet.
Ceci dit on peut aussi lui faire faire un retour à la ligne avec un chr$(13), et s'assurer aussi que sa hauteur le permet.

Voici ce que ça peut donner dans ta SUB AfficherFenetreAbout JustDamesVersion$ :

- space$(n) = n fois " " (espaces)

Code VB :
 sub AfficherFenetreAbout JustDamesVersion$
 
   '1-Création de la fenetre 'A propos de...' :
    '------------------------------------------
        text1$ = space$(3);"JustDames - ";JustDamesVersion$
        text2$ = space$(22);"Freeware"
        text3$ = space$(18);"2012 - joan74"
        text4$ = space$(16);"www.justbasic.com"
        text5$ = "http://libertybasic.fr/forum/index.php"
 
    WindowWidth = 260
    WindowHeight = 185
    UpperLeftX = (DisplayWidth - WindowWidth) / 2
    UpperLeftY = (DisplayHeight - WindowHeight) / 3
    Larg=210
    statictext #FenetreAbout.Txt1, text1$;chr$(13);text2$;chr$(13);text3$;chr$(13);text4$;chr$(13);text5$, (WindowWidth-Larg)/2, 15, Larg, 100
 
    button     #FenetreAbout.BouttonOK, "OK", [QuitterFenetreAbout], ul, (WindowWidth-100) /2, 120, 100, 25    'UL,x,y,L,H

    open "A propos de..." for dialog_modal as #FenetreAbout
    #FenetreAbout, "trapclose [QuitterFenetreAbout]"
    #FenetreAbout.Txt1, "!font Arial 9"
 
    '2-Donne le 'focus' à l'un des controles :
    '-----------------------------------------
        #FenetreAbout.BouttonOK, "!setfocus"
    wait
 
    [QuitterFenetreAbout]
    close #FenetreAbout
 end sub
 


@+



Edité par cassiope01 Le 18/05/2012 à 12h52
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 26/11/2012 à 12h49

Libertynaute Actif

Groupe: Membre

Inscrit le: 17/12/2010
Messages: 124
salut, :lu

de passage juste pour donner des nouvelles du projet pour ceux que cela interressent (s'il y'en a :s )

Depuis pls mois je suis sur un autre projet bcp plus prioritaire pour moi et qui prend le peu de temps libre que j'ai :hum (rien à voir avec la programmation en passant !)

.. donc pas de nouvelles versions à proposer pour l'instant... du moins pour 2012 en tout cas !

@+
____________________
"L'urgent c'est fait ! L'impossible est en cours... pour les miracles, merci de prévoir un délai supplémentaire !"

   
Le 26/11/2012 à 18h18

Libertynaute Expert

Groupe: Membre

Inscrit le: 19/02/2011
Messages: 767
Eh ben mieux vaut tard que jamais ;) , salut joan :top

c'est sympa de venir faire un petit tour par ici.

A l'an prochain alors :lol



Edité par cassiope01 Le 26/11/2012 à 18h23
____________________
Devise Shadocks : "Mieux vaut mobiliser son intelligence pour des conneries, que mobiliser sa connerie pour des choses intelligentes"
Coluche disait : "C'est parce que la vitesse de la lumière est plus rapide que celle du son que certains peuvent paraîtrent brillants jusqu'à ce qu'ils ouvrent la bouche."

Web    
Le 26/11/2012 à 19h39

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2484
Flood.fr -->Larsen
____________________
Roro

   
Jeux » [Standby] JustDames ver 0.120510 Jeu de Dames en cours de réalisation...  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie