Forum dédié à l'apprentissage du making (art de créer des JV) sous Rpg Maker (spécialisé sous VX/VX Ace), les demandes de ressources graphiques pour les graphistes du forum, la standill compétition, l'entraide, et une multitude d'autres activités !
 
AccueilCalendrierFAQRechercherMembresGroupesS'enregistrerConnexion

Partagez | 
 

 Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)

Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Jeu 29 Déc - 13:44

Nope, ça sera plutôt un amas de scripts.
Je sais que le mot peut faire peur mais tout sera simplifié au maximum ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Dim 1 Jan - 21:11

Up pour les intéressés, on a créé un forum concernant à la fois le moteur et le projet (adresse en spoiler au cas où)
Spoiler:
 

Certains topics concernant la programmation du moteur sont pour le moment dans une section privée du forum et seront dévoilés dans un petit moment.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Limit' the fox
Modérateur général
Modérateur général


Messages : 1227
Age : 21
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 6:12

Je veux bien m'y inscrire Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Boroniste
Bobo'
Bobo'
avatar

Messages : 1066
Age : 20
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 7:48

Je m'y suis incris. (:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://eranoth.forumactif.com/
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 7:52

Super, merci à vous deux Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cataclysm
Major terrifiant
Major terrifiant
avatar

Messages : 315
Age : 20
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 9:04

J'aurais bien voulu m'inscrire si quelqu'un c'était pas déjà inscrit avec MON pseudo ! xD
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 9:06

Personne n'utilise ton pseudo, c'est un bug récurrent du forum.
Mets un pseudo au pif, et je remettrai Cataclysm depuis le panneau d'administration Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cataclysm
Major terrifiant
Major terrifiant
avatar

Messages : 315
Age : 20
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 9:09

D'accords ^^ !

(Foutu bug)

EDIT : Je me suis inscrit sous "LePasContent" ! x)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 9:21

Je t'ai remis le pseudo "Cataclysm".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cataclysm
Major terrifiant
Major terrifiant
avatar

Messages : 315
Age : 20
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 13:30

D'accords, merci ^^ !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Lun 2 Jan - 16:27

Je précise que je suis en ce moment en train d'apprendre à manier XNA. J'en suis à l'affichage/déplacement d'une image. On va lentement, mais sûrement ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Mer 4 Jan - 10:39

Up : explication du moteur de combat espéré :
(le perso est une assassine, le but est d'avoir les mobs par derrière pour les one shot)

Alors concernant le script de combat j'pensais à un truc assez particulier.
J'ai donc pensé à un système de combat en 2 étapes :

1) tu arrives derrière le mob en ABS. Tu essaies de l'assassiner.
Si ça marche : one shot. Si ça foire ou qu'il se retourne, étape 2.

2) Seconde partie, en cas d'échec d'assassinat ou pour les boss : SBS.
Avec mouvements de caméra, cinématiques selon les skills, etc.


Résumons :

1 > On tente un assassinat :
- on arrive par derrière, le mob ne nous voit pas, il est mort
- mini cinématique d'assassinat
- le mob se retourne / nous voit / est un boss : étape 2

2 > Combat SBS démarre
- cinématique d'intro au combat
- combat tour par tour
- "coup de grâce", cinématique où le mob se fait achever (style AC Revelations / ToS (attaque unisson))

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Thérapie
Fondateur †
Fondateur 	†
avatar

Messages : 2276
Age : 22
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Mer 4 Jan - 13:06

Ce serait génial ! Et si tu mettais la possibilité d'un combat ABS (il se retourne et hop combat ABS) ça serait encore plus complet (et pas que le SbS).
Ça me fait penser à mon TF2 d'amour

J'ai hâte de voir ça en action !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://therapie-leforum.1fr1.net
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Mer 4 Jan - 13:11

ABS ça implique une gestion de l'intelligence artificielle en temps réel, et ça je sais pas faire.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Thérapie
Fondateur †
Fondateur 	†
avatar

Messages : 2276
Age : 22
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Mer 4 Jan - 13:14

Ok ba c'est pas très grave ^^ Au pire pour plus tard @.@
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://therapie-leforum.1fr1.net
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Mer 4 Jan - 14:52

Déjà qu'en tour par tour ça va être un enfer alors j'ose même pas imaginer en temps réel XD

