Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Coordination / Avancement / Demande de travail et IRC | |
| | |
Auteur | Message |
---|
Invité Invité
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Lun 12 Sep 2011 - 23:39 | |
| Je vois que les talents se précisent, et un début d'organisation aussi. - Citation :
- Cosmos fera t'il partie de l'équipe?
Euh non! Par contre si il y a un problème et la lumière au dessus de moi s'allume, il est évident que j'y répondrais. Je doute fort que ce soit le cas, vu que je n'ai aucune compétence pour ce type de travail. De plus j'ai une montagne sur les épaules, et je suis bloqué dans ce que je fais. J'ai une idée qui ne veut pas venir, et mes programmes sont en stand-bail. Cogitez bien! |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 11:51 | |
| Mdr Polaris, ok pour coordonner, j'en serais honnoré, mais si quelqu'un veut prendre en charge, ne pas hésiter à poser la candidature. Bon, on acte donc déjà pour un RPG. En partant du principe que l'on est tous codeur, merci à tous les participants de préciser ses autres talents graphiste, musiciens....etc Pour commencer, j'ai déjà tous les graphismes 2D de dungeon master. Je peux créer un zip de graphisme pour que l'on choisisse que quoi on part. Je propose dans un premier temps que l'on fasse déjà un jeu avec un bon background bien structurer, si on a de bon graphistes 3D, si le moteur est bien fait, on pourra toujours remplacer la 2D par de la 3D. Qu'en pensez-vous ? Propositions: - Jeu autonome sans client / serveur et non collaboratif dans un premier temps. Si le background et le jeu prend forme correctement, nous pourrions essayer de rajouter ses fonctionnalité si une personne se sent capable de le coder. - Les donjons sont fixes et codé dans des fichiers autonomes ouverts quand on fait l'action entrer sur la carte afin que l'on puisse faire un éditeur de donjon plus tard Principe de jeu proposé: Carte de déplacement (monde) avec des rencontres aléatoires par endroit et des donjeons / lieux spécifiques (type villes, spatioport, ou autre selon le contexte choisi) Minifly, acceptes tu la tache de scénariste ? As-tu des préférences sur le background (médiéval, futuriste, ...) Voilà, n'hésitez pas à voter ou à commenter les points comme fait jusqu'à présent. Rien n'est encore arrété en dehors du RPG, tous les commentaires / propositions sont les bienvenus | |
| | | Polaris
Nombre de messages : 69 Date d'inscription : 03/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 13:29 | |
| | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 14:37 | |
| 1/ Si tu utilise firefox, ajoute l'extension Chatzilla 2/ Redémarre 3/ saisit l'adresse: irc://freenode/panoramic et valides 4/ Il va t'ouvrir chatzilla sur l'adresse indiqué et va essayer de se connecter (C'est là que le proxy du boulot doit me bloquer) | |
| | | jpcr
Nombre de messages : 276 Age : 57 Localisation : Val de Marne (94) Date d'inscription : 06/05/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 14:45 | |
| oui effectivement, je n'avais pas l’extension installée, ça marche maintenant.
du coup faudrait se fixer une heure et un jour pour faire un essai de discussion.
ce soir? 21h ?
jp | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 16:02 | |
| 21H c'est bien, comme ça on aura plus de temps pour avancer ^^ et discuter, voter, se chamailler dans la bonne humeur ou se vanner, bon, pour rester dans les verbes du 1ier groupe, je vais arréter de spammer ... A tout à l'heure
| |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 18:45 | |
| @jicehel Si tu as tout les graphiques de dongeon et master pourrait tu nous en faire profiter. Dans l'absolu je suis partant. Reste a voir les modalités. Qui fait quoi et comment. Toonic me parait le meilleur moyen en ce moment. Mélange de 2D et 3D ça doit doit ètre un supper moyen. Nous devrions commencer modeste. Je n'ai a ce moment que très peu d'expérience dans l'écriture de jeux. Et vous avez vous déjà programmé des jeux ? De toutes façons ce n'est qu'en forgeant que l'on devient programmeur de jeux. Pour l'instant je suis comme vous, j'attend Toonic avec impatience. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 22:02 | |
| | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mar 13 Sep 2011 - 23:07 | |
| Résumé de la conversation sur l'IRC Type de jeu: jdr médiéval/fantastique à l'ancienne par cases (carte générale 25*25 cases au départ). Le joueur incarne un héros a qui une histoire va arriver
Les mondes sont sauvegardés sous forme de fichiers indépendants, chaque case ayant 2 valeurs (type de terrain et contenu) Exemple à titre indicatif, nous n'avons pas encore écrit la table des tiles au moment où j'écris ce résumé: 25,00;22,00;23,00;25,00;22,00 => Ligne 1 qui contient 5 cases voir détail plus bas 00,00;01,02;02,02;01,02,22,00 => Ligne 2 sur 5 cases
Première case de la ligne 1: 25 (motif 4 de montagne) , 00 (Pas de contenu car les montagne de type 25 sont infranchissable)
Deuxième case de la ligne 1: 22 (motif 1 de montagne) , 00 (Pas de contenu car les montagne de type 22 sont infranchissable)
[...]
Première case de la ligne 2: 00 (motif 1 de mer) , 00 (Pas de contenu car la mer de type 00 est infranchissable)
Deuxième case de la ligne 2: 01 (motif 1 de plaine) , 02 (utiliser la table des monstres de type plaine n°2)
Troisième case de la ligne 2: 02 (motif 2 de plaine) , 02 (utiliser la table des monstres de type plaine n°2)
etc ...
| |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mer 14 Sep 2011 - 8:59 | |
| Parfait. Je vois que ça avance et que ça commence à prendre forme. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mer 14 Sep 2011 - 9:54 | |
| Woui, on a continué à discuter et MiniFly va faire le premier petit bout de code avec une petite carte selon les principes dont nous avons discuté Ce soir je mettrais un fichier PDF en lien sur le Tilemapping tiré de l'exellent site du zero. Ce n'est pas en Panoramic, mais l'explication des principes de fonctionnement est très bien faite et assez facilement adaptable (en dehors des objets structurés qui n'existe pas encore en Panormaic qu'il faut remplacer par un ensembles d'objets indépendants). | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mer 14 Sep 2011 - 18:57 | |
| Bonjour a tous j'ai commencé a faire l'exemple mais je suis en retard, des imponderable comme d'hab. Mais je travail dessus. En attendant voici un exemple que j'ai fait a mes début dans Panoramic ( soyez indulgent ). Il fonctionne avec les fleches, escape pour terminer. Normalement le lapin devait echapper aux chjens et récuperer des carottes. Il y a un fichier Map que vous pouvez changer. Mais promis vous aurez l''exemple ce soir tard ou demain. A ce soir les bilouts. http://dl.free.fr/eGpeTR4fkpour charger et a mettre dans un rep a part | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Mer 14 Sep 2011 - 22:02 | |
| | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Fichier Map Jeu 15 Sep 2011 - 19:05 | |
| TileMap
J'ai un remord au sujet du fichier Map.
1 On a aucune information au sujet du sprite ou du tile dimension x,y 16,16 ou 16x32 32x32 ou 32x64 etc...dans le fichier Map. 2 Nombre de tiles dans la fenêtre 5x5,15,25 etc... 3 Le nom du fichier ou la position dans le TileMap ou se trouve le sprite à dessiner. 4 Si on a plusieurs tiles pour un même dessin ex : maison,voiture. 5 Comment accrocher un son a un tile.Ou déclancher un timer ou autre. 6 Si l'on arrete de jouer enregistrer l'endroit ou l'on se trouve dans le jeu. 7 Définitions des différents levels.
j'ai une petite idée mais elle ne regroupe pas tout.
Mettre au début du fichier ces informations. les enregistrer dans des tables ( pas tous)
par exemple:
Nombre de tiles en x =5 Nombre de tiles en Y=5 Dimensions du tile en X et Y
Cela va permettre de définir les dimensions de la fenêtre.
Nom du fichier .bmp cele va permettre de le charger ( comme cela si on veut le changer rien de plus facile). Ou La position du tile dans la feuille du sprite.
Je me demande si il n'est pas mieux d'avoir que des fichiers tiles .bmp a la place d'une feuille de sprites.
La feuille c'est bien pour récupérer plusieurs sprites pour simuler une action marcher, courir etc...
Plusieurs tiles pour un même dessin , Si on a sur l'écran une maison, une barriere etc...?
Pour metrre un son ou un timer sur un tile lorsque l'avatar se trouve dessus?
Je pense peut être à tord que ce fichier est une grande part du jeu.
voici mes réflextion pour le moment.
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Ven 16 Sep 2011 - 11:21 | |
| Points sur les fichiers nécessaire à la gestion de la carte:
- Fichier TileSet => ensemble des Tiles (Tuiles ) 20 tuiles par lignes de 32 pixels * 32 pixels
- Ficher Def_Tiles => Définit les propriétés communes à chaque type de tiles
2 lignes de commentaires puis des lignes sous la forme N°Tile;Nom en clair du tile; Franchissable;Comportement_tile;Commentaire
* Nom en clair du type: Plaine motif 1; Plaine motif 2; Chemin vertical ou Chemin horizontal Pour les intersection je propose un nom basé sur les heures pour définir les noms Exemple: Chemin angle 0-3; Chemin angle 3-6; chemin intersection 0-3-6; Chemin intersection 3-6-9 ou Chemin croisement qui correspond à un croisement de chemin horizontal - vertical)
* Franchissable => oui/non
*Comportement_Tile => type de comportement pour tous les tiles de ce type (numéro) qui correspond à jouer un son quand on arrive dessus ou permettre l'option de type ouvrir pour un coffre ou une porte, ces types d'actions seront définits dans un autre fichier ou dans le programme
- Fichier Cartes => Fichier qui permet de dessiner la carte
2 lignes de commentaires 1 ligne contenant le nom de la carte, le L: nombre de tiles de large et le H: nombre de tiles de haut H lignes de définition des tiles de chaque lignes (comprenant L valeurs/ ligne)
- Fichier Evenement_Carte => Fichier qui permet d'associer des événements à la présence du héros sur une case
2 lignes de commentaires 1 ligne contenant le nom de la carte, le L: nombre de tiles de large et le H: nombre de tiles de haut H lignes de définition des évenements associés à chacune des cases (comprenant L valeurs/ ligne)
| |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Ven 16 Sep 2011 - 18:00 | |
| Je n'ai pas encore lu ton post Jice
Modification du MapFile
Dans le fichier Map ne sera pas pris en compte le " ' " et les lignes blanches
' Dimension d'une tile
DTX=32 DTY=32
' Nombre de tile NTX=5 NTY=5
Ce qui suit ne sera pas dans le fichier Map
Definition des autorisations des tiles a compléter 0=Infranchissable 1=Deplacement autorisé 2=Acteur 3=Tile de remplacement 4=Fichier son autorisé 5=Timer 6=Tile de remplacement ..... .....
Définition du tableau autorisation des tiles tableau chaine Tbl_Tile(x,0)=Numero du tile ( numero x qui se trouve dans la grille de placement du Map) Tbl_Tile(x,1)= Nom du fichier ou coordonnées du dessin de la tile Tbl_Tile(x,2)=Type de sprite ( voir Definition des autorisations des tiles a compléter ci-dessus ) Tbl_Tile(x,3)=Nom du fichier Son si Type de sprite =4 Tbl_Tile(x,4)=Numero du timer si Type de sprite =5 Tbl_Tile(x,5)=Valeur du timer si Type de sprite=5 Tbl_Tile(x,6)=Nom du fichier ou coordonnées du dessin de la tile si Type de sprite=6
Etc... suivant la liste Definition des autorisations des tiles a compléter ci-dessus.
Grille de placement du Map
00000 01110 01000 01110 00000
On créé en Tableau que l'on charge lorsque l'on lit la grille
Tbl_Map(1,1)=0 Tbl_Map(1,2)=0 Tbl_Map(1,3)=0 Tbl_Map(1,4)=0 Tbl_Map(1,5)=0 Tbl_Map(2,1)=0 Tbl_Map(2,2)=1 ............ On utilise une boucle
Si vous constatez autre chose il faudra faire des changements.
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Ven 16 Sep 2011 - 23:51 | |
| MiniFly, je te mets juste un bout de code pour la gestion de ton lapin, on aime bien les lapins (J'ai remis en marche les chien aussi par ce que j'aime bien les chiens aussi ... ) - Code:
-
dim f$,a$,I%,J%,K%,l,Dude$,Mur$,Porte01$,Porte02$,Sol$,Monst01$,Monst02$,Monst03$ dim Monst04$,Monst05$,Parametre$,Long_Chain_Param%,Mot$,Pos_Caractere% Dim I_Tableau_Max%,J_Tableau_Max%,CR$,LF$,I_p%,J_p%,I_Indice_tableauX%,J_Indice_tableauX%,I_Sprite_X% Dim I_Sprite_H%, Inverser ,spr_pos,Limit_x,flag_direction,flag_direction1 ,monstre1,monstre2, spr_pos1 dim Spr_Tableau$(50,50),Spr_Monstre_tableau(200), chemin$ Label key_down,Move_monstre, fin
k%=1
Mot$="x"
CR$=chr$(13) Lf$=chr$(10) Chemin$ = "C:\Program Files\Panoramic Editor V 0.9.20\sources\LabyMiniFly\"
' ******************* Lecture fichier Level *****************
' Ouverture du fichier level FILE_OPEN_READ 1, Chemin$ + "level.01"
' Lecture du fichier Dude file_readln 1,Dude$
' Lecture du fichier Mur file_readln 1,Mur$ mur$=trim$(chemin$+Mur$)
' Lecture du fichier Porte01 file_readln 1,Porte01$ ' Lecture du fichier Porte02 file_readln 1,Porte02$ ' Lecture du fichier Sol file_readln 1,Sol$
' Lecture du fichier Monst01$ file_readln 1,Monst01$
' Lecture du fichier Monst02$ file_readln 1,Monst02$ ' Lecture du fichier Monst03$ file_readln 1,Monst03$ ' Lecture du fichier Monst03$ file_readln 1,Monst04$ ' Lecture du fichier Monst04$ file_readln 1,Monst05$ ' Lecture paramètres de la fenêtre file_readln 1,Parametre$ ' On retire les blancs de devant et de l'arrière de la chaine parametre$=trim$(parametre$) ' Longueur de la chaine parramètres Long_Chain_Param%=len(parametre$) Pos_Caractere%=Instr(parametre$,Mot$) I_Tableau_Max%=Val(Left$(parametre$,Pos_Caractere%-1)) J_Tableau_Max%=Val(Right$(parametre$,Long_Chain_Param%-Pos_Caractere%)) while file_eof (1) <> 1
for I%=1 to I_Tableau_Max% for J%=1 to J_Tableau_Max%
file_readbuf 1,Spr_Tableau$(I%,J%),1 Next J% file_readbuf 1,f$,2 Next I% END_WHILE
file_close 1 ' ******************* Fin lecture fichier Level *******************************
width 0, I_Tableau_Max%*32+64 height 0 ,J_Tableau_Max%*32+92
scene2d 1 width 1, I_Tableau_Max%*32+32 height 1 ,J_Tableau_Max%*32+32 top 1,0 left 1,0
file_load 1, Chemin$ + "fond.bmp" full_space 1 sprite_target_is 1
HIDE 1 k%=1 ' **************** Remplissage de la fenêtre avec le mur **********************
for I%=1 to I_Tableau_Max% step 1
for J%=1 to J_Tableau_Max% step 1 f$=Spr_Tableau$(I%,J%)
l=asc(f$)
select l
case 72 sprite j%+J_Tableau_Max%*I% I_Sprite_H%=j%+J_Tableau_Max%*I% sprite_file_load I_Sprite_H%,Chemin$ + "chien_l.bmp" sprite_position I_Sprite_H%,32*J%,i%*32
Spr_Monstre_Tableau(k%)=I_Sprite_H% Spr_Monstre_Tableau(k%+1)=J% Spr_Monstre_Tableau(k%+2)=I%
K%=K%+4
case 77 sprite j%+J_Tableau_Max%*I% sprite_file_load J%+ J_Tableau_Max%*i%,Chemin$ + "mur.bmp" sprite_position J%+J_Tableau_Max%*i%,32*J%,i%*32
Case 80 sprite j%+J_Tableau_Max%*I% sprite_file_load J%+ J_Tableau_Max%*i%, Chemin$ + "Door2.bmp" sprite_position J%+J_Tableau_Max%*i%,32*J%,i%*32
case 88 sprite j%+J_Tableau_Max%*I% I_Sprite_X%=j%+J_Tableau_Max%*I% sprite_file_load J%+ J_Tableau_Max%*i%, Chemin$ + "r_f.bmp" sprite_position J%+J_Tableau_Max%*i%,32*J%,i%*32 I_Indice_tableauX%=I% J_Indice_TableauX%=J%
end_select Next j% Next i%
show 1 k%=1
' *********************** Fin remplissage ************************************ flag_direction1=0 flag_direction=0 limit_x=sprite_x_position( I_Sprite_H%)
spr_pos1=limit_x spr_pos=limit_x
timer 100: timer_interval 100,50 : On_timer 100, Move_monstre timer 101: timer_interval 101,10 : On_timer 101, Key_down
end
Move_monstre:
monstre1=Spr_Monstre_Tableau(k%) monstre2=Spr_Monstre_Tableau(k%+4) ' Monstre 1 if spr_pos1 =>64 and flag_direction1=0
spr_pos1=spr_pos1-6 sprite_x_position monstre1, spr_pos1 end_if if spr_pos1 < 65 then flag_direction1 =1 if spr_pos1 <=420 and flag_direction1=1 spr_pos1=spr_pos1 + 4
sprite_x_position monstre1, spr_pos1 if spr_pos1=>420 then flag_direction1 = 0 end_if ' Monstre 2
if spr_pos =>64 and flag_direction=0
spr_pos=spr_pos-3
sprite_x_position monstre2, spr_pos
end_if
if spr_pos < 65 then flag_direction =1
if spr_pos <=420 and flag_direction=1
spr_pos=spr_pos + 5
sprite_x_position monstre2, spr_pos
if spr_pos=>420 then flag_direction = 0
end_if return
' déplacement
key_down:
if scancode=37 if Spr_Tableau$(I_Indice_tableauX%,J_Indice_TableauX%-1)=chr$(32) sprite_Position I_sprite_X%,J_Indice_TableauX%*32-32,I_Indice_tableauX%*32 J_Indice_TableauX%=J_Indice_TableauX%-1
end_if end_if
if scancode=39 if Spr_Tableau$(I_Indice_tableauX%,J_Indice_TableauX%+1)=chr$(32) sprite_Position I_sprite_X%,J_Indice_TableauX%*32+32,I_Indice_tableauX%*32 J_Indice_TableauX%=J_Indice_TableauX%+1 end_if end_if
if scancode=38 if Spr_Tableau$(I_Indice_tableauX%-1,J_Indice_TableauX%)=chr$(32) sprite_Position I_sprite_X%,J_Indice_TableauX%*32,I_Indice_tableauX%*32-32 I_Indice_TableauX%=I_Indice_TableauX%-1 end_if end_if
if scancode=40 if Spr_Tableau$(I_Indice_tableauX%+1,J_Indice_TableauX%)=chr$(32)
sprite_Position I_sprite_X%,J_Indice_TableauX%*32,I_Indice_tableauX%*32+32 I_Indice_TableauX%=I_Indice_TableauX%+1 end_if end_if
' code 27 fermeture programme. if scancode=27 then goto fin
return
' ******************* Fin gestion déplacement du personnage ******************* fin: Terminate | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Sam 17 Sep 2011 - 0:23 | |
| Code du generateur de TileSet depuis un répertoire contenant une liste de Tiles et quelques tiles pour commencer à tester nos programmes: Voir le Fichier : RPG.zip - Code:
-
LABEL Valider, AFF_FENETRE_INFOS_TILES
' Déclaration des variables et constantes DIM X_max, Y_Max, chemin$ DIM L_Tile, H_Tile, Nb_Tiles_ligne, L_Picture, H_Picture DIM Nb_Tiles, N_IMG_TileSet, N_IMG_Tile DIM CPT_OBJ, i, ligne, colonne, Ligne_en_cours, Hauteur_ligne DIM N_FENETRE_INFOS_TILES, Nom_Tile, Tile_Franchissable, Tile_Comportement, Tile_comment DIM Comment$, N_Aff_Tile, B_Valide, Test_OK, depl_colonne DIM F_Def_Tiles, temp
' Constantes Hauteur_ligne = 25 : Chemin$="C:\Program Files\Panoramic Editor V 0.9.20\sources\RPG\"
' Nb de Tuiles utilisées Nb_Tiles = 39 : CPT_OBJ = 1
' Dim max fenêtre X_max = 1000: Y_Max = 600 WIDTH 0, X_max: HEIGHT 0, Y_max HIDE 0
' Dim Tile L_Tile = 32 : H_Tile = 32
' Dim Image_TileSet Nb_Tiles_ligne = 20 L_Picture=Nb_Tiles_ligne * L_Tile H_Picture=int(Nb_Tiles / Nb_Tiles_ligne) IF MOD(Nb_Tiles,Nb_Tiles_ligne) > 0 Then H_Picture=H_Picture + 1 H_Picture = H_Picture * H_Tile
N_IMG_TileSet = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 PICTURE N_IMG_TileSet TOP N_IMG_TileSet,0 LEFT N_IMG_TileSet,0 WIDTH N_IMG_TileSet, L_Picture HEIGHT N_IMG_TileSet, H_Picture ' Créer la fenêtre info_tiles N_FENETRE_INFOS_TILES = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 Ligne_en_cours = 1 : depl_colonne = 140 FORM N_FENETRE_INFOS_TILES HIDE N_FENETRE_INFOS_TILES TOP N_FENETRE_INFOS_TILES, 100 LEFT N_FENETRE_INFOS_TILES, 100 WIDTH N_FENETRE_INFOS_TILES, 2 * depl_colonne + 47 HEIGHT N_FENETRE_INFOS_TILES, Y_Max - 100
ALPHA CPT_OBJ : Parent CPT_OBJ, N_FENETRE_INFOS_TILES TOP CPT_OBJ, Ligne_en_cours * Hauteur_ligne - 10 LEFT CPT_OBJ, 5 WIDTH CPT_OBJ, depl_colonne - 10 HEIGHT CPT_OBJ, Hauteur_ligne CAPTION CPT_OBJ, "Nom du tile" CPT_OBJ = CPT_OBJ + 1
Nom_Tile = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 EDIT Nom_Tile : Parent Nom_Tile, N_FENETRE_INFOS_TILES TOP Nom_Tile, Ligne_en_cours * Hauteur_ligne - 10 LEFT Nom_Tile, depl_colonne WIDTH Nom_Tile, depl_colonne - 5 HEIGHT Nom_Tile, Hauteur_ligne
Ligne_en_cours = Ligne_en_cours + 1
ALPHA CPT_OBJ : Parent CPT_OBJ, N_FENETRE_INFOS_TILES TOP CPT_OBJ, Ligne_en_cours * Hauteur_ligne - 7 LEFT CPT_OBJ, 5 WIDTH CPT_OBJ, depl_colonne - 8 HEIGHT CPT_OBJ, Hauteur_ligne CAPTION CPT_OBJ, "Franchissable O/N ?" CPT_OBJ = CPT_OBJ + 1
Tile_Franchissable = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 CHECK Tile_Franchissable : Parent Tile_Franchissable, N_FENETRE_INFOS_TILES TOP Tile_Franchissable, Ligne_en_cours * Hauteur_ligne - 7 LEFT Tile_Franchissable, depl_colonne
Ligne_en_cours = Ligne_en_cours + 1
Alpha CPT_OBJ : Parent CPT_OBJ, N_FENETRE_INFOS_TILES TOP CPT_OBJ, Ligne_en_cours * Hauteur_ligne - 8 LEFT CPT_OBJ, 5 WIDTH CPT_OBJ, depl_colonne - 10 HEIGHT CPT_OBJ, Hauteur_ligne CAPTION CPT_OBJ, "N° Comportement du tile" CPT_OBJ = CPT_OBJ + 1
Tile_Comportement = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 EDIT Tile_Comportement : Parent Tile_Comportement, N_FENETRE_INFOS_TILES TOP Tile_Comportement, Ligne_en_cours * Hauteur_ligne - 10 LEFT Tile_Comportement, depl_colonne WIDTH Tile_Comportement, int (depl_colonne / 3) HEIGHT Tile_Comportement, Hauteur_ligne
Ligne_en_cours = Ligne_en_cours + 1
Alpha CPT_OBJ : Parent CPT_OBJ, N_FENETRE_INFOS_TILES TOP CPT_OBJ, Ligne_en_cours * Hauteur_ligne - 8 LEFT CPT_OBJ, 5 WIDTH CPT_OBJ, depl_colonne - 10 HEIGHT CPT_OBJ, Hauteur_ligne CAPTION CPT_OBJ, "Commentaire" CPT_OBJ = CPT_OBJ + 1
Tile_Comment = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 EDIT Tile_Comment : Parent Tile_Comment, N_FENETRE_INFOS_TILES TOP Tile_Comment, Ligne_en_cours * Hauteur_ligne - 10 LEFT Tile_Comment, depl_colonne WIDTH Tile_Comment, depl_colonne + 32 HEIGHT Tile_Comment, Hauteur_ligne
Ligne_en_cours = Ligne_en_cours + 1
B_Valide = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 BUTTON B_Valide : Parent B_Valide, N_FENETRE_INFOS_TILES TOP B_Valide, Ligne_en_cours * Hauteur_ligne + 5 LEFT B_Valide, depl_colonne WIDTH B_Valide, int(depl_colonne / 2) HEIGHT B_Valide, Hauteur_ligne CAPTION B_Valide, "Valider" ON_CLICK B_Valide, Valider
N_Aff_Tile = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 PICTURE N_Aff_Tile : Parent N_Aff_Tile , N_FENETRE_INFOS_TILES TOP N_Aff_Tile , 10 LEFT N_Aff_Tile , 2 * depl_colonne WIDTH N_Aff_Tile , 32 HEIGHT N_Aff_Tile , 32
HEIGHT N_FENETRE_INFOS_TILES, (Ligne_en_cours + 2) * Hauteur_ligne + 15
' LANCE LE PROGRAMME N_IMG_Tile = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 IMAGE N_IMG_Tile ligne = 0 : colonne = 0 : i= 0 F_Def_Tiles = CPT_OBJ : CPT_OBJ = CPT_OBJ + 1 FILE_OPEN_WRITE F_Def_Tiles, Chemin$+"Def_Tiles" FILE_WRITELN F_Def_Tiles, "Fichier de définition des tuiles utilisées" FILE_WRITELN F_Def_Tiles, "Nom du tile;Franchissable (0/1); Comportement; Commentaire" GOTO AFF_FENETRE_INFOS_TILES END
' VALIDER LA FENETRE
VALIDER:
IF Text$(Nom_Tile) <> "" and Text$(Tile_Comportement) <> "" Test_OK = 1 ' MESSAGE "Validé: " + STR$(i) Comment$ = right$("000" + str$(i),3)+";" + Text$(Nom_Tile) + ";" temp = checked(Tile_Franchissable) IF temp > 0 Comment$ = Comment$ + "Oui;" ELSE Comment$ = Comment$ + "Non;" END_IF Comment$ = Comment$ + Text$(Tile_Comportement) + ";" Comment$ = Comment$ + Text$(Tile_Comment) FILE_WRITELN F_Def_Tiles, Comment$ IF i=Nb_Tiles File_Save N_IMG_TileSet,chemin$+"TileSet.bmp" File_Close F_Def_Tiles Terminate END_IF
TEXT Nom_Tile, "" : TEXT Tile_Comportement, "" : TEXT Tile_Comment, "" GOTO AFF_FENETRE_INFOS_TILES END_IF RETURN
' AFFICHER LE TILE EN COURS POUR RENSEIGNER LE FICHIER DEF_TILES
AFF_FENETRE_INFOS_TILES:
Test_OK = 0 i=i+1 File_load N_IMG_Tile, chemin$+"Tiles_bmp\" + right$("000" + str$(i),3)+".bmp" 2D_Target_is N_Aff_Tile 2D_IMAGE_PASTE N_IMG_Tile,0,0 SHOW N_FENETRE_INFOS_TILES 2D_Target_is N_IMG_TileSet 2D_IMAGE_PASTE N_IMG_Tile,colonne * L_Tile, ligne * H_Tile colonne = colonne + 1 IF colonne = Nb_Tiles_ligne colonne = 0 ligne = ligne + 1 END_IF END
Dernière édition par Jicehel le Ven 21 Oct 2011 - 22:33, édité 1 fois | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: exemple programme Sam 17 Sep 2011 - 22:10 | |
| voila le début du prog - Code:
-
Label Sub_Ouverture_Map Label Lecture_ligne Label Sub_dessine_map
Dim Chaine$,Long,Caractere$,Pos,X_tile,Y_tile ,Dummy$ Dim NTX Dim NTY Dim DTX Dim DTY Dim Tbl_tile$(255,11)
Dim indice Dim NG Dim I,J Dim Tile I=0 print "Répertoire courant: "+dir_current$
Rem Ouverture fichier Map ' Ouverture du fichier Map file_open_read 1,"Map_01.map" gosub Sub_Ouverture_Map form 1 width 1,NTX*DTX Height 1,NTY*DTY Gosub Sub_dessine_map end
Sub_Ouverture_Map:
Rem toutes les lignes qui commançent par "'" sont considérées comme commentaires
' Ouverture du fichier Map ' file_open_read 1,"Map_01.map"
' Lecture d'une ligne ' Boucle sur la lecture jusqu'a la fin du fichier
while file_eof(1) <> 1
' Lecture d'un ligne dans le fichier file_readln 1,Chaine$ ' On retire les blancs si il y en a Chaine$=trim$(Chaine$) ' print chaine$ ' Longueur de la chaine Long=Len(Chaine$) ' Récupération du premier caractère Caractere$=Left$(Chaine$,1)
' Si c'est une ligne blanche on retourne a la lecture d'un ligne If Caractere$="" then goto Lecture_ligne
' Si c'est un commentaire on retourne a la lecture d'un ligne If Caractere$="'" then goto Lecture_ligne
' Nombre de tiles ex X du map pos=instr(Chaine$,"NTX=") If pos>0 NTX=Mid$(chaine$,5,10) goto Lecture_ligne end_if ' Nombre de tiles ex Y du map pos=instr(Chaine$,"NTY=") If pos>0 NTY=Mid$(chaine$,5,10) goto Lecture_ligne end_if
' Largeur d'une tiles ex X pos=instr(Chaine$,"DTX=") If pos>0 DTX=Mid$(chaine$,5,10) goto Lecture_ligne end_if ' Hauteur d'une tiles ex Y pos=instr(Chaine$,"DTY=") If pos>0 DTY=Mid$(chaine$,5,10) goto Lecture_ligne end_if ' Numéro du tile dans la grille map pos=instr(Chaine$,"Numero tile=") If pos>0 Indice=Mid$(chaine$,13,10) tbl_tile$(Indice,0)=Indice goto Lecture_ligne end_if ' Nom fichier de dessin de la map pos=instr(Chaine$,"Nom fichier=") If pos>0 tbl_tile$(indice,1)=Mid$(chaine$,13,500) goto Lecture_ligne end_if
' Mobilité 0=immobile 1=mobile pos=instr(Chaine$,"Mobile=") If pos>0 tbl_tile$(Indice,2)=Mid$(chaine$,8,10) goto Lecture_ligne end_if
' Si le tile est un acteur pos=instr(Chaine$,"Acteur=") If pos>0 tbl_tile$(Indice,3)=Mid$(chaine$,8,10) goto Lecture_ligne end_if
' Si le tile est franchissable 0=non 1=oui pos=instr(Chaine$,"Franchissable=") If pos>0 tbl_tile$(Indice,4)=Mid$(chaine$,15,10) goto Lecture_ligne end_if
' Si on peut remplacer le tile par un autre 0=non 1=oui pos=instr(Chaine$,"Remplace=") If pos>0 tbl_tile$(Indice,5)=Mid$(chaine$,10,10) goto Lecture_ligne end_if
' Nom du fichier de remplacement pos=instr(Chaine$,"Remplacement=") If pos>0 tbl_tile$(Indice,6)=Mid$(chaine$,14,10) goto Lecture_ligne end_if
' Si la tile a du son pos=instr(Chaine$,"Son=") If pos>0 tbl_tile$(Indice,7)=Mid$(chaine$,5,10) goto Lecture_ligne end_if
' Nom du fichier son pos=instr(Chaine$,"Nom son=") If pos>0 tbl_tile$(Indice,8)=Mid$(chaine$,9,500) goto Lecture_ligne end_if
' Numéro du timer pos=instr(Chaine$,"Numero timer=") If pos>0 tbl_tile$(Indice,9)=Mid$(chaine$,14,10) goto Lecture_ligne end_if
' Numéro du timer pos=instr(Chaine$,"Time=") If pos>0 tbl_tile$(Indice,10)=Mid$(chaine$,6,10) goto Lecture_ligne end_if ' ----------------------------------------------------------------------------- ' Numéro de la grille pos=instr(Chaine$,"Grille=") If pos>0 NG=Mid$(chaine$,8,10) If NTX>0 and NTY>0 then dim tbl_pos$(NTY) goto Lecture_ligne end_if i=i+1 tbl_pos$(i)=Chaine$
Lecture_ligne: end_while return
Sub_dessine_map:
for j=1 to NTY for i=1 to NTX tile=Mid$(tbl_pos$(j),i,1) ' Chargement du dessin print tile next i next j
return
voila le fichier map l'enregistrer en "Map_01.map" - Code:
-
' '
' Nombre de tiles en x et y NTY=5 NTX=5
' Dimensions des tiles DTX=64 DTY=64
' Numéro du tile dans la grille Numero tile=1 ' Nom du fichier image de ce tile Nom fichier=fond.bmp ' Deplacement 0=non autorisé 1=autorisé Mobile=0 ' Si c'est un acteur ( a voir si nécessaire) Acteur=0 ' Franchissable 0=non 1=oui Franchissable=1 ' Remplacement du tile 0=non 1=oui Remplace=0 ' Fichier de remplacement ex porte ouverte fermée Remplacement="" ' Fichier son 0=non 1=oui Son=0 ' Nom du fichier son Nom son="" ' Numero timer Numero timer=0 ' Valeur timer Time=0
' Numéro du tile dans la grille Numero tile=2 ' Nom du fichier image de ce tile Nom fichier=mur.bmp ' Deplacement 0=non autorisé 1=autorisé Mobile=0 ' Si c'est un acteur ( a voir si nécessaire) Acteur=0 ' Franchissable 0=non 1=oui Franchissable=1 ' Remplacement du tile 0=non 1=oui Remplace=0 ' Fichier de remplacement ex porte ouverte fermée Remplacement="" ' Fichier son 0=non 1=oui Son=0 ' Nom du fichier son Nom son="" ' Numero timer Numero timer=0 ' Valeur timer Time=0
' numéro de La grille Grille=1
11111 12221 12111 12221 11111
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Sam 17 Sep 2011 - 22:48 | |
| Exemple de fichier "Def_Tiles" pour les 39 tiles pour les tests de carte - Code:
-
Fichier de définition des tuiles utilisées Nom du tile;Franchissable (0/1); Comportement; Commentaire 001;Plaine standard;Oui;01;Plaine utilisée sur la carte principale 002;Quart de rond 9-0;Oui;01;Plaine utilisée sur la carte principale 003;Quart de rond 0-3;Oui;01;Plaine utilisée sur la carte principale 004;Quart de rond 3-6;Oui;01;Plaine utilisée sur la carte principale 005;Quart de rond 6-9;Oui;01;Plaine utilisée sur la carte principale 006;Terre;Oui;02;Terre utilisée sur la carte principale 007;Terre - Bord sup gauche;Oui;02;Terre utilisée sur la carte principale 008;Terre - Bord haut;Oui;02;Terre utilisée sur la carte principale 009;Terre - Bord sup. droit;Oui;02;Terre utilisée sur la carte principale 010;Terre - Bord droit;Oui;02;Terre utilisée sur la carte principale 011;Terre - Bord inf. droit;Oui;02;Terre utilisée sur la carte principale 012;Terre - Bord inf.;Oui;02;Terre utilisée sur la carte principale 013;Terre - Bord inf. gauche;Oui;02;Terre utilisée sur la carte principale 014;Terre - Bord gauche;Oui;02;Terre utilisée sur la carte principale 015;Terre - Bord avec chemin à gauche;Oui;02;Terre utilisée sur la carte principale 016;Terre - Bord avec chemin en haut;Oui;02;Terre utilisée sur la carte principale 017;Terre - Cul de sac à gauche;Oui;02;Terre utilisée sur la carte principale 018;Terre - Cul de sac en haut;Oui;02;Terre utilisée sur la carte principale 019;Terre - Cul de sac à droite;Oui;02;Terre utilisée sur la carte principale 020;Terre - Cul de sac en bas;Oui;02;Terre utilisée sur la carte principale 021;Terre - Chemin 3-6;Oui;02;Terre utilisée sur la carte principale 022;Terre - Intersection 3-6-9;Oui;02;Terre utilisée sur la carte principale 023;Terre - Chemin 6-9;Oui;02;Terre utilisée sur la carte principale 024;Terre - Intersection 3-6-0;Oui;02;Terre utilisée sur la carte principale 025;Terre - Intersection;Oui;02;Terre utilisée sur la carte principale 026;Terre - Intersection 6-9-0;Oui;02;Terre utilisée sur la carte principale 027;Terre - Chemin 0-3;Oui;02;Terre utilisée sur la carte principale 028;Terre - Intersection 3-9-0;Oui;02;Terre utilisée sur la carte principale 029;Terre - Chemin 9-0;Oui;02;Terre utilisée sur la carte principale 030;Plaine claire;Oui;03;Plaine utilisée sur la carte principale 031;Eau - Bord Haut - Gauche;Non;00;Eau utilisée sur la carte 032;Eau - Bord haut;Non;00;Eau utilisée sur la carte 033;Eau - Bord Haut - droit;Non;00;Eau utilisée sur la carte 034;Eau - Bord gauche;Non;00;Eau utilisée sur la carte 035;Eau;Non;00;Eau utilisée sur la carte 036;Eau - Bord droit;Non;00;Eau utilisée sur la carte 037;Eau - Bord bas - gauche;Non;00;Eau utilisée sur la carte 038;Eau - Bord bas;Non;00;Eau utilisée sur la carte 039;Eau - Bord bas- droite;Non;00;Eau utilisée sur la carte
Exemple de carte avec 2 valeurs (Plaine et haut, juste pour tracer le traçage et les déplacements) (fichier: carte.txt) - Code:
-
Fichier pour le traçage de la carte La 3ème ligne contient les paramètres de la carte 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20;20 001;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035 002;035;035;030;030;030;030;030;030;030;030;030;030;030;030;030;030;030;035;035;035 003;035;035;030;030;030;030;030;030;030;030;030;030;030;030;030;030;030;035;035;035 004;035;035;030;030;030;030;030;030;030;030;030;030;030;030;030;030;030;035;035;035 005;035;035;030;030;030;030;030;030;030;030;030;030;030;030;030;030;030;035;035;035 006;035;035;030;030;030;030;030;030;030;030;030;030;030;030;030;030;030;035;035;035 007;035;035;030;030;030;030;030;030;030;030;030;030;030;030;030;030;030;035;035;035 008;035;035;030;030;030;030;035;035;035;035;030;030;030;030;030;030;030;035;035;035 009;035;035;030;030;030;030;035;035;035;035;030;030;030;030;030;030;030;035;035;035 010;035;035;030;030;030;030;035;035;035;030;030;030;030;030;030;030;030;035;035;035 011;035;035;030;030;030;030;035;035;030;030;030;030;030;030;030;030;030;035;035;035 012;035;035;030;030;030;030;030;030;030;030;030;030;030;030;030;030;030;035;035;035 013;035;035;030;030;030;030;030;030;030;030;030;030;030;035;030;030;030;035;035;035 014;035;035;030;030;030;030;030;030;030;030;030;030;035;035;030;030;030;035;035;035 015;035;035;030;030;030;030;030;030;030;030;030;030;035;035;035;030;030;035;035;035 016;035;035;030;030;030;030;030;030;030;030;030;030;035;035;030;030;030;035;035;035 017;035;035;030;030;030;030;030;030;030;030;030;035;035;030;030;030;030;035;035;035 018;035;035;030;030;030;030;030;030;030;030;035;035;035;030;030;030;030;035;035;035 019;035;035;030;030;030;030;030;030;030;030;035;035;035;035;030;030;030;035;035;035 020;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035;035 | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Dim 18 Sep 2011 - 7:52 | |
| Slt Jice
Il est bien ton editeur de Map. Bien pensé. il faudrait que l'on en discute ce soir tous ensemble.
| |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Dim 18 Sep 2011 - 9:45 | |
| Voici le programme pour dessiner les tiles - Code:
-
Label Sub_Ouverture_Map Label Lecture_ligne Label Sub_dessine_map
Dim Chaine$,Long,Caractere$,Pos,X_tile,Y_tile ,Dummy$ Dim NTX Dim NTY Dim DTX Dim DTY Dim Tbl_tile$(255,11)
Dim indice Dim NG Dim I,J,K Dim Tile I=0 K=0 print "Répertoire courant: "+dir_current$
Rem Ouverture fichier Map ' Ouverture du fichier Map file_open_read 1,"Map_01.map" gosub Sub_Ouverture_Map form 1 width 1,NTX*DTX+200 Height 1,NTY*DTY+200 top 1,20 left 1,20 color 1,183,166,53 command_target_is 1 scene2d 2 width 2,NTX*DTX+100 Height 2,NTY*DTY+100 file_load 2,"gris.bmp" full_space 2 Gosub Sub_dessine_map end
Sub_Ouverture_Map:
Rem toutes les lignes qui commançent par "'" sont considérées comme commentaires
' Ouverture du fichier Map ' file_open_read 1,"Map_01.map"
' Lecture d'une ligne ' Boucle sur la lecture jusqu'a la fin du fichier
while file_eof(1) <> 1
' Lecture d'un ligne dans le fichier file_readln 1,Chaine$ ' On retire les blancs si il y en a Chaine$=trim$(Chaine$) ' print chaine$ ' Longueur de la chaine Long=Len(Chaine$) ' Récupération du premier caractère Caractere$=Left$(Chaine$,1)
' Si c'est une ligne blanche on retourne a la lecture d'un ligne If Caractere$="" then goto Lecture_ligne
' Si c'est un commentaire on retourne a la lecture d'un ligne If Caractere$="'" then goto Lecture_ligne
' Nombre de tiles ex X du map pos=instr(Chaine$,"NTX=") If pos>0 NTX=Mid$(chaine$,5,10) goto Lecture_ligne end_if ' Nombre de tiles ex Y du map pos=instr(Chaine$,"NTY=") If pos>0 NTY=Mid$(chaine$,5,10) goto Lecture_ligne end_if
' Largeur d'une tiles ex X pos=instr(Chaine$,"DTX=") If pos>0 DTX=Mid$(chaine$,5,10) goto Lecture_ligne end_if ' Hauteur d'une tiles ex Y pos=instr(Chaine$,"DTY=") If pos>0 DTY=Mid$(chaine$,5,10) goto Lecture_ligne end_if ' Numéro du tile dans la grille map pos=instr(Chaine$,"Numero tile=") If pos>0 Indice=Mid$(chaine$,13,10) tbl_tile$(Indice,0)=Indice goto Lecture_ligne end_if ' Nom fichier de dessin de la map pos=instr(Chaine$,"Nom fichier=") If pos>0 tbl_tile$(indice,1)=Mid$(chaine$,13,500) goto Lecture_ligne end_if
' Mobilité 0=immobile 1=mobile pos=instr(Chaine$,"Mobile=") If pos>0 tbl_tile$(Indice,2)=Mid$(chaine$,8,10) goto Lecture_ligne end_if
' Si le tile est un acteur pos=instr(Chaine$,"Acteur=") If pos>0 tbl_tile$(Indice,3)=Mid$(chaine$,8,10) goto Lecture_ligne end_if
' Si le tile est franchissable 0=non 1=oui pos=instr(Chaine$,"Franchissable=") If pos>0 tbl_tile$(Indice,4)=Mid$(chaine$,15,10) goto Lecture_ligne end_if
' Si on peut remplacer le tile par un autre 0=non 1=oui pos=instr(Chaine$,"Remplace=") If pos>0 tbl_tile$(Indice,5)=Mid$(chaine$,10,10) goto Lecture_ligne end_if
' Nom du fichier de remplacement pos=instr(Chaine$,"Remplacement=") If pos>0 tbl_tile$(Indice,6)=Mid$(chaine$,14,10) goto Lecture_ligne end_if
' Si la tile a du son pos=instr(Chaine$,"Son=") If pos>0 tbl_tile$(Indice,7)=Mid$(chaine$,5,10) goto Lecture_ligne end_if
' Nom du fichier son pos=instr(Chaine$,"Nom son=") If pos>0 tbl_tile$(Indice,8)=Mid$(chaine$,9,500) goto Lecture_ligne end_if
' Numéro du timer pos=instr(Chaine$,"Numero timer=") If pos>0 tbl_tile$(Indice,9)=Mid$(chaine$,14,10) goto Lecture_ligne end_if
' Numéro du timer pos=instr(Chaine$,"Time=") If pos>0 tbl_tile$(Indice,10)=Mid$(chaine$,6,10) goto Lecture_ligne end_if ' ----------------------------------------------------------------------------- ' Numéro de la grille pos=instr(Chaine$,"Grille=") If pos>0 NG=Mid$(chaine$,8,10) If NTX>0 and NTY>0 then dim tbl_pos$(NTY) goto Lecture_ligne end_if ' Enregistrement d'une ligne de la grille de sprite i=i+1 tbl_pos$(i)=Chaine$
Lecture_ligne: end_while return
Sub_dessine_map:
' Boucle pour récupérer le numéro du tile for j=1 to NTY for i=1 to NTX
' Indice=Numero de la tile Indice=Mid$(tbl_pos$(j),i,1) ' Pour donner un numero au sprite k=k+1 sprite k ' On charge le dessin dans le sprite sprite_file_load K,tbl_tile$(Indice,1) ' On positionne la tile dans la fenetre Sprite_position k,DTX*I,DTY*j ' Chargement du dessin
next i next j
return
le fichier map enregistrer sous "Map_01.map" - Code:
-
' '
' Nombre de tiles en x et y NTY=5 NTX=10
' Dimensions des tiles DTX=64 DTY=64
' Numéro du tile dans la grille Numero tile=1 ' Nom du fichier image de ce tile Nom fichier=Mur.bmp ' Deplacement 0=non autorisé 1=autorisé Mobile=0 ' Si c'est un acteur ( a voir si nécessaire) Acteur=0 ' Franchissable 0=non 1=oui Franchissable=1 ' Remplacement du tile 0=non 1=oui Remplace=0 ' Fichier de remplacement ex porte ouverte fermée Remplacement="" ' Fichier son 0=non 1=oui Son=0 ' Nom du fichier son Nom son="" ' Numero timer Numero timer=0 ' Valeur timer Time=0
' Numéro du tile dans la grille Numero tile=2 ' Nom du fichier image de ce tile Nom fichier=fond.bmp ' Deplacement 0=non autorisé 1=autorisé Mobile=0 ' Si c'est un acteur ( a voir si nécessaire) Acteur=0 ' Franchissable 0=non 1=oui Franchissable=1 ' Remplacement du tile 0=non 1=oui Remplace=0 ' Fichier de remplacement ex porte ouverte fermée Remplacement="" ' Fichier son 0=non 1=oui Son=0 ' Nom du fichier son Nom son="" ' Numero timer Numero timer=0 ' Valeur timer Time=0
' numéro de La grille Grille=1
2222222222 1111111111 1111111111 1222111111 1111111111
vous pouvez changer le nombre de tile en X et Y les dimensions des tiles la grille du map en fonctions du nombre de tile si vous voulez rajouter de nouveaux numeros de tile il faut recopier de - Code:
-
' Numéro du tile dans la grille Numero tile=1 ' Nom du fichier image de ce tile Nom fichier=Mur.bmp ' Deplacement 0=non autorisé 1=autorisé Mobile=0 ' Si c'est un acteur ( a voir si nécessaire) Acteur=0 ' Franchissable 0=non 1=oui Franchissable=1 ' Remplacement du tile 0=non 1=oui Remplace=0 ' Fichier de remplacement ex porte ouverte fermée Remplacement="" ' Fichier son 0=non 1=oui Son=0 ' Nom du fichier son Nom son="" ' Numero timer Numero timer=0 ' Valeur timer Time=0
Changer le numero du tile et le nom du fichier de dessin faire un copi coller | |
| | | jpcr
Nombre de messages : 276 Age : 57 Localisation : Val de Marne (94) Date d'inscription : 06/05/2011
| Sujet: le GDD ou Game Design Document Dim 18 Sep 2011 - 11:30 | |
| | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Dim 18 Sep 2011 - 12:00 | |
| Merci pour les liens En plus j'ai récupéré le jeu pour mes gamin, il a l'air super sympa. L'inconvénient, c'est que du coup, je vais leur passer le PC | |
| | | 659_minifly
Nombre de messages : 590 Age : 76 Localisation : Valenciennes Nord Date d'inscription : 29/04/2010
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC Dim 18 Sep 2011 - 17:16 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Coordination / Avancement / Demande de travail et IRC | |
| |
| | | | Coordination / Avancement / Demande de travail et IRC | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |