Tous les articles par icnisnboissy

Projet : Escape game

Fonctionnalités attendues

  1. Le but du jeu est de résoudre un certain nombre d’énigmes pour sortir d’un lieu en temps limité. Pour simplifier, le lieu est seulement composé de deux pièces.
  2. Le programme sera réaliser en Python avec l’interface graphique tkinter.
  3. Le jeu se joue à la souris. Le joueur indique l’action qu’il souhaite exécuter et le programme lui donne le résultat.
  4. L’écran du jeu est partagé en plusieurs parties :
    • la vue sur la pièce en cours (vu de dessus)
    • une liste de verbe d’action (regarder, ouvrir, utiliser, ramasser, associer etc.)
    • l’inventaire des objets détenus par le joueur
    • une zone de résultat de l’action en cours
    • l’affichage du temps restant.
  5. Chaque action est l’association d’un verbe d’action et soit d’un objet de l’inventaire, soit d’un objet de la pièce. Le résultat de l’action apparaîtra dans la zone de résultat (par exemple : « La porte s’ouvre »). Une réponse sera donné à chaque action du joueur, quelque soit la combinaison verbe + objet (prévoir une réponse générique, du type « il ne se passe rien »).
  6. L’inventaire doit pouvoir évoluer, en gagnant ou en perdant des objets. Il est possible d’associer des objets (par exemple « Associer les pile et la lampe sans piles »).
  7. La solution au jeu sera composé de deux quêtes distincts qui devront être réalisée toutes les deux avant de sortir (par exemple trouver un document secret et le code d’ouverture de la porte). La réalisation de ces deux quêtes peut être réalisée dans n’importe quel ordre. Chacune comportera un certain nombre d’étapes à réaliser dans un certain ordre.
  8. À la fin du temps le joueur a perdu. S’il termine avant la fin il gagne.
  9. Les meilleurs temps sont enregistrés et peuvent être affichés, même après avoir fermé puis rouvert le programme.

Projet : Cryptage/décryptage

