Bonjour et bienvenue.
Vous êtes prêts pour un autre défi?
Je sais que je le suis.
Maintenant que nous avons fini de parler à propos des boucles, appliquons-les.
Essayons de comprendre comment résoudre un problème.
Donc dans ce défi, vous allez créer une estimation du programme numéro c.
Ça va être plutôt cool.
Ça va être un petit jeu.
Ce qui va se passer est votre programme
va générer un nombre aléatoire de 0 à 20.
Après avoir généré cela nombre aléatoire, vous allez demander
à l'utilisateur de deviner ce que c'est.
L'utilisateur ne devrait donc pouvoir pour saisir des nombres de 0 à 20.
S'ils essaient de deviner comme le numéro 50, vous allez afficher
une erreur et dire, hé, vous pouvez n'entrez que des nombres de 0 à 20.
C'est donc une stipulation.
Mais une fois que l'utilisateur obtient un devinez et c'est une supposition valide,
vous allez alors dire à l'utilisateur si ou non, ils étaient trop élevés ou trop bas.
Ou s'ils étaient corrects, vous afficher en disant qu'ils ont raison
et qu'ils gagneront la partie.
Maintenant, ils n'ont qu'un certain nombre de fois où ils peuvent
deviner le nombre correct.
Ils ne peuvent que deviner le nombre 5 fois.
Après cinq fois, ils perdent la partie.
Donc, ce jeu est tout au sujet de deviner le nombre correct.
N'importe quel nombre de 0 à 20 que vous souhaitez validez l'entrée de l'utilisateur pour vous assurer
qu'il a entré 0 à 20.
Et s'ils entraient quelque chose et qu'ils avoir moins de 5 essais, tu vas leur
dire, hé, c'était trop haut ou, hé, c'était trop bas que le nombre
qu'ils sont censés deviner.
Et ce sont les bases exigences du programme, une estimation de base
de votre jeu de type de nombre.
Maintenant à quoi ressemble la sortie.
Pour te donner une idée de comment je conçu, vous voudrez peut-être suivre.
Cette. Quand j'ai commencé le programme, j'ai affiché un petit message.
J'ai dit que c'était un jeu de devinettes juste pour qu'ils sachent ce qui se passe.
Je leur ai alors dit que j'avais choisi un nombre entre 0 et
20, que vous devez deviner.
Il vous reste cinq essais à deviner.
J'ai alors dit entrer une supposition.
Ils étaient supposés pour entrer leur estimation.
Ils sont entrés 12 et j'ai imprimé out, désolé 12 est faux mon nombre
est inférieur à cela.
Et puis je t'ai montré il reste quatre essais.
Puis ils sont entrés dans une estimation de 8, et j'ai dit, eh bien, 8 est
faux aussi, mon nombre est inférieur à cela.
Et puis ils sont entrés 3, j'ai dit qu'ils avait 3 essais restants, ils sont entrés 4.
J'ai dit que 4 est faux.
Et puis ils ont eu 2 essais à gauche, et
ils ont finalement deviné mon numéro qui était 2.
Une fois qu'ils ont deviné le bon nombre, Je leur ai dit
félicitations, vous l'avez deviné, alors ils ont gagné le match car il leur restait encore 2 essais.
C'est un type de jeu simple de base où vous allez avoir besoin d'utiliser
des déclarations if, vous allez avoir besoin d'utiliser des boucles while.
Vous allez donc devoir utiliser un boucle dans ceci parce
que vous devez continuer à demander des entrées jusqu'à ce que le l'utilisateur a deviné correctement ou jusqu'à
ce que le nombre d'essais soit supérieur à 5.
Donc, l'un des meilleurs moyens de démarrer un programme comme celui-ci est d'écrire comment
vous allez pour créer le programme sur papier.
Et je vous suggérerais de faire ça parce que si vous écrivez comment vous allez attaquer
le problème sur papier, ça va être plus facile à résoudre.
Et vous pouvez l'écrire dans pseudocode, donc c'est juste
la langue anglaise, mais vous voulez identifier où vous allez avoir les boucles
et où vous allez avoir le si instructions pour vérifier les conditions.
Parce que si tu regardes ça sortie, vous devez vérifier
de nombreuses conditions.
La boucle while va vérifier pour les conditions ou la boucle for,
il va vérifier pour s'assurer qu'il quitte la boucle si vous avez bien deviné ou si vous
êtes supérieur à 5 pour les essais.
Vous allez avoir des conditions pour valider également ce qu'ils ont saisi.
Alors tu vas avoir un si déclaration à dire,
hé, vous venez d'entrer un nombre.
Et si ce n'est pas entre 0 et 20 et c'est peut-être que vous voudrez peut-être aussi
avoir une boucle imbriquée pour ce cas.
Parce que tu veux continuer à demander de saisir un autre
numéro jusqu'à ce qu'il saisisse un numéro valide, pas le nombre correct que vous avez
deviné, mais un nombre valide.
Donc je pourrais voir pour ça programmez une boucle externe.
La boucle extérieure serait la boucle qui a demandé à l'utilisateur d'entrer des nombres jusqu'à ce
qu'il ait deviné avec succès le nombre correct ou jusqu'à ce qu'ils aient
réussi leur nombre d'essais.
Je pourrais voir une boucle intérieure où il demande si le nombre n'est pas valide entre
0 et 20, ils continuent de demander l'utilisateur doit saisir un numéro valide.
Et puis je peux voir si les déclarations à vérifier essentiellement si
le nombre est trop bas, trop élevé ou égal.
Parce que vous avez plusieurs sorties conditions
pour votre boucle extérieure, que vous ayez deviné ou non correctement
ou si les nombres égaux ou non cas d'utilisation d'une instruction break.
Parce que rappelez-vous, vous utilisez l'instruction break lorsque vous
avez plusieurs sorties.
Et pour que tu puisses avoir quelque chose à l'intérieur de votre
boucle extérieure qui dit s'ils devinent correctement, sautez.
Et puis la condition à l'extérieur se boucle dans la boucle while ou dans la boucle
for elle-même, la condition x ce serait si le nombre d'essais est
supérieur ou non à 5.
C'est donc une approche de conception.
J'ai mentionné beaucoup de choses.
La seule chose qui reste, tu as tout à votre disposition.
Si vous avez tout appris, je menti1d sauf ce générateur de nombres aléatoires.
C'est nouveau.
Vous savez comment faire si les déclarations, vous savez faire
des boucles, vous savez déclarer des variables, vous connaissez toutes ces belles choses.
Vous savez comment imprimer la sortie sur l'affichage, mais vous ne savez pas comment
faire un générateur de nombres aléatoires.
Alors je vais donner vous le code pour cela.
Vous devez générer un nombre aléatoire.
Parce que chaque fois que vous exécutez le programme, vous voulez avoir
un nouveau nombre qu'ils peuvent deviner.
Donc pour générer un nombre aléatoire de 0 à 20, ce sont
les étapes à suivre.
Vous devez d'abord inclure 2 supplémentaires bibliothèques, le fichier stdlib. h, heure. h.
Vous souhaitez donc ajouter ceux-ci incluent directives en haut de votre fichier.
Sdtlib. h vous permettra d'utiliser la fonction srand, qui vous permet
de générer des nombres aléatoires.
Temps. h vous permet de fournir le graine pour le nombre aléatoire
en utilisant l'heure, obtenant l'heure actuelle.
Ainsi, lorsque nous incluons des bibliothèques en dehors de notre programme, cela signifie simplement
que nous voulons effectuer quelques fonctionnalités supplémentaires.
Nous n'avons pas parlé de tous les bibliothèques standard fournies avec
c, mais elles sont livrées avec 2 belles ceux pour obtenir l'heure actuelle et aussi
pour générer un aléatoire numéro que nous allons utiliser.
Nous incluons donc ces premiers 2 directives en haut.
Ensuite, nous allons créer un variable à
l'intérieur de notre fonction principale appelée time_t, et vous pouvez juste le nommer t, vous ajoutez cela.
Une fois que vous ajoutez votre variable de temps, vous peut initialiser votre générateur de
nombres aléatoires en utilisant la fonction srand.
Donc ce que vous faites, c'est que vous dites srand.
Cela fournit une graine à le générateur aléatoire, il est
juste utilisé pour l'initialiser.
Et ici, vous copiez simplement cette ligne de code srand ((non signé) puis le temps et puis vous passez
une esperluette t.
Je n'ai même pas besoin de comprendre ce que fait ce code, il suffit
de le copier et de le coller.
Mais cela génère un aléatoire, il initialise le générateur
de nombres aléatoires.
Après avoir initialisé un générateur de nombres aléatoires, vous
devez générer le nombre.
Et tout ce que vous faites pour générer le nombre
c'est vous dites rand, vous appelez une fonction nommée rand et vous dites% 21 que c'est un module parce que vous voulez
qu'il soit compris entre 0 et 21, vous utilisez 21 codés en dur.
Vous pouvez stocker ce nombre aléatoire dans un entier, et c'est le nombre que
vous allez comparer contre pour sortir de la boucle qu'ils aient
ou non deviné correctement.
Ça va aussi être le nombre que vous comparez avec euh pour déterminer
si oui ou non vous imprimez trop bas ou trop haut.
Cela devrait donc être très amusant.
Encore une fois, vous allez beaucoup de concepts être exposé
à, si des instructions, des constructions en boucle, la rupture déclaration, boucles internes et
externes, boucles imbriquées, beaucoup de trucs sympas.
Alors bonne chance, amusez-vous et je fournirai une solution dans la
prochaine conférence. Merci.