Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

 

 Topic blabla

Aller en bas 
+5
Godzillu
squale
Kitai
valoulef
Billbis
9 participants
Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
AuteurMessage
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal



Nombre de messages : 1857

Date d'inscription : 27/01/2014


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyJeu 13 Fév 2014 - 22:07

Chouette ! J'aime beaucoup le style.

MAGS !
MAGS !
MAGS !

Pour le bilan du mois de février, on peut lui accorder une dérogation, MAGS oblige.
Pour se faire, Valoulef va t'envoyer les formulaires Billbis grand sourire
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue



Nombre de messages : 1791

Date d'inscription : 01/08/2011


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyJeu 13 Fév 2014 - 22:13

S'il le fait pas faut que quelqu'un le remplace, on ne peut pas louper le bilan de ce mois, on est en train d'exploser tous les records d'activité là ! Bon c'est vrai, ça tient aussi du fait qu'on blablate beaucoup, mais pas seulement.
Revenir en haut Aller en bas
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyVen 14 Fév 2014 - 14:45

Je veux bien me charger du compte rendu du mois de février (je veux bien délégué aussi, hein !), il sera juste sans doute un peu en retard, vers le 3 mars ou un truc comme ça.
Atavismus est bien plus enthousiaste que moi concernant mon MAGS. ^^
N'en attends pas trop, ou tu sera sacrément déçu.
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyVen 14 Fév 2014 - 15:20

Il n'a jamais été dit que le bilan du mois devait être posté le 1er du mois suivant hein clin d'oeil
Donc le 3 mars c'est très bien aussi.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyVen 14 Fév 2014 - 16:55

Pauvre Billbis, maintenant il a une échéance fixe au 3 mars langue
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyVen 14 Fév 2014 - 16:59

Jusqu'au 10 on tolèrera, s'il s'excuse pour le retard clin d'oeil
Revenir en haut Aller en bas
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyVen 14 Fév 2014 - 18:22

Sinon, il y a Dungeon Keeper gratuit sur gog pendant quelques heures.
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
Atavismus


Nombre de messages : 1857

Localisation : France

Date d'inscription : 27/01/2014


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyVen 14 Fév 2014 - 21:09

Billbis a écrit:
Atavismus est bien plus enthousiaste que moi concernant mon MAGS. ^^
N'en attends pas trop, ou tu sera sacrément déçu.

J'aime beaucoup le style graphique et je trouve que ça se prête assez au sujet.
Je suis vraiment curieux de voir ce que ça va donner et je sens qu'il va y avoir du fond.
Eh ! Oh ! Il faut y croire ! clin d'oeil
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 5 Mar 2014 - 22:21

Ça avance, valoulef, ça avance.

Pour l'instant, ça ne concerne que les persos à 4 directions. Demain, j'attaque les huit directions.
/!\ code non commenté et non testé (mais il compile) /!\
N'essayez pas de le comprendre sans avoir :

  1. de solides connaissances en trigo.
  2. une boite de dolipranne.

En fait, il vaux mieux que vous attendiez quelques jours mes explications. ^^

Header
Code:
// FaceIsoLocation header
enum SpecifyDirection {
  eUp,
  eLeft,
  eRight,
  eDown,
  eNone
};

import float FIL_Applatissement;
import void FaceIsoDirection(this Character*, SpecifyDirection=eNone, BlockingStyle=eBlock);
import void FaceIsoLocation(this Character*, int x, int y, BlockingStyle BStyle = eBlock);
import void FaceIsoCharacter(this Character*, Character* toFace, BlockingStyle BStyle = eBlock);
import void FaceIsoObject(this Character*, Object* toFace, BlockingStyle BStyle = eBlock);
import void FIL_SetApplatissment(int horizonY);
Script
Code:
// FaceIsoLocation script

float FIL_Applatissement = 0.5;
float FIL_TheAngle;


float FIL_Abs(float x) {
 if (x >= 0.0) return x;
  else return -1.0*x;
}

