Skip to content
Snippets Groups Projects
Commit 0d655b29 authored by sgabsi's avatar sgabsi
Browse files

Merge branch 'sayf'

parents 6a107ade 2b38e057
No related branches found
No related tags found
No related merge requests found
fileFormatVersion: 2
guid: f924adb934d76b34089c4f344cadd702
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 523ec2ad5dead1d4091ba3d8a62ca862
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7e3e1c812c58f624faa0def6ecadbabd, type: 3}
m_Name: Joueur
m_EditorClassIdentifier:
fileFormatVersion: 2
guid: bed2504b502abf846b3d00ca8b5a5e46
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
/**
* Fichier : Joueur.cs
*
* Auteur : Sayf-Allah GABSI
* Date : Février 2022
* Groupe : TP 4C
*
* Résumé du fichier :
*
* Ce fichier est un fichier qui gère les données globales liées
* aux joueurs.
* Il enregistre différentes informations (pseudo du joueur, apparence utilisé
* son niveau actuel, etc...)
*
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class Joueur : ScriptableObject
{
private string _pseudo;
private string _apparence;
private int _XP;
private int _niveauActuel;
private int _nombrePointCompetence;
private int[] _niveauCompetence = new int[4];
public string pseudo{
get => _pseudo;
set{
_pseudo = value;
}
}
public string apparence{
get => _apparence;
set{
_apparence = value;
}
}
public int XP{
get => _XP;
set{
_XP = value;
}
}
public int niveauActuel{
get => _niveauActuel;
set{
_niveauActuel = value;
}
}
public int nombrePointCompetence{
get => _nombrePointCompetence;
set{
_nombrePointCompetence = value;
}
}
public int[] niveauCompetence{
get => _niveauCompetence;
set{
_niveauCompetence = value;
}
}
public Joueur(string pseudo, string apparence){
this.pseudo = pseudo;
this.apparence = apparence;
XP = 0;
niveauActuel = 0;
nombrePointCompetence = 0;
}
/**
*
* void ajouterXp ( int xp )
*
* Résumé de la fonction ajouterXp :
*
* La fonction ajouterXp ajoute de l'expérience à un joueur
* et si le joueur atteint le niveau d'expérience maximal,
* il ajoute un niveau au joueur et lui donne un point de
* compétence.
*
* Paramètres : entier : contient le montant d'expérience du joueur
*
* Valeur de retour : Rien -- Note: Modifie directement les valeurs voulu.
*
* Description :
*
* Cette fonction utilise une simple équation pour calculer le
* niveau actuel du joueur et le montant maximum pour le niveau à passer.
*
*/
public void ajouterXp(int xp){
XP += xp;
int nivAct = (int)(0.1f * Mathf.Sqrt(XP));
if(nivAct != niveauActuel){
niveauActuel = nivAct;
nombrePointCompetence++;
//commentaire à remplacer par une UI qui gère l'afichage de la montée de LVL
}
int xpNextLevel = 100 * (niveauActuel + 1) * (niveauActuel + 1);
int differenceXp = xpNextLevel - XP;
int totalDifference = xpNextLevel - (100 * niveauActuel * niveauActuel);
// differencexp / totaldifference;
}
/**
*
* void ajouterCompetence ( int competence )
*
* Résumé de la fonction ajouterCompetence :
*
* La fonction ajouterCompetence ajoute un niveau de compétence
* à la compétence choisie et mis en paramètre, et retire un point de compétence
* par compétence ajouter.
*
* Paramètres : entier : contient le numéro de la compétence à augmenter
* => 1 pour la "vitesse", 2 pour la "précision", 3 pour le "style", 4 pour la "puissance"
*
* Valeur de retour : Rien -- Note: Modifie directement les valeurs voulu.
*
* Description :
*
* Cette fonction ajoute et retire simplement 1 pour chaque point de compétence ajouter
* et test si il reste des points de compétences.
*
*/
public void ajouterCompetence(int competence){
if(nombrePointCompetence > 0){
niveauCompetence[competence] += 1;
nombrePointCompetence--;
}
}
/**
*
* void afficherTab ( )
*
* Résumé de la fonction afficherTab :
*
* La fonction ajouterXp ajoute de l'expérience à un joueur
* et si le joueur atteint le niveau d'expérience maximal,
* il ajoute un niveau au joueur et lui donne un point de
* compétence.
*
* Paramètres : rien -- Note : s'utilise en l'appelant par variable.afficherTab()
*
* Valeur de retour : Chaîne de caractères : contient tout les éléments du tableau à afficher.
*
* Description :
*
* Cette fonction parcours le tableau et ajoute à la variable afficheTab un élément du tableau.
*
*/
public string afficherTab(){
string afficheTab = "[";
foreach (int competence in niveauCompetence){
afficheTab = afficheTab + competence + " ";
}
afficheTab += "]";
return afficheTab;
}
}
fileFormatVersion: 2
guid: 7e3e1c812c58f624faa0def6ecadbabd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class testClassJoueur : MonoBehaviour
{
Joueur joueur1 = new Joueur("LeSabreDeDieu", "skin1");
// Start is called before the first frame update
void Start()
{
Debug.Log("Expérience actuel : " + joueur1.XP);
Debug.Log("Niveau actuel : " + joueur1.niveauActuel);
Debug.Log("Nombre de points de compétence : " + joueur1.nombrePointCompetence);
}
// Update is called once per frame
void Update()
{
joueur1.ajouterXp(Random.Range(0,100));
joueur1.ajouterCompetence(Random.Range(0, 4));
Debug.Log("<color=white> Expérience actuel : </color> " + joueur1.XP);
Debug.Log("<color=green> Niveau actuel : </color> " + joueur1.niveauActuel);
Debug.Log("<color=blue>Nombre de points de compétence : </color> " + joueur1.nombrePointCompetence);
Debug.Log("<color=red>Les compétences : </color> " + joueur1.afficherTab());
}
}
fileFormatVersion: 2
guid: 38a5973108ca5ce4da17f6c9bb4344e8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment