Neoficiální .NET (C#) API klient pro soutěž Kasiopea.
Nainstaluj nuget balík KasiopeaApi
, případně pre-release verzi.
dotnet add package KasiopeaApi
nebo
Install-Package KasiopeaApi
Úloha je určena rokem, typem kola (domácí/finále) a písmenem. Například 2020, doma, A.
Příklad
var k = new KasiopeaInterface("email", "password");
// nebo new KasiopeaInterface("email", "password", "https://kasiopea.matfyz.cz");
await k.SelectTaskAsync(2020, CourseKind.Home, 'A');
var reader = await k.GetInputReaderAsync(Difficulty.Easy);
var writer = k.GetOutputWriter();
// čti vstup pomocí
reader.ReadLine();
// piš výstup pomocí
writer.WriteLine();
// odešli výstup a zkontroluj výsledek
var result = await k.PostOutputAsync();
if(result == ApiAttemptState.Success)
Console.WriteLine("Hurá");
else
Console.WriteLine(result.ToString());
Jak použít await ze vstupního bodu aplikace?
static void Main() {
try {
MainAsync().Wait();
}
catch(Exception e) {
while(e is AggregateException) e = e.InnerException;
throw e;
}
}
static async Task MainAsync() {
// do your async stuff
}
Od C# 7.1 lze označit vstupní bod jako asynchronní metodu.
static async Task Main() {
// do your async stuff
}
Pokud máš jakékoli dotazy, zeptej se na našem Discord serveru.
MIT licence