Note : Systèmes actuellement fonctionnels :

- Déplacement pixel par pixel
- Limitation du déplacement à la taille de l'écran
- Gestion du clavier
- Afficher une image selon des coordonnées X et Y
- Afficher un message selon des coordonnées X et Y

A venir :

- Jouer du son
- Gestion de la souris

Ouf !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ersaishania
Jurés
Jurés
avatar

Messages : 30
Age : 25
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Ven 6 Jan - 14:00

Hmm. Ça m'a l'air fort sympathique tout ça ; je que je ne comprends pas cependant -mis à part toute la partie programmation- c'est comment à partir d'une montagne de scripts, on peut arriver à un résultat proche d'RM. Lorsque tu auras fini, auras-tu une interface afin de tout contrôler ou tout se passe dans les lignes de prog' ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Ven 6 Jan - 17:26

ça sera plutôt un amas de scripts, néanmoins assez simples d'utilisation.

Tant que j'y suis, voilà où j'en suis actuellement en terme de déplacement d'images (notons l'ajout de la gestion d'effets sonores) :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Thérapie
Fondateur †
Fondateur 	†
avatar

Messages : 2276
Age : 22
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Ven 6 Jan - 17:37

Même si ça a l'air très fun maintenant que je vois la chose j'ai peur de savoir si je pourrais ou non m'en servir :/
M'enfin quand une démo sortira jte le dirais Wink

Bonne continuation comme toujours !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://therapie-leforum.1fr1.net
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Ven 6 Jan - 17:48

A présent j'arrive aussi à afficher une image dont le nom est la valeur d'une variable, ça va énormément m'aider pour le déplacement animé d'un personnage ! *content*
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Dim 8 Jan - 10:38

Up.

Enfin la gestion d'un sprite animé !


Script complet (flemme de redécouper update) :
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;



namespace WindowsGame1
{

    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        SpriteBatch spriteBatch;
       

