randomisation centralisée + palier
This commit is contained in:
parent
74f635821f
commit
c74f53aa4c
3 changed files with 21 additions and 16 deletions
|
@ -1,14 +1,10 @@
|
|||
extends Area2D
|
||||
|
||||
var aleatoire = RandomNumberGenerator.new() # initialisation aléatoire
|
||||
|
||||
func _ready():
|
||||
global.monde += 1 # ajoute 1 au monde que le joueur découvre quand le portail de fin est généré
|
||||
|
||||
func _on_Portail_de_fin_body_entered(body):
|
||||
if "Joueur" in body.name: # si la personne qui entre est un joueur
|
||||
var nouveauMonde = "res://scenes/Monde%s.tscn"
|
||||
aleatoire.randomize() # aléatoire
|
||||
nouveauMonde = nouveauMonde % aleatoire.randi_range(1,5) # dans un écart défini
|
||||
if get_tree().change_scene(nouveauMonde) != OK: # go au menu
|
||||
var prochainMonde = "res://scenes/Monde%s.tscn" % global.randomMap() # prochaine map
|
||||
if get_tree().change_scene(prochainMonde) != OK: # go au menu
|
||||
print("Impossible de charger le jeu.") # gestion erreur
|
||||
|
|
|
@ -3,3 +3,21 @@ extends Node
|
|||
# variable globales
|
||||
var monde
|
||||
var ennemisTues
|
||||
|
||||
"""
|
||||
l'idée de l'aléatoire ici est de récupérer une map aléatoirement entre les
|
||||
maps déja faite
|
||||
"""
|
||||
func randomMap(): # fonction pour définir le prochain monde
|
||||
var aleatoire = RandomNumberGenerator.new() # initialisation aléatoire
|
||||
aleatoire.randomize() # génération aléatoire
|
||||
if global.monde >= 10: # si au moins au 10e monde ----- mode "accomplie"
|
||||
return aleatoire.randi_range(1, 10) # tous les mondes selectionnés (1 à 10)
|
||||
elif global.monde >= 7: # si au moins au 7e monde ----- mode "expert"
|
||||
return aleatoire.randi_range(7, 10) # seulement les mondes de 7 à 10
|
||||
elif global.monde >= 5: # si au moins au 5e monde ----- mode "intermediaire"
|
||||
return aleatoire.randi_range(5, 7) # seulement les mondes de 5 à 7
|
||||
elif global.monde >= 3: # si au moins au 5e monde ----- mode "intermediaire"
|
||||
return aleatoire.randi_range(3, 5) # seulement les mondes de 3 à 5
|
||||
else: # moins de 2 mondes réussi ----- mode "débutant"
|
||||
return aleatoire.randi_range(1, 3) # seulement les mondes de 1 à 3
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
extends Node2D
|
||||
|
||||
var aleatoire = RandomNumberGenerator.new() # initialisation aléatoire
|
||||
|
||||
func _ready(): # focus par défaut le bouton JOUER
|
||||
$MarginContainer/VBoxContainer/VBoxContainer/Jouer.grab_focus()
|
||||
global.monde = 0
|
||||
|
@ -14,14 +12,7 @@ func _physics_process(_delta): # gestion de la souris
|
|||
$MarginContainer/VBoxContainer/VBoxContainer/Quitter.grab_focus()
|
||||
|
||||
func _on_Jouer_pressed():
|
||||
var nouveauMonde = "res://scenes/Monde%s.tscn"
|
||||
aleatoire.randomize() # aléatoire
|
||||
nouveauMonde = nouveauMonde % aleatoire.randi_range(1,5) # dans un écart défini
|
||||
"""
|
||||
l'idée de l'aléatoire ici est de récupérer une map aléatoirement entre les
|
||||
maps déja faite
|
||||
"""
|
||||
if get_tree().change_scene(nouveauMonde) != OK: # on charge le monde
|
||||
if get_tree().change_scene("res://scenes/Monde%s.tscn" % global.randomMap()) != OK: # on charge le monde
|
||||
print("Impossible de charger le jeu.") # si le monde n'a pas chargé
|
||||
|
||||
func _on_Quitter_pressed():
|
||||
|
|
Reference in a new issue