reveurduciel Paysan (niveau 2)
Messages postés : 11 Date d'inscription : 19/02/2015 Jauge LPC :
| Sujet: Des commentaires sur mon premier script svp ? Ven 6 Mar 2015 - 4:26 | |
| Bonjour, voici mon premier script. Il est assez simple, mais je l'aime bien. C'est pour mon jeu, le but est le suivant. Quand l'utilisateur clique sur un lieu, le script vérifie dans la banque de 200 "Missions" disponibles celles qui s'appliquent et créé un Array avec seulement les missions pertinentes. Le premier filtre fait ça : A - En premier, il vérifie, dans l'ensemble des Missions, celle qui sont disponibles sur le lieu cliqué B - Ensuite il vérifie si la Mission rencontre toutes ses propres conditions (exemple, la variable amitié est assez élevé ou le joueur a 2000 po) Le second filtre fait ça : C - Il vérifie si la mission et unique (donc ne se répète pas) et si elle est unique et déjà fait, il ne l'ajoute pas. Ce que j'aime bien, c'est que j'ai réuni toutes les missions (chacune ayant toutes ses infos dans un Array) dans un Array d'Array, donc facilement jouable avec un for, par exemple. J'aime également beaucoup la vérification des conditions (point B) car les conditions sont directement placé dans l'Array de chaque mission. Quand je le créé, le script vérifie si la condition est vraie et remplace la ligne de code par un true ou un false. Donc, pour commentaire s\'il vous plaît - Code:
-
class CarteVille
def initialize
# Ces variables globales servent à vérifier si les Missions s'appliquent. # Par exemple, certaines missions ne se débloquent que quand l'amitié # pour un personnage est assez forte. $chrono = 0 $amitieYui = 30 $amitieAki = 30 $amitieTsuyoki = 30 $amitieNashi = 30 $amitieDodu = 30 $amitieJolie = 30 $amitieCreature = 30 $amitieMB = 30 $amitiePouti = 30 @eventFait = [] @eventFait[124] = true end def creerMenu(lieu) missions = [ # [Numéro Mission, Titre Mision, Nom icone, Conditions, Unique?] [20,"Libérer l'École Daikon no Kokoro [Nv 10]",2,"Ecole", $domine_ecole == false, false], [21,"Libérer l'École Iwashikumo [Nv 20]",2,"Lycee", $domine_lycee == false, false], [22,"Libérer le Parc [Nv 15]",2,"Parc", $domine_parc == false, false], [23,"Libérer le Centre Commercial [Nv 20]",2,"Commerce", $domine_commerce == false, false], [24,"Libérer la Forêt [Nv 25]",2,"Forêt", $domine_forêt == false, false], [25,"Libérer la Plage [Nv 25]",2,"Plage", $domine_plage == false, false], [26,"Libérer le Cimetière [Nv 25]",2,"Cimetière", $domine_cimetiere == false, false], [30,"S'entrainer[Nv 10]",3,"Ecole", false, false], [31,"S'entrainer[Nv 10]",3,"Lycee", false, false], [32,"S'entrainer[Nv 1-3]",3,"Parc", true, false], [33,"S'entrainer[Nv 10]",3,"Commerce", false, false], [34,"S'entrainer[Nv 4-6]",3,"Forêt", true, false], [35,"S'entrainer[Nv 10]",3,"Plage", false, false], [36,"S'entrainer[Nv 7-10]",3,"Cimetière", true, false], [50,"Assister à une classe d'art",12,"Ecole", $chrono > 10, true], [51,"Assister à un cours de théâtre",12,"Ecole",$amitieYui > 20, true], [52,"Promenade dans les jardins",12,"Parc",$amitieYui > 30, true], [53,"Aller au cinéma",12,"Commerce",$amitieYui > 40, true], [58,"Passer du temps avec Yui",12,"Base",true, false], [59,"Déclaration d'amour",12,"Parc",$amitieYui > 20, true], [60,"Passer du temps aux arcades",13,"Commerce",$amitieAki >=10,true], [61,"Jouer à Donjon et Lamentins",13,"Base", $amitieAki >=20, true], [62,"Participer à un grandeur nature",13,"Parc", $amitieAki >=30, true], [69,"Passer du temps avec Akitoshi",13,"Base",$amitieAki >=10, false], [70,"S'entrainer au Kendo",14,"Ecole", $amitieTsuyoki >= 10, true], [78,"Passer du temps avec Tsuyoki",14,"Ecole", $amitieTsuyoki >= 10, true], [79,"Déclaration d'amour",14,"Plage",$amitieTsuyoki > 70, true], [80,"Courir 5 km", 15, "Parc", $amitieNashi >=10, true], [89,"Passer du temps avec Nashi",15,"Base",true, false], [90,"Discuter de l'Entre-Monde",16,"Ecole", $amitieDodu >= 10, true], [99,"Passer du temps avec Dodu-San",16,"Base",true, false], [100,"Scéance de tir à l'arc",17,"Lycee",$amitieJolie >=10, true], [108,"Passer du temps avec la jolie réceptionniste",17,"Lycee", $amitieJolie >= 10, true], [109,"Déclaration d'amour",17,"Lycee",$amitieTsuyoki > 80, true], [118,"Passer du temps avec la créature",18,"Lycee", $amitieCreature >= 10, true], [119,"Déclaration d'amour",18,"Forêt",$amitieCreature > 70, true], [122,"Discuter de mise à jour",19,"Base", $amitieMB >= 30, true], [129,"Passer du temps avec Monsieur B.",19,"Lycee", $amitieMB >= 10, true], [139,"Passer du temps avec Pouti.",20,"Lycee", $amitiePouti >= 10, true], [150,"Suivre des cours de danse",4,"Commerce",true,false], [170,"Tailler les arbustres",5,"Parc",true,false], [171,"Effaroucher les goélands",5,"Plage", true, false], [172,"Nettoyer les pierres tombales",5,"Cimetière",true,false], [181,"Chercher un artefact",6,"Tous",true,true], [182,"Recruter un étudiant",7,"Ecole",true,true], [183,"Recruter une pieuvre",7,"Plage",true,true], [183,"Acheter de l'équipement",0,"Commerce",true,true], [184,"Acheter des gadgets",0,"Commerce",true,true], [185,"Acheter des pièces de robot top secret","Commerce",@eventFait[124],true], [184,"Se reposer",0,true,true]
] menu = [] for i in 0..missions.length-1 # Pour toutes les missions disponibles if (lieu == missions[i][3] && missions[i][4]) # Sélectionne celles qui sont dans le bon lieu et qui rencontrent les conditions unless (missions[i][5] && @eventFait[missions[i][0]]) # Sauf les événements uniques déjà vus. menu.push(missions[i]) end end end
return menu end def cliqueVille(lieu) # Cette méthode est lancée lorsque le joueur clique sur un endroit de la carte # de la ville et précise quoi faire. menu = creerMenu(lieu) msgbox_p(menu) end
end
a = CarteVille.new() a.cliqueVille("Parc")
|
|