Forum Liberty Basic France
• Index
Reprise du message précédent
Salut a tous
!!!
Bon, quelques petites nouvelles :
- le jeu avance, encore une fois, de nombreux bugs sont corrigés, j'ai réussi a faire en sorte a ce que le jeu ne tourne q'avec 8Mo de RAM !!! (un pic de 12 est a prévoir lors des combats mais je pense faire descendre cela en dessous de 10Mo d'ici peu ^^).
- la beta sera malheureusement retardé... cela fait bien 2 ans déjà que ce projet à vu le jour (le temps passe vite non ? ^^). Il sera reporté au 15 septembre, pourquoi ? ma copine vient de me kidnapper jusqu’à fin aout j'ai donc laisser mes lignes de codes a paris depuis une semaine et je ne les auraient pas avant le 1er septembre
! (haaa les femmes ... ^^).
Bref, deux semaines de délais par rapport a 2 ans ce n'est rien non ?
Bonne soirée à tous
!
Salut a tous

Bon, quelques petites nouvelles :
- le jeu avance, encore une fois, de nombreux bugs sont corrigés, j'ai réussi a faire en sorte a ce que le jeu ne tourne q'avec 8Mo de RAM !!! (un pic de 12 est a prévoir lors des combats mais je pense faire descendre cela en dessous de 10Mo d'ici peu ^^).
- la beta sera malheureusement retardé... cela fait bien 2 ans déjà que ce projet à vu le jour (le temps passe vite non ? ^^). Il sera reporté au 15 septembre, pourquoi ? ma copine vient de me kidnapper jusqu’à fin aout j'ai donc laisser mes lignes de codes a paris depuis une semaine et je ne les auraient pas avant le 1er septembre

Bref, deux semaines de délais par rapport a 2 ans ce n'est rien non ?

Bonne soirée à tous

Putain...C'est l'Arlésienne ce jeu.
On va plus avoir une goutte de salive...à force de baver.

On va plus avoir une goutte de salive...à force de baver.

____________________
Roro
Roro
Croyez moi, cela en vaudra le coût
!
enfin dans la limite du raisonnable, je ne suis qu'un amateur à près tout ^^ !

enfin dans la limite du raisonnable, je ne suis qu'un amateur à près tout ^^ !
>Re ^^
Je viens de refaire le site a partir duquel je vais distribuer les jeux (les .bas seront donnés ici). vous pouvez le voir ici (http://unlimitedfreewarecor.wix.com/unlimited-website).
Je ne peux malheureusement pas continuer de programmer tant que je suis kidnappé pas ma copine mais vous pouvez déjà voir certaines modifications dans la liste des modifications apportées au niveau du site.
De plus, j'ai mis en ligne une ancienne (mais récente par rapport a celles que vous avez déjà vu) version du jeu sur le site de nos amis anglophone =). c'est la 2.66 je crois ...
regardez et dite moi ce que vous en pensé ^^.
bref ca avance
!
Bonne journée
Edité par atomose Le 25/08/2013 à 15h10
Je viens de refaire le site a partir duquel je vais distribuer les jeux (les .bas seront donnés ici). vous pouvez le voir ici (http://unlimitedfreewarecor.wix.com/unlimited-website).
Je ne peux malheureusement pas continuer de programmer tant que je suis kidnappé pas ma copine mais vous pouvez déjà voir certaines modifications dans la liste des modifications apportées au niveau du site.
De plus, j'ai mis en ligne une ancienne (mais récente par rapport a celles que vous avez déjà vu) version du jeu sur le site de nos amis anglophone =). c'est la 2.66 je crois ...
regardez et dite moi ce que vous en pensé ^^.
bref ca avance

Bonne journée

Edité par atomose Le 25/08/2013 à 15h10
Hey, toi qui aime bien les bmp quand ils sont plusieurs
Va donc jeter un coup d'oeil à "Annonces" j'y ai mis un convertisseur de la mort qui tue.
Et j'ai vérifié qu'il ne bousillait pas tes belles images...of course.
Dis voir ce que tu en pense.
Ah..Au sujet de ton site: Je crois que tu fais une erreur en mettant des pré-pré-pré annonces.
Avec en plus un bouton "Télécharger gratuit" qui envoie sur une fenêtre d'upload.
Tous ceux qui sont passés sur le site, puis qui y sont revenus, et encore revenus; risquent fort de se lasser.
je me doute bien que tu est pressé de voir les choses "en place".
Mais chaque chose doit être faite en son temps
Si tu veux y mettre de mes progs pour faire "patienter" tu peux;
mais cite ce site ci, ou mets un lien. C'est la coutûûme.
Tchao ...à+

Va donc jeter un coup d'oeil à "Annonces" j'y ai mis un convertisseur de la mort qui tue.
Et j'ai vérifié qu'il ne bousillait pas tes belles images...of course.
Dis voir ce que tu en pense.
Ah..Au sujet de ton site: Je crois que tu fais une erreur en mettant des pré-pré-pré annonces.
Avec en plus un bouton "Télécharger gratuit" qui envoie sur une fenêtre d'upload.
Tous ceux qui sont passés sur le site, puis qui y sont revenus, et encore revenus; risquent fort de se lasser.
je me doute bien que tu est pressé de voir les choses "en place".
Mais chaque chose doit être faite en son temps
Si tu veux y mettre de mes progs pour faire "patienter" tu peux;
mais cite ce site ci, ou mets un lien. C'est la coutûûme.

____________________
Roro
Roro
salut,
je viens de regarder ton programme dans annonce mais je ne comprend pas en quoi il fait passer de 25mo a 1mo... pour la compatibilité il suffit d'aller dans les propriété de l'éxécutable.
En suivant le readme cela me converti les images au format bmp mais ca ne comprèsse pas le dossier o_o. peut être ais je mal compris une étape ?
pour le site je suis de ton avis, je met les charrues avant les bœufs mais c'est dans le but d'avancer vite, au risque d'envoyer les visiteurs sur une page non fini.
Le site n'est pas connu pour le moment, a par vous et un lien sur le forum anglosaxon il reste caché pour le reste du monde ^^.
pour parrer à ce problème, dici la fin de la semaine les boutons "téléchargement" conduirons réellement à un téléchargement (ce sera la chartre de béta test, en attendant que le jeu soit en téléchargement).
Voila, je go a la playa, cyao
je viens de regarder ton programme dans annonce mais je ne comprend pas en quoi il fait passer de 25mo a 1mo... pour la compatibilité il suffit d'aller dans les propriété de l'éxécutable.
En suivant le readme cela me converti les images au format bmp mais ca ne comprèsse pas le dossier o_o. peut être ais je mal compris une étape ?
pour le site je suis de ton avis, je met les charrues avant les bœufs mais c'est dans le but d'avancer vite, au risque d'envoyer les visiteurs sur une page non fini.
Le site n'est pas connu pour le moment, a par vous et un lien sur le forum anglosaxon il reste caché pour le reste du monde ^^.
pour parrer à ce problème, dici la fin de la semaine les boutons "téléchargement" conduirons réellement à un téléchargement (ce sera la chartre de béta test, en attendant que le jeu soit en téléchargement).
Voila, je go a la playa, cyao

Le principe, c'est que JB n'accepte que des fichiers Bitmap (.bmp), or, ce sont des fichiers images non compressé, donc très gros. Ce que propose Roro, c'est un petit logiciel qui compresse tes images .bmp en quelque chose de plus léger, et lorsque tu as besoin de l'image dans JB, tu la décompresse pour retrouver ton .bmp.
Le logiciel de Ror te permet de convertir des images .bmp en image .jpg, beaucoup plus légères. Problème (de mon point de vu), le format JPEG est un format destructif, tes images seront de moins bonne qualité.
Du coups, je code actuellement un petit logiciel très leger (<1Mo) qui permet de compresser les images dans un format non destructif. En plus, il fonctionne avec tout, pas seulement avec les images. Bref, je vous tiens au jus sur le topic de roro.
Jag
Le logiciel de Ror te permet de convertir des images .bmp en image .jpg, beaucoup plus légères. Problème (de mon point de vu), le format JPEG est un format destructif, tes images seront de moins bonne qualité.
Du coups, je code actuellement un petit logiciel très leger (<1Mo) qui permet de compresser les images dans un format non destructif. En plus, il fonctionne avec tout, pas seulement avec les images. Bref, je vous tiens au jus sur le topic de roro.
Jag
Atomose, le bazar s'appelle pixillion, avec le "pix" qui nous suggère que c'est pour les images;
Si tu suis le "read me" Tu compresse toutes les images de ton dossier 'bmp" en une seule passe.
Quand il et en jpg, tu l'envoie sur le forum.
Le gars prends ton zip plus le convertisseur, et fait la manip inverse.
En fait j'ai fais le con avec mon read-me. Il suffit de choisir "même dossier" comme destination.
Mais si Jag nous fait un compresseur (et décompresseur; parce que c'est le décompresseur qu'il serait intéressant d'inclure dans le code du prog, pour rendre la manip transparente)
Et ben là...Je peux dire qu'il va m'épater....
Si tu suis le "read me" Tu compresse toutes les images de ton dossier 'bmp" en une seule passe.
Quand il et en jpg, tu l'envoie sur le forum.
Le gars prends ton zip plus le convertisseur, et fait la manip inverse.
En fait j'ai fais le con avec mon read-me. Il suffit de choisir "même dossier" comme destination.
Mais si Jag nous fait un compresseur (et décompresseur; parce que c'est le décompresseur qu'il serait intéressant d'inclure dans le code du prog, pour rendre la manip transparente)
Et ben là...Je peux dire qu'il va m'épater....

____________________
Roro
Roro
Salut Atomose,
Alerte au bug dans "Eternal-Quest": Quand le personnage passe le pont de droite à gauche, il sort de la carte, et la carte ne change pas...(carte 22)
Mon bonhomme s'est perdu dans le bois...!
Il manque aussi une limite "Nord" 3/4 droite dans une carte. la 10 ou la 20
Et le code ? Il top secret ?
Alerte au bug dans "Eternal-Quest": Quand le personnage passe le pont de droite à gauche, il sort de la carte, et la carte ne change pas...(carte 22)
Mon bonhomme s'est perdu dans le bois...!


Il manque aussi une limite "Nord" 3/4 droite dans une carte. la 10 ou la 20
Et le code ? Il top secret ?

____________________
Roro
Roro
lol ! Vous tester une version non achevé ^^ ! Je l'ai précisez (non?) sur le forum des anglais. La version que tu as n'a de limite que pour les cartes 1-5(ou 6) tu risques donc de trouver pas mal de bug dessus
!
Je vous poste la version béta fini (normalement...) le 15 septembre comme convenu
! Je vous donnerais le code ici. En attendant il me reste encore pas mal de truc à régler
. Pour vous dire je suis actuellement aux limites de la carte 9. Enfin en même temps il ne me reste que les limites à faire XD.
Donc ne vous inquiété pas au pire vous pourrez jouer à super man sur les dernières cartes si je n'ai pas fini à temps.
Ha et aussi ... vous remarquerez que la version que je vous posterais sera très très stable
!
Je retourne à mes lignes
!
Merci à toi pour tes observations en tout cas
Version actuelle 2.67.1
Edité par atomose Le 02/09/2013 à 21h02

Je vous poste la version béta fini (normalement...) le 15 septembre comme convenu


Donc ne vous inquiété pas au pire vous pourrez jouer à super man sur les dernières cartes si je n'ai pas fini à temps.

Ha et aussi ... vous remarquerez que la version que je vous posterais sera très très stable

Je retourne à mes lignes

Merci à toi pour tes observations en tout cas

Version actuelle 2.67.1
Edité par atomose Le 02/09/2013 à 21h02
Hey, si tu postais ton code, on (je) pourrais y jeter un oeil, et éventuellement m'y intéresser.
Je ne suis pas Cassiope, et ne risque donc pas de te le transformer en centrale atomique.
Mais ce n'est cependant pas sans risques; vu que je verrais bien les parties "textes" se muer en "actions", et jouer un peu avec " l'espace/temps". (au prix bien sûr de quelques centaines de bmp's supplémentaires Lol!)
Que nous pourrons compresser avec le super: "Maxi-Jag-Minimiseur".
En tous cas bravo pour l'installeur
J'espère juste qu'il ne touche pas au registre.
Je ne suis pas Cassiope, et ne risque donc pas de te le transformer en centrale atomique.

Mais ce n'est cependant pas sans risques; vu que je verrais bien les parties "textes" se muer en "actions", et jouer un peu avec " l'espace/temps". (au prix bien sûr de quelques centaines de bmp's supplémentaires Lol!)
Que nous pourrons compresser avec le super: "Maxi-Jag-Minimiseur".
En tous cas bravo pour l'installeur

____________________
Roro
Roro
il ne touche absolument pas au registre (je crois XD).
Je vous poste le code actuel pour vous donner une idée de l'avancement du projet.
Je vous met le lien de téléchargement d'une version stable pour la tester
! je suis tellement gentil que je vous passe aussi les éditeurs que j'ai fait et avec lesquels je travail pour avancer plus vite ^^.
attention, ne marche pas sous JB !
amusez vous bien
lien : https://mega.co.nz/#!aA0CHbyA!UWiqxk_60fiy2pOhxh8ZG3KGPSBB_S_wt2YkQLkM5Mw
Je vous poste le code actuel pour vous donner une idée de l'avancement du projet.
Je vous met le lien de téléchargement d'une version stable pour la tester

attention, ne marche pas sous JB !
amusez vous bien

lien : https://mega.co.nz/#!aA0CHbyA!UWiqxk_60fiy2pOhxh8ZG3KGPSBB_S_wt2YkQLkM5Mw
Un sacré boulot
Je vois que dans cette version tu n'a pas adopté l'éditeur de carte de Cassiope, avec son système de test des limites.
Je reconnais que c'est relativement complexe, mais le gain au niveau écriture et surtout la souplesse que cela apportait aurait mérité que tu le conserve.
Je pense que tu a "décroché" quand il a intégré le déplacement "souris".
Et c'est vrai que ça faisait beaucoup d'évolutions en trop peu de temps.
Mais bon, le principal, c'est que tu garde la main.
Bonne suite... ....à+.

Je vois que dans cette version tu n'a pas adopté l'éditeur de carte de Cassiope, avec son système de test des limites.
Je reconnais que c'est relativement complexe, mais le gain au niveau écriture et surtout la souplesse que cela apportait aurait mérité que tu le conserve.
Je pense que tu a "décroché" quand il a intégré le déplacement "souris".
Et c'est vrai que ça faisait beaucoup d'évolutions en trop peu de temps.
Mais bon, le principal, c'est que tu garde la main.
Bonne suite... ....à+.
____________________
Roro
Roro
Dis-donc... Tes "Notices" qui déboulent au milieu de la map, ça fait un peu "tâche".
Dans :[DQop1] ... Mets donc une apostrophe devant cette horrible notice, et teste ça:
Approche de"Q1" du bas vers le haut, en avançant "pas à pas"
Code VB :
C'est quand même plus sympa.... Non ?
Dans :[DQop1] ... Mets donc une apostrophe devant cette horrible notice, et teste ça:
Approche de"Q1" du bas vers le haut, en avançant "pas à pas"
Code VB :
[DQop1] DQop1 = 1 ' ' confirm "Tiens, un inconnu ......... #3b,"color yellow;backcolor black" #3b,"place 760 200" #3b,"\ HOUHOUHOU" if choix$ = "yes" then notice "Quête accépté !" wait
C'est quand même plus sympa.... Non ?
____________________
Roro
Roro
Et là, tu va me dire: "Ouais.. Et je fais comment pour avoir la réponse ?"
Et je te réponds:
Comme des réponses par "oui" ou par "non", il doit y en avoir plus d'une dans ton jeu.
Tu mets quelque part deux "faux-boutons"
"Faux boutons": Et oui, parce que un bouton envoie à un endroit et un seul.
Le faux-bouton, sera un endroit réactif au clic, que tu testera (comme tu sais le faire if x=...and y=...) dans une boucle munie d'un "scan".
Boucle que tu mettra partout où tu attend une réponse.
Que demande le peuple ?......
Autre chose: Quand on veut quitter; c'est peut-être pas la peine de demander 4 fois si on est sûr, si on ne voudrait pas aller au menu, ou ailleurs; si on a pas un petit creux, une envie de pisser......ext
La croix de fermeture de la fenêtre; elle doit fermer. Une confirmation est suffisante, et souvent superflue.

Et je te réponds:
Comme des réponses par "oui" ou par "non", il doit y en avoir plus d'une dans ton jeu.
Tu mets quelque part deux "faux-boutons"
"Faux boutons": Et oui, parce que un bouton envoie à un endroit et un seul.
Le faux-bouton, sera un endroit réactif au clic, que tu testera (comme tu sais le faire if x=...and y=...) dans une boucle munie d'un "scan".
Boucle que tu mettra partout où tu attend une réponse.
Que demande le peuple ?......

Autre chose: Quand on veut quitter; c'est peut-être pas la peine de demander 4 fois si on est sûr, si on ne voudrait pas aller au menu, ou ailleurs; si on a pas un petit creux, une envie de pisser......ext
La croix de fermeture de la fenêtre; elle doit fermer. Une confirmation est suffisante, et souvent superflue.
____________________
Roro
Roro
Et si tu veux pouvoir mettre ces faux -boutons où tu veux, les faire apparaître et disparaître;:
Tu les mets en sprites, tu fait un sprite "pointeur" ; comme a fait Cassiope dans son DSRV Submarine .
Et tu teste avec "spritecollides.
ça , s'est si tu veux rester "souris". Sinon, il y a le test "clavier": y/n.
Tu les mets en sprites, tu fait un sprite "pointeur" ; comme a fait Cassiope dans son DSRV Submarine .
Et tu teste avec "spritecollides.
ça , s'est si tu veux rester "souris". Sinon, il y a le test "clavier": y/n.
____________________
Roro
Roro
et ben, beaucoup de réponses ^^ pk ne pas faire une seul message ? 
Pour la quête Q1 le notice est la pour dépanner pour le moment ^^. Mais merci pour ce que tu as donné je vais le tester
.
Ne t'inquiète pas une fois les limites finis je peaufinais les détails, comme tu l'as souligner c'est beaucoup de boulot ce rpg ^^'... on dirait pas forcement lorsqu'on le lance mais ça commence à en faire des lignes ! d’ailleurs petite anecdote :
- faite copier (le code directement, pas le fichier) et vous aller voir un message normalement XD !
Pour le système des limites ça peut paraître dure a comprendre mais je suis resté avec mon système par ce que justement il me prend moins de temps à faire o_o, je m'explique :
j'avais fait une version souris avant, qui marchait et je faisais les limites avec l'éditeur que l'on ma gentiment donner
. mais ce système est bien que pour la version souris, pour des limites avec le clavier je m'en sort bien mieux avec mes lignes de limites (je sais c'est illogique ...). Donc au final j'ai continué ma méthode, bien que celle de casio est très bien ^^. (je croyais avoir expliqué cela en juillet non ?)
Je repart à mes lignes
!!
ps : sur la version que tu as le combat contre le voleur n'est pas activer ! si tu veux t'amuser avec tu as juste a rajouter 1 bouton 'attaquer' et le brancher a la [???] adéquate ^^ ! ( c'est pas encore fait pck je suis entrain de modifier l'interface pour le moment
)

Pour la quête Q1 le notice est la pour dépanner pour le moment ^^. Mais merci pour ce que tu as donné je vais le tester

Ne t'inquiète pas une fois les limites finis je peaufinais les détails, comme tu l'as souligner c'est beaucoup de boulot ce rpg ^^'... on dirait pas forcement lorsqu'on le lance mais ça commence à en faire des lignes ! d’ailleurs petite anecdote :
- faite copier (le code directement, pas le fichier) et vous aller voir un message normalement XD !
Pour le système des limites ça peut paraître dure a comprendre mais je suis resté avec mon système par ce que justement il me prend moins de temps à faire o_o, je m'explique :
j'avais fait une version souris avant, qui marchait et je faisais les limites avec l'éditeur que l'on ma gentiment donner

Je repart à mes lignes

ps : sur la version que tu as le combat contre le voleur n'est pas activer ! si tu veux t'amuser avec tu as juste a rajouter 1 bouton 'attaquer' et le brancher a la [???] adéquate ^^ ! ( c'est pas encore fait pck je suis entrain de modifier l'interface pour le moment

Deux petites questions :
Comment ajouter une vidéo comme une music ? (Je sais plus si je vous lais déjà demander ...)
Roland, le text que tu fait apparaître dans Q1, comment faire en sort qu'il s'efface ensuite ? Pck garder cela sur l'écran ou si on écrit un texte assez long
... Cls ne marche pas XD
Merci a vous
!
Comment ajouter une vidéo comme une music ? (Je sais plus si je vous lais déjà demander ...)
Roland, le text que tu fait apparaître dans Q1, comment faire en sort qu'il s'efface ensuite ? Pck garder cela sur l'écran ou si on écrit un texte assez long

Merci a vous

Chez moi, il disparaît quand je personnage sort de la zone de détection.
Mais ce que je ne comprends pas, c'est qu'il ne réapparaît pas si on y reviens.
Soit dit en passant, je me demande comment tu fais pour t'y retrouver dans ton code, avec toutes ces ouvertures/fermetures de fenêtres.
Pourquoi ne pas simplement changer le fond (en "background" ou en "bmp") et travailler dans la même fenêtre
Avec tous ces branchements; c'est un vrai labyrinthe.
Enfin...Chacun code à sa façon.; mais là, c'est vraiment "touffus"....Normal...C'est une forêt Lol !
Mais ce que je ne comprends pas, c'est qu'il ne réapparaît pas si on y reviens.
Soit dit en passant, je me demande comment tu fais pour t'y retrouver dans ton code, avec toutes ces ouvertures/fermetures de fenêtres.
Pourquoi ne pas simplement changer le fond (en "background" ou en "bmp") et travailler dans la même fenêtre
Avec tous ces branchements; c'est un vrai labyrinthe.
Enfin...Chacun code à sa façon.; mais là, c'est vraiment "touffus"....Normal...C'est une forêt Lol !
____________________
Roro
Roro
Ho, ne Tkt pas pour cela j'ai refait le système de quête et ça bug pu ^^. De plus il y avait certains autre bugs qui rendait le jeu injouable ={. Enfin c fait ^^ et y'a pu de notice
.
J'ai vu que l'on a dépassé les 14000 vus 0_0 !! A 20000 on se paye un verre ? XD
Je sais que le code peut paraître bordélique (je le trouve aussi) mais pour le moment je fait le gros du travail, ensuite jaffinerais tout ça
. Faut pas croire mais le code est de moins en moins bordélique de versions en versions ^^.
J'y retourne, je vais vous passer d'ici demain (ou ce soir) une version plus fixe et jouable ^^.
++

J'ai vu que l'on a dépassé les 14000 vus 0_0 !! A 20000 on se paye un verre ? XD
Je sais que le code peut paraître bordélique (je le trouve aussi) mais pour le moment je fait le gros du travail, ensuite jaffinerais tout ça

J'y retourne, je vais vous passer d'ici demain (ou ce soir) une version plus fixe et jouable ^^.
++
NOTE: Ces deux codes sont à utiliser avec le dossier "bmp" du jeu "Eternal Quest": E_Q 2.67.1 d'Atomose.
Dans lequel, il faut copier sur place: perso2z; pour créer: perso3d; perso3q; perso3s; et: perso3z. Qui manquent (pour éviter de toucher au code)
Il est possible de virer tout le reste puisque seuls les persos servent pour le test.
Evidemment; garder le dossier map.
Salut Atomose,
J'ai tellement transpiré sur ton code, que j'ai repris celui de Cassiope; en y faisant quelques modifs.
Les modifs générales:
-- J'ai viré toutes les subs (sauf les prises de côtes.) Les sub's, c'est comme le Diable: Puissant, mais gare aux coups de fourches !
-- Remplacé: "Graphics" par: "Window" + "Graphicbox" (moins capricieux)
-- Séparé la partie "Editeur" de la partie "Test". (avoir les deux codes côte à côte)
-- Remplacé le tableau numérique par un tableau "chaîne". Ce qui porte le nombre d'évenements possibles, de: 9 à: 256 - (2ou3) ("x"; "; et: " ".)
-- Ajouté une prise de côtes en unité: N° de case. ( clic droit), et en pixels (clic du milieu)
Modifs "Editeur":
-- Ajouté un "Tableau de bord" (fenêtre séparée)
--Au lancement on choisi une map directement dans le dossier.
-- Au "Save" le fichier "Limites" est envoyé dans le dossier des maps, avec le même nom que sa map.
--Pour annuler les erreurs: Entrer "x" dans: Case Value et valider ("x" étant les parties "libres".
Modifs Partie "Test":
-- Remplacé: "Double clic" par: "Simple clic".
-- Introduit Affichage textes
-- Ajouté un bouton "Affichage limites"
-- Ajouté une prises de côtes idem qu'éditeur.
-- Ebauche changement de map.
ça, c'est l'EDITEUR:
Code VB :
Et ça, c'est la fenêtre de TESTS
Code VB :
Dans lequel, il faut copier sur place: perso2z; pour créer: perso3d; perso3q; perso3s; et: perso3z. Qui manquent (pour éviter de toucher au code)
Il est possible de virer tout le reste puisque seuls les persos servent pour le test.
Evidemment; garder le dossier map.
Salut Atomose,
J'ai tellement transpiré sur ton code, que j'ai repris celui de Cassiope; en y faisant quelques modifs.
Les modifs générales:
-- J'ai viré toutes les subs (sauf les prises de côtes.) Les sub's, c'est comme le Diable: Puissant, mais gare aux coups de fourches !
-- Remplacé: "Graphics" par: "Window" + "Graphicbox" (moins capricieux)
-- Séparé la partie "Editeur" de la partie "Test". (avoir les deux codes côte à côte)
-- Remplacé le tableau numérique par un tableau "chaîne". Ce qui porte le nombre d'évenements possibles, de: 9 à: 256 - (2ou3) ("x"; "; et: " ".)
-- Ajouté une prise de côtes en unité: N° de case. ( clic droit), et en pixels (clic du milieu)
Modifs "Editeur":
-- Ajouté un "Tableau de bord" (fenêtre séparée)
--Au lancement on choisi une map directement dans le dossier.
-- Au "Save" le fichier "Limites" est envoyé dans le dossier des maps, avec le même nom que sa map.
--Pour annuler les erreurs: Entrer "x" dans: Case Value et valider ("x" étant les parties "libres".
Modifs Partie "Test":
-- Remplacé: "Double clic" par: "Simple clic".
-- Introduit Affichage textes
-- Ajouté un bouton "Affichage limites"
-- Ajouté une prises de côtes idem qu'éditeur.
-- Ebauche changement de map.
ça, c'est l'EDITEUR:
Code VB :
'EDITEUR nomainwin [retour] dim info$(10,10) FILEDIALOG "Open", DefaultDir$+"\bmp\map\*.bmp", Filename$ '--ci-dessous: grosse magouille xj= instr(Filename$, "map")+3 '----pour extraction du nom sec charge$ = right$(Filename$,len(Filename$)-xj) '---arrachage de ce qu'il y a devant map$ = left$(charge$,len(charge$)-4) '---arrachage de ce qu'il y a derrière WindowWidth = 880 WindowHeight = 538+5 UpperLeftX=int((DisplayWidth-WindowWidth)/1.5) UpperLeftY=int((DisplayHeight-WindowHeight)/2) Global ncx, ncy, lc, SpriteCourant, caseValue Global optab GRAPHICBOX #3b.map, 0, 0, 870, 538 if op3b=1 then [pass3b] open "Editeur de Zones Réactives " for window as #3b if map$="" then [Quit] op3b=1 [pass3b] #3b "trapclose [Quit]" #3b.map, "down" #3b.map, "setfocus" #3b.map, "When rightButtonUp Cotecase"' côtes en cases #3b.map, "When middleButtonDown Cotepix" 'côtes en pixels #3b.map "when leftButtonDown [SimpleClick]" #3b.map, "when leftButtonMove [SimpleClick]" 'pour tracer et enregistrer les limites. #3b.map, "when characterInput Touches" 'pour déplacer le personnage avec les flêches. la même flêche l'arrête. #3b.map, "font Comic_Sans_MS 8" #3b.map, "home; posxy CenterX CenterY" '--------------------------------------- Init Var ----------------------- lc = 15 'dimension d'une case en pixels Gwidth = CenterX * 2 Gheight = CenterY * 2 dpx(1) = 0 :dpx(2) = 1 :dpx(3) = 0 :dpx(4) = -1 dpy(1) = -1 :dpy(2) = 0 :dpy(3) = 1 :dpy(4) = 0 ' incrément de direction , pour la variables tableau ncx = int(Gwidth/lc)+1 'nbre de case en x ncy = int(Gheight/lc)+1 'nbre de case en y dim cas$(ncx,ncy) 'tableau chaine de toute la map caseValue$ = "z" ' valeur de la limite par défaut = mur. gosub [charge] loadbmp "MAP", "bmp\map\"+map$+".bmp" ' LA CARTE à éditer. gosub [grid] gosub [montreLimites] goto [tabbord] wait '---- [montreLimites] #3b.map, "backcolor blue; color yellow" for y = 1 to ncy for x = 1 to ncx'----if cas$(x,y)<>"x"-->si différent de "x" on affiche if cas$(x,y)<>"x" then #3b.map, "place ";(x*lc)-lc/2-2;" ";y*lc-3;" ;|";cas$(x,y) next '----"x" Partie libre (ça ne marchait pas avec: "", ni avec: " ") next #3b.map,"flush;discard" return [SimpleClick] #tab.va, "!contents? value$" caseValue$=value$ mx = int(MouseX / lc)+1 my = int(MouseY / lc)+1 if mx>0 and mx<ncx and my>0 and my<ncy then cas$(mx,my) = caseValue$ #3b.map, "backcolor blue; color blue" #3b.map, "place ";(mx-1)*lc+2;" ";(my-1)*lc+2 #3b.map, "boxfilled ";mx*lc-1;" ";my*lc-1 #3b.map, "color yellow" #3b.map, "place ";(mx*lc)-lc/2-2;" ";my*lc-3;" ;|";cas$(mx,my) end if #3b.map,"flush;discard" wait [grid] #3b.map, "drawbmp MAP 0 0" '----Déplacé d'en haut #3b.map, "color darkgray" for x = 1 to ncx #3b.map, "place ";x*lc;" 0" #3b.map, "goto ";x*lc;" ";ncy*lc 'traits verticaux de la grille next for y = 1 to ncy #3b.map, "place 0 ";y*lc #3b.map, "goto ";ncx*lc;" ";y*lc 'traits horizontaux de la grille next #3b.map,"flush;discard" return wait [charge] redim cas$(ncx,ncy) 'on vide l'ancien tableau file$=map$+".txt" if fileExist(DefaultDir$+"\bmp\map\", file$) then open "bmp\map\"; file$ for input as #grid for y=1 to ncy for x=1 to ncx if eof(#grid) <> 0 then sortgrid=1: exit for 'test de fin de fichier LINE INPUT #grid, cas$(x,y) next if sortgrid=1 then exit for '2 for/next--> 2 exits par flag: "sortgrid" next close #grid else notice " "+chr$(13)+"Pas de fichier : "+ map$+".txt'...!"+chr$(13)+"Il faut donc traçer les limites de cette carte..." for y=1 to ncy '---on rempli la map de "x" (partie libre) for x=1 to ncx '---ce qui permet d'effacer (en remplaçant par: "x") cas$(x,y)="x" next if sortgrid=1 then exit for next end if return [save] filesave$= map$+".txt" confirm "Enregistrer les limites de cette carte ?"; answer$ if answer$ = "yes" then open "bmp\map\"; filesave$ for output as #grid for y = 1 to ncy for x = 1 to ncx #grid, cas$(x,y) next next close #grid notice "Enregistrement"+chr$(13)+"limites de la carte enregistrées dans le fichier"+chr$(13)+map$+".txt" end if goto [Quit] wait [tabbord] '----------------------- Tableau de Bord ------------------------- if optab=1 then [passtab] WindowWidth = 200 WindowHeight = 130 UpperLeftX=20 UpperLeftY=100 BUTTON #tab.cart, "Carte", [carte], UL, 5, 10, 50, 20 BUTTON #tab.grio, "Grid On", [gridon], UL, 60, 10, 60, 20 BUTTON #tab.limo, "Limit On", [limiton], UL, 125, 10, 60, 20 BUTTON #tab.casva, "Case Value", [caseval], UL, 10, 40, 70, 20 textbox #tab.va, 90, 40, 30, 20 BUTTON #tab.des, "Destroy", [destroy], UL, 10, 70, 50, 20 BUTTON #tab.sav, "Save Limites Carte", [save], UL, 80, 70, 110, 20 open "Tableau de bord" for window_nf as #tab [passtab] optab=1 print #tab, "trapclose [Quittab]" #tab.va, caseValue$ wait '------------ [limiton] '----------------- Et.... Ses boutons --------- gosub [montreLimites] wait [carte] #3b.map, "drawbmp MAP 0 0" wait [gridon] gosub [grid] wait [destroy] kill$=map$+".txt" confirm "Vous allez Détruire toutes les données";reponse$ if reponse$="no" then wait if reponse$="yes" then if fileExist(DefaultDir$+"\bmp\map\", kill$) then kill DefaultDir$+"\bmp\map\"+kill$ #3b.map, "fill black" goto [retour] else notice "Le fichier: "+kill$+" n'existe pas encore." end if end if wait function fileExist(path$,filename$) ' gestion des fichiers (note: infos(10,10) en tête de code) files path$,filename$, info$() fileExist = val(info$(0, 0)) end function Function text(x,y,msg$) '------fonction d'affichage de textes #3b.map,"color yellow;backcolor black" #3b.map,"Place ";x;" ";y;";|";msg$ End Function Sub Cotecase handle$, xClick, yClick '----prise de cotes en cases #3b.map, "color yellow;backcolor black" xcase=int(xClick/lc)+1 'coord en N° de case ycase=int(yClick/lc)+1 Print text(xClick,yClick,"xc = "+Str$(xcase)) Print text(xClick,yClick+15,"yc = "+Str$(ycase)) End Sub Sub Cotepix handle$, xClick, yClick '-----prise de cotes en pixels #3b.map, "color yellow;backcolor black" xcase=int(xClick/lc)+1 'coord en N° de case ycase=int(yClick/lc)+1 Print text(xClick,yClick,"xp = "+Str$(xClick)) Print text(xClick,yClick+15,"yp = "+Str$(yClick)) End Sub wait [Quittab] close #tab: optab=0 wait [Quit] if optab=1 then close #tab:optab=0 if map$<>"" then unloadbmp "MAP" close #3b END
Et ça, c'est la fenêtre de TESTS
Code VB :
' FENETRE de TESTS nomainwin WindowWidth = 880 WindowHeight = 538+5 UpperLeftX=int((DisplayWidth-WindowWidth)/1.5) UpperLeftY=int((DisplayHeight-WindowHeight)/2) 'Global ncx, ncy, lc, SpriteCourant', caseValue Global ncx, ncy, lc, SpriteCourant', caseValue$ lc = 15 'dimension d'une case en pixels GRAPHICBOX #3b.map, 0, 0, 870, 538 BUTTON #3b, "Lim", [montreLimites], UL, 5, 10, 40, 20 open " Fenêtre de Test" for window as #3b #3b.map, "trapclose Quit" #3b.map, "down" #3b.map, "setfocus; when leftButtonDown [DoubleClick]" #3b.map, "When rightButtonUp Cotecase"' côtes en cases #3b.map, "When middleButtonDown Cotepix" 'côtes en pixels #3b.map, "font Comic_Sans_MS 8" #3b.map, "home; posxy CenterX CenterY" Gwidth = CenterX * 2 Gheight = CenterY * 2 dpx(1) = 0 :dpx(2) = 1 :dpx(3) = 0 :dpx(4) = -1 dpy(1) = -1 :dpy(2) = 0 :dpy(3) = 1 :dpy(4) = 0 ' incrément de direction , pour la variables tableau ncx = int(Gwidth/lc)+1 'nbre de case en x ncy = int(Gheight/lc)+1 'nbre de case en y ' dim cas(ncx,ncy) 'variable tableau de toutes la map. dim cas$(ncx,ncy) dim info$(10,10) indice=2 pCX = 14 ' position initiale du personnage (en cases) pCY = 18 [restart] nom$="maphum"+str$(indice) map$=nom$+".bmp" lim$=nom$+".txt" gosub [charge] loadbmp "MAP", "bmp\map\";map$ #3b.map, "drawbmp MAP 0 0" print #3b.map, "background MAP" sprites$ = "perso1d perso2d perso3d perso4d perso1s perso2s perso3s perso4s "+_ "perso1q perso2q perso3q perso4q perso1z perso2z perso3z perso4z" for s = 1 to 16 loadbmp word$(sprites$,s), "bmp\"+word$(sprites$,s)+".bmp" next #3b.map, "addsprite perso1 perso1z perso2z perso3z perso4z" 'création des 4 sprites pour chaque futures direction de déplacement... #3b.map, "addsprite perso2 perso1d perso2d perso3d perso4d" #3b.map, "addsprite perso3 perso1s perso2s perso3s perso4s" #3b.map, "addsprite perso4 perso1q perso2q perso3q perso4q" for SpriteCourant = 1 to 4 #3b.map, "spritexy perso";SpriteCourant;" ";pCX*lc;" ";pCY*lc 'place tous les sprites du personnage là. #3b.map, "cyclesprite perso";SpriteCourant;" 1" #3b.map, "spritevisible perso";SpriteCourant;" off" next SpriteCourant = 3 #3b.map, "spritevisible perso";SpriteCourant;" on" #3b.map, "drawsprites" 'affiche le sprite courant. wait [DoubleClick] mX = MouseX mY = MouseY icp = 6 'incrément de déplacement en pixels. #3b.map, "spritexy? perso";SpriteCourant;" cursX cursY" 'coordonnées actuelles du personnage <------ dir = direction(cursX,cursY,mX,mY) 'fonction qui donne la direction du déplacement... destinée à utiliser le sprite adéquat. for s=1 to 4 : #3b.map, "spritevisible perso";s;" off" : next SpriteCourant = dir #3b.map, "spritexy perso";SpriteCourant;" ";cursX;" ";cursY #3b.map, "spritevisible perso";SpriteCourant;" on" 'ne montre QUE le sprite concerné par la direction choisie. do #3b.map, "spritexy? perso";SpriteCourant;" cursX cursY" cx = int(cursX/lc)+1 'position du sprite exprimé en n° de case pour la variable tableau cy = int(cursY/lc)+1 'if cx+dpx(dir)>0 and cx+dpx(dir)<ncx and cy+dpy(dir)>0 and cy+dpy(dir)<ncy and cas(cx+dpx(dir),cy+dpy(dir)) = 0 then if cx+dpx(dir)>0 and cx+dpx(dir)<ncx and cy+dpy(dir)>0 and cy+dpy(dir)<ncy and cas$(cx+dpx(dir),cy+dpy(dir)) = "x" then nx = cursX + dpx(dir)*icp ny = cursY + dpy(dir)*icp #3b.map, "spritexy perso";SpriteCourant;" ";nx;" ";ny 'cheminement du sprite... tranquilou... #3b.map, "drawsprites" 'call pause 90 temp=90 gosub [pause] else sortir = 1 end if if cas$(cx+dpx(dir),cy+dpy(dir)) = "A" then indice =indice+1 'incrémente le N° de la map if indice=23 then indice =2 pCX = 39: pCY = 2 ' replace perso (unité= N° de case) goto [restart] end if '----------NOTE: LES CONDITIONS CI-DESSOUS NE FONCTIONNENT QUE: dans la mesure... '§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ if cas$(cx+dpx(dir),cy+dpy(dir)) = "B" then notice "Prendre des congés" ' ...où le fichier de données (limites) existe. if cas$(cx+dpx(dir),cy+dpy(dir)) = "E" then Print text(379,124,"Dynamite!!") 'Et ne réagirons, que pour la carte comportant les données if cas$(cx+dpx(dir),cy+dpy(dir)) = "2" then Print text(618,130,"Tu marche dans les cailloux!") if cas$(cx+dpx(dir),cy+dpy(dir)) = "3" then Print text(590,175,"Tu va te casser la gu..le!") '///////////////////////////////////////////////////////////////////////////////////////////////// if (dir = 2 and nx >= mX) or (dir = 4 and nx <= mX) or (dir = 1 and ny <= mY) or (dir = 3 and ny >= mY) then sortir = 1 'on est arrivé en l'endroit du clic de souris... loop until sortir sortir=0 wait [montreLimites] #3b.map, "backcolor blue; color yellow" for y = 1 to ncy for x = 1 to ncx ' if cas(x,y) then #3b.map, "place ";(x*lc)-lc/2-2;" ";y*lc-3;" ;|";cas(x,y) if cas$(x,y)<>"x" then #3b.map, "place ";(x*lc)-lc/2-2;" ";y*lc-3;" ;|";cas$(x,y) next next #3b.map,"flush;discard" wait [charge] file$=lim$ if fileExist(DefaultDir$+"\bmp\map", file$) then redim cas$(ncx,ncy) open "bmp\map\";file$ for input as #grid for y=1 to ncy for x=1 to ncx 'if eof(#grid) <> 0 then sortgrid=1: exit for 'test de fin de fichier LINE INPUT #grid, cas$(x,y) next if sortgrid=1 then exit for next close #grid else c$=" "+chr$(13)+"La Carte: "+ map$+" n'a Pas de fichier 'Limites' Associé..."+chr$(13) c$=c$+" Il faut en Créer un à l'aide de l'Editeur" 'notice " "+chr$(13)+"Cette Carte n'a Pas de fichier 'Limites' Associé..." notice c$ end if return function direction(dx,dy,ax,ay) 'fonction qui donne la direction du déplacement... destinée à utiliser le sprite adéquat. dirX = ax - dx dirY = ay - dy if abs(dirX) < abs(dirY) then sens = 1 else sens = 2 '1 = vertical 2 = horizontal select case case sens = 1 : if dirY > 0 then direction = 3 else direction = 1 'direction à prendre: 1 = HAUT, 3 = BAS case sens = 2 : if dirX > 0 then direction = 2 else direction = 4 ' 2 = DROITE, 4 = GAUCHE end select end function Function text(x,y,msg$) '------fonction d'affichage de textes #3b.map,"color yellow;backcolor darkgreen" #3b.map,"Place ";x;" ";y;";|";msg$ End Function [pause] timer temp, [suit] wait [suit] timer 0 return Sub Cotecase handle$, xClick, yClick 'prise de cotes en cases #3b.map, "color yellow;backcolor black" xcase=int(xClick/lc)+1 'coord en N° de case ycase=int(yClick/lc)+1 Print text(xClick,yClick,"xc = "+Str$(xcase)) Print text(xClick,yClick+15,"yc = "+Str$(ycase)) End Sub Sub Cotepix handle$, xClick, yClick 'prise de cotes en pixels #3b.map, "color yellow;backcolor black" xcase=int(xClick/lc)+1 'coord en N° de case ycase=int(yClick/lc)+1 Print text(xClick,yClick,"xp = "+Str$(xClick)) Print text(xClick,yClick+15,"yp = "+Str$(yClick)) End Sub function fileExist(path$,filename$) files path$,filename$, info$() fileExist = val(info$(0, 0)) end function sub Quit handle$ unloadbmp "MAP" sprites$ = "perso1d perso2d perso3d perso4d perso1s perso2s perso3s perso4s "+_ "perso1q perso2q perso3q perso4q perso1z perso2z perso3z perso4z" for s = 1 to 16 unloadbmp word$(sprites$,s) next close #3b END end sub
____________________
Roro
Roro
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie