Menu > Dev

Dev


Bienvenue sur la page Developpement où je mets les liens vers mes programmes intéressants.
Je fais cette page pour moi, pour les personnes qui arriveraient ici et que ça intéresserait, et pour les élèves du club.
J'utilise Scratch quand le but du programme est de faire un dessin ou d'être facilement accessible.
Je garde Python pour les algo que je fais par défi ou curiosité.
Un programme est en anglais quand l'idée vient d'une vidéo anglophone.


Scratch
Python


Programmes Scratch
Dessins
Jeux
Exos
Autres

Dessins
Des programmes qui dessinent des schémas basés sur des règles toutes simples.
En faisant varier les couleurs, on obtient des résultats super jolis !
Cliquer sur les images pour accéder aux programmes (nouvel onglet).
Cliquer sur les sources pour les explications détaillées.




Des rosaces apparaissent dans les tables de multiplication.
On dessine des points sur un cercle, on les numérote 0, 1, 2, 3... en partant de celui d'en haut, et on trace un segment entre un point et son multiple.
Pour tracer la table de 2, 1 est relié à 2 ; 2 est relié à 4 ; 3 est relié à 6 ; etc.
Le programme peut tracer les segments dans l'ordre, ou par boucle. On peut colorier les boucles, les segments indépendamment ou en fonction de la taille.
Source         Source 2

La suite de Recaman
On avance sur une demi-droite graduée en traçant des demi-cercles de diamètres 1, 2, 3... On trace les demi-cerles une fois au-dessus de la demi-droite et une fois en dessous.
Si on peut revenir en arrière sur un point d'abscisse positive sur lequel on n'est pas déjà passé, on y va. Sinon, on continue à avancer.
Source

Automate cellulaire
On part avec une seule cellule coloriée sur la première ligne.
On décide d'une règle qui dit si une cellule sera coloriée ou non sur la ligne suivante en fonction de son état actuel et de l'état de ses voisines.
On laisse tourner sur plusieurs lignes.
On obtient différents dessins en fonction de la règle qu'on a choisie.
Source         Source 2

La courbe du dragon
On plie une bande de papier en deux, et encore en deux, et encore... On déplie notre bande en laissant tous les angles en angles droits.
On obtient cette fractale.
Source         Source 2

On lance une boule de billard depuis un coin d'une table rectangulaire ou en forme de parallélogramme.
La boule trace un trait sur deux (ou sur trois, ou sur quatre...) et s'arrête lorsqu'elle atteint un autre angle.
Source         Source 2

Cascade hexagonale
On part avec une ligne sur laquelle il y a des cellules colorées.
On construit la ligne en dessous, cellule par cellule, avec les règles suivantes :
- Si les deux cellules au-dessus sont de couleurs différentes, on colorie de la 3e couleur.
- Sinon, on colorie de la même couleur.
Les règles à deux couleurs différent un peu mais c'est le même principe.
On obtient différents dessins en fonction des cellules qu'on colorie sur la première ligne.
Source

Le triangle de Sierpinski
On trace un segment.
On relie les extrémités de ce segment par trois segments formant la moitié d'un hexagone régulier. On efface le segment de départ.
On répète cette étape pour tous les segments obtenus en alternant l'orientation des demi-hexagones.
On obtient cette fractale.
Source

Nombres premiers entre eux
Les lignes et les colonnes sont numérotées 1, 2, 3,... de gauche à droite et de bas en haut.
Un carré est colorié si et seulement si ses coordonnées sont des nombres premiers entre eux, c'est-à-dire, si ce sont des nombres qui n'ont aucun diviseur en commun (à part 1).

Hitomezashi Stitch Patterns
Chaque ligne est construite de la même façon : un segment, un vide, un segment, un vide, etc.
Certaines commencent par un segment et d'autres commencent par un vide.
On peut laisser le programme décider, pour chaque ligne, par quoi elle va commencer aléatoirement, ou bien décider nous-mêmes.
On peut aussi faire la même chose avec des lignes horizontales et verticales. Source

Étoiles rationnalles
On fait une division et, pour chaque chiffre du quotient, on tourne d'une fraction de tour correspondant.
Exemple : 1/7 = 0,142857142857... donc on tourne d'1 dixième de tour, puis de 4 dixièmes, puis de 2, de 8, etc jusqu'à revenir sur le point de départ.
Si on compte en base 10, on a dix directions possibles mais si on compte en base 3, il n'y en a que 3 (comme sur l'image).
On peut changer la division, la base, la taille, etc. Source