        private Texture2D _boubou;
        private Texture2D _fond;
        private Vector2 _boubouPosition;
        private Vector2 _fondPosition;
        private KeyboardState _keyboardState;
        private MouseState _mouseState;
        string spriteA = "s1";
        int i = 0, u = 0;
        SoundEffect _ballBounceWall;
       
        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            this.graphics.PreferredBackBufferWidth = 644;
            this.graphics.PreferredBackBufferHeight = 516;
            Content.RootDirectory = "Content";
            Window.Title = "Test jeu";
        }


        protected override void Initialize()
        {
            _boubouPosition = Vector2.Zero;
            _fondPosition = Vector2.Zero;
            _ballBounceWall = Content.Load<SoundEffect>("ToSMusic");
            _ballBounceWall.Play();
            base.Initialize();
        }


        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);
            // TODO: use this.Content to load your game content here
           
            _boubou = Content.Load<Texture2D>(spriteA);
            _fond = Content.Load<Texture2D>("Fond");
        }


        protected override void UnloadContent()
        {
            // TODO: Unload any non ContentManager content here
        }


        protected override void Update(GameTime gameTime)
        {
            _keyboardState = Keyboard.GetState();
            _mouseState = Mouse.GetState();

            KeyboardState etatClavier = Keyboard.GetState();
            if (etatClavier.IsKeyDown(Keys.Enter) || etatClavier.IsKeyDown(Keys.Space))
            {
                _boubouPosition.X = _mouseState.X;
                _boubouPosition.Y = _mouseState.Y;
            }
           
            if (_keyboardState.IsKeyDown(Keys.Up))
                { _boubouPosition.Y -= 2; }

            if (_keyboardState.IsKeyDown(Keys.Down))
                { _boubouPosition.Y += 2; }

            if (_keyboardState.IsKeyDown(Keys.Right))
                { _boubouPosition.X += 2; }

            if (_keyboardState.IsKeyDown(Keys.Left))
                { _boubouPosition.X -=2; }
           
            if (_boubouPosition.Y < 0)
                { _boubouPosition.Y = 0; }

            //-------------------------------------------
            // Déplacement vers la droite :
            //-------------------------------------------

            if (u <= 0 && _keyboardState.IsKeyDown(Keys.Right))
            {
                spriteA = "s1";
                u++;
                i = 0;
            }
            if (u > 0 && u <= 10 && _keyboardState.IsKeyDown(Keys.Right))
            {
                spriteA = "s3";
                u++;
            }
            if (u > 10 && u <= 20 && _keyboardState.IsKeyDown(Keys.Right))
            {
                spriteA = "s1";
                u++;
            }
            if (u > 20 && u <= 30 && _keyboardState.IsKeyDown(Keys.Right))
            {
                spriteA = "s2";
                u++;
            }
            if (u == 30)
            { u = 0; }

            //-------------------------------------------
            // Déplacement vers la gauche :
            //-------------------------------------------

            if (i <= 0 && _keyboardState.IsKeyDown(Keys.Left))
            {
                spriteA = "sg1";
                i++;
                u = 0;
            }
            if (i > 0 && i <= 10 && _keyboardState.IsKeyDown(Keys.Left))
            {
                spriteA = "sg3";
                i++;
            }
            if (i > 10 && i <= 20 && _keyboardState.IsKeyDown(Keys.Left))
            {
                spriteA = "sg1";
                i++;
            }
            if (i > 20 && i <= 30 && _keyboardState.IsKeyDown(Keys.Left))
            {
                spriteA = "sg2";
                i++;
            }
            if (i == 30)
            {i = 0; }

            //-------------------------------------------
            // Gestion des persos inanimés
            //-------------------------------------------

            if (!_keyboardState.IsKeyDown(Keys.Left) && !_keyboardState.IsKeyDown(Keys.Right))
            {
                if (u == 0 && i != 0)
                { spriteA = "sg1"; }
                if (i == 0 && u != 0)
                {spriteA = "s1";}
            }

            //-------------------------------------------
            //-------------------------------------------

            if (_boubouPosition.Y + _boubou.Height > Window.ClientBounds.Height)
                { _boubouPosition.Y = (Window.ClientBounds.Height - _boubou.Height); }

            if ((_boubouPosition.X + _boubou.Width) > Window.ClientBounds.Width)
                { _boubouPosition.X = (Window.ClientBounds.Width - _boubou.Width); }

            if (_boubouPosition.X < 0)
                { _boubouPosition.X = 0; }

         
                base.Update(gameTime);
        }

       
       

       
        protected override void Draw(GameTime gameTime)
        {
            _boubou = Content.Load<Texture2D>(spriteA);
            spriteBatch.Begin();
            spriteBatch.Draw(_fond, _fondPosition, Color.White);
            spriteBatch.End();
            spriteBatch.Begin();
            spriteBatch.Draw(_boubou, _boubouPosition, Color.White);
            spriteBatch.End();
         
            base.Draw(gameTime);
        }   
    }
}


codé à l'arrache, je corrigerai plus tard.
(boubou est juste le nom utilisé pour le test XD)


Dernière édition par TTT le Dim 8 Jan - 10:49, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Thérapie
Fondateur †
Fondateur 	†
avatar

Messages : 2276
Age : 22
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Dim 8 Jan - 10:47

Un sprite animé ? Comme les characters pour rmvx quoi ? ^^
Ce qui serait génial c'est le gestion des .gif animé, mais je sais pas si c'est possible Razz

Bref bonne continuation ça à l'air coolosse tout ça !

Ps : Mets ton premier post à jour Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://therapie-leforum.1fr1.net
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Dim 8 Jan - 10:52

ouaip, sauf que c'est adaptable à n'importe quel nombre de frames, n'importe quelle dimension de sprite et en n'importe quel laps de temps ^^
sinon pour les .gif, nope, marche pas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Magicalichigo
Aspirant admiré
Aspirant admiré
avatar

Messages : 470
Age : 24
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Dim 15 Jan - 13:50

Une musique de ToS !
+1 o/

Hum c'est pas le sujet ? Ah ?

Non pour être plus sérieuse, je trouve ça vraiment intéressant comme système, j'ai hate de voir ce que ca donnera une fois fini.
Bonne continuation et chapeau bas Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://magic-mangas.nouslesfans.com
TTT
Jurés
Jurés
avatar

Messages : 177
Avertissements :
100 / 100100 / 100


MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   Mer 18 Jan - 17:09

Yop.

Un exemple de script (à la RM, commentaires et instructions en haut Wink)

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Another_Voice___Beta
{
    public class Global
    {

        /*
        * Contexte : Il y a trois héros dans le jeu, respectivement d'ID 1, 2 et 3.
        * Chacun dispose de PV dont le maximum est PVMax. Même procédure pour les MP,
        * la jauge d'ATB, l'expérience...
        * L'équipe a également une jauge d'ATB "générale".
        * On instanciera un objet de type Global si l'on doit modifier une
        * caractéristique d'un perso.
        * EDIT : ATB -> Furie (erreur de notre part)
       
       
        * Liste des méthodes disponibles :

        * ModifPV(int PV, int IDPerso)
        * ModifMP(int MP, int IDPerso)
        * ModifExp(int Exp, int IDPerso)
        * ModifATB(int ATB, int IDPerso)
        * ModifAtk(int Atk, int IDPerso)
        * ModifDef(int Def, int IDPerso)
        * ModifAtkSpé(int AtkSpé, int IDPerso)
        * ModifDefSpé(int DefSpé, int IDPerso)
        *
        * RecupPV(int IDPerso)
        * RecupMP(int IDPerso)
        * RecupExp(int IDPerso)
        * RecupLv(int IDPerso)
        * RecupATB(int IDPerso)
        * RecupPVMax(int IDPerso)
        * RecupMPMax(int IDPerso)
        * RecupATBMax(int IDPerso)
        * RecupAtk(int IDPerso)
        * RecupDef(int IDPerso)
        * RecupAtkSpé(int IDPerso)
        * RecupDefSpé(int IDPerso)
        *
        * Appeler une méthode :
        * Global obj = new Global();
        * obj.ModifAtkSpé(10, 3);
        * Pour ajouter 10 à l'atk spé du perso d'ID 3
        * NOTE : Il est conseillé d'update les attributs via Modif avant de les Recup
        */


        // PV :
        private int PV1, PV2, PV3;
        private int PV1Max, PV2Max, PV3Max;

        // MP :
        private int MP1, MP2, MP3;
        private int MP1Max, MP2Max, MP3Max;

        // ATB :
        private int ATB1, ATB2, ATB3, ATBGlob; // ATBGlob = ATB de l'équipe
        private int ATB1Max, ATB2Max, ATB3Max, ATBGlobMax;

        // Expérience :
        private int Exp1, Exp2, Exp3;
        private int Exp1Max, Exp2Max, Exp3Max;

        // Level :
        private int Lv1, Lv2, Lv3;

        // Atk :
        private int Atk1, Atk2, Atk3;

        // Def :
        private int Def1, Def2, Def3;

        // Atk Spé :
        private int Atkspé1, Atkspé2, Atkspé3;

        // Def Spé :
        private int Defspé1, Defspé2, Defspé3;

        // Perso KO ?
        private bool KO1, KO2, KO3;


        //------------------------------------------------------
        // Modifier les PV d'un perso :
        //------------------------------------------------------

        public void ModifPV(int PV, int IDPerso)
        {
            // Modif PV du perso d'ID 1
            if (IDPerso == 1)
            {
                PV1 += PV;
                if (PV1 > PV1Max)
                { PV1 = PV1Max; }
                if (PV1 == 0)
                { KO1 = true; }
                GameOver(KO1, KO2, KO3);
            }

            // Modif PV du perso d'ID 2
            if (IDPerso == 2)
            {
                PV2 += PV;
                if (PV2 > PV2Max)
                { PV2 = PV2Max; }
                if (PV2 == 0)
                { KO2 = true; }
                GameOver(KO1, KO2, KO3);
            }

            // Modif PV du perso d'ID 3
            if (IDPerso == 3)
            {
                PV3 += PV;
                if (PV3 > PV3Max)
                { PV3 = PV3Max; }
                if (PV3 == 0)
                { KO3 = true; }
                GameOver(KO1, KO2, KO3);
            }
        } // Fin de Modif PV


        //------------------------------------------------------
        // Mofifier les MP d'un perso :
        //------------------------------------------------------

        public void ModifMP(int MP, int IDPerso)
        {
            // Modif MP du perso d'ID 1
            if (IDPerso == 1)
            {
                MP1 += MP;
                if (MP1 > MP1Max)
                { MP1 = MP1Max; }
            }

            // Modif MP du perso d'ID 2
            if (IDPerso == 2)
            {
                MP2 += MP;
                if (MP2 > MP2Max)
                { MP2 = MP2Max; }
            }

            // Modif MP du perso d'ID 3
            if (IDPerso == 3)
            {
                MP3 += MP;
                if (MP3 > MP3Max)
                { MP3 = MP3Max; }
            }
        } // Fin de ModifMP


        //------------------------------------------------------
        // Récupérer les PV d'un perso :
        //------------------------------------------------------

        public int RecupPV(int IDPerso)
        {
            int PV = 0;
            if (IDPerso == 1)
            { PV = PV1; }
            if (IDPerso == 2)
            { PV = PV2; }
            if (IDPerso == 3)
            { PV = PV3; }

            return PV;
        } // Fin de RecupPV


        //------------------------------------------------------
        // Récupérer les MP d'un perso :
        //------------------------------------------------------

        public int RecupMP(int IDPerso)
        {
            int MP = 0;
            if (IDPerso == 1)
            { MP = MP1; }
            if (IDPerso == 2)
            { MP = MP2; }
            if (IDPerso == 3)
            { MP = MP3; }

            return MP;
        } // Fin de RecupMP


        //------------------------------------------------------
        // Modifier l'expérience d'un perso :
        //------------------------------------------------------

        public void ModifExp(int Exp, int IDPerso)
        {
            // Préparation des ups de PV en cas de level up :
            int PvUp1 = PV1Max / 10;
            int PvUp2 = PV2Max / 10;
            int PvUp3 = PV3Max / 10;

            // Préparation des ups de MP en cas de level up :
            int MpUp1 = MP1Max / 10;
            int MpUp2 = MP2Max / 10;
            int MpUp3 = MP3Max / 10;

            // Préparation des ups d'Atk en cas de level up :
            int AtkUp1 = Atk1 / 10;
            int AtkUp2 = Atk2 / 10;
            int AtkUp3 = Atk3 / 10;

            // Préparation des ups de Def en cas de level up :
            int DefUp1 = Def1 / 10;
            int DefUp2 = Def2 / 10;
            int DefUp3 = Def3 / 10;

            // Préparation des ups d'Atk Spé en cas de level up :
            int AtkspéUp1 = Atkspé1 / 10;
            int AtkspéUp2 = Atkspé2 / 10;
            int AtkSpéUp3 = Atkspé3 / 10;

            // Préparation des ups de Def Spé en cas de level up :
            int DefspéUp1 = Defspé1 / 10;
            int DefspéUp2 = Defspé2 / 10;
            int DefspéUp3 = Defspé3 / 10;

            // Préparation des ups d'ExpMax en cas de level up :
            int Exp1MaxUp = Exp1Max / 4;
            int Exp2MaxUp = Exp2Max / 4;
            int Exp3MaxUp = Exp3Max / 4;

            //----------------------

            if (IDPerso == 1)
            { Exp1 += Exp; }
            if (IDPerso == 2)
            { Exp2 += Exp; }
            if (IDPerso == 3)
            { Exp3 += Exp; }

            // Level up du perso d'ID 1 :
            if (Exp1 >= Exp1Max)
            {
                Exp1 -= Exp1Max;
                Lv1++;
                PV1Max += PvUp1; // PVMax = PVMax + 20%
                PV1 = PV1Max;
                MP1Max += MpUp1; // MPMax = MPMax + 10%
                MP1 = MP1Max;
                Atk1 += AtkUp1;
                Def1 += DefUp1;
                Atkspé1 += AtkspéUp1;
                Defspé1 += DefspéUp1;
                Exp1Max += Exp1MaxUp;
            }
            // Level up du perso d'ID 2 :
            if (Exp2 >= Exp2Max)
            {
                Exp2 -= Exp2Max;
                Lv2++;
                PV2Max += PvUp2; // PVMax = PVMax + 20%
                PV2 = PV2Max;
                MP2Max += MpUp2; // MPMax = MPMax + 10%
                MP2 = MP2Max;
                Atk2 += AtkUp2;
                Def2 += DefUp2;
                Atkspé2 += AtkspéUp2;
                Defspé2 += DefspéUp2;
                Exp2Max += Exp2MaxUp;
            }
            // Level up du perso d'ID 3 :
            if (Exp3 >= Exp3Max)
            {
                Exp3 -= Exp3Max;
                Lv3++;
                PV3Max += PvUp3; // PVMax = PVMax + 20%
                PV3 = PV3Max;
                MP3Max += MpUp3; // MPMax = MPMax + 10%
                MP3 = MP3Max;
                Atk3 += AtkUp3;
                Def3 += DefUp3;
                Atkspé3 += AtkSpéUp3;
                Defspé3 += DefspéUp3;
                Exp3Max += Exp3MaxUp;
            }
        } // Fin de ModifExp


        //------------------------------------------------------
        // Récupérer l'expérience d'un perso :
        //------------------------------------------------------

        public int RecupExp(int IDPerso)
        {
            int Exp = 0;
            if (IDPerso == 1)
            { Exp = Exp1; }
            if (IDPerso == 2)
            { Exp = Exp1; }
            if (IDPerso == 3)
            { Exp = Exp3; }

            return Exp;
        } // Fin de RecupExp


        //------------------------------------------------------
        // Récupérer le niveau d'un perso :
        //------------------------------------------------------

        public int RecupLv(int IDPerso)
        {
            int Lv = 0;
            if (IDPerso == 1)
            { Lv = Lv1; }
            if (IDPerso == 2)
            { Lv = Lv2; }
            if (IDPerso == 3)
            { Lv = Lv3; }

            return Lv;
        } // Fin de RecupLv


        //------------------------------------------------------
        // Modifier l'ATB d'un perso :
        //------------------------------------------------------

        public void ModifATB(int ATB, int IDPerso)
        {
            if (IDPerso == 1)
            { ATB1 += ATB; }
            if (IDPerso == 2)
            { ATB2 += ATB; }
            if (IDPerso == 3)
            { ATB3 += ATB; }
            // Pour ATBGlob :
            if (IDPerso == 4)
            { ATBGlob += ATB; }

            if (ATB1 > ATB1Max)
            { ATB1 = ATB1Max; }
            if (ATB2 > ATB2Max)
            { ATB2 = ATB2Max; }
            if (ATB3 > ATB3Max)
            { ATB3 = ATB3Max; }
            // Pour ATBGlob :
            if (ATBGlob > ATBGlobMax)
            { ATBGlob = ATBGlobMax; }
        } // Fin de ModifATB


        //------------------------------------------------------
        // Récupérer l'ATB d'un perso :
        //------------------------------------------------------

        public int RecupATB(int IDPerso)
        {
            int ATB = 0;
            if (IDPerso == 1)
            { ATB = ATB1; }
            if (IDPerso == 2)
            { ATB = ATB2; }
            if (IDPerso == 3)
            { ATB = ATB3; }
            // Pour ATBGlob :
            if (IDPerso == 4)
            { ATB = ATBGlob; }

            return ATB;
        } // Fin de RecupATB


        //------------------------------------------------------
        // Récupérer les PV Max d'un perso :
        //------------------------------------------------------

        public int RecupPVMax(int IDPerso)
        {
            int PV = 0;
            if (IDPerso == 1)
            { PV = PV1Max; }
            if (IDPerso == 2)
            { PV = PV2Max; }
            if (IDPerso == 3)
            { PV = PV3Max; }

            return PV;
        } // Fin de RecupPVMax


        //------------------------------------------------------
        // Récupérer les MP Max d'un perso :
        //------------------------------------------------------

        public int RecupMPMax(int IDPerso)
        {
            int MP = 0;
            if (IDPerso == 1)
            { MP = MP1Max; }
            if (IDPerso == 2)
            { MP = MP2Max; }
            if (IDPerso == 3)
            { MP = MP3Max; }

            return MP;
        } // Fin de RecupMPMax


        //------------------------------------------------------
        // Récupérer l'ATB Max d'un perso :
        //------------------------------------------------------

        public int RecupATBMax(int IDPerso)
        {
            int ATB = 0;
            if (IDPerso == 1)
            { ATB = ATB1Max; }
            if (IDPerso == 2)
            { ATB = ATB2Max; }
            if (IDPerso == 3)
            { ATB = ATB3Max; }
            // Pour ATBGlobMax :
            if (IDPerso == 4)
            { ATB = ATBGlobMax; }

            return ATB;
        } // Fin de RecupATBMax


        //------------------------------------------------------
        // Récupérer l'Atk d'un perso :
        //------------------------------------------------------

        public int RecupAtk(int IDPerso)
        {
            int Atk = 0;
            if (IDPerso == 1)
            { Atk = Atk1; }
            if (IDPerso == 3)
            { Atk = Atk2; }
            if (IDPerso == 3)
            { Atk = Atk3; }

            return Atk;
        } // Fin de RecupAtk


        //------------------------------------------------------
        // Récupérer la Def d'un perso :
        //------------------------------------------------------

        public int RecupDef(int IDPerso)
        {
            int Def = 0;
            if (IDPerso == 1)
            { Def = Def1; }
            if (IDPerso == 2)
            { Def = Def2; }
            if (IDPerso == 3)
            { Def = Def3; }

            return Def;
        } // Fin de RecupDef


        //------------------------------------------------------
        // Récupérer l'Atk Spé d'un perso :
        //------------------------------------------------------

        public int RecupAtkSpé(int IDPerso)
        {
            int AtkSpé = 0;
            if (IDPerso == 1)
            { AtkSpé = Atkspé1; }
            if (IDPerso == 2)
            { AtkSpé = Atkspé2; }
            if (IDPerso == 3)
            { AtkSpé = Atkspé3; }

            return AtkSpé;
        } // Fin de RecupAtkSpé


        //------------------------------------------------------
        // Récupérer la Def Spé d'un perso :
        //------------------------------------------------------

        public int RecupDefSpé(int IDPerso)
        {
            int DefSpé = 0;
            if (IDPerso == 1)
            { DefSpé = Defspé1; }
            if (IDPerso == 2)
            { DefSpé = Defspé2; }
            if (IDPerso == 3)
            { DefSpé = Defspé3; }

            return DefSpé;
        } // Fin de RecupDefSpé


        //------------------------------------------------------
        // Modifier l'Atk d'un perso :
        //------------------------------------------------------

        public void ModifAtk(int Atk, int IDPerso)
        {
            if (IDPerso == 1)
            { Atk1 += Atk; }
            if (IDPerso == 2)
            { Atk2 += Atk; }
            if (IDPerso == 3)
            { Atk3 += Atk; }
        } // Fin de ModifAtk


        //------------------------------------------------------
        // Modifier la Def d'un perso :
        //------------------------------------------------------

        public void ModifDef(int Def, int IDPerso)
        {
            if (IDPerso == 1)
            { Def1 += Def; }
            if (IDPerso == 2)
            { Def2 += Def; }
            if (IDPerso == 3)
            { Def3 += Def; }
        } // Fin de ModifDef


        //------------------------------------------------------
        // Modifier l'Atk Spé d'un perso :
        //------------------------------------------------------

        public void ModifAtkSpé(int AtkSpé, int IDPerso)
        {
            if (IDPerso == 1)
            { Atkspé1 += AtkSpé; }
            if (IDPerso == 2)
            { Atkspé2 += AtkSpé; }
            if (IDPerso == 3)
            { Atkspé3 += AtkSpé; }
        } // Fin de ModifAtkSpé


        //------------------------------------------------------
        // Modifier la Def Spé d'un perso :
        //------------------------------------------------------

        public void ModifDefSpé(int DefSpé, int IDPerso)
        {
            if (IDPerso == 1)
            { Defspé1 += DefSpé; }
            if (IDPerso == 2)
            { Defspé2 += DefSpé; }
            if (IDPerso == 3)
            { Defspé3 += DefSpé; }
        } // Fin de ModifDefSpé


        //------------------------------------------------------
        // TEST DE GAME OVER
        //------------------------------------------------------

        private void GameOver(bool a, bool b, bool c)
        {
            if (a && b && c) // If ici pou
            {
              // Code pour le game over (non déterminé pour le moment)
            }
        } // Fin de GameOver
    }
}

Codé de manière à être utilisable par tout le monde Wink (d'où l'absence de get & set)

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)   

Revenir en haut Aller en bas
 
Moteur C# ~ Cross Engine (+ gestion de sprites animés, musiques)
Revenir en haut 
Page 2 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» Sprites animés dans un scene2d
» Gestion de collisions entre sprites en 2D
» Affichage sous IE des smileys et gif animés
» Inscription sur E-anim-upload
» intégré une anim en fon décran pc

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
La thérapie du making - Rpg maker :: Espace jeux :: Jeux des membres-
Sauter vers: