using System.Collections.Generic;
using System.Threading.Tasks;
static void Main(string[] args)
private set { x = value; }
private set { y = value; }
private set { z = value; }
public Vecteur3(float xInitial, float yInitial, float zInitial)
public string GénérerChaine()
string résult = X.ToString();
public static float operator *(Vecteur3 a, Vecteur3 b)
return a.X * b.X + a.Y + b.Y;
public static Vecteur3 operator +(Vecteur3 a, Vecteur3 b)
Vecteur3 result = new Vecteur3(x,y, z);
if (String.IsNullOrEmpty(nom))
public string Description
get { return description; }
if(string.IsNullOrEmpty(description))
description = value.Trim();
public Item(string nom, string descripion)
Description = description;
public string GénérerChaine()
return nom + " : " + description;
private set { nbItems = items.Length; }
public Inventaire(int capacité)
public void AjouterItem(Item itemÀAjouter)
placeÀAjouter = capacité - NbItems;
Items[placeÀAjouter] = itemÀAjouter;
public void InsérerItemDébut(Item itemÀAjouter)
Item[] copieDeLaListeItem = new Item[Items.Length + 1];
copieDeLaListeItem[0] = itemÀAjouter;
for (int i = 0; i < Items.Length; ++i)
copieDeLaListeItem[i + 1] = Items[i];
Items = copieDeLaListeItem;
public Item ChercherItem(int indice)
if (Items[indice] == null)
public string GénérerChaine()
StringBuilder rep = new StringBuilder(Items[0].GénérerChaine());
for (int i = 1; i < Items.Length; ++i)
rep.Append(Environment.NewLine);
rep.Append(Items[i].GénérerChaine());
string retour = rep.ToString();
Inventaire inventairePrincipal;
Vecteur3 position, vitesse, accélération;
public Inventaire InventairePrincipal
get { return inventairePrincipal; }
set { inventairePrincipal = value; }
set { position = value; }
public Vecteur3 Accélération
get { return accélération; }
set { accélération = value; }
public float AngleVitesseXY
get { return Convert.ToSingle(Math.Atan2(vitesse.Y , vitesse.X)); }
public Joueur(Vecteur3 positionInitiale, int capacitéInitiale, float masseInitiale)
Position = positionInitiale;
InventairePrincipal = new Inventaire(capacitéInitiale);
Vitesse = new Vecteur3(0, 0, 0);
Accélération = new Vecteur3(0, 0, 0);
public void DéposerItem(Item itemÀDéposer)
inventairePrincipal.AjouterItem(itemÀDéposer);
public void AppliquerForceContinue(Vecteur3 forceAjouté)
public void AjouterForceContinue(Vecteur3 forceAjouté)
public void MettreÀJour(float temps)
float deltaX = Convert.ToSingle(position.X * temps + 0.5 * accélération.X * Math.Pow(temps, 2));
float deltaY = Convert.ToSingle(position.Y * temps + 0.5 * accélération.Y * Math.Pow(temps, 2));
float deltaZ = Convert.ToSingle(position.Z * temps + 0.5 * accélération.Z * Math.Pow(temps, 2));
Vecteur3 posit = new Vecteur3(deltaX,deltaY,deltaZ);
public string GénérerChaine()