void FaceIsoDirection(this Character*, SpecifyDirection Dir, BlockingStyle BStyle)
{
    if(Dir == eUp) this.FaceLocation(this.x, this.y-1, BStyle);
    else if(Dir == eLeft) this.FaceLocation(this.x-1, this.y, BStyle);
    else if(Dir == eRight) this.FaceLocation(this.x+1, this.y, BStyle);
    else if(Dir == eDown) this.FaceLocation(this.x, this.y+1, BStyle);
}

void FaceIsoLocation(this Character*, int x, int y, BlockingStyle BStyle)
{
    FIL_TheAngle = Maths.ArcCos(FIL_Applatissement)/2.0;
    
    int x0 = this.x;
    int y0 = this.y;
    int deltaX = x - x0;
    int deltaY = y0 - y; //AGS Y axes is pointing down
    
    float deltaXf = IntToFloat(deltaX);
    float deltaYf = IntToFloat(deltaY);
    
    float alpha = Maths.ArcTan2(deltaYf, deltaXf);
    
    if (deltaXf >= 0.0 && FIL_Abs(alpha) <= FIL_Abs(FIL_TheAngle)) {
        this.FaceIsoDirection(eRight, BStyle);
    } else if (deltaXf < 0.0 && FIL_Abs(alpha) <= FIL_Abs(FIL_TheAngle)) {
        this.FaceIsoDirection(eLeft, BStyle);
    } else if (deltaYf >=0.0) {
        this.FaceIsoDirection(eUp, BStyle);
    } else {
        this.FaceIsoDirection(eDown, BStyle);
    }
}

void FaceIsoCharacter(this Character*, Character* toFace, BlockingStyle BStyle)
{
    this.FaceIsoLocation(toFace.x, toFace.y, BStyle);
}

void FaceIsoObject(this Character*, Object* toFace, BlockingStyle BStyle)
{
    int x,  y;
    x = toFace.X + Game.SpriteWidth[toFace.Graphic]/2;
    y = toFace.Y - Game.SpriteHeight[toFace.Graphic]/2;
    this.FaceIsoLocation( x, y, BStyle);
}

void FIL_SetApplatissment(int horizonY) {
    if (horizonY >= 0 && horizonY <= Room.Height) {
        float horizonYf;
        horizonYf = IntToFloat(horizonY);
        int RoomHeight = Room.Height;
        float RoomHeightf = IntToFloat(RoomHeight);
    
        FIL_Applatissement = -1.0 *(horizonYf / RoomHeightf) + 1.0;
    }
}

export FIL_Applatissement;