Thue-Morse sequence
Une suite de 0 et de 1 construite d'une certaine façon. Quand on voit un 0, on se déplace d'un pas. Quand on voit un 1, on tourne de 60°.
Pour des propriétés sympa sur la suite, voir mon programme Python ICI. Source

Mauer roses
Les roses de Mauer. Voir les sources pour les explications. Source 1 Source 2
Jeux Vidéo
Mes jeux vidéos.


Quiz Géo
Mon jeu le plus ambitieux : un quiz pour travailler la géographie.
Pays : emplacements, capitales, drapeaux.
États des États-Unis : emplacements, capitales.
Départements français : emplacements, préfectures, numéros.
Vous choisissez l'info donnée et l'info demandée.

Bubles battle
Un petit jeu pour 2, 3 ou 4 joueurs.
Chacun contrôle une petite bulle et doit tirer sur les autres joueurs en évitant leurs balles.
On peut choisir plein de bonus, créer son niveau, le faire tourner, gérer le Mitrallator...

Flappy bat
Comme Flappy bird (+ deux bonus et des ballons), mais avec une chauve-souris.

Ball jump
Un jeu de réflexes où on doit sauter d'une plateforme à une autre, tout en invesant les plateformes si elles sont en haut et nous en bas ou inversement.

Course neige
Une course à deux joueurs avec des turbos et des pièges sur une musique de Trans-Siberian Orchestra.

Jeux Noël
Mon tout premier jeu.
On se déplace de gauche à droite. Il faut prendre les cadeaux et les bonus et éviter les malus.
Exercices
Je ne vais pas détailler jeu par jeu ici puisque le but de ce site est (entre autres) de remplacer ces jeux.
lien vers le studio
Autres
Programmes très variés, qui ont pris entre 1h et plusieurs jours à coder.


Conversion bases
Convertit en base n un nombre décimal donné en base 10 et inversement.

Décomposition en facteurs premiers
Décompose un nombre donné en facteurs premiers.

Gaussienne
Lance une pièce avec probabilité p, 1-p un certain nombre de fois. Affiche la gaussienne obtenue.

Paradoxe de Bertrand
Illustre le paradoxe de Bertrand qui joue sur le fait que "prendre une corde d'un cercle au hasard" n'est, en fait, pas bien défini. Source

Killer orga
Permet d'organier un killer. Le programme vous propose une cible parmi les joueurs inscrits, de sorte qu'il soit impossible de tuer quelqu'un qui nous avait pour cible (sauf quand il ne reste que deux joueurs, évidemment).

Overbooking
Calcule l'espérance, pour les compagnies aériennes qui vendent plus de billets que de places disponibles, en fonction de tout un tas de paramètres. Source

Planche de Galton
Simule une planche de Galton.
Appuyer sur K pour afficher les commandes.

4-card code
Pour s'entraîner à un super tour de magie expliqué ici.

Jeu de la vie
Le jeu de la vie, inventé et étudié par John Conway. Source

Labyrinthes
Le programme qui m'a demandé le plus de temps, tout confondu.
Dessiner n'importe quel labyrinthe, placer le départ et l'arrivée, l'algorithme trouvera la sortie, soit en utilisant l'algorithme de Trémeaux, soit celui de Dijkstra.         Trémeaux         Dijkstra

Poisson
Un mini-jeu pour passer 5 min le 1er avril.

Mariages stables
Chaque homme classe les femmes selon ses préférences. Chaque femme fait de même.
L'algorithme trouve des couples stables (couples dans lesquels si une personne n'a pas son choix n°1 et est tentée d'être infidèle, la personne avec laquelle elle veut l'être n'est pas intéressée).
Bien sûr, cet algorithme n'a jamais servi à créer des couples stables (enfin, j'espère) car le système est archaïque (mariages hétérosexuels et prédéfinis en fonction des goûts de chacun) mais il est utile sur Parcoursup si on remplace les hommes par des étudiants et les femmes par des écoles.
Petite remarque : il peut exister plusieurs configurations stables. Le sexe qui propose est garanti d'avoir la meilleure alors que celui qui dispose aura la pire. Source

IA et allumettes
À son tour, on prend 1, 2 ou 3 allumettes et celui prend la dernière a perdu.
On joue contre un programme qui, au début, joue au hasard mais qui, quand il fait une erreur, l'efface de ses coups possibles.
Si on joue avec 4n+1 allumettes, il devient imbattable au bout d'un certain temps.
Inspiré de cette vidéo dans laquelle Matt Parker invente un système physique basé sur le même principe qui apprend de ses erreurs pour ne plus perdre au morpion.

