feat: ✨ Finish Julie's TP (maybe some error because it was so easy)
This commit is contained in:
parent
542de4ec5b
commit
c2d43c58b4
@ -1,8 +1,16 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Marokanar", "Marokanar\Marokanar.csproj", "{FF53D393-2D40-4E0B-8BD8-D2D2FFE6912C}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
Release|Any CPU = Release|Any CPU
|
Release|Any CPU = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{FF53D393-2D40-4E0B-8BD8-D2D2FFE6912C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{FF53D393-2D40-4E0B-8BD8-D2D2FFE6912C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{FF53D393-2D40-4E0B-8BD8-D2D2FFE6912C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{FF53D393-2D40-4E0B-8BD8-D2D2FFE6912C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
23
Marokanar/Canards/Canaradormi.cs
Normal file
23
Marokanar/Canards/Canaradormi.cs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
namespace Marokanar.Canards;
|
||||||
|
|
||||||
|
public class Canaradormi : CanardAdulte
|
||||||
|
{
|
||||||
|
public Canaradormi(string nom, int argent, Skate skate) : base(nom, argent, 0, skate)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Move()
|
||||||
|
{
|
||||||
|
this.Position = Skate.Speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Quack(ICanard canard)
|
||||||
|
{
|
||||||
|
return "QUACK!";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Quack()
|
||||||
|
{
|
||||||
|
return "QUACK!";
|
||||||
|
}
|
||||||
|
}
|
25
Marokanar/Canards/Canarcdc.cs
Normal file
25
Marokanar/Canards/Canarcdc.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
namespace Marokanar.Canards;
|
||||||
|
|
||||||
|
public class Canarcdc : CanardAdulte
|
||||||
|
{
|
||||||
|
public Canarcdc(string nom, int argent, Skate skate) : base(nom, argent, 0, skate)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Move()
|
||||||
|
{
|
||||||
|
Position = Skate.Speed - 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Quack()
|
||||||
|
{
|
||||||
|
return "quack...";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Quack(ICanard canard)
|
||||||
|
{
|
||||||
|
return "Quack";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
41
Marokanar/Canards/CanardAdulte.cs
Normal file
41
Marokanar/Canards/CanardAdulte.cs
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
namespace Marokanar.Canards;
|
||||||
|
|
||||||
|
public abstract class CanardAdulte : ICanard
|
||||||
|
{
|
||||||
|
public string Nom { get; set; }
|
||||||
|
public int Argent { get; }
|
||||||
|
public int Position { get; set; }
|
||||||
|
public Skate Skate { get; set; }
|
||||||
|
|
||||||
|
public CanardAdulte(string name, int argent, int position, Skate skate)
|
||||||
|
{
|
||||||
|
Nom = name;
|
||||||
|
Argent = argent;
|
||||||
|
Position = position;
|
||||||
|
Skate = skate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract string Quack();
|
||||||
|
public abstract string Quack(ICanard canard);
|
||||||
|
public abstract void Move();
|
||||||
|
public bool Parier(int montant)
|
||||||
|
{
|
||||||
|
if (Argent < montant)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
public virtual string RecupererPari(int montantGagne)
|
||||||
|
{
|
||||||
|
if (montantGagne == 0)
|
||||||
|
{
|
||||||
|
return "Mince...";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "Youpi!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
Marokanar/Canards/Caneton.cs
Normal file
14
Marokanar/Canards/Caneton.cs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
namespace Marokanar.Canards;
|
||||||
|
|
||||||
|
public class Caneton : ICanard
|
||||||
|
{
|
||||||
|
public string Quack()
|
||||||
|
{
|
||||||
|
return "Quack!";
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Quack(ICanard canard)
|
||||||
|
{
|
||||||
|
return "quack";
|
||||||
|
}
|
||||||
|
}
|
7
Marokanar/Canards/ICanard.cs
Normal file
7
Marokanar/Canards/ICanard.cs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
namespace Marokanar.Canards;
|
||||||
|
|
||||||
|
public interface ICanard
|
||||||
|
{
|
||||||
|
public string Quack();
|
||||||
|
public string Quack(ICanard canard);
|
||||||
|
}
|
45
Marokanar/Canards/VieuxCrouton.cs
Normal file
45
Marokanar/Canards/VieuxCrouton.cs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
namespace Marokanar.Canards;
|
||||||
|
|
||||||
|
public class VieuxCrouton : CanardAdulte
|
||||||
|
{
|
||||||
|
public VieuxCrouton(string nom, int argent, Skate skate) : base(nom, argent, 0, skate)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Move()
|
||||||
|
{
|
||||||
|
Position += Skate.Speed / 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Quack()
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Quack(ICanard canard)
|
||||||
|
{
|
||||||
|
if (canard.Quack() == "")
|
||||||
|
{
|
||||||
|
return "Quack.";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string RecupererPari(int montant)
|
||||||
|
{
|
||||||
|
if (montant == 0)
|
||||||
|
{
|
||||||
|
return "C’est un complot !";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return "Youpi!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
10
Marokanar/Marokanar.csproj
Normal file
10
Marokanar/Marokanar.csproj
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
3
Marokanar/Program.cs
Normal file
3
Marokanar/Program.cs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
// See https://aka.ms/new-console-template for more information
|
||||||
|
|
||||||
|
Console.WriteLine("Hello, World!");
|
21
Marokanar/Skate.cs
Normal file
21
Marokanar/Skate.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
namespace Marokanar;
|
||||||
|
|
||||||
|
public class Skate
|
||||||
|
{
|
||||||
|
public int Speed { get; set; }
|
||||||
|
|
||||||
|
public Skate(int speed)
|
||||||
|
{
|
||||||
|
Speed = speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Skate(Skate s)
|
||||||
|
{
|
||||||
|
Speed = s.Speed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Skate operator +(Skate skate1, Skate skate2)
|
||||||
|
{
|
||||||
|
return new Skate(skate1.Speed + skate2.Speed);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user