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
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Marokanar", "Marokanar\Marokanar.csproj", "{FF53D393-2D40-4E0B-8BD8-D2D2FFE6912C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
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
|
||||
|
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