Transcription
1. Intro: Bienvenue sur Python. De nombreux projets Maths Quiz jeu ajout dans ce cours créera un jeu de console minuscule . Le test des joueurs. Capacité de masse. Ce mini cours de projet est divisé en morceaux de taille méthode. Littéralement. La plupart des leçons sont centrées sur une seule méthode. Vous apprendrez à créer des questions mathématiques randomisées. Calculez la réponse à ces questions. Construire une boucle de jeu qui donne une bonne expérience utilisateur et, surtout, comment utiliser diverses structures de tuyauterie fondamentales. Alors pour qui est ce cours ? Eh bien, en fait, quelques personnes différentes Tout d'abord, si vous avez une connaissance de base de pieux et python et que vous voulez que le langage soit mis à l'usage pratique, ce cours est pour vous. C' est une excellente façon de voir comment les problèmes peuvent être décomposés et comment les résoudre en utilisant python. Si vous ne connaissez pas de Piketon, mais que vous connaissez déjà une autre langue. Java Sea Sharp Taps script. Ça n'a pas vraiment d'importance. Ensuite, votre audience cible numéro deux. Si vous tombez dans cette catégorie, vous serez rapidement exposé à la syntaxe inhabituelle de Patton. En tant que quelqu'un qui a été exposé à plus de 14 langages de programmation au cours de la dernière décennie, cela me fait sentir un peu vieux, je parle d'expérience quand je dis que regarder le code de
quelqu'un d'autre dans votre nouveau langage et le modifier pour répondre à vos besoins est l'un des les moyens les plus rapides de ramasser cette langue. C' est parce que vous obtenez de voir tellement d'aspects que la ressource d'apprentissage traditionnelle est souvent juste ne pas montrer aux débutants. C' est aussi un bon cours pour toute personne qui connaît déjà Pathan mais qui aimerait un
rafraîchissement rapide , alors laissez la programmation commencer.
2. Évaluer des équations: dans cette leçon intra orteil doivent créer un jeu de quiz maths en utilisant Python. Nous allons créer le noyau, tout
le projet. C' est une méthode appelée calculer la réponse, et ce qui va faire est donné un problème. Ça va te rendre. La réponse utilisera cette méthode tout au long du projet, et il est vraiment important que nous l'obtenions correctement. Nous allons commencer par créer une méthode de squelette simple, juste une démonstration, que notre environnement est opérationnel. Nous nous attendions à retourner non, car c'est la valeur par défaut et python. Il fait cela, donc il est prêt à passer à autre chose. Suivant. Ajoutons des paramètres. Une méthode comme celle-ci va accepter tous les composants d'une question mathématique de base. Ah, côté
gauche,
côté droit et un opérateur comme plus ou moins, il est mis dans une déclaration de retour factice. Nous avons codé en dur l'opérateur pour l'instant pour garder les choses simples et pour montrer que changer les valeurs des
arguments a réellement un effet. Afin de suivre les progrès à l'avenir, ces énoncés d'impression nous indiqueront quelles opérations se comportent comme prévu dans une leçon
ultérieure. les échanger contre de vrais cas de test plutôt que simplement des impressions. Remarquez comment ils donnent tous la même réponse. Pour l'instant. Corrigons cela avec une instruction if simple plus tard, vous pouvez ajouter Ellis, mais ce n'est pas réellement nécessaire. Une simple comparaison de chaînes à l'intérieur du four. Si Operator est suffisant pour
l'instant, les 2 premières sorties de se comporter comme prévu, la même logique peut être utilisée jusqu'au bout. Je dois me rappeler de changer chaque condition, et chaque opérateur de retour et la sortie semblent être corrects. Mais que se passe-t-il lorsqu'on lui donne une sorte d'entrée non valide ? Disons qu'un visage souriant ou quelque chose de tout aussi bizarre par défaut à l'addition n'a pas beaucoup de
sens . Alors donnons-lui la même logique que ses frères et sœurs vont juste dupliquer ce morceau de code . Cela laisse la question de savoir quelle est la bonne façon de gérer les mauvaises entrées. Nous pourrions simplement retourner une constante comme un zéro, mais alors personne ne saura que quelque chose s'est mal passé. Quand c'est le cas, nous pourrions également afficher un message aérien, mais cela rend la sortie laide et il peut être ignoré. La meilleure façon de gérer quelque chose comme celui-ci est de lever une exception qu'il force à utiliser pour reconnaître qu'ils ont un bug et soit le corriger, soit le gérer explicitement avec un try catch . Maintenant, nous voulons exécuter ce code pour vérifier que l'exception est en fait soulevée où elle devrait être. Et ici, c'est comme devoirs pour cette leçon. Essayez d'ajouter une équation supplémentaire. Tapez, par
exemple, sur les exposants ou la puissance de l'opérateur. Repérez également le problème d'Aled inmain autour de la division et implémentez un message d'erreur explicite pour quand cela se produit. Donc, cela conclut la première leçon de création d'un jeu de quiz maths en utilisant Python. Espérons on n'est pas allés trop vite, et si on m'envoie un message et je verrai ce qu'on peut faire pour t'aider. Donc, une révision rapide de ce qui a été couvert trois points principaux, nous avons écrit une méthode de retour de valeur qui calcule les réponses à une question mathématique. Nous avons utilisé if pour décider ce que les différents opérateurs ont fait, et finalement nous avons appris à lever une exception afin que les comportements indésirables puissent être traités rapidement. Donc, dans la prochaine leçon, nous allons écrire la méthode du système à calculer. Réponse. Je e. Générer une question. Comme toujours, n'hésitez pas à laisser des questions ou des commentaires, et je ferai de mon mieux pour y répondre
3. Note secondaire - Comprendre les alternatives: et maintenant une tangente rapide avant de passer à la partie suivante du programme de quiz, je voulais démontrer qu'il y a presque toujours une autre façon de coder quelque chose. Bien qu'une façon ne soit pas toujours meilleure qu'une autre, chaque version a généralement ses propres avantages et inconvénients distincts. Je vais expliquer certains de ces avantages et inconvénients en utilisant deux exemples. Un autre avantage des barres latérales comme celle-ci est que vous serez en mesure d'obtenir une exposition à des fonctionnalités
du langage que vous ne saviez peut-être pas exister. Donc, pour l'alternative numéro un examine la combinaison des fonctions Lambda et des dictionnaires afin de supprimer l'excès de if instructions. Si vous ne savez pas ce que sont ces deux choses, c'est très bien. Et si vous savez ce qu'ils sont et comment les combiner comme ça déjà, alors pourquoi vous regardez cette vidéo ? Vous avez entendu un niveau supérieur. Cette approche fonctionnelle est agréable pour plusieurs raisons, à mon avis, car elle est facile à lire, triviale à étendre et non restrictive en ce qui concerne les opérateurs personnalisés. Par exemple, vous pouvez utiliser la lettre l ou littéralement n'importe quelle autre chaîne pour représenter un logarithme. Si vous voulez expérimenter avec cette version, j'ai partagé un lien dans la description. alternative numéro deux est une bête totalement différente. Le mal est quelque chose que la plupart des langues n'ont pas est une fonctionnalité intégrée. Javascript et Python sont les deux seules exceptions que je peux penser. La main est essentiellement un appel à l'interprète partenaire qui dit quelque chose comme ça . Prends cette chaîne, fais semblant que c'est du code, et rendez-moi ce que ça finit. Pass Evil est sûr dans cet exemple, mais seulement parce que nous avons vérifié par rapport à la liste des opérateurs légaux avant de faire quoi que ce soit. Si nous n'avions pas cette vérification, alors du code arbitrairement complexe pourrait être injecté ici, ce qui pose un risque réel pour la sécurité. Pour cette raison, invoquer les environnements tout à fait mal désactivé, ce qui en fait quelque chose à éviter lorsque cela est possible pour des raisons de compatibilité. Une autre limitation avec cette approche est que le format d'équation est rigidement connecté orteil quel que python juge envoyé tactiquement légal, sorte que l'exemple de journal d'avant ne pouvait pas être utilisé ici. Le seul grand pro de l'utilisation du mal est à quel point il est
très, très court et lisible avec cette tangente instructive, espérons-le. En dehors du chemin, continuons à la partie suivante de la logique des questionnaires
4. Génération de questions: bonjour et bienvenue à la deuxième réduction principale, création d'un jeu de quiz maths brevet. Jusqu' à présent, nous avons appris à calculer le résultat d'une question donnée. Mais ce n'est pas vraiment beaucoup d'usage tout seul. Après tout, si vous mettez vos questions ma main, vous n'auriez pas vraiment besoin d'une calculatrice parce que vous pourriez juste faire des danses pendant que vous allez . Dans cette leçon, nous allons couvrir la génération de questions aléatoires en utilisant Rand de Python dans la méthode et vers la fin montrera également brièvement comment la méthode de réponse de calcul existante de la dernière leçon et la génération nouvellement créée méthode de question de cette leçon peut être faite pour communiquer les uns avec les autres, devenant quelque chose d'utile où il y avait une fois sur la façon de la théorie éphémère, plus sur cette deuxième partie dans la prochaine leçon, commençons. Comme toujours, la première chose à faire est de créer le contour de notre méthode cible. Pour le moment, il n'y a pas d'arguments évidents, alors nous allons laisser ça vide maintenant. Le but principal de la méthode ce qui ont des rendements est quelque chose que nous devons discuter plus loin. J' ai brièvement mentionné avant cela générer la question. Est la méthode du système pour calculer la réponse. Peut-être une comparaison plus appropriée est celle du producteur et du consommateur calculer. Réponse consomme les sorties de générer la question. Cela signifie que les valeurs renvoyées ici devraient refléter la structure hors tension. Quelle réponse de calcul s'attend à recevoir dans cette version particulière ? Calculer Answer attend trois arguments pour les nombres et un opérateur. Comme toujours, il existe des solutions alternatives, telles que le passage d'objets de question. Mais c'est assez bon pour notre cas d'utilisation simple. C' est le squelette de notre méthode complète. Maintenant, supprimons toute cette laideur codée en dur. Fixer les numéros avec quelque chose de plus aléatoire est le type de remplacement plus facile. Alors commençons par là. Cette nouvelle importation signifie plutôt que d'apporter toute la bibliothèque aléatoire, nous voulons seulement accéder à la méthode de génération d'interview aléatoire dans laquelle il contient i e. Rand. C' est une bonne façon de réduire le cliquetis dans les programmes plus grands, car vous n'avez plus besoin de dire que le point aléatoire a couru dans chaque fois que vous voulez créer un nouveau
nombre aléatoire , Brandon et attend des arguments et la limite supérieure et inférieure 0 à 10 sons comme un point
de départ pour ceux-ci. Lorsque nous étions sur ce point, remarqué que la première valeur de retour change maintenant à chaque fois que c'était le
comportement attendu . Donc, dupliquons la logique pour le numéro du côté droit. Randomiser l'opérateur est là où les choses le rendent confus. Rappelez-vous, un opérateur est l'un d'un ensemble très limité de caractères, et donc la bibliothèque aléatoire n'aura rien pour nous aider, moins pas directement comme point de départ. Nous pouvons explicitement lister sont ensemble d'opérateurs connus comme une chaîne. Ensuite, demandez-vous. Comment choisirons-nous exactement un opérateur de cette collection ? La réponse la plus simple est que la rue est à traiter. La chaîne est une liste et utiliser l'avis d'indexation de valeur si nous changeons cette valeur ou indexons les changements opérés
retournés avec elle. Pour rendre les choses plus aléatoires, remplacons l'index constant par quelque chose de plus dynamique. L' utilisation d'une logique similaire est avant que nous ayons maintenant une valeur d'index aléatoire de l'opérateur. Avant de lancer ceci, voyez si vous pouvez repérer le problème. Pause. Maintenant. Si vous voulez essayer par vous-même, la réponse deviendra claire. Si nous exécutons ce code plusieurs fois, il s'est écrasé. La raison qui s'est écrasé est parce que nous n'avons pas été prudents avec les limites de l'index de l'opérateur. Contrairement à la plupart des langages, python a une abondance inclusive sur son générateur de nombres aléatoires plutôt qu'un générateur exclusif . Je soulève cela parce que cela peut conduire à des bugs subtils qui sont super difficiles à répliquer et Deepak. La solution la plus simple est de simplement soustraire un de la limite supérieure. Les nombres possibles générés maintenant seront 012 ou trois, mais jamais pour le sens ne sortira jamais hors limites. Jetons un coup d'oeil à un plus grand échantillon de sortie de notre nouvelle méthode. C' est la plupart du temps beau, mais voici un autre problème potentiel. Nous avons un opérateur de division ici et une valeur à droite de zéro. C' est un problème car il en résulte une division par zéro. Nous pourrions résoudre ce problème en limitant simplement les questions orteil un plutôt que zéro, cependant, qui limite artificiellement ce que notre programme peut faire. Au lieu de cela, mettons un chèque ici pour que nous puissions résoudre le problème plutôt que de le cacher. Le cas d'utilisation que nous voulons surveiller est la division par zéro, ce qui ne se produit que si ces deux conditions distinctes sont toutes les deux remplies. Identifier l'endroit où se produit le problème est la première étape. Ensuite, nous devons décider comment le réparer. On ne peut pas juste soulever une exception après tout, ce n'est pas vraiment une solution. Nous pourrions en ajouter un sur le côté droit, mais cela introduit une légère préférence pour les questions où le côté droit est un. Nous pourrions relater le numéro entièrement, et c'est en fait la meilleure réponse. Le seul problème avec la version que vous voyez maintenant est qu'il ya encore une chance après ce nouveau si est fait, que nous obtenons zéro à nouveau. Pour éviter que cela ne se produise, remplacera le if par une boucle while en utilisant la même condition. Maintenant, nous pouvons garantir que RHS aura une valeur sûre. génial de vérifier que c'est le cas. Ajoutons une vérification de notre boucle de sortie pour la division potentielle par zéro. Plutôt que de faire une vérification visuelle. Vous pouvez également utiliser les valeurs renvoyées, en les
contournant dans notre méthode de calcul précédente. Réponse. Si rien ne se passe lorsque calculer la réponse utilise nos valeurs, vous savez qu'elles doivent être sûres. Ah, l'
avantage de vérifier comme ça c'est que nous pouvons voir nos deux méthodes interagir avant de donner des devoirs. Récapitons rapidement ligne par ligne. Ici, nous avons notre collection d'opérateurs connus dans cette version, une chaîne simple. Ici, nous générons un index aléatoire qui peut être utilisé en toute sécurité dans la chaîne susmentionnée. Ensuite, nous avons combiné les deux lignes précédentes et récupérons la valeur finale des opérateurs. Ces deux lignes génèrent juste des interjizz aléatoires pour les utiliser comme composants numériques de nos deux questions. Ici, nous avons la boucle qui vérifie et empêche la division par zéro questions en régénérant le numéro du côté droit. Et finalement nous avons retourné tout ce que nous avons généré jusqu'à présent. Prêt pour la consommation externe. Ok, heure
des devoirs. Vous remarquerez. Il y a beaucoup de numéros codés en dur ici. Cela signifie que seule une gamme très limitée de questions peut être générée. Je veux que vous ajoutiez deux nouveaux arguments à la limite inférieure et à ce sujet. Permettez à quiconque appelle notre méthode de spécifier un ensemble alternatif de limites. Par exemple, il se peut
que certains élèves aient besoin d'en apprendre davantage sur les nombres négatifs. Avoir une limite inférieure et supérieure hors moins 10 à 10 plutôt que 0 à 10 leur permettrait de faire exactement cela. Rappelez-vous, il y a au moins trois lignes différentes où ces nouveaux arguments soignés devraient être utilisés. Le prochain travail à faire est un peu plus délicat. Je veux que vous autorisiez les opérateurs multi-caractères tels que Log ou la puissance de l'opérateur double étoile
de Pathan . Ma main pour celui-ci est que la chaîne des opérateurs actuels devrait peut-être être une collection d'index à base de
plantes différentes . Je sais que la démo vers la fin de la partie sur la façon de montrer et de tester la sortie a été faite un peu vite, mais c'était pour une bonne raison. Je le jure. Tout d'abord, ce n'était pas vraiment le centre de cette leçon. L' accent était mis sur la façon de générer de manière fiable des questions aléatoires en toute sécurité. Mais plus important encore, presque toute cette logique sera présente dans la prochaine vidéo lorsque nous réunirons tout ce que nous avons fait jusqu'à présent pour créer la boucle principale du jeu. Cela signifie donc que les explications plus détaillées sont encore à venir. Il y a deux points principaux à retenir de cette leçon. Comment utiliser la méthode aléatoire pour générer des nombres aléatoires et sélectionner des opérateurs au hasard, et comment utiliser des boucles pour empêcher les valeurs indésirables de glisser dans et causer des problèmes plus tard. N' oubliez pas, si vous êtes coincé avec quelque chose, laissez un commentaire ou envoyez un message, et je ferai de mon mieux pour vous aider à vous voir la prochaine fois
5. La boucle de jeu: un arrêt légèrement différent de l'habitude cette fois, comme nous sommes sur le point d'écrire la boucle de jeu principale, nous n'avons pas besoin de créer une méthode dédiée pour cela comme nous le ferions habituellement, bien que beaucoup de plus grand peut être extrait méthode d'aide orteil pour les devoirs si que vous voulez. Au lieu de se soucier des types d'argument et de retour et d'affiner la logique spécifique à la méthode , approche
bien prise plus proche de demander à plusieurs reprises, Que voulez-vous faire ou voir ensuite ? Si j'étais le joueur, la première chose que je voudrais est qu'un joueur soit une question à me montrer afin de montrer question, nous devons d'abord en générer une ici. Nous invoquons la question de générer à partir de la dernière leçon et le résultat de stockage dans une variable de question pour une utilisation ultérieure. Maintenant, nous avons une question qu'il doit être montré à l'utilisateur. Ah, impression d'une déclaration avec un formatage de chaîne pour rendre les choses belles et jolies est assez bon pour l'instant. Quand nous étions sur ce sujet, nous voyons la question clairement affichée. Joli. Maintenant, demandez-vous à nouveau, Qu'est-ce que je voudrais faire ou voir ensuite ? Si j'étais un joueur, je dirais que la prochaine chose est laissez-moi répondre à votre question pour cela. La méthode d'entrée est la seule option réelle pour un programme consul. Maintenant, nous avons donné la question du joueur et la restauration de leur réponse. Une tangente rapide ici. Notez que nous affichons tous les deux la question, puis demandons à l'utilisateur une seconde fois pour leur entrée. Ça a l'air maladroit. On ne peut pas combiner les deux choses en remorquage ? Un. Et la réponse est absolument et vous devriez. Donc, pour ce faire, nous pouvons simplement couper la chaîne de question collée dans l'appel d'entrée. Et puis quand nous l'exécutons Voila, expérience utilisateur
Anita sans invites d'entrée répétées. La prochaine étape dans un jeu comme celui-ci serait de donner des commentaires au joueur pour savoir s'il a raison ou non de donner cette rétroaction. Nous avons besoin de deux choses que nous n'avons pas encore. Nous devons connaître la bonne réponse, et nous avons besoin d'un moyen de comparer la bonne réponse avec les joueurs. Réponse. Ce que nous avons déjà de l'étape précédente. Il est temps d'appeler notre autre méthode d'aide pour calculer. Réponse. Nous avons la bonne réponse ici dans cette variable. Maintenant, nous avons besoin d'un moyen de comparer les deux types de réponses. Commençons par l'approche naïve de comparer directement les deux lorsque nous étions quand nous exécutons cela malgré donner une réponse correcte, il dit que nous avions tort. Pourquoi est-ce qu'il ferait ça ? La réponse est en fait assez simple. L' entrée renvoie une chaîne, mais calculer la réponse renvoie un nombre. Donc, même si les deux valeurs semblent similaires, comme vous pouvez le voir ici, elles sont très différentes aux yeux de votre ordinateur. Si nous coûtons un côté de cette comparaison à une chaîne, tout à coup nous revenons. Certes, nous pouvons utiliser la même technique de coulée dans notre comparaison précédente, et maintenant, quand nous mettons une bonne réponse, on nous dit beaucoup. Il y a encore un léger problème avec cette simple comparaison. Que se passe-t-il lorsque vous donnez à l'utilisateur une question comme neuf divisé par sept ? Quelle est la précision d'un joueur ? Comme une question comme celle-ci est un peu au-delà, la portée de ce projet simple mettra en œuvre une solution à la fin de la vidéo. De cette façon, ceux d'entre vous qui veulent essayer de trouver une solution pour vous-même contrarient ses devoirs et ceux d'entre vous qui veulent juste voir une réponse ne seront pas laissés avec 1/2 projet de travail pour instant. Lorsque le joueur a tort, nous pourrions faire un point de leur montrer la bonne réponse complète. De cette façon, il y a le moins de savoir si c'est un problème de précision ou s'ils étaient en fait faux retour au jeu principal, que voudrait voir le jeu ensuite ? Eh bien, une seule question n'est pas très amusante. Donc si je jouais, je voudrais voir une autre question. C' est probablement l'étape la plus facile de tous. Nous avons juste enveloppé tout ce que nous avons fait jusqu'ici dans une boucle pour l'instant va le démo, en utilisant juste pour lui des orations. Et ça pose plus d'une question. Donc ça marche. La dernière chose que je voudrais voir, c'est mon score. Pour ça, nous aurons besoin de deux choses. Combien de questions y a-t-il eu au total ? Et combien de ceux-là j'en ai eu ? Correct. Les questions totales sont faciles à ajouter à ce que nous avons déjà. Nous ajoutons juste une constante au début et nous assurons qu'elle est utilisée par la boucle pour déterminer combien de questions posent. J' ai remarqué que si nous changeons notre nouvelle variable, le nombre total de questions posées change pour correspondre à la deuxième information pour afficher le score. Combien de fois était de jouer correct ? Nécessite de l'oignon, un
petit peu plus d'efforts pour commencer avec l'utilisation. Il n'a pas de réponses correctes, donc nous ajoutons une variable zéro doute en haut. Ensuite, il n'y a qu'une seule fois que cette valeur change, et c'est là. Quand les deux tantes correspondent à ces deux informations,
nous pouvons écrire une ligne d'impression comme celle-ci où nous montrons à l'utilisateur leur école brute. Quand les deux tantes correspondent à ces deux informations, Et puis nous pouvons également ajouter un pourcentage à la fin afin qu'ils n'aient pas à s'en sortir eux-mêmes. Et c'est tout. Eh bien, presque. Ajoutons la méthode plus flexible de comparaison des réponses que j'ai promis il y a un peu de temps . Je vais accélérer cette section pour que vous n'ayez pas à regarder tout écrit. En attendant, une explication rapide. Si nous soustrayons une réponse de l'autre, indépendamment de celle qui est plus grande ou correcte, puis rendons le résultat positif. Nous avons la différence absolue entre ces deux chiffres, mais comment pouvons-nous savoir quand cette différence est trop importante ? Eh bien, nous avions un terme de tolérance et comparatif. C' est que ici quelques sorties de démonstration pour montrer qu'il fonctionne comme prévu. Remarquez comment la commande n'a pas d'importance. Les 1er 2 sont beaucoup trop différents les uns des autres pour être considérés comme corrects, et le second sont juste dans cette plage de tolérance. Donc, ils sont retournés vrais. Remarquez comment nous pouvons également modifier la tolérance, et soudainement vous avez besoin de beaucoup plus ou moins de précision. Avec cette aide une méthode faite. Nous avons juste besoin de remplacer l'ancienne comparaison. Laissez-le avec nos nouveaux changements et donnons-le à délibérément fermer mais pas tout à fait bonne réponse. Et voilà, un jeu de quiz plus tolérant. Donc, l'heure des devoirs. Commençons par les trucs simples. abord, je veux que vous modifiez le programme afin que l'utilisateur puisse choisir le nombre de questions qu'il veut répondre au début, ou leur donner la possibilité de quitter tôt afin que leur seul score sur ce qu'ils ont fait jusqu' ou faire les deux. Si tu le veux vraiment. Et pour ceux d'entre vous qui démangent pour plus d'un défi, vous pouvez essayer de changer cette boucle de jeu de sorte que, plutôt que d'un jeu de consul, vous avez un jeu gooey, vous pouvez utiliser TK Enter ou tout autre module u I que vous aimez, ne vous sentez pas mal pour ne pas faire celle-là. Cependant. Personnellement, je ne t'aime pas. Je travaille en python du tout. Et c'est ça, Ah, jeu de quiz mathématiques
entièrement fonctionnel écrit à partir de zéro et python que vous pourriez littéralement utiliser pour tester toute personne connaissance arithmétique.
6. Résumé et retour: Alors maintenant que le programme est terminé, révisons rapidement les principales structures du projet. Notre jeu peut résoudre des questions mathématiques en utilisant calculer, répondre. Générer des questions aléatoires en utilisant Générer une question du côté d'une artères donnée
assez précis , en utilisant la méthode est assez précise et mélanger tout ce qui précède dans une seule boucle de jeu avec les interactions de joueur
riel. Vous pouvez soumettre vos propres versions du jeu en tant que projet de cours. Parlez-nous des changements que vous avez apportés et pourquoi, ou de la façon dont vous abordez les différentes questions relatives aux devoirs. Si vous connaissez vraiment vos trucs, avoir un bon rendre l'ensemble du projet plus orienté objet ou juste pour le plaisir. Jouez une partie de code golf et essayez de réduire le projet en moins de lignes que possible. Merci d'avoir regardé. Nous espérons que vous avez apprécié ces nombreux protéger. Dans cette optique, nous essayons constamment d'améliorer nos cours afin que vos commentaires soient inestimables. N' hésitez pas à laisser des commentaires ou à envoyer des messages sur ce que vous avez aimé sur ce que vous pensez que nous avons mieux fait. Par exemple, devrais-je aller plus vite ou plus lentement ? Souhaitez-vous des explications plus ou moins détaillées ? Le projet était-il simple etcetera ? Nous sommes également intéressés à savoir quel genre de projets vous aimeriez voir la prochaine fois et
jusqu'à la prochaine fois, continuez à coder