270

meubumeuzo
avatar
;)

271

meubumeumeu
avatar
† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ Unvanquished ~ gg.illwieckz.net { le frag courtois } ~ NetRadiant ~ Crunch

272

224 = meuzogaga

@ Nil (./267) : Tu as zappé meubuzozo embarrassed ...
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

273

»»» 15:35 «««  [ Moumou ] !shadok 225
»»» 15:35 «««  [ Moumou ] meuzogabu
avatar
I'm on a boat motherfucker, don't you ever forget

274

275

./272>oups
excellent, Moumou
avatar

276

277

./276> Déjà dit 2 posts + hauts smile
meuzogazo
avatar

278

»»» 16:42 «««  [ Moumou ] !shadok 228
»»» 16:42 «««  [ Moumou ] meuzobuga


[EDIT : [pre] c'est plus joli que [cite]]
avatar
I'm on a boat motherfucker, don't you ever forget

279

meuzobubu
avatar

280

230 = meuzobuzo

@ Moumou (./278) : Tu as zappé le 227 ...
C'est juste de la mise en page, ou ton script existe vraiment ?
En tout cas, pas mal !
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

281

Ah ué jlai zappé. Et sinon le script existe vraiment, mais bon ... mirc convertit tout seul d'une base en une autre, et y a une fonction $replace pour changer les chiffres en ga, bu, zo ou meu. neutral
»»» 18:07 «««  [ Moumou ] !shadok 231
»»» 18:07 «««  [ Moumou ] meuzobumeu
avatar
I'm on a boat motherfucker, don't you ever forget

282

Ah, et j'oubliais... Y a aussi !unshadok, pour ceux que ça intéresse grin
avatar
I'm on a boat motherfucker, don't you ever forget

283

232 = meuzozoga

La calculette ZinDaube marche aussi très bien pour ces conversions.
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

284

Oui mais elle ne fait pas les ga, bu, zo, et meu, si ?
avatar
I'm on a boat motherfucker, don't you ever forget

285

meuzozobu

Moi je sais pas j'ai fait un petit programme en C...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void shadok(unsigned int n)
{
  char *output, *tmp;
  int size;
  
  size = (int)(floor(log(n)/log(4)) + 1);
  output = malloc(size*3 + 1); // 3 caractères pour 'meu'
  if(!output)
    return;
  tmp = output + size*3;
  *tmp-- = '\0';
  
  while(n) {
    switch(n%4) {
      case 0: // ga
        *tmp-- = 'a';
        *tmp-- = 'g';
        break;
      case 1: // bu
        *tmp-- = 'u';
        *tmp-- = 'b';
        break;
      case 2: // zo
        *tmp-- = 'o';
        *tmp-- = 'z';
        break;
      case 3: // meu
        *tmp-- = 'u';
        *tmp-- = 'e';
        *tmp-- = 'm';
        break;
      default:
        break;
    }
    n /= 4;
  }
  printf("%s\n", ++tmp);
  free(output);
}

unsigned int humain(char *chaine)
{
  unsigned int n;
  char c;
  
  n = 0;
  while((c = *chaine)) {
    n *= 4;
    switch(c) {
      case 'g': // ga
        if(*(chaine+1) != 'a')
          goto error;
        break;
      case 'b': // bu
        if(*(chaine+1) == 'u')
          n += 1;
        else
          goto error;
        break;
      case 'z': // zo
        if(*(chaine+1) == 'o')
          n += 2;
        else
          goto error;
        break;
      case 'm':
        if(*(chaine+1) == 'e' &&
           *(chaine+2) == 'u') {
          n += 3;
          chaine++;
        }
        else
          goto error;
        break;
      default: error:
        fprintf(stderr, "[Erreur] C'est pas du shadok : %s", chaine);
        exit(-1);
    }
    chaine += 2;
  }
  return n;
}
int main(int argc, char *argv[])
{
//  stuff1(argc, argv);
  char *a;
  
  a = malloc(1024);
  if(!a) {
    fprintf(stderr, "Pas assez de mémoire! :|");
    exit(-2);
  }
  a[1023] = '\0';
  if(argc < 2) {
    printf("Renvoie le nombre suivant en shadok: ");
    fscanf(stdin, "%s", a);
  }
  else // argc >= 2
    strncpy(a, argv[1], 1023);
  shadok(humain(a) + 1);
  system("Pause");
  return 0;
}


Enfin ça doit être mal codé, mais bon ça marche... chez moi en tout cas.
Enfin le plus simple au lieu d'utiliser un programme c'est de réfléchir directement dans la base ga-bu-zo-meu, c'est pas beaucoup plus compliqué que de le faire en base 10, c'est exactement le même principe. neutral
avatar
;)

286

287

shadok.ini :
alias shadok {
  if ($remove($1,0,1,2,3,4,5,6,7,8,9) !== $null || $1 == $null) { halt }
  var %nombre = $1
  %nombre = $base(%nombre,10,4)
  %nombre = $replace(%nombre,0,ga)
  %nombre = $replace(%nombre,1,bu)
  %nombre = $replace(%nombre,2,zo)
  %nombre = $replace(%nombre,3,meu)
  return %nombre
}

alias unshadok {
  var %shadok = $1
  %shadok = $replace(%shadok,ga,0)
  %shadok = $replace(%shadok,bu,1)
  %shadok = $replace(%shadok,zo,2)
  %shadok = $replace(%shadok,meu,3)
  if ($remove(%shadok,0,1,2,3,4,5,6,7,8,9) !== $null || $1 == $null) { halt }
  return $base(%shadok,4,10)
}