Tarot
Mon tout premier algorithme, fait sur AlgoBox à l'époque.
C'est un programme qui compte les points au tarot : il n'y a qu'à répondre aux questions qu'il pose et il s'occupe de tout.

Jeu à somme non constante
Chacun donne ce qu'il veut à la banque, la banque double le total et répartit le tout équitablement à tout le monde. Chaque joueur a intérêt à ne rien donner mais à ce que les autres donnent tout...

Enigma
Gros projet !
Programme qui simule la machine Enigma que les Nazis utilisaient pour communiquer pendant la 2de guerre mondiale.
Ce programme est plus complet que la machine (énormément de rotors, plus de cables sur le plugboard, plus de caractères) mais c'est le même principe. Source
Programmes Python
Programmes codés après le visionnage de vidéos (liens Source).
Les explications que je donne ici ne sont généralement pas assez détaillées pour comprendre les résultats donnés par le programme.
Il est fortement conseillé de regarder la vidéo pour comprendre ce que fait le programme, comment il le fait, et pour avoir des détails supplémentaires.

Tu peux parfois modifier des paramètres, directement dans le code Python, sous le commentaire #Paramètres.
Pour utiliser ces programmes, tu peux copier/coller mon code sur des sites comme :
- celui-ci, très facile à utiliser
- celui-là, où il faut s'inscrire mais qui gère apparemment turtle.
Les programmes avec * dans leur nom indiquent qu'ils font appel au module turtle (qui fait des dessins). Ils sont donc moins facilement manipulables.
Si un programme a un paragraphe en commentaire au début, lis-le bien pour comprendre comment l'utiliser (et ce qu'il fait).




