60

./34 je te propose cette version légèrement revisitée grin
static public string PrependProtocol(string urlString) { string protocolString = new string(Array.Reverse("http://".toCharArray())); CharEnumerator charEnumerator = protocolString.GetEnumerator(); while (charEnumerator.MoveNext()) { char padleftChar = charEnumerator.Current; urlString = urlString.PadLeft(urlString.Length + 1, padleftChar); } return urlString; }

61

Hm, pas de tentatives, peut-être que j'ai trop nettoyé mon code ^^'

Et si je disais que ce bloc sert à mélanger un paquet de 52 cartes avec les valeurs de 1 à 13 (V = 11, Q = 12, K = 13) et où, par question de simplicité, je donne à l'as la valeur de 1 alors qu'il devrait avoir la valeur de 14 ? cela ne change pas les chiffres finaux.$paquet = array(); for ($i = 1; $i <= 4; $i++) { for ($j = 1; $j <= 13; $j++) { $paquet[] = $j; } } shuffle($paquet);
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

62

Resoudre un Klondique ?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

63

Nope, ce n'est pas de résolution. Allez j'annonce : c'est un simulateur de jeu de bataille.
Je n'avais pas fait de bataille depuis que j'étais gosse, et ma copine a proposé qu'on en fasse une. J'étais surpris du temps que ça prenait (je jouais enfant avec un paquet de 32, ici c'était 52), la partie s'est étalée sur deux jours, alors qu'on n'a strictement aucun contrôle sur la partie.
Je me suis demandé combien de temps pouvait en général durer une partie, j'ai donc écrit ce script qui simule une partie en empilant en permanence les donnes et avec la règle de la carte cachée en cas de bataille.
Tout ça pour simuler un grand nombre de parties d'affilées pour obtenir quelques stats du min/max/moyenne de tours dans une partie. Dommage que sur mon serveur smartphone il soit rapidement dépassé, sans doute des réglages dans le php.ini que je n'ai pas vérifié.
Je rétablis une version "propre" pour les curieux :
<?php $total = $min = $max = $exces = 0; $moyenne = 100; for ($round = 0; $round < $moyenne; $round++) { // Mélange des cartes $cartes = array(); for ($i = 1; $i <= 4; $i++) { for ($j = 1; $j <= 13; $j++) { $cartes[] = $j; } } shuffle($cartes); // Distribution des cartes $paquetJ1 = $paquetJ2 = array(); for ($i = 0; $i < 52; $i += 2) { $paquetJ1[] = $cartes[$i]; $paquetJ2[] = $cartes[$i+1]; } // $fin = 0; $tour = 0; while(true) { $tour++; /* Note : ce if n'existe qu'à cause de boucles parfois trop longues pour le smartphone ($exces), elle pourrait être supprimée au besoin */ if ($tour > 10000) { $exces++; $fin = 4; break; } $carteJ1 = array_shift($paquetJ1); $carteJ2 = array_shift($paquetJ2); // Les cartes sur le tapis sont stockées dans $donne $donne = array(); // Cas d'une bataille while ($carteJ1 === $carteJ2) { // Vérifier s'il y a assez de cartes if (sizeof($paquetJ1) < 2 || sizeof($paquetJ2) < 2) { // Pas assez de cartes : pat $fin = 3; break 2; } // Cartes de la bataille $donne[] = $carteJ1; $donne[] = $carteJ2; // Cartes cachées $donne[] = array_shift($paquetJ1); $donne[] = array_shift($paquetJ2); // Nouvelles valeurs $carteJ1 = array_shift($paquetJ1); $carteJ2 = array_shift($paquetJ2); } // Le gagnant du tour empoche les cartes $donne[] = $carteJ1; $donne[] = $carteJ2; $recuperation = ($carteJ1 > $carteJ2) ? "paquetJ1" : "paquetJ2"; for ($i = 0; $i < sizeof($donne); $i++) { ${$recuperation}[] = $donne[$i]; } // Détermination du vainqueur : celui dont l'adversaire a le paquet vide if (empty($paquetJ1)) { $fin = 2; break; } elseif (empty($paquetJ2)) { $fin = 1; break; } } // Fin du tour switch ($fin) { case 1: case 2: echo "Victoire du joueur " . $fin . "<br>"; break; case 3: echo "Match nul<br>"; break; case 4: default: echo "Excès de tours"; } if ($fin < 4) { $total += $tour; if ($min === 0) { $min = $tour; } if ($min > $tour) { $min = $tour; } if ($max < $tour) { $max = $tour; } } } echo "Min : $min<br>"; echo "Max : $max<br>"; echo "Moyenne : ".ceil($total/$moyenne)."<br>"; echo "Excès : $exces";
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

64

Vu ici; } : try { return true; } finally { return false
Alors ? tongue
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

65

66

Non, tout en bas de la page smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

67

68

En C# il me semble que ça compile pas. Du coup j'imagine que cette horreur est du Java ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

69

D'après l'auteur, ça fonctionne en Java, Javascript et Python, avec le même résultat pour tous.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

70

En toute logique, je serais tenté de dire que ça retourne "false". Mais une erreur de compilation serait le plus propre.
Après vérification c'est bien ça en Java, mais Eclipse met quand même un warning
avatar

71

Jeez

• Godzil resté bloqué la dessus.. grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

72

Uther (./70) :
En toute logique, je serais tenté de dire que ça retourne "false". Mais une erreur de compilation serait le plus propre.
Après vérification c'est bien ça en Java, mais Eclipse met quand même un warning
pencil

73

Godzil (./71) :
• Godzil resté bloqué la dessus.. grin
Explication: la section finally est toujours exécutée en quittant le bloc, pour quelle raison que ce soit. Or, return true; quitte le bloc. Du coup, avant de retourner true (logique, c'est prévu pour les nettoyages – après avoir retourné, c'est trop tard!), la section finally est exécutée, qui elle contient return false;. Et donc false est retourné et la valeur de retour d'origine est jetée.

(Maintenant, si tu essaies d'écrire ça, c'est-à-dire:
TRY
  return true;
FINALLY
  return false;
ENDFINAL
sous TIGCC ou GCC4TI, ça va carrément planter la calculatrice (ou la mettre dans un état instable qui plantera tôt ou tard), parce qu'on n'a pas le droit de quitter un TRY par un saut ou return sans appeler ER_success(); avant. Et si tu fais:
TRY
  ER_success();
  return true;
FINALLY
  return false;
ENDFINAL
alors ça va retourner true parce que tu as désactivé le TRY en appelant ER_success();.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité