| Parlez de ce que vous voulez | |
|
+39MoodyClown SPLN Maniac206 Alec Mr_Twister mortelkill Pixel-boy Mobi Arkanisa red-error SonnixVI [TheDarkTiger] DeinDall robinlife zebdal glcraft master47 Caly -Coco- Bast lv3895 nicoulas marty Ablationer Chulien louckas M@d_Doc Oculus Termite Craki Wargamer Mass D-z DarkYoshi Sekigo Le Magnifique supmaster004 Rem_101 onilink_ Qual 43 participants |
|
Auteur | Message |
---|
Sekigo Le Magnifique Utilisateur confirmé: Rang *****
Messages : 1720
| Sujet: Re: Parlez de ce que vous voulez Sam 17 Mar 2012 - 16:40 | |
| Quelqu'un s'y connaît en expression rationnelle ? Je bloque sur un truc bête. - Code:
-
string = "<style=blue,underline,blink:Hello World !/>" print(re.search(r'<style=(?P<attrs>.*?):(?P<word>.+?)/>', string).groupdict()) # Ça affiche ça en recherchant dans string >>> {'word': 'Hello World !', 'attrs': 'blue,underline,blink'}
Je n'arrive pas à avoir les attributs séparés. Je ne parviens pas à faire des parenthèses capturantes en nombre indéfini. Le seul moyen que je vois, c'est de faire une seconde recherche sur le premier résultat. |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Parlez de ce que vous voulez Sam 17 Mar 2012 - 20:20 | |
| Les regex... mon pire cauchemar, pourtant je m'en suis tapé pas mal pour parser une encyclopédie web. Par contre moi c'était en PHP et ça ne ressemble pas du tout à ça, donc je ne pourrais te dire. |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Parlez de ce que vous voulez Sam 17 Mar 2012 - 23:25 | |
| Je ne sais pas trop en quel langage c'est, mais je vois une solution toute simple, qui consisterai à simplement exploser le string contenant tes attributs, non? Comme dit, je ne connais pas le langage, je peux pas t'aider directement. Je pensais à un truc comme ça. L'autre solution consisterait (si tu n'as pas de 'explode') à faire une regex qui varie selon le nombre caractères "," trouvés. Bref, en pseudo code: string = "<style=blue,underline,blink:Hello World !/>"; numberOfParameters = string_count( string , "," ) + 1; regex = '<style=(?P<attrs>.*?)'; for(i=0; i<numberOfParameters-1 ; i+=1) { regex+= ',(?P<attr'+string(i)+'>.*?)'; } regex+=': (?P<word>.+?)/>'; //et là, t'as une regex adaptée. _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Sekigo Le Magnifique Utilisateur confirmé: Rang *****
Messages : 1720
| Sujet: Re: Parlez de ce que vous voulez Dim 18 Mar 2012 - 1:02 | |
| C'est en Python. Finalement, j'ai opté pour la solution "d'exploser" (ou plutôt découper, ça fait moins Irak) la sous-chaîne récupéré avec les fonctions built-in de Python (string_find.split(',')). Ça évite les effets de bords fâcheux, du genre : - Code:
-
<style=blue,underline,blink:Ah, ah, tu fais moins le malin, avec,mes,puta1n,de,virgules,,,./>
Ce qui peut arriver souvent, avec des représentations de chaînes par exemple. Les balises "<style={attr, attr2, ...}:{texte}/>" se rencontrent moins souvent (en tout cas, tant qu'on ne parse pas du html). Après, je pourrais séparer les attributs par autre chose que des virgules, mais ça devient peu intuitif et ça oblige à faire des boucles et plein de tests. Et ça, j'aime pas. Python a des fonctions pour manipuler des chaînes de caractères, autant s'en servir au lieu d'abuser de regex. En tout cas, c'est mortel les regex. Perso, je regrette de ne pas avoir découvert ça avant, vu que je flippait un peu de voir des ^\w+.?/\[\]o.*$. Mais une fois qu'on pige le truc, petit à petit, ça rentre. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Parlez de ce que vous voulez Mar 20 Mar 2012 - 17:08 | |
| |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Parlez de ce que vous voulez Mer 21 Mar 2012 - 17:51 | |
| Pratique ça.. "- Tu décore pas ta maison ? - Sisi, regarde bien j'ai des sculptures. Tiens, prends le microscope." _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
Maniac206 *Excellent utilisateur*
Messages : 4977 Localisation : Canada
| Sujet: Re: Parlez de ce que vous voulez Jeu 22 Mar 2012 - 5:30 | |
| Bonjours tout le monde!
À ce que je vois, le forum survit encore... Tant mieux! |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Parlez de ce que vous voulez Jeu 22 Mar 2012 - 15:19 | |
| |
|
| |
Craki Utilisateur confirmé: Rang ****
Messages : 1496 Localisation : Dans l’univers de métamatière
| Sujet: Re: Parlez de ce que vous voulez Jeu 22 Mar 2012 - 15:34 | |
| Y'a pas de vert dedans. _________________ |
|
| |
Invité Invité
| Sujet: Re: Parlez de ce que vous voulez Jeu 22 Mar 2012 - 18:27 | |
| - Citation :
- masterpiece
lolnope image d'origine en pixel art diviser l'image en blocs de 3*3 generer des combinaison de rubix cube avec un prog simple acheter/"louer" beaucoup de rubix cube |
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: Parlez de ce que vous voulez Jeu 22 Mar 2012 - 18:43 | |
| en fait ça se voit pas mais c'est moisi |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Parlez de ce que vous voulez Sam 24 Mar 2012 - 23:49 | |
| Es ce qu'il y a moyen de rétrécir ce code, car je trouve ça brouillon et j'aime pas. - Code:
-
var right, left, top, bottom, xx, yy;
right=( place_meeting(x+1,y,Solid) ); left =( place_meeting(x-1,y,Solid) ); top =( place_meeting(x,y-1,Solid) ); bottom=( place_meeting(x,y+1,Solid) ); //ligne 1 if(!top and !right and !bottom and !left){ xx=0; yy=0; } else if(!top and right and !bottom and !left){ xx=1; yy=0; } else if(!top and right and !bottom and left){ xx=2; yy=0; } else if(!top and !right and !bottom and left){ xx=3; yy=0; } //ligne 2 else if(!top and !right and bottom and !left){ xx=0; yy=1; } else if(!top and right and bottom and !left){ xx=1; yy=1; } else if(!top and right and bottom and left){ xx=2; yy=1; } else if(!top and !right and bottom and left){ xx=3; yy=1; } //ligne 3 else if(top and !right and bottom and !left){ xx=0; yy=2; } else if(top and right and bottom and !left){ xx=1; yy=2; } else if(top and right and bottom and left){ xx=2; yy=2; } else if(top and !right and bottom and left){ xx=3; yy=2; } //ligne 4 else if(top and !right and !bottom and !left){ xx=0; yy=3; } else if(top and right and !bottom and !left){ xx=1; yy=3; } else if(top and right and !bottom and left){ xx=2; yy=3; } else if(top and !right and !bottom and left){ xx=3; yy=3; } tile_add(bg_tileset, (xx*16)+xx, environement+(yy*16)+yy, 16,16, x, y, 1000000); |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Parlez de ce que vous voulez Dim 25 Mar 2012 - 1:30 | |
| - Code:
-
var xx, yy; xx = 16 * place_meeting(x + 1, y, Solid) + 32 * place_meeting(x - 1, y, Solid); yy = 16 * place_meeting(x, y + 1, Solid) + 32 * place_meeting(x, y - 1, Solid); tile_add(bg_tileset, xx, environement+yy, 16,16, x, y, 1000000); Tes tiles doivent être agencées comme ça : _________________ Home is not a place, it's a feeling.
|
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Parlez de ce que vous voulez Dim 25 Mar 2012 - 10:06 | |
| Cool merci D-z Faut que je refasse ma planche de tileset mais bon le code est plus jolie. |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Parlez de ce que vous voulez Dim 25 Mar 2012 - 18:42 | |
| À bien y regarder xx et yy ne servent à rien, du coup. Autant tout mettre dans tile_add(), même si c'est moins clair. _________________ Home is not a place, it's a feeling.
|
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 13:21 | |
| Y'en a qui s'y connaissent en matrice ici ? _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 13:59 | |
| Je suis pas trop-trop une bûche. _________________ Home is not a place, it's a feeling.
|
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 14:13 | |
| Ben jvoulais savoir, j'ai une matrice 3x3 qui représente trois axes, genre :
( 1 0 0 ) X ( 0 1 0 ) Y ( 0 0 1 ) Z
Donc dans ce cas, c'est la matrice d'identité, (vu que le vecteur "X" c'est 1 0 0, Y 0 1 0, etc)
J'ai une position par rapport à cette matrice, du coups normalement la formule ça sera
PosFinal.x = X.x * Pos.x + X.y * Pos.y + X.z * Pos.z; PosFinal.y = Y.x * Pos.x + Y.y * Pos.y + Y.z * Pos.z; PosFinal.z = Z.x * Pos.x + Z.y * Pos.y + Z.z * Pos.z;
( La matrice est présentée comme ça : (X.x X.y X.z) (Y.x Y.y Y.z) (Z.x Z.y Z.z) )
C'est ça ? _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 14:33 | |
| Lignes x colonnes. Donc oui c'est bien ça :b |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 14:33 | |
| Oui, c'est bien ça il me semble. _________________ Home is not a place, it's a feeling.
|
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 14:36 | |
| Et maintenant si on imagine que c'est une structure hiérarchique, j'ai la matrice parente MP et enfante ME
du coups, la matrice final c'est MP * ME ? _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 15:01 | |
| T'entend quoi par structure hiérarchique ? Si tu veux appliquer des transformations suffit de multiplier. Par exemple tu as M, tu veux faire une rotation tu fait M * R, et si après par exemple tu veux faire une translation tu fait M * R * T |
|
| |
Termite Utilisateur confirmé: Rang ****
Messages : 1005 Localisation : Dans ta charpente ! Projet Actuel : RayEngine 5.0
| Sujet: Re: Parlez de ce que vous voulez Lun 26 Mar 2012 - 15:07 | |
| Ben en gros j'importe un squelette d'animation, chacun des os qui le compose ont une matrice de rotation et une position. Donc je recalcule la position en fonction de la matrice de rotation, sachant que ces matrices de rotation dépendent des os parents il faut donc multiplier la matrice parente par la matrice enfante pour avoir la matrice finale, non ? J'ai essayé et c'est presque ça : Sachant que je suis sensé obtenir ça : _________________ Because these are not the words of God, the same God that burnt the knowing.
|
|
| |
Chulien Utilisateur confirmé: Rang *****
Messages : 2232
| Sujet: Re: Parlez de ce que vous voulez Mar 27 Mar 2012 - 12:03 | |
| |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Parlez de ce que vous voulez Mar 27 Mar 2012 - 23:20 | |
| Impressionnant le talent de certains dessinateurs. Le tout sans gomme, de quoi dégoûter plus d'un... Petite question au passage. Admeton j'ai un fichier .lv comme ça: - Code:
-
instance_create(944,880,Object_1); instance_create(976,880,Object_1); instance_create(1008,880,Object_1); instance_create(1040,880,Object_1); Suffis de faire un execute_file en début de room et la map est faite mais c'est facilement modifiable, il y a pas moyen de crypter le tout en gardant la même simplicité? Bref crypté mais utilisé avec execute_file (je sens que la réponse va pas me plaire). |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Parlez de ce que vous voulez Mar 27 Mar 2012 - 23:29 | |
| Si c'est juste pour la création d'une room met juste des coordonnées au format binaire a la suite, ainsi que l'id de l'objet. Parce que bon crypté ça prendrais du temps pour rien, et ce serais quand même contournable. Et si le gars arrive a injecter du code, ça peut piquer xD (extraction des ressources, voir même certains codes) |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Parlez de ce que vous voulez Mar 27 Mar 2012 - 23:41 | |
| Ouai bon ça m'arrange pas c'est plus ****** à faire Aller go pour du binaire alors. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Parlez de ce que vous voulez Mar 27 Mar 2012 - 23:43 | |
| Boh pas du tout si t'utilise les script pour save et read des uint que j'avais mis dans le sujet des sauvegardes. Juste une loop, et quelques lignes de code :b
|
|
| |
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: Parlez de ce que vous voulez Mer 28 Mar 2012 - 12:10 | |
| Perso j'ai une structure comme ça : - Code:
-
levelName = "nom du niveau" width = 2000 height = 750 background[0] = "ressource\bck\bck_01.png" tiles[0] = "ressource\tiles\tiles_01.png" enableSolidTiles = true
[LEVEL_TILES]//(positionXDuTilesDansLePng,positionYDuTilesDansLePng,positionXDuTilesDansLaRoom,positionYDuTilesDansLaRoom,tilesSolid?) (0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1) (0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1) (0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1)(0,0,0,0,1)
[OBJET]//(id,positionX,positionY,autresArgumentSuivantL'objet,...) (0,100,500,25,45)(1,145,35)
[SOUND] Sound[0] = "ressource\sound\sound_01.png" |
|
| |
SPLN Utilisateur confirmé: Rang ***
Messages : 588 Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)
| Sujet: Re: Parlez de ce que vous voulez Mer 28 Mar 2012 - 15:30 | |
| Tu peux aussi le faire avec un système CSV (Coma Separated Value) couplé à la méthode d'oni_. Moi j'utilise ces scripts : https://cbna.forumactif.com/t11530-string_sep_-get-set-add-_argDu genre, "|" = Separateur ; x|y|id + retour à la ligne (0D0A en héxa), pour permettre de le faire avec une boucle for et file_text_readln() En plus tu peux aussi mettre des séparateurs différent en fonction de la ligne ou de la position, sans trop te casser la tête du genre. sep = ton_separateur ; l = nb_ligne ; sep = chr(l*7) Sinon moi j'ai plutôt tendance à travailler en hexadécimale qu'en binaire je trouve ça plus simple Il me semble aussi que j'avais fait il y a longtemps un système avec chr() & ord() combiné avec string() & real() ou j'ajoutais 21, un truc tout bête mais qui était pas trop mal. |
|
| |
Contenu sponsorisé
| Sujet: Re: Parlez de ce que vous voulez | |
| |
|
| |
| Parlez de ce que vous voulez | |
|