Dernière édition par Billbis le Jeu 6 Mar 2014 - 21:47, édité 2 fois (Raison : Edition en douce d'une vulgaire erreure de Trigo. Il fallait bien evidement faire FIL_TheAngle = Maths.ArcCos(FIL_Applatissement)/2; et non FIL_TheAngle = Maths.ArcTan(FIL_Applatissement);)
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: FaceSideViewLocations   Topic blabla - Page 2 EmptyDim 9 Mar 2014 - 16:51

Et maintenant, place aux tests et à la documentation :
Header
Code:
// FaceIsoLocation header

enum SpecifyDirection {
  eUp,
  eLeft,
  eRight,
  eDown,
  eUpRight,
  eUpLeft,
  eDownRight,
  eDownLeft,
 eNone
};

struct SideViewFL {
    
    import static attribute float Angle4Dir;
    import static float get_Angle4Dir();// $AUTOCOMPLETEIGNORE$
    import static void set_Angle4Dir(float input);// $AUTOCOMPLETEIGNORE$
    
    import static attribute float Angle8Dir1;
    import static float get_Angle8Dir1();// $AUTOCOMPLETEIGNORE$
    import static void set_Angle8Dir1(float input);
    import static attribute float Angle8Dir2;
    import static float get_Angle8Dir2();// $AUTOCOMPLETEIGNORE$
    import static void set_Angle8Dir2(float input);// $AUTOCOMPLETEIGNORE$
    
    import static attribute float Flatness;
    import static float get_Flatness();// $AUTOCOMPLETEIGNORE$
    import static void set_Flatness(float input);// $AUTOCOMPLETEIGNORE$
    
    import static attribute int HorizonLevel;
    import static int get_HorizonLevel();// $AUTOCOMPLETEIGNORE$
    import static void set_HorizonLevel(int input);// $AUTOCOMPLETEIGNORE$
    
    import static void CharacterWithDiagonalLoops(Character *chara,  bool boule);
};

import void FaceSVDirection(this Character*, SpecifyDirection=eNone, BlockingStyle=eBlock);
import void FaceSVLocation(this Character*, int x, int y, BlockingStyle BStyle = eBlock);
import void FaceSVCharacter(this Character*, Character* toFace, BlockingStyle BStyle = eBlock);
import void FaceSVObject(this Character*, Object* toFace, BlockingStyle BStyle = eBlock);
Script
Code:
// FaceIsoLocation script

float Angle4Dir;
float Angle8Dir1;
float Angle8Dir2;
float Flatness;
int HorizonLevel;
bool IsCharacterWithDiagonalLoops[];

// Utilitary function
float SideView_Abs(float x) // return absolute value
{
 if (x >= 0.0) return x;
  else return -1.0*x;
}

// struct static definitions
static float SideViewFL::get_Angle4Dir()
{
    return Angle4Dir;
}

static void SideViewFL::set_Angle4Dir(float input)
{
    if (input >= 0.0 && input <= Maths.Pi/2.0) {
        Angle4Dir = input;
    }
}

static float SideViewFL::get_Angle8Dir1()
{
    return Angle8Dir1;
}

static void SideViewFL::set_Angle8Dir1(float input)
{
    if (input >= 0.0 && input <= Maths.Pi/2.0 && input <= Angle8Dir2) {
        Angle8Dir1 = input;
    }
}

static float SideViewFL::get_Angle8Dir2()
{
    return Angle8Dir2;
}

static void SideViewFL::set_Angle8Dir2(float input)
{
    if (input >= 0.0 && input <= Maths.Pi/2.0 && input >= Angle8Dir1) {
        Angle8Dir2 = input;
    }
}

static float SideViewFL::get_Flatness()
{
    return Flatness;
}

static void SideViewFL::set_Flatness(float input)
{
    if (input >= 0.0 && input <= 1.0) {
        Flatness = input;
        Angle4Dir = Maths.ArcCos(Flatness)/2.0;
        Angle8Dir1 = Maths.ArcCos(Flatness)/6.0;
        Angle8Dir2 = Maths.ArcCos(Flatness)/3.0;
    }
}

static int SideViewFL::get_HorizonLevel()
{
    return HorizonLevel;
}

static void SideViewFL::set_HorizonLevel(int input)
{
    if (input >= 0 && input <= Room.Height) {
        float horizonYf;
        horizonYf = IntToFloat(input);
        int RoomHeight = Room.Height;
        float RoomHeightf = IntToFloat(RoomHeight);
        SideViewFL.Flatness = -1.0 *(horizonYf / RoomHeightf) + 1.0; //Linear decrease of flatness. Probably not the best model. Arctan ?
   }
}

static void SideViewFL::CharacterWithDiagonalLoops(Character *chara,  bool boule)
{
    IsCharacterWithDiagonalLoops[chara.ID] = boule;
}

// Module core functions
void FaceSVDirection(this Character*, SpecifyDirection Dir, BlockingStyle BStyle)
{
    if(Dir == eUp) this.FaceLocation(this.x, this.y-1, BStyle);
    else if(Dir == eLeft) this.FaceLocation(this.x-1, this.y, BStyle);
    else if(Dir == eRight) this.FaceLocation(this.x+1, this.y, BStyle);
    else if(Dir == eDown) this.FaceLocation(this.x, this.y+1, BStyle);
    else if(Dir == eUpRight) this.FaceLocation(this.x+1, this.y-1, BStyle);
    else if(Dir == eUpLeft) this.FaceLocation(this.x-1, this.y-1, BStyle);
    else if(Dir == eDownRight) this.FaceLocation(this.x+1, this.y+1, BStyle);
    else if(Dir == eDownLeft) this.FaceLocation(this.x-1, this.y+1, BStyle);
}

void FaceSVLocation(this Character*, int x, int y, BlockingStyle BStyle)
{
    int deltaX = x - this.x;
    int deltaY = this.y - y; //AGS Y axes is pointing down
    float deltaXf = IntToFloat(deltaX);
    float deltaYf = IntToFloat(deltaY);
    float alpha = Maths.ArcTan2(deltaYf, deltaXf);
    if (!IsCharacterWithDiagonalLoops[this.ID]) { // Four loops character
        if (deltaX >= 0 && SideView_Abs(alpha) <= SideViewFL.Angle4Dir) {
            this.FaceSVDirection(eRight, BStyle);
        } else if (deltaX < 0 && SideView_Abs(alpha) <= SideViewFL.Angle4Dir) {
            this.FaceSVDirection(eLeft, BStyle);
        } else if (deltaY >0) {
            this.FaceSVDirection(eUp, BStyle);
        } else {
            this.FaceSVDirection(eDown, BStyle);
        }
    } else { // Eight loops character
        if (deltaX >= 0 && SideView_Abs(alpha) <= SideViewFL.Angle8Dir1) {
            this.FaceSVDirection(eRight, BStyle);
        } else if (deltaX >= 0 && SideView_Abs(alpha) <= SideViewFL.Angle8Dir2) {
            if (deltaY >=0) {
                this.FaceSVDirection(eUpRight, BStyle);
            } else {
                this.FaceSVDirection(eDownRight, BStyle);
            }
        } else if (deltaX < 0 && SideView_Abs(alpha) <= SideViewFL.Angle8Dir1) {
            this.FaceSVDirection(eLeft, BStyle);
        } else if (deltaX < 0 && SideView_Abs(alpha) <= SideViewFL.Angle8Dir2) {
            if (deltaY >=0) {
                this.FaceSVDirection(eUpLeft, BStyle);
            } else {
                this.FaceSVDirection(eDownRight, BStyle);
            }
        } else if (deltaY >=0) {
            this.FaceSVDirection(eUp, BStyle);
        } else {
            this.FaceSVDirection(eDown, BStyle);
        }
    }
}

void FaceSVCharacter(this Character*, Character* toFace, BlockingStyle BStyle)
{
    this.FaceSVLocation(toFace.x, toFace.y, BStyle);
}

void FaceSVObject(this Character*, Object* toFace, BlockingStyle BStyle)
{
    int x, y;
    x = toFace.X + Game.SpriteWidth[toFace.Graphic]/2;
    y = toFace.Y - Game.SpriteHeight[toFace.Graphic]/2;
    this.FaceSVLocation( x, y, BStyle);
}

function game_start () {
    IsCharacterWithDiagonalLoops = new bool[Game.CharacterCount];
    int i = 0;
    while (i < Game.CharacterCount) {
        IsCharacterWithDiagonalLoops[i] = false;
        i++;
    }
    SideViewFL.set_Flatness(0.5);
}
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMar 29 Avr 2014 - 18:43

J'ai un petit problème de RegExp avec R. Si une personne, une chèvre ou un pan pouvait m'aider, ce serai cool !
 grand sourire 
J'ai un tableau de type :
gene_id                 RPKM
ENSG000000001.1 10.53
ENSG000000042.5 0
2018                   1.2
ENSG000000787.3 4
etc.

J'ai un vecteur de type :
ENSG000000042 ENSG000000787
Je cherche à récupérer pour chaque élément du vecteur le "RPKM" associé. Probléme, les gene_id finissent par un .N plutôt gênant.
Pour l'instant, mon code fonctionne pas trop mal, il ressemble à ça:
Rscript a écrit:
t<-data.frame("gene_id"=c("ENSG000000001.1","ENSG000000042.5","2018","ENSG000000787.3"), "RPKM"=c(10.53,0,1.2,4), stringsAsFactors =FALSE)
v<-c("ENSG000000042", "ENSG000000787")

Connaissez-vous une méthode plus élégante ?

l<-strsplit(t$gene_id, ".", fixed = TRUE)
for (i in 1:length(l)) {
     l[i]<-l[[i]][1]
}
l<-unlist(l)
rownames(t)<-l #il n'y a bien que des uniques

v<-data.frame("ensembl"=v, stringsAsFactors =FALSE)
v$RPKM<-t[v$ensembl,  "RPKM"]
Ça fonctionne, mais ce n'est pas très beau.  confus

Connaissez-vous une méthode plus élégante ?
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
Atavismus


Nombre de messages : 1857

Localisation : France

Date d'inscription : 27/01/2014


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMar 29 Avr 2014 - 21:08

[23:01:37 29/04/14] Atavismus : yo bill
[23:01:56 29/04/14] Atavismus : tu devrais essayer ça comme regex
[23:01:44 29/04/14] Atavismus : /[^.]*/
(Un peu de pub pour le tchat grand sourire)

Je n'étais pas sûr du fonctionnement des regex dans R, mais un rapide googlage semble assez encourageant.
http://www.regular-expressions.info/rlanguage.html
http://ciam.inra.fr/r4ciam/node/148
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMar 29 Avr 2014 - 22:15

Je ne suis pas très à l'aise avec R mais tu n'es pas sans savoir que c'est un langage assez puissant en termes de manipulation de données. Si vraiment tu veux garder le format des entrées dans ta colonne gene_id et passer par une expression régulière sur un vecteur, voici une solution :
Code:
t <- data.frame("gene_id"=c("ENSG000000001.1","ENSG000000042.5","2018","ENSG000000787.3"), "RPKM"=c(10.53,0,1.2,4), stringsAsFactors =FALSE)
v <- c("ENSG000000042", "ENSG000000787")
subset(t, grepl(paste("^(",paste(v, collapse='|'),")\\.\\d$", sep=''), gene_id))$RPKM
Je ne trouve pas ça particulièrement plus élégant, mais c'est plus court et ça fait le travail clin d'oeil

Petites explications :
  • subset te retourne un tableau contenant les lignes qui satisfont la condition booléenne que tu passes.
  • grepl est une version booléenne de grep qui teste le modèle d'expression régulière en premier argument sur la chaîne passée en second argument.
  • Ce que j'ai fait, c'est concaténer toutes les entrées de ton vecteur avec un | qui est le caractère disjonctif en expressions rationnelles : ab|cd cherche du texte qui correspond soit à "ab" soit à "cd". Pour plus de précision, on veut que les entrées apparaissent en tout début de texte (caractère ^) et soient suivies de .N (\\.\\d, double échappement) et c'est la fin du texte ($). Sur le vecteur de l'exemple, on se retrouve avec ^(ENSG000000042|ENSG000000787)\\.\\d$ !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 30 Avr 2014 - 10:03

Merci Atavismus et Kitai !
La solution de Kitai fonctionne presque, et est un poil plus rapide que ma solution d'origine (il faut dire que les for sous R ne sont pas son fort !). Presque seulement car elle ne retiens pas certaines lignes de types "ENSG00000166710.11". Hé oui, parfois le .N final est en fait un .NN, et peut-être dans des cas extrêmes des points .NNN. ^^
Bon, tu ne pouvais pas deviner. J'ai un peu du mal à implémenter la RegExp d'Atavismus, il faudrait que je lise un bon tutoriel sur ces machins un jour.

Kitai a écrit:
Si vraiment tu veux garder le format des entrées dans ta colonne gene_id et passer par une expression régulière sur un vecteur
Non non, toutes les solutions me vont parfaitement.
En particulier, si tu connais l'astuce pour récupérer le premier élément de chaque vecteur d'une liste de vecteurs sans avoir à passer par mon affreuse boucle for, je suis preneur.
Encore merci.


Dernière édition par Billbis le Mer 30 Avr 2014 - 11:03, édité 1 fois
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
Atavismus


Nombre de messages : 1857

Localisation : France

Date d'inscription : 27/01/2014


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 30 Avr 2014 - 10:18

De rien Bill. clin d'oeil

grep("/[^.]*/", tonstring)
Ou un truc du genre ?
Je ne connais pas du tout R, juste un peu les regex.
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 30 Avr 2014 - 12:21

Billbis a écrit:
Hé oui, parfois le .N final est en fait un .NN, et peut-être dans des cas extrêmes des points .NNN. ^^
Libre à toi de modifier le modèle de façon à le rendre plus souple (il est très contraint ici). Si tu ne sais pas le nombre de N que tu as après le ., alors tu prendras simplement un modèle du genre ^(ENSG000000042|ENSG000000787)\\.\\d+$ (j'ai juste rajouté le + après \\d).
L'expression régulière que propose Atavismus est simple et efficace, mais elle ne permet pas à elle seule de prendre en compte les entrées du vecteur (tu ne veux que deux ENSG... spécifiques sur les trois).

Billbis a écrit:
En particulier, si tu connais l'astuce pour récupérer le premier élément de chaque vecteur d'une liste de vecteurs sans avoir à passer par mon affreuse boucle for, je suis preneur.
Encore merci.
Je suis certain que ça doit se trouver sur stackoverflow avec les bons mots-clés.
En attendant je peux te proposer une solution un peu complexe (on imbrique plein de fonctions), mais en une seule ligne :
rownames(t)<-sapply(t$gene_id, function(x) unlist(strsplit(x,".",fixed=T))[1])
En gros sapply fait le boulot de la boucle for, et ne vectorise qu'à la fin.

EDIT : Une autre version de ma RegExp. Il y a une ligne de plus et à mon avis cela demande plus de calculs à la machine, mais ça évite de créer une expression régulière à rallonge. En cela, je la trouve plus élégante.
Code:
c <- sapply(v, function(x) grepl(paste("^",x,"\\.\\d+$",sep=""),t$gene_id))
t$RPKM[sapply(as.data.frame(t(c)), any)]
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
Atavismus


Nombre de messages : 1857

Localisation : France

Date d'inscription : 27/01/2014


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyJeu 1 Mai 2014 - 22:13

Kitai a écrit:
L'expression régulière que propose Atavismus est simple et efficace, mais elle ne permet pas à elle seule de prendre en compte les entrées du vecteur (tu ne veux que deux ENSG... spécifiques sur les trois).
Je ne vais pas faire tout le boulot à la place de Bill ! grand sourire
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptySam 2 Aoû 2014 - 6:28

Connaissez-vous l'activité/concours Coloring the ball (littéralement : colorier la balle) du forum anglophone ? Il s'agit de remplir une forme prédéfinie en respectant un thème donné.
Ce mois ci, on doit dessiner une forme mystérieuse dans une piscine. Voici la forme :
Topic blabla - Page 2 4kd4mkx2
On a le droit de la retourner dans tout les sens.
J'ai participé pour la première fois, et comme je suis fier du résultat...  grand sourire
Topic blabla - Page 2 1406926255-purplectb
...et bien je le poste ici aussi !
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptySam 2 Aoû 2014 - 13:36

Très belle interprétation Billbis. Tu l'avais vu dans la forme dès le départ, ou bien c'est en tâtonnant que tu en es arrivé à dessiner le tentacule pourpre ?
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptySam 2 Aoû 2014 - 14:05

Merci. ^^
J'ai d'abord eu le pot de cactus, puis quand j'ai retourné la forme pour pouvoir dessiner le pot dans le bon sens, Tentacule Pourpre m'a semblé évident - tout du moins en lui rajoutant un couvre-chef approprié.
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMar 9 Sep 2014 - 7:45

Vous l'avez peut-être remarqué, je ne suis plus très présent en ce moment. Et Nothing About The Dog semble être à l'abandon. Tout va bien, c'est juste une pause.
Si je ne désespère pas pouvoir m'y consacrer un peu de temps en temps, cette absence relative d'activité risque de se prolonger jusqu’en Février. Pour ceux que ça intéresse, j'ai une thèse à finir d'écrire, puis à soutenir, et un déménagement et une nouvelle installation à préparer.
Mais ensuite, je reviendrai avec plein de nouveau projets !
Normalement, je ferai un compte rendu d'activité du forum des mois Août Septembre groupé à la fin du mois.
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 10 Sep 2014 - 10:03

De toute façon je crois qu'on entre doucement dans la traversée du désert automnale, qu'on avait aussi connu l'année dernière. Et d'ailleurs au final, ça n'avait pas empêché au forum d'être très actif quelques mois plus tard. C'est comme ça : des fois on a la tête à autre chose, ou pas beaucoup de temps. Bonne chance pour ta thèse !
Revenir en haut Aller en bas
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
Atavismus


Nombre de messages : 1857

Localisation : France

Date d'inscription : 27/01/2014


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 10 Sep 2014 - 17:20

Oui il y a souvent beaucoup à faire à la rentrée.

Cela dit, si on poste moins, ça peut être aussi le signe d'une intense activité de développement de jeu. grand sourire

Bon courage pour vos thèses et autres travaux les gars. sourire

A bientôt dans le coin ! clin d'oeil
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 10 Sep 2014 - 18:02

Billbis a écrit:
Nothing About The Dog semble être à l'abandon. Tout va bien, c'est juste une pause.
Billbis a écrit:
cette absence relative d'activité risque de se prolonger jusqu’en Février. Pour ceux que ça intéresse, j'ai une thèse à finir d'écrire, puis à soutenir, et un déménagement et une nouvelle installation à préparer.
Moui, à mon avis c'est surtout des excuses. Tu te reposes sur tes lauriers après l'élégie de Pierrec (nouveau design au passage) et ta deuxième place à Coloring Ball ! (Félicitations au passage, c'est mérité)

Billbis a écrit:
Normalement, je ferai un compte rendu d'activité du forum des mois Août Septembre groupé à la fin du mois.
T'en fais pas, officiellement tu n'as aucune obligation à remplir ce rôle.

Bon courage pour cette période de rush, je compatis !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMer 10 Sep 2014 - 19:02

Kitai a écrit:

T'en fais pas, officiellement tu n'as aucune obligation à remplir ce rôle.

Bon courage pour cette période de rush, je compatis !

Ça c'est toi qui le dit. Tu n'es pas au courant mais j'ai fait signer un contrat à Billbis en douce... confus
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMar 16 Sep 2014 - 16:00

J'ai une question de syntaxe (de la langue française, pas du code) qui me tarabuste depuis un bon bout de temps, et à laquelle google ne m'est pas d'un grand secours. Et je me disais que peut-être l'un d'entre vous (Kitai au hasard ?) pourrait avoir des pistes de réponse. Il m'arrive régulièrement dans des articles de lire des tournures de phrases du style :

Citation :
Billbis a affirmé publiquement que sa présence moins régulière sur le forum était due à la rédaction de sa thèse. Et Kitai de répliquer : "Moui, à mon avis c'est surtout des excuses."

D'où vient cette phrase sans verbe conjugué ? Est-elle française ? Et sinon, pourquoi lit-on cette tournure de phrase partout ? Y'a-t-il une subtilité qui m'échappe ?

Merci si vous êtes en mesure de m'éclairer...
Revenir en haut Aller en bas
Creamy
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Creamy


Nombre de messages : 1266

Date d'inscription : 15/10/2007


Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 EmptyMar 16 Sep 2014 - 17:46

Et Creamy de pérorer : "Si ça peut te soulager, on appelle ça un infinitif de narration."
Revenir en haut Aller en bas
http://creamy.unblog.fr/
Contenu sponsorisé





Topic blabla - Page 2 Empty
MessageSujet: Re: Topic blabla   Topic blabla - Page 2 Empty

Revenir en haut Aller en bas
 
Topic blabla
Revenir en haut 
Page 2 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» Topic des anniversaire
» Le topic des logiciels 3d du bien
» [TOPIC CLOS] Graphiste a louer (lol)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: FORUM DE LA GRANDE TASSE BLEUE :: Divers-
Sauter vers: