Projet Minecraft - 4 - agrandir la carte

Nous avons réussi à générer une carte avec des images, mais la carte est encore de petite taille. Si nous avons une carte 5 x 5, il n'y a que 25 carreaux sur la carte. Pour créer une grande carte, nous allons devoir changer de méthode, afin de ne pas définir les carreaux un par un.

La notion de "compréhension de liste" dans Python va nous permettre de générer une liste très rapidement.

Faisons un premier essai: commence par remplacer ton quadrillage par celui-ci, et relance le programme:

Ton programme ne va plus fonctionner, mais tu pourras remarquer dans la log que la première ligne du quadrillage a été remplie automatiquement avec des 0 (valeur de la constante TERRE), pour chaque carreau de la ligne:

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]


Maintenant que nous avons dynamiquement créé une ligne, il faut faire la même chose pour chaque colonne, ce qui nous donne le code suivant:

Et notre programme fonctionne à nouveau, en remplissant de TERRE tous les carreaux du quadrillage:

Il te suffit maintenant de modifier deux paramètres, la hauteur et la largeur de la carte, pour obtenir les dimensions souhaitées!

Nous allons maintenant remplir le quadrillage avec les autres ressources, en les positionnant de façon aléatoire sur la carte. Pour cela, nous devons importer le module random de Python, et utiliser la méthode random.choice, qui nous permettra de choisir "au hasard" une ressource parmi les ressources créées:

Relance le programme: la carte devient plus intéressante!

Nous voudrions maintenant que la répartition des ressources sur la carte ne soit pas totalement aléatoire: la terre doit être très commune, l'eau et l'herbe un peu moins communes, et le charbon doit être une ressource rare qui n'apparaît que rarement sur la carte.

Nous allons pour cela demander au programme de choisir un nombre au hasard entre 0 et 15 (par exemple), et nous allons définir la ressource à afficher en fonction du numéro choisi.

Commençons par remettre la ressource TERRE sur tous les carreaux de la carte:

Nous allons ensuite faire une boucle sur notre liste, et changer la ressource en fonction du numéro choisi:

 

Quelle est maintenant la probabilité d'obtenir un carreau qui soit du charbon? De l'eau? De l'herbe? Tu peux modifier ces probabilités jusqu'à ce que tu sois satisfait de ta carte.

Le défi: crée une nouvelle ressource DIAMANT, et arrange-toi pour qu'elle apparaisse très rarement. Vraiment TRÈS RAREMENT. Il faudra pour cela modifier les numéros choisis au hasard, et modifier l'échelle (plus grande que 15!).