333333
Pour chaque nombre de la forme 333...333, le programme donne son inverse, son carré, la table de son carré et l'inverse du produit par 9.
On remarque des régularités intéressantes. Source
Ascenseur
Mon plus gros projet Python.
Un jeu de cartes qui se joue avec les atouts du tarot (de 1 à 21 + l'excuse qui vaut 0 ou 22).
Le but est d'annoncer le nombre de plis qu'on va faire. Le total annoncé ne peut pas égaler le nombre de cartes en main.
À chaque manche, le nombre de cartes distribuées est réduit de 1.
Bataille navale
Un jeu de bataille navale contre l'ordi. C'est un projet fait avec des élèves à distance lors d'un confinement.
Casiers
100 prisonniers sont numérotés de 0 à 99. Dans la pièce à côté, il y a 100 casiers numérotés de 0 à 99 qui contiennent chacun un nombre entier entre 0 et 99.
Les prisonniers doivent, tour à tour, entrer dans la pièce et trouver leur numéro dans un casier mais ils ne peuvent ouvrir que 50 casiers. Ils doivent laisser la pièce comme ils l'ont trouvée et ne peuvent pas communiquer avec les autres une fois sortis.
Ils seront libérés si tous trouvent. Si un seul ne trouve pas, ils seront tous exécutés.
Chacun a une proba de 0.5 de succès donc la proba qu'ils soient tous libérés est 0.5100. Il y a une stratégie qui permet d'avoir une proba de 31.2 % de gagner.
Source 1     Source 2
Chessboard puzzle
Cette énigme semble impossible.
Il y a une pièce (montrant pile ou face) sur chaque case d'un échiquier (ou de n'importe quelle grille de 2n cases).
Les pièces sont placées aléatoirement, ou par l'organisateur du jeu : tu ne peux pas choisir leur disposition.
L'organisateur te donne un n° de case. Tu dois retourner une seule pièce (de ton choix) et quitter la salle.
Ton complice, avec qui vous avez décidé d'une stratégie, entre alors dans la salle, voit l'échiquier et trouve le n° de la case !
Quelle stratégie adopter ? Comment faire pour pouvoir communiquer à ton complice un n° en ne retournant qu'une seule pièce, sachant que le n° donné et les pièces sont disposées aléatoirement ?
Ce programme permet de jouer le rôle de la personne qui retourne la pièce ou de celle qui découvre l'échiquier et devine le bon n° de case.
Source Explication     Source Résolution
Coin toss
Ce programme demande à deux joueurs de choisir une suite de 0 et de 1, puis il génère aléatoirement des 0 et des 1,
- soit jusqu'à trouver une des deux suites,
- soit un certain nombre de fois, puis compte le nombre de fois qu'il a obtenu chacune des deux suites. Source     Source 2
Cubes153
Quand on prend la somme des cubes des chiffres d'un multiple de 3 et qu'on répète cette opération, on tombe sur 153.
Exemple : 81 > 83+13 = 513 > 53+13+33 = 153.
Ce programme permet de tester cette propriété sur un nombre mais aussi sur plusieurs et donne celui pour lequel il a fallu le plus d'étapes. Source
darts *
Ce programme simule un jeu de fléchettes qui se lancent aléatoirement et qui, quand on l'étudie, nous amène naturellement à nous demander la formule d'une boule en dimension 2n. Source
Date de naissance
Ce programme utilise un algorithme qui permet de retrouver le jour de la semaine de n'importe quelle date depuis 1899. Source
Dés non transitifs
Ce programme permet de comparer des dés (dont les 6 faces ne sont pas numérotées de 1 à 6) sur plusieurs lancers.
Chaque dé est plus fort que deux autres et plus faible que deux autres : il n'y a pas de meilleur ou de plus faible.
Avec deux dés par couleur, l'ordre s'inverse ! Source
Diffy squares *
Placer quatre nombres aux quatre coins d'un carré. Au milieu de chaque segment, écrire la différence (en valeur absolue) des nombres aux extrémités.
Recommencer en prenant ces différences comme nombres de départ. On arrive très vite à 0 0 0 0 (sauf avec les suites de n-bonacci). Source
Dobble
Ce programme te demande un nombre n et génère n2 suites qui ont un et un seul nombre en commun deux à deux.
Si on entre 5, il donne 25 listes qui ont un seul nombre en commun, comme s'il donnait 25 cartes de Dobble ayant un seul symbole commun. Source
Find sequence
Ce programme te demande une suite de chiffres, puis génère des chiffres jusqu'à trouver la suite.
fractions continues
Entre un nombre (avec plein de chiffres après la virgule). Ce programme donne les coefficients du nombre, jusqu'à une certaine précision, quand on l'écrit comme une fraction continue.
Exemple, si on entre les premiers chiffres de pi : 3.1415926535897932384626433832795 avec une précision de 13, le programme donne [3, 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14] car pi = 3+1/(7+1/(15+1/(1+1/(292+1/(...))))). Source
Frieze patterns
Demande un nombre de lignes et les nombres de départ, puis affiche le Frieze pattern associé.
Voir la vidéo pour savoir de quoi on parle et comment "gagner". Source
Hypercubes
Ce programme demande une dimension n et affiche le nombre d'objets de dimensions 0,1,2,...,n pour chaque hypercube de dimensions inférieures ou égales à n.
De plus, il donne le détail des objets pour l'hypercube de dimension n.
Exemple, en dimension 4, l'hypercube a 16 sommets, 32 arêtes, 24 faces, 8 cellules 3D et 1 cellule 4D. Source
James Grimes
Généralise le tour de magie de James Grime. Lui le fait avec les cartes de 1 à 10. Ce programme vous donne la prédiction pour n'importe quel nombre de cartes (pair) et n'importe quelles cartes. Source
Jeu du + et du -
Projet fait avec des élèves pour leur montrer les bases de Python. Un jeu classique pour s'entraîner à coder.
JeuLego
Ce programme permet de dérouler le jeu des Lego présenté par Robin Jamet. Source
Kolakoski
Ce progamme donne la suite de Kolakoski, jusqu'au rang voulu. Source
Magic squares
Ce programme crée des carrés magiques et les vérifie, selon cinq méthodes. Source 0 Source 1 Source 2 Source 3 Source 4
Magic trick
Un tour de magie plus puissant que celui fait sur Scratch, nécessitant un magicien, un assistant, un cobaye et un paquet de 52 cartes.
L'assistant sort de la pièce.
Le cobaye prend cinq cartes du paquet, les montre au magicien, en garde une et lui laisse les autres.
Le magicien agence ces quatres cartes sur la table et sort de la pièce.
L'assistant entre, voit les quatre cartes sur la table et trouve celle gardée par le cobaye.
Source
Match winning proba
Ce programme donne le nombre de matchs gagnés en fonction de la probabilité de gagner un point et du nombre de points par match.
Si la proba de gagner un seul point est 51%, la proba de gagner le match est bien supérieure, surtout s'il y a beaucoup de points dans un match.
Moessner
Ce programme suit l'algorithme Moessner. Source
Monty Hall
Ce programme simule le jeu de Monty Hall, automatiquement ou non, avec plusieurs paramètres. Sources
nbits
Ce programme permet de comprendre comment les nombres sont codés sur n bits. Un bit pour le signe, plusieurs pour la mantisse, le reste pour l'exposant.
On peut convertir dans un sens, dans l'ordre, ou voir tous les nombres auxquels l'ordi peut accéder. Source
n-bonacci
Ce programme permet de générer la suite de n-bonacci commençant par des 0 et un 1, ou de choisir le début de la suite.
Dans les deux cas, il affiche aussi la suite des rapports Fi+1/Fi.
On voit que peu importent les nombres de départ qu'on choisit, la suite des rapports converge vers le même nombre (pour un même nombre de termes addidionnés).
olymparay
Ce programme trouve toutes les solutions à l'énigme des JO : mettre un nombre entier différent entre 1 et 9 dans chacune des régions formées par les anneaux des JO de sorte que les sommes des nombres dans chaque anneau soient les mêmes.
Pascal's triangle
Affiche le triangle de Pascal. Source
piétonsévite *
Simule des piétons qui se croisent sur un trottoir et qui décident, ou non, de changer de côté d'évitement en fonction de nombre de piétons qu'ils ont percuté.
Si un piéton décide de croiser toujours par la gauche et se rend compte qu'il en percute souvent d'autres, il changera de côté et croisera par la droite. Source
pigeon sum
Une propriété dit que, pour n'importe quelle liste de 10 nombres entiers différents entre 10 et 99, on peut toujours trouver deux sous listes distinctes ayant la même somme.
Ce programme prend 10 nombres aléatoirement (ou te demande 10 nombres) et donne toutes les sommes obtenues plusieurs fois depuis des sous-listes. Source
prime-ish pyramid
À l'étape 1, on commence avec la suite [1,1].
À l'étape n, on intercale le nombre n entre deux nombres de la suite de l'étape n-1 dont la somme est égale à n.
Si on regarde la longueur de la suite à chaque étape, on a l'impression d'obtenir la liste des nombres premiers. Source
proba_gaussienne
Ce programme calcule p(X=a); p(a-e<=X<=a+e) ; p(a<=X<=b) et le plus petit a tel que p(X>a) a une proba donnée.
RomanNumerals
Ce programme écrit un nombre donné en chiffres romains. Il affiche aussi tous les nombres qui s'écrivent en chiffres romains avec moins d'un certain nombre de chiffres. Source
somechiffresbasen
Ce programme prend les nombres de 0 à N-1, les convertit en base b et affiche ceux dont la somme des chiffres est un multiple de somme. Source
Somos-k
Ce programme demande une valeur de k et affiche la Somos-k suite jusqu'au rang voulu. Il permet aussi, pour plusieurs valeurs de k, de touver le premier terme des Somos-k suites qui ne sont pas entiers. Source
Spectateur distrait
Dans une salle de spectacle de 100 places numérotées de 1 à 100 arrivent, dans l'ordre, 100 spectateurs aussi numérotés de 1 à 100, qui s'assoient dans l'ordre.
Le premier spectateur s'assoit sur une place au hasard. Ensuite, chaque spectateur s'assoit à la place portant son numéro si elle est libre, sinon, il s'assoit sur une place libre au hasard.
Quelle est la probabilité que le spectateur n°100 soit assis à la place n°100 ?
Ce programme joue cette scène un certain nombre de fois et affiche la fréquence de succès.
Problème proposé par Manu Houdart sur facebook (je ne retrouve plus la vidéo).
success paradox
Ce programme illustre le paradoxe du succes qui fait croire aux personnes qui réussissent que c'est juste dû au travail et à leurs compétences. Elles ignorent souvent l'impact de la chance.
Ce programme montre que les personnes qui réussissent sont douées et chanceuses. Source
sumpowers1and2
Ce programme permet de creuser un peu ces patterns :
Sommes des entiers
1 + 2 = 3
4 + 5 + 6 = 7 + 8
9 + 10 + 11 + 12 = 13 + 14 + 15
etc
Sommes des carrés
32 + 42 = 52
102 + 112 + 122 = 132 + 142
212 + 222 + 232 + 242 = 252 + 262 + 272
etc
Source
Thue-Morse sequence
Ce programme donne la suite de Thue-Morse ainsi que certaines propriétés de sommes si le nombre de termes qu'on donne est une puissance de 2.
Pour le dessin de la suite, c'est ICI, sur Scratch. Source
Von Koch *
Dessine le flocon de Von Koch.
whatsnext
Ce programme montre qu'on peut trouver une logique à n'importe quelle "suite logique".
Si on entre 1;2;4;8;16;32;-0.17, le programme trouve une logique (donc une formule générant cette suite) et continue la suite. Source
Menu