Fonctionnalités attendues

  1. Le programme permettra de réaliser le codage et le décodage de messages.
  2. Le programme sera réalisé en python avec la bibliothèque tkinter pour interface.
  3. La fenêtre sera composée de deux zones, avec le message crypté et le message décrypté.
  4. Les algorithmes suivants seront pris en charge :
    • cryptage César
    • cryptage Vernam
  5. Le programme sera capable de deviner le type de codage utilisé, parmi ceux disponibles.
  6. Un générateur de mot de passe sera également proposé. Celui-ci créera des mots de passes composés d’un nom, d’un adjectif et d’un verbe, avec minuscule/majuscule et modifications (par exemple s→5, o→0 etc.)
  7. Un bouton permettra d’envoyer le message codé par mail (voir : http://apprendre-python.com/page-python-envoyer-mail-smtp).

Projet : Visualisation de données

Fonctionnalités attendues

  1. Le programme permet d’afficher un même jeu de donnée de différentes manières et ainsi de comparer différentes représentation du même jeu de données.
  2. Le programme sera réalisé en Python, avec les bibliothèques matplotlib (pour le tracé) et tkinter (pour l’interface).
  3. Le programme pourra lire un jeu de donnée (format à déterminer, par exemple csv). Ces données contiendront, pour différentes années, le PIB et le nombre d’habitants de différents pays.
  4. Il sera possible :
    • d’étudier soit le PIB, soit la population, soit le PIB/habitant
    • de sélectionner les pays que l’on veut afficher à l’aide de cases à cocher
    • d’afficher l’évolution dans le temps de ces grandeurs soit sous forme de courbes, soit sous forme d’histogramme
    • de comparer différents pays à une date donnée soit sous forme de diagramme circulaire, soit sous forme d’histogramme
    • de sélectionner la plage de temps tracée
    • de changer les valeurs min et max utilisée en ordonnée
  5. Un bouton permettra de sauvegarder le graphique en cours sous forme d’image.
  6. Si possible : un clic à la souris sur un point permettra de l’afficher (voir https://matplotlib.org/users/event_handling.html).

Robot Sumo

Le SUMO est un style de lutte traditionnel japonais. Les lutteurs essaient de se pousser hors du ring.

Plus ils sont lourds, plus il est difficile de les pousser hors du ring.
 

This image has an empty alt attribute; its file name is sumo1.png

Eh bien, nous ne vous opposerons pas à un vrai lutteur japonais de sumo; vous auriez autant de chance de réussir que le jeune dans la photo ci-dessus! Mais nous pourrions nous amuser à fabriquer des modèles de lutteurs Robot SUMO.

Robot SUMO en lutte

Nous ne respecterons pas les règles officielles de Mini Robot SUMO, nous cherchons simplement à produire des robots SUMO pour le plaisir; (mais si vous êtes intéressé par la lecture du règlement officiel, vous pouvez en voir un résumé à l’adresse http://www.robotroom.com/SumoRules.html).

Le but:

Pousser les autres robots hors de l’anneau, tout en restant dans l’anneau.

Le ring:

Le mini ring officiel mesure environ 75 cm de diamètre, peint en noir avec une bande blanche sur le pourtour.

Les robots:

Les robots  SUMO mesurent 20 cm par 20 cm maximum. Leur poids ne devra pas dépasser 500 g. Vous pouvez les construire de la manière la plus ingénieuse possible, de manière à ce qu’ils soient capables de pousser votre adversaire hors du ring.

Le combat:

Les robots seront placés à l’intérieur du ring, l’un en face de l’autre. Ils doivent être contrôlés uniquement par votre programme informatique; vous n’êtes pas autorisé à les pousser à la main!

Le programme:

Vous pourrez utiliser n’importe quel langage de programmation, soit graphique soit code.
Comment écrire rapidement un programme qui permettra à notre robot de pousser le robot de l’autre équipe hors du ring? – Pensez-y…

La victoire:

marquer trois points pour une victoire et un pour une défaite; le gagnant est le robot avec le plus de points après 2 combats. Si les robots sont égaux après deux combats, un troisième combat décisif est exécuté.

La conception du robot:

Vous pouvez utiliser tous types de  robots  pour commencer, puis les modifier plus tard, si vous pensez que cela vaut la peine de les modifier.

 
L’idée d’un robot mini sumo est illustrée ci dessus. L’idée est que un appendice soulèvera les roues du robot adverse, ce qui facilitera le déplacement de l’adversaire hors de la patinoire.

Vous pouvez trouver des modèles de robots ici :

http://www.edurobot.ch/?p=1032

http://www.damienkee.com/robots/


Mais est-ce la seule façon de construire un robot SUMO? – Votre idée peut être meilleure!

Stratégie – et autres options sournoises…


Quelles sont les possibilités – l’une des pratiques suivantes est-elle pratique?
• Utilisez un “bloc aléatoire” afin que votre robot ne tourne pas la même quantité chaque fois qu’il revient du bord de la patinoire (est-ce utile)?
• Utilisez une feuille avant presque plate (à glisser sous les roues d’un adversaire)?
• Utilisez plus de deux roues motorisées (pour donner à votre robot plus de «punch»)?
• Utilisez des roues plus petites ou plus grandes (quelle serait la meilleure?)
• Utilisez des chenilles au lieu de roues (cela aiderait-il)?
• Utilisez une sorte de bélier (un troisième moteur pour assommer votre adversaire)?
• Utilisez sonar (pour trouver votre adversaire afin de pouvoir le recharger avant qu’il ne vous reproche)?
Pouvez-vous penser à d’autres options en plus de celles mentionnées ci-dessus? Vous pouvez essayer beaucoup de choses – laquelle est la meilleure pour votre robot en pratique?

Pas d’idée:

Faites des recherches sur le net!

Mais vos idées sont bonnes!

Commencez à rivaliser avec vos mini lutteurs SUMO!


Que le meilleur robot gagne…


  Bonne chance – Amusez-vous – Profitez-en!

Radar vélo

Vous allez réaliser un radar de vélo .

Garmin commercialise un accessoire de ce type voir la vidéo  .

Radar de vélo Varia™

Ce radar détecte les véhicules arrivant de l’arrière,  l’avertisseur lumineux se modifie lorsque un véhicule se rapproche et la distance entre le véhicule et le cycliste s’affiche sur le compteur Garmin.

Pour cela vous réaliser un projet avec une carte Arduino un capteur ultrason et un afficheur lcd ou autre.

 

pour commencer vous aller devoir concevoir un chenillard de Leds et mesurer une distance avec le capteur ultrason .

Répartissez vous les taches et au travail.

Apprendre les bases de la programmation avec Python

Pour  apprendre les bases de la programmation informatique, on utilisera le langage Python.

Python et son éditeur (Python IDE) sont disponibles sur les ordinateurs du lycée (c’est la version 3 qui est installée).

On utilisera comme ressource les cours de David Roche (enseignant au lycée Guillaume Fichet de Bonneville en Haute-Savoie) et de Fabrice Sincère (enseignant au lycée Algoud-Laffemas de Valence, dans la Drôme).

Continuer la lecture de Apprendre les bases de la programmation avec Python

Exposés 2018-2019

Les exposés sont à faire sous la forme d’une page internet de votre site. Lors de la présentation n’hésitez pas à montrer en direct ce que vous avez fait (par exemple ouvrir un fichier avec un éditeur html ; afficher le code source d’un e-mail ; utiliser les fonctions de développement d’un navigateur, etc.).

Indiquer les sources que vous avez utilisées (notamment l’origine de vos illustrations).

Annexe : Grille d’évaluation des exposés

Continuer la lecture de Exposés 2018-2019

Site Web ISN 2018-2019

Nous envoyer l’adresse de votre site via l’ENT dès qu’il est en ligne.