on 1:TEXT:!shadok *:#:{
  msg $chan $shadok($2-)
}

on 1:TEXT:!unshadok *:#:{
  msg $chan $unshadok($2-)
}

on 1:INPUT:#:{
  if ($1 == !shadok) { say $shadok($2-) }
  if ($1 == !unshadok) { say $unshadok($2-) }
}

On voit que c'est vraiment pas très évolué ...
avatar
I'm on a boat motherfucker, don't you ever forget

288

meuzozomeu
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

289

Je dirais même plus, comme je me faisais chier ... shadok.ml :
let alias chiffre =
  match chiffre with
  | 0 -> "ga"
  | 1 -> "bu"
  | 2 -> "zo"
  | _ -> "meu";;

let shdk nombre =
  let resultat = ref "" in
  let nbre = ref nombre in
    while !nbre <> 0 do
      begin
      resultat := (alias (!nbre mod 4)) ^ !resultat;
      nbre := !nbre / 4;
      end
    done;
    !resultat;;

let shadok nombre = 
  match nombre with
  | 0 -> "ga"
  | _ when nombre > 0 -> shdk nombre
  | _ -> "- " ^ (shdk (- nombre));;

grin
avatar
I'm on a boat motherfucker, don't you ever forget

290

Ohhh lovelove

mais j'aurais plutôt fait ça comme ça :

let shadok = 
  let alias = function
      0 -> "ga"
    | 1 -> "bu"
    | 2 -> "zo"
    | _ -> "meu"
  in let rec aux = function
      0 -> ""
    | nombre -> aux (nombre / 4) ^ alias (nombre mod 4)
  in function
    0 -> "ga"
  | n when n > 0 -> aux n
  | n -> "- " ^ aux (-n)

smile

Edit : arrangé le coup du ga en trop wink
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

291

Encore une ... shadok.89g :

alias(chiffre)
Func
If  chiffre=0:Return  "ga"
If  chiffre=1:Return  "bu"
If  chiffre=2:Return  "zo"
Return  "meu"
EndFunc

shdk(nombre)
Func
Local  resultat
""»resultat
While  nombre=/=0
alias(mod(nombre,4))&resultat»resultat
int(nombre/4)»nombre
EndWhile
Return  resultat
EndFunc

shadok(nombre)
Func
If  nombre=0:Return  "ga"
If  nombre>0:Return  shdk(nombre)
Return  "- "&shdk(-nombre)
EndFunc

triroll
avatar
I'm on a boat motherfucker, don't you ever forget

292

Sally > Ok ok, le récursif c'est plus joli ... Mais le zéro me faisait chier neutral Mais en fait en impératif aussi il fallait distinguer le cas, j'avoue, j'ai merdouillé :/
avatar
I'm on a boat motherfucker, don't you ever forget

293

c koi le langage de #288 et #289 ?

#286 c mIRC, ok. mais les deux autres confus

294

Moumou :
Sally > Ok ok, le récursif c'est plus joli ... Mais le zéro me faisait chier neutral Mais en fait en impératif aussi il fallait distinguer le cas, j'avoue, j'ai merdouillé :/

Quoique, en fait je vois pourquoi j'ai pas fait en récursif... Il y a bien le problème du 0. En fait tous tes résultats vont commencer par ga, c'est moins joli...

M_Anderson > C'est du Caml (roulaize smile)
avatar
I'm on a boat motherfucker, don't you ever forget

295

Ah oui, j'ai pas pensé à ça...
bon de toute façon, c'est pas suffisamment shadok pour mon goût, je vais te concocter quelque chose de mieux grin
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

296

Nalors...

je vais éditer le 289, et sinon voici une version améliorée :
type mot = Ga | Bu | Zo | Meu
type nombre_complexe = {nb_objets : mot; nb_poubelles : nombre}
and nombre = Chiffre of mot | Beaucoup of nombre_complexe
exception Y_a_plus_de_mots
let origine = Chiffre Ga

let rec string_of_nombre =  
  let string_of_mot = function
      Ga -> "ga"
    | Bu -> "bu"
    | Zo -> "zo"
    | Meu -> "meu"
  in function
    Chiffre c -> string_of_mot c
  | Beaucoup n -> string_of_nombre n.nb_poubelles ^ string_of_mot n.nb_objets

let rec suivant n =
  let jette_tout () =
    Beaucoup
      {nb_objets = Ga;
      nb_poubelles = match n with
        Chiffre _ -> Chiffre Bu
      | Beaucoup n -> suivant n.nb_poubelles}
  in let suivant = function
      Ga -> Bu
    | Bu -> Zo
    | Zo -> Meu
    | _ -> raise Y_a_plus_de_mots
  in try
    match n with
      Chiffre c -> Chiffre (suivant c)
    | Beaucoup n -> Beaucoup
        {nb_objets = suivant n.nb_objets;
        nb_poubelles = n.nb_poubelles}
  with Y_a_plus_de_mots -> jette_tout ()

let nombre_of_int n =
  let ( * ) a b c = a (b c) in
  let f = ref (function x -> x) in
  for i = 1 to n do
    f := suivant * !f
  done;
  !f origine

let shadok n = print_endline (string_of_nombre (nombre_of_int n))

Vala, ça c'est bien shadok cheeky
(Bon, j'espère que ça marche, je ne peux pas vérifier j'ai pas mon compilateur préféré ici :\)
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

297

trilove
avatar
I'm on a boat motherfucker, don't you ever forget

298

Ah ué là t'as mis tous les avantages de CAML dans ton code... love
avatar
;)

299

68

300

69