AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Comparaison GML/other

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

MessageSujet: Comparaison GML/other   Mer 8 Mai 2013 - 17:02

Suite au message de Marty sur la partie Zut je met ici un petit comparatif entre le GML et de l'AS3 (actionScript 3) si des personnes sont motivées pour faire la même chose avec un autre langage je leurs tends mon clavier.

Note : j'utilise des accesseurs même sous GM.

AS3:
Spoiler:
 


GML:
Spoiler:
 


Note:
En AS3 il est impossible de modifier le nom (_name) du mage alors qu'en GML on peut le faire et
pour les utilisateurs de CheatEngine c'est cadeaux bonux.




Création d'une instance avec le constructeur (create pour GM) et modification / récupération des
attribues avec les méthodes get/set.

AS3:
Spoiler:
 
GML:
Spoiler:
 

A savoir:
AS3 peut tourner sous un navigateur qui dispose d'un lecteur flash mais peut tourner comme une application de bureau avec Adobe Air et ça sous les systèmes soutenues par Air et en bonus c'est compatible WII et WII U Smile
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8918
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Comparaison GML/other   Mer 8 Mai 2013 - 17:28

C++

Code:
class Witch {
  string name;
  int level, life_max, life;

public:
  Witch() : name(""), level(1), life_max(10*level), life(life_max) {}
  Witch(string name, int level) : name(name), level(level), life_max(10*level), life(life_max) {}

  int getLevel() const { return level; }
  string getName() const { return name; }
  int getLife() const { return life; }
  int getLifeMax() const { return 10*level; }

  void setLevel(int level) { this->level = level; }
  void setLife(int v) { life = v; }
  void setName(string str) { name = str; }
};

Code:
Witch witch("Magnius", 10);
cout << witch.getLevel() << endl;
witch.setLevel(20);
cout << witch.getLevel() << endl;

_________________
                 
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8918
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Comparaison GML/other   Mer 8 Mai 2013 - 18:21

C

Code:
typedef struct Witch {
  char name[30];
  int level, life_max, life;
};

void witchInit(Witch *ins) {
  ins->name[0] = '\0';
  ins->level = 1;
  ins->life_max = 10;
  ins->life = ins->life_max;
}

void witchSetName(Witch *ins, const char *str) {
  strcpy (ins.name, str);
}

int witchGetLifemax(Witch *ins) {
  return ins->level * 10;
}

Code:
Witch witch;
witchInit(witch);
printf("%d\n", witch.level);
witch.level = 20;
printf("%d\n", witch.level);

_________________
                 
Revenir en haut Aller en bas
Oculus
Utilisateur confirmé: Rang *****


Messages : 1688

MessageSujet: Re: Comparaison GML/other   Mer 8 Mai 2013 - 18:42

C#
Code:
public class Witch
    {
        public string Name { get; set; }

        private int level;
        public int Level
        {
            get { return level; }
            set { level = Math.Max(1, value); }
        }

        private int life;
        public int Life
        {
            get { return life; }
            set { life = Math.Max(0, value); }
        }

        private int lifeMax;
        public int LifeMax
        {
            get { return lifeMax; }
            set { lifeMax = Math.Max(1, value); }
        }

        public Witch(int _level, string name)
        {
            level = _level;
            Name = name;
            life = lifeMax = level * 10;
        }

    }

Code:
Witch myWitch = new Witch(10, "Magnius");
            Console.WriteLine(myWitch.Level);
            myWitch.Level = 20;
            Console.WriteLine(myWitch.Level);
Revenir en haut Aller en bas
Morwenn
Très bonne participation
avatar

Messages : 151
Projet Actuel : Icare

MessageSujet: Re: Comparaison GML/other   Mar 6 Aoû 2013 - 15:11

Python 3
Code:
class Witch:
    def __init__(self, name="", level=1):
        self.name = name
        self.level = level
        self.life = self.life_max

    @property
    def life_max(self):
        return self.level * 10

Code:
witch = Witch("Magnius", 10)
print(witch.level)
witch.level = 20
print(witch.level)

Python 2
Code:
class Witch(object):
    def __init__(self, name="", level=1):
        self.name = name
        self.level = level
        self.life = self.life_max

    @property
    def life_max(self):
        return self.level * 10

Code:
witch = Witch("Magnius", 10)
print witch.level
witch.level = 20
print witch.level

Note : J'aurais pu faire de life, level et name des property également. Seulement, ce n'est pas nécessaire pour le moment. On peut transformer ça plus tard dans le développement sans changer les endroits où les variables sont utilisées.

_________________

Dur Dabla, pour qui voudrait écouter un brin de metal celtique.


Dernière édition par Morwenn le Mer 7 Aoû 2013 - 12:15, édité 2 fois
Revenir en haut Aller en bas
GrandeLangue
Bonne participation
avatar

Messages : 77
Localisation : Lille
Projet Actuel : Faire des maths

MessageSujet: Re: Comparaison GML/other   Mar 6 Aoû 2013 - 20:53

Caml Light

Code:
type witch =
   {
      name: string;
      level: int;
      life: int;
      life_max: int
   };;

let Witch name level = let life = 10 * level in
      {
         name = name;
         level = level;
         life = life;
         life_max = life
      };;

let witchSetLevel witch level =
   {
      name = witch.name;
      level = max 1 level;
      life = witch.life;
      life_max = witch.life_max
   };;

let witchSetLife witch life =
   {
      name = witch.name;
      level = witch.level;
      life = max 0 life;
      life_max = witch.life_max
   };;

let witchSetLifeMax witch life_max =
   {
      name = witch.name;
      level = witch.level;
      life = witch.life;
      life_max = max 1 life_max
   };;

Code:
let my_witch = ref (Witch "Magnius" 10);;
print_int !my_witch.level;; (* return 10 *)
my_witch := witchSetLevel !my_witch 20;;
print_int !my_witch.level;; (* return 20 *)

Malheuresement, je ne connais pas le OCaml.
(C'est d'autant plus malheureux qu'OCaml, c'est Caml Light en mieux, avec des notions d'objet et de classe en plus awesome)

_________________
Un superbe jeu de plateforme où vous pouvez contrôler le temps ici : TimeBoy

Pour maîtriser les pistons dans Minecraft : http://www.youtube.com/MindcraftMax
Project Spark est mort, vive Project Spark ! Top 25 des créations qui ont été réalisées avec ce moteur de création de jeu depuis sa sortie, avant que les serveurs n'aient été arrêtés : https://www.youtube.com/watch?v=nPenVqIcFgc
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Comparaison GML/other   

Revenir en haut Aller en bas
 
Comparaison GML/other
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» help! comparaison corps de couleurs/palette pleat cool
» Ayé je l'ai reçu!!!!!!! Mon kit Sigma :) +Comparaison MAC
» COMPARAISON DE FICHIERS
» Comparaison logiciel télétransmission
» Comparaison taille des vaisseaux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: