AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Aliexpress : codes promo valables sur tout le site
Voir le deal

 

 Comparaison GML/other

Aller en bas 
5 participants
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
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.

Comparaison GML/other Empty
MessageSujet: Comparaison GML/other   Comparaison GML/other EmptyMer 8 Mai 2013 - 19: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
onilink_


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

Comparaison GML/other Empty
MessageSujet: Re: Comparaison GML/other   Comparaison GML/other EmptyMer 8 Mai 2013 - 19: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;

_________________
Comparaison GML/other Runningpotato1Comparaison GML/other TvF6GED Comparaison GML/other MdetltS
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


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

Comparaison GML/other Empty
MessageSujet: Re: Comparaison GML/other   Comparaison GML/other EmptyMer 8 Mai 2013 - 20: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);

_________________
Comparaison GML/other Runningpotato1Comparaison GML/other TvF6GED Comparaison GML/other MdetltS
Revenir en haut Aller en bas
Oculus
Utilisateur confirmé: Rang *****



Messages : 1688

Comparaison GML/other Empty
MessageSujet: Re: Comparaison GML/other   Comparaison GML/other EmptyMer 8 Mai 2013 - 20: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
Morwenn


Messages : 151
Projet Actuel : Icare

Comparaison GML/other Empty
MessageSujet: Re: Comparaison GML/other   Comparaison GML/other EmptyMar 6 Aoû 2013 - 17: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.

_________________
Comparaison GML/other 37115040594310152086589335317875357842n
Dur Dabla, pour qui voudrait écouter un brin de metal celtique.


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


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

Comparaison GML/other Empty
MessageSujet: Re: Comparaison GML/other   Comparaison GML/other EmptyMar 6 Aoû 2013 - 22: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 : https://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é





Comparaison GML/other Empty
MessageSujet: Re: Comparaison GML/other   Comparaison GML/other Empty

Revenir en haut Aller en bas
 
Comparaison GML/other
Revenir en haut 
Page 1 sur 1

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