Est-ce qu'il vous est déjà arrivé de commencer un projet en pensant : "À quel point cela pourrait-il être difficile ?" - pour découvrir des mois plus tard que la réponse est "Beaucoup plus difficile, définitivement hors de ma portée pour l'instant." Eh bien, cela résume à peu près ce projet sur lequel je travaille depuis un moment. Voici l'histoire.
Je m'intéresse aux ordinateurs depuis des années. J'ai construit mon premier PC quand j'étais adolescent, en 2008, et à cette époque, les logiciels semblaient être une sorte de sorcellerie mystérieuse que je n'arrivais pas à comprendre. Avance rapide jusqu’à il y a environ un an et je me suis retrouvé à m’inscrire à Codecademy. C'était en partie pour essayer d'acquérir une nouvelle compétence, si je décidais ou si je devais changer d'emploi à l'avenir. Cependant, c'était surtout juste pour le plaisir et la satisfaction personnelle - peut-être pourrais-je enfin comprendre un peu plus le fonctionnement de ce mystérieux logiciel ?
Mon premier arrêt a été le cours gratuit C#, qui m'a suffisamment intrigué pour souscrire à un abonnement annuel. Quelques mois plus tard, j'ai décidé de me lancer dans une carrière en informatique. Même si j'aurais pu opter pour quelque chose comme le développement Web, j'ai pensé que l'informatique correspondait davantage à mes intérêts d'origine lorsque je me suis lancé dans l'informatique - pas seulement apprendre à coder, mais aussi comment tout cela fonctionne sous le capot.
Le cours a commencé par m'apprendre un nouveau langage - Python. J'avais entendu dire que cette langue était l'une des plus populaires auprès des débutants, et je comprenais pourquoi. Après avoir essayé C#, ce qui semblait assez simple mais avec quelques bizarreries qui me passaient au-dessus de la tête, je me suis mis à Python comme un canard dans l'eau.
Cependant, il est ensuite arrivé à la partie du cours où je devais réaliser mon premier projet de portfolio. Le brief était de créer un jeu de terminal en Python, et de le publier sur GitHub et une plateforme de blogs. Eh bien, au début, la partie de la mission qui m'a fait hérisser était de partager mon projet avec d'autres. J'ai tendance à éviter de publier des choses ouvertement, surtout quand j'ai l'impression de ne pas bien savoir ce que je fais. Une carrière ratée de caricaturiste m'a appris les dangers du « blagging » - donnant l'impression que j'étais plus compétent et peut-être plus expérimenté que je ne l'étais en réalité afin de potentiellement gagner des clients. Cependant, c'est une autre histoire.
En gros, la version condensée de ce long préambule, c'est que j'écris ce post parce que Codecademy m'a obligé à le faire. Je ne me fais aucune illusion/illusion selon laquelle je suis un codeur incroyable - je suis juste un nerd curieux qui aimerait arriver à la fin de ce cours et apprendre des choses intéressantes en cours de route. Et tu sais quoi, j'en suis content, et si tu es dans le même bateau que moi, tu devrais l'être aussi.
Et alors, qu’en est-il du jeu que je devais créer ? J'avais quelques suggestions de départ de Codecademy, comme le Blackjack, le Tic-Tac-Toe et le Démineur, mais je voulais essayer quelque chose de différent. Un jeu auquel j'aime jouer tous les jours est "Wordle", désormais détenu et hébergé par le New York Times. Apparemment, ce jeu a commencé comme un petit projet personnel qu'un gars a réalisé pour sa petite amie, et j'ai été intrigué par l'apparente simplicité des règles du jeu et par la façon dont cela semblait fonctionner. J'ai donc décidé de créer ma propre version de "Wordle", pour voir si je pouvais la découvrir par moi-même. Après tout, à quel point cela pourrait-il être difficile ?...
La réponse courte – un peu plus difficile que je ne le pensais, étant donné que je ne suis qu'un débutant. Je suis sûr qu'un expert pourrait dénicher un clone de Wordle en quelques heures, mais pour moi, cela a été un projet de plusieurs mois. J'y ai surtout travaillé le soir avant de me coucher, et cela a été une expérience très agréable. Cela m'a surpris du nombre de pièces mobiles qu'il y a dans un jeu de terminal apparemment simple.
Vous pouvez trouver mon code sur GitHub ici.
Le projet est toujours en cours de développement et j'ai l'intention de continuer à corriger les bugs et à ajouter des fonctionnalités au fil du temps. En un mot, voici comment fonctionne le jeu :
Au lancement, l'utilisateur voit un écran de démarrage et est invité à saisir son nom. Ensuite, le jeu sélectionne un mot secret en arrière-plan, actuellement parmi une liste test de dix mots de 6 lettres. Dans une version ultérieure, je prévois d'étendre cette liste afin que beaucoup plus de mots possibles soient disponibles. Le programme affiche alors un clavier et une grille des suppositions en cours. Seules les suppositions de 6 lettres sont acceptées, avec uniquement des caractères alphanumériques. Chaque fois qu'une proposition est soumise, le programme l'analyse et la compare au mot secret. Si le joueur a sélectionné une lettre correcte au bon endroit, elle est imprimée en vert et la lettre correspondante devient verte sur le clavier. Si la lettre est correcte mais mal placée, elle est imprimée en jaune. Si une lettre est incorrecte, elle est imprimée en gris. Ce processus imite fidèlement la logique du jeu original, même si j'ai découvert quelques bugs extrêmes qui peuvent provoquer son crash. Si le joueur devine le mot correctement en six tentatives, il gagne. S'ils font plus de six tentatives, le jeu se termine par un échec.
Ça paraît simple, mais en réalité, il m'a fallu quelques mois pour en arriver là. J'ai été surpris par la complexité de mon code et, plus tard, je prévois de le simplifier si possible. En même temps, c'était un défi vraiment agréable pour moi et je suis heureux d'avoir pu aller jusqu'ici. Je souhaite continuer le cours maintenant, mais j'ai bien l'intention d'y revenir régulièrement pour faire quelques mises à jour. Si vous avez des suggestions sur le code ou de nouvelles fonctionnalités possibles, n'hésitez pas à me le faire savoir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Cet article explique comment utiliser la belle soupe, une bibliothèque Python, pour analyser HTML. Il détaille des méthodes courantes comme find (), find_all (), select () et get_text () pour l'extraction des données, la gestion de diverses structures et erreurs HTML et alternatives (Sel

Le module statistique de Python fournit de puissantes capacités d'analyse statistique de données pour nous aider à comprendre rapidement les caractéristiques globales des données, telles que la biostatistique et l'analyse commerciale. Au lieu de regarder les points de données un par un, regardez simplement des statistiques telles que la moyenne ou la variance pour découvrir les tendances et les fonctionnalités des données d'origine qui peuvent être ignorées et comparer les grands ensembles de données plus facilement et efficacement. Ce tutoriel expliquera comment calculer la moyenne et mesurer le degré de dispersion de l'ensemble de données. Sauf indication contraire, toutes les fonctions de ce module prennent en charge le calcul de la fonction moyenne () au lieu de simplement additionner la moyenne. Les nombres de points flottants peuvent également être utilisés. Importer au hasard Statistiques d'importation de fracTI

Cet article compare TensorFlow et Pytorch pour l'apprentissage en profondeur. Il détaille les étapes impliquées: préparation des données, construction de modèles, formation, évaluation et déploiement. Différences clés entre les cadres, en particulier en ce qui concerne le raisin informatique

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Cet article guide les développeurs Python sur la construction d'interfaces de ligne de commande (CLI). Il détaille à l'aide de bibliothèques comme Typer, Click et Argparse, mettant l'accent sur la gestion des entrées / sorties et promouvant des modèles de conception conviviaux pour une meilleure convivialité par la CLI.

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

L'article traite du rôle des environnements virtuels dans Python, en se concentrant sur la gestion des dépendances du projet et l'évitement des conflits. Il détaille leur création, leur activation et leurs avantages pour améliorer la gestion de projet et réduire les problèmes de dépendance.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.