Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cnd:30_ans_du_tamagotchi [2026/11/02 10:49]
emoc
cnd:30_ans_du_tamagotchi [2026/11/02 11:11] (Version actuelle)
emoc
Ligne 8: Ligne 8:
  
 **1996 ?** **1996 ?**
 +  * The information superhighway : reportage de 1994 (BBC) sur le début du web : https://​www.bbc.com/​videos/​czv20818q2no
   * https://​56k.rip/​   * https://​56k.rip/​
   * https://​3615co.de/​   * https://​3615co.de/​
-  * https://tcrf.net/Prerelease:​The_Sims_(Windows) +  * pc, cd-rom et FMV : https://retrogamerie.fr/jeux/la-montee-et-la-chute-des-jeux-fmv/
-  * https://​www.virtualpet.com/vp/+
  
 **Tamagotchi / visuel** **Tamagotchi / visuel**
Ligne 18: Ligne 18:
   * Une feuille de sprites complète P1/P2 : https://​www.spriters-resource.com/​lcd_handhelds/​tamagotchioriginalp1p2/​asset/​144400/​   * Une feuille de sprites complète P1/P2 : https://​www.spriters-resource.com/​lcd_handhelds/​tamagotchioriginalp1p2/​asset/​144400/​
   * Les magnifiques sprites en noir et blanc des premières générations : https://​www.spriters-resource.com/​lcd_handhelds/​tamagotchiconnectionversion2/​   * Les magnifiques sprites en noir et blanc des premières générations : https://​www.spriters-resource.com/​lcd_handhelds/​tamagotchiconnectionversion2/​
 +  * Bandaï : https://​fr.wikipedia.org/​wiki/​Bandai
 +  * https://​tamagotchi.fandom.com/​wiki/​Main_Page
  
 **Y jouer en ligne : ** : https://​autosam.github.io/​Tamaweb/​ **Y jouer en ligne : ** : https://​autosam.github.io/​Tamaweb/​
Ligne 44: Ligne 46:
  
 **Jeux «virtual pets» / simulation de vie** **Jeux «virtual pets» / simulation de vie**
 +
 +Virtual Pet Homepage : https://​www.virtualpet.com/​vp/​
 +
   * Little Computer People (1985) :    * Little Computer People (1985) : 
     * https://​www.mobygames.com/​game/​9241/​little-computer-people/​     * https://​www.mobygames.com/​game/​9241/​little-computer-people/​
Ligne 59: Ligne 64:
     * https://​fr.wikipedia.org/​wiki/​Les_Sims_(jeu_vid%C3%A9o)     * https://​fr.wikipedia.org/​wiki/​Les_Sims_(jeu_vid%C3%A9o)
     * https://​tcrf.net/​Prerelease:​The_Sims_(Windows) (sur The Cutting Room Floor)     * https://​tcrf.net/​Prerelease:​The_Sims_(Windows) (sur The Cutting Room Floor)
-    * Chloé Delaume a écrit un ensemble de trucs sur les sims : Corpus Simsi : https://​chloedelaume.net/?​page_id=294+    * Corpus Simsi (Chloé Delaume) ​: https://​chloedelaume.net/?​page_id=294
  
   * Nintendogs (2005)   * Nintendogs (2005)
Ligne 71: Ligne 76:
  
 Un diaporama qui change de slides quand on fait assez de bruits réalisé avec Processing... Un diaporama qui change de slides quand on fait assez de bruits réalisé avec Processing...
 +
 +En zip avec les images : {{ :​cnd:​diaporama_karaoke.zip |}}
 +
 +<​accordion>​
 +<panel title="​diaporama_karaoke.pde (cliquer pour afficher le code)">​
 +<code java diaporama_karaoke.pde>​
 +/*  Diaporama - Karaoke
 +    Récupérer le son du micro pour faire défiler un diaporama
 +      chaque slide est associé à un court texte
 +    Utilisé pour la CND «30 ans du Tamagotchi» / 27 octobre 2026
 +    processing 4.0b2 @ Tenko / pierre@lesporteslogiques.net
 +      ​
 +    2 paramètres :
 +      - durée minimum (ms) : une slide reste affichée au moins ce temps là
 +      - seuil : seuil sonore de déclenchement (0 à 1)
 +    Modifiables au clavier
 +      - haut/bas : augmenter/​réduire la durée (tranches de 0.1 entre 0 et 1)
 +      - gauche/​droite : baisser/​augmenter le seuil (tranches de 500ms, min 0, max 10000ms)
 +      - p : affichage ou pas des valeurs de paramètres et du niveau sonore capté
 +      - t : affichage ou pas du texte de légende
 +    Un clic souris fait aussi passer à la slide suivante
 +    ​
 +    Notes : le réaffichage de l'​image ne se fait que si nécessaire,​ cad :
 +      - nouvelle image
 +      - affichage des paramètres affichés
 + */
 +
 + 
 +import processing.sound.*; ​        // Importer la bibliothèque dédiée au son
 +
 +boolean DISPLAY_PARAMS ​ = true;    // affichage des paramètres ​
 +boolean REFRESH_DISPLAY = false; ​  // faut-il rafraîchir l'​affichage ?
 +boolean DISPLAY_TEXT ​   = true;    // faut-il afficher le texte de légende ?
 +
 +AudioIn micro; ​                    // Créer un objet nommé micro de type AudioIn
 +Amplitude volume; ​                 // Créer un objet nommé volume de type Amplitude
 +
 +float niveau_sonore = 0;           // niveau sonore lissé
 +float seuil = 0.1;                 // seuil sonore à atteindre
 +long changed_last = 0;             // instant du dernier changement de slide
 +long duree_mini = 3000;            // durée minimale d'​affichage d'une slide
 +
 +PImage[] images; ​                  // Tableau d'​images
 +int slideCourante = 0;             // index de l'​image en cours du tableau
 +boolean suivant = false; ​          // état utilisé pour le changement d'​image
 +
 +
 +// ****************** Images et légende *********
 +
 +// Tableau de données : { nom de fichier, texte à afficher }
 +String[][] slides = {
 +  { "​debatchi.png",​ "​debatchi"​ },
 +  { "​dorotchi.png",​ "​dorotchi"​ },
 +  { "​hanatchi.png",​ "​hanatchi"​ },
 +  { "​kabutchi.png",​ "​kabutchi"​ },
 +  { "​kiwitchi.png",​ "​kiwitchi"​ },
 +  { "​kusatchi.png",​ "​kusatchi"​ },
 +  { "​mimitchi.png",​ "​mimitchi"​ },
 +  { "​oniontchi.png",​ "​oniontchi"​ },
 +  { "​propellertchi.png",​ "​propellertchi"​ },
 +  { "​takotchi.png",​ "​takotchi"​ },
 +  { "​tarakotchi.png",​ "​tarakotchi"​ },
 +  { "​marumimitchi.png",​ "​marumimitchi"​ }
 +};
 +
 +
 +void setup() {
 +  fullScreen();​ //
 +  //​size(1200,​ 675);
 +  background(255);​
 +  frameRate(20);​
 +  noSmooth(); ​                  // Pas d'​interpolation pour agrandir les images
 +  Sound.list(); ​                // Debug : liste des devices sonores
 +
 +  micro = new AudioIn(this,​ 0); // Créer une entrée micro  ​
 +  micro.start(); ​               // Démarrer l'​écoute du micro
 +  volume = new Amplitude(this);​ // Démarrer l'​analyseur de volume
 +  volume.input(micro); ​         // Brancher l'​entrée micro sur l'​analyseur de volume
 +  ​
 +  // Chargement de toutes les images une seule fois
 +  images = new PImage[slides.length];​
 +  for (int i = 0; i < slides.length;​ i++) {
 +    images[i] = loadImage(slides[i][0]);​
 +  }
 +}
 +
 +
 +void draw() {
 +  ​
 +  // Mesurer le volume sonore **************************
 +  float niveau_actuel = volume.analyze();​ // renvoie une valeur entre 0 et 1
 +  // lissage des valeurs pour «gommer» les aberrations
 +  niveau_sonore = (niveau_sonore * 0.95) + (niveau_actuel * 0.05); ​
 +  ​
 +  ​
 +  // Tester si on change de slide **********************
 +  if (niveau_sonore > seuil && (millis() - changed_last > duree_mini)) {
 +    suivant = true;
 +    niveau_sonore = 0;
 +  }
 +  if (suivant) {
 +    changed_last = millis();
 +    slideCourante = (slideCourante + 1) % slides.length;​
 +    REFRESH_DISPLAY = true;
 +    suivant = false;
 +  }
 +  ​
 +  // Faut il rafraîchir l'​écran ? ***********************
 +  if (DISPLAY_PARAMS) {
 +    REFRESH_DISPLAY = true;
 +  } 
 +  if (REFRESH_DISPLAY) {
 +    afficherSlide(slideCourante,​ DISPLAY_TEXT);​
 +    REFRESH_DISPLAY = false;
 +  }
 +  ​
 +  // Indications des valeurs de paramètres ***************
 +  if (DISPLAY_PARAMS) {
 +    float diametre = map(niveau_sonore,​ 0, 1, 1, 500);
 +    noStroke();
 +    fill(255, 0, 150);
 +    ellipse(55, 100, diametre, diametre);
 +    textSize(14);​
 +    textAlign(LEFT,​ CENTER);
 +    text(niveau_sonore,​ 20, 20);
 +    text(seuil, 60, 20);
 +    text(duree_mini,​ 20, 40);
 +    text(millis() - changed_last,​ 20, 60);
 +  }
 +  ​
 +}
 +
 +void afficherSlide(int n, boolean display_text ) {
 +  background(255);​
 +
 +  // Image centrée, redimensionnée pour tenir dans la fenêtre
 +  PImage img = images[n];
 +  if (img != null && suivant == false) {
 +    imageMode(CENTER);​
 +    float ratio = min((float) width / img.width, (float) height / img.height);​
 +    image(img, width/2, height/2, img.width * ratio, img.height * ratio);
 +  }
 +  ​
 +  // Afficher le texte
 +  if (display_text) {
 +    ​
 +    /* // Bandeau semi-transparent pour la lisibilité du texte
 +    noStroke();
 +    fill(0, 150);
 +    rectMode(CORNER);​
 +    rect(0, height - 80, width, 80);
 +    */
 +  ​
 +    fill(255, 0, 150);
 +    textSize(64);​
 +    textAlign(CENTER,​ CENTER);
 +    text(slides[n][1],​ width/2, height - 100);
 +  }
 +}
 +
 +void keyPressed() {
 +  if (key == '​p'​) {
 +    DISPLAY_PARAMS = !DISPLAY_PARAMS;​
 +  }
 +  if (key == '​t'​) {
 +    DISPLAY_TEXT = !DISPLAY_TEXT;​
 +  }
 +  if (key == CODED) {
 +    if (keyCode == RIGHT) {
 +      seuil += 0.1;
 +      if (seuil > 0.9) seuil = 0.9;
 +    } else if (keyCode == LEFT) {
 +      seuil -= 0.1;
 +      if (seuil < 0.1) seuil = 0.1;
 +    } else if (keyCode == UP) {
 +      duree_mini += 500;
 +      if (duree_mini < 0) duree_mini = 0;
 +    } else if (keyCode == DOWN) {
 +      duree_mini -= 500;
 +      if (duree_mini > 10000) duree_mini = 10000;
 +    }
 +  }
 +}
 +
 +void mousePressed() {
 +  suivant = true;
 +}
 +</​code>​
 +</​panel>​
 +</​accordion>​
 +
  • cnd/30_ans_du_tamagotchi.1793612957.txt.gz
  • Dernière modification: 2026/11/02 10:49
  • par emoc