Projet Minecraft - 6 - ajouter un stock

Tout comme nous avons un dictionnaire "textures" qui relie les ressources à leur image, nous allons créer un nouveau dictionnaire "stock", qui relie chaque ressource à sa quantité en stock.

Quand l'utilisateur appuie sur la touche espace, nous allons identifier sur quelle ressource se trouve le joueur, et ajouter cette ressource au stock. Nous devons aussi remplacer la ressource sur laquelle se trouve le joueur par de la terre, car la ressource a été enlevée.

La ligne "print(stock)" permet d'afficher le stock dans le terminal Python, et de vérifier ainsi que les ressources "ramassées" se retrouvent bien dans le stock.

Ajoutons maintenant le stock en bas de notre écran de jeu. Il faut commencer par augmenter la hauteur de notre fenêtre, afin qu'elle soit plus grande que la hauteur de la carte (ici, j'ai ajouté 60 pixels à la hauteur de la carte):

Le code suivant va nous permettre, pour chacune de nos ressources, d'afficher son image et son niveau de stock:

La variable placePosition représente l'abscisse de l'endroit où l'on place l'image ou la quantité en stock de la ressource. L'ordonnée ne change pas (on met tout sur la même ligne): Hauteur de la carte en pixels + 20 pixels.

Afin de pouvoir écrire du texte, nous avons besoin de définir une police de caractères avant la boucle de jeu:

Voici à quoi doit ressembler notre carte, avec l'affichage du stock:

Il faudrait aussi être capable de faire l'inverse: appuyer sur une touche pour prendre une ressource en stock, et la déposer là où le joueur se trouve. Tu peux utiliser la touche h pour déposer une ressource d'herbe, e pour déposer une ressource d'eau l'eau, c pour le charbon, etc...

Voyons par exemple le code qui permet de prendre une ressource d'eau du stock, la déposer là où le joueur se trouve, et entrer en stock la ressource initialement située sur le carreau où le joueur se trouve:

Défi:

Duplique et adapte ce code pour faire la même chose avec les autres ressources. Tu es ainsi capable d'utiliser tes ressources en stock pour créer ton propre univers!