Zie Scherp - Oefeningen
Handboek Zie Scherp Scherper 2e editieThe Corona filesHandboek backupOefeningen backup
  • Welkom
  • Oefeningen H1 tot en met H5
    • Oefeningen H1
    • Oefeningen H2
    • Oefeningen H3
    • Oefeningen H4
    • Oefeningen H5
    • Gecombineerde oefeningen
      • Opgave 1
      • Opgave 2
      • Opgave 3
      • Opgave 4
      • Opgave 5
  • Oefeningen H6 tot en met H8
    • Oefeningen H6
      • Week 1
      • Week 2
    • Oefeningen H7
      • Week 1
      • Week 2
    • Oefeningen H8
      • Week 1
      • Week 2
    • Voorbeeld vaardigheidsproeven
      • Opgave 1 (2022)
      • Opgave 2 (2019)
      • Opgave 3 (2019)
      • Opgave 4 (2020)
      • Opgave 5 (2020)
      • Opgave 6 (2021)
      • Opgave 7 (2022)
      • Opgave 8 (2022)
      • Opgave 9 (2023)
      • Opgave 10 (2024)
      • Opgave 11 (2024)
      • Opgave 12 (2025)
    • Gecombineerde opgaven
      • Console Matrix
      • Unicode filmpjes maken met loops
      • Unicode filmpjes maken met methoden
      • Music Maestro
      • Fun with methods: een verhaalgenerator
      • Tekst-gebaseerd Maze game
      • Conway game of life
      • How to make your console app look cool
  • Oefeningen H9 tot en met H12
    • Oefeningen H9
    • Oefeningen H10
    • Oefeningen H11
    • Oefeningen H12
    • Gecombineerde oefeningen
      • Opgave 1
      • Opgave 2
      • Opgave 3
      • Opgave 4
      • Opgave 5
  • Oefeningen H13 tot en met H18
    • Oefeningen H13
    • Oefeningen H14
    • Oefeningen H15
    • Oefeningen H16
    • Oefeningen H17
    • Oefeningen H18
    • Voorbeeld vaardigheidsproeven
      • Opgave 1 (2019)
      • Opgave 2 (2019)
      • Opgave 3 (2020)
      • Opgave 4 (2021)
      • Opgave 5 (2021)
      • Opgave 6 (2022)
      • Opgave 7 (2022)
      • Opgave 8 (2023)
      • Opgave 9 (2024)
    • Gecombineerde oefeningen
      • OO Textbased Game
      • Map Maker
      • Mapmaker & WPF
      • Magic The Gathering API
      • C# Game remakes
Powered by GitBook
On this page
  • Basisloop voor het filmpje
  • Inspiratie nodig
  • Geavanceerde uitbreidingen
  • Niet-sequentiële flow
  • Cursor verzetten

Was this helpful?

  1. Oefeningen H6 tot en met H8
  2. Gecombineerde opgaven

Unicode filmpjes maken met loops

Volgende tutorial toont hoe je een eenvoudig filmpje kan maken dat je, mits wat fantasie, vlot kan uitbreiden over enkele weken met interactieve aspecten.

Basisloop voor het filmpje

Volgende voorbeeld toont wat je bijvoorbeeld kan doen. Kopieer dit alles naar een eigen project tussen de accolades van de main:

 int framenummer = 0;
int sleeptime = 1000; // in milliseconden
while (true)
{
        
    framenummer = framenummer + 1;
    if (framenummer == 1)
    {
        Console.WriteLine("Het begin");
    }
    else if  (framenummer == 2)
    {
        Console.WriteLine("Tweede frame");
    }
    else if (framenummer == 3)
    {
        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("Derde frame Andere kleur");
    }
    else if (framenummer == 4)
    {
        sleeptime = 4000; //vergeet niet terug te zetten in latere frames indien je dit maar eenmalig wil
        Console.WriteLine("Frame dat langer blijft staan");
    }
    else if (framenummer == 5)
    {
        sleeptime = 500;
        Console.WriteLine("Moving ball:       *");
    }
    else if (framenummer == 6)
    {
        Console.WriteLine("Moving ball:      *");
    }
    else if (framenummer == 7)
    {
        Console.WriteLine("Moving ball:     *");
    }
    else if (framenummer == 8)
    {
        Console.WriteLine("Moving ball:   *");
    }
    
//Voeg hier frames tussen

    else
    {
        Console.ForegroundColor = ConsoleColor.Yellow;
        Console.WriteLine("\n\n\n\nThe End");
    }
    System.Threading.Thread.Sleep(sleeptime); //Pauzeer programma
    Console.Clear();

Deze code zal een teller (framenummer) per seconde (instelbaar via sleeptime) met 1 verhogen. Vervolgens zal de code uitgevoerd worden binnen de else-if clausule die overeenkomt met de huidige framenummer. De eerste keer staat de teller op 1 en wordt dus de code tussen volgende if uitgevoerd.

if (framenummer == 1)
{
    Console.WriteLine("Het begin");
}

Vervolgens wordt deze met 1 verhoogd en wordt deze code uitgevoerd:

else if  (framenummer == 2)
{
    Console.WriteLine("Tweede frame");
}

En zo voort. Je kan dus zelf frames toevoegen door steeds een constructie als de volgende toevoegen waar de commentaar //Code om uit te voeren in dit frame staat:

else if  (framenummer == x)
{
    //Code om uit te voeren in dit frame
}

(vervang X door het framenummer dat dit moet zijn)

Inspiratie nodig

Mogelijke uitbreidingen kunnen zijn:

  • Kleuren aanpassen om zo mooiere zaken te tonen (zie voorbeeldframe 3)

  • Timing aanpassen wanneer volgende frame moet getoond worden (zie voorbeeldframe 4)

    • Bijgevolg kan je ook animaties doen, verlaag gewoon de tijd tussen frame en zet zaken op andere plekken (zie voorbeeldframes 5 t.e.m. 8)

  • Ipv tekst zou je heeldere Unicode-art afbeeldingen kunnen tonen (én animeren)

Geavanceerde uitbreidingen

Niet-sequentiële flow

Je kan ook bepalen wat het volgende frame moet zijn door de variabele framenummer aan te passen naar het framenummer dat je nodig hebt -1 . Stel dat je bijvoorbeeld in frame 8 wenst dat na dit frame frame 3 wordt uitgevoerd, dan schrijf je:

else if (framenummer == 8)
{
    framenummer = 2;
    Console.WriteLine("Moving ball:      *");
}

Cursor verzetten

Via de methode ConsoleSetCursorPosition kan je instellen waar de cursor moet gezet worden. Je geeft tussen de haakjes van deze methode de x,y coördinaten (integers) mee waar de cursor moet gezet worden. Als je vervolgens tekst schrijft dan wordt die weggeschreven vanaf dat punt. De coördinaten zijn x,y coördinaten, waarbij het punt (1,1) het eerste karakter linksboven in de console is. Volgende frame zet bijvoorbeeld een "X" 10 letters naar rechts, 20 lijnen naar beneden

else if (framenummer == 9)
{
    Console.SetCursorPosition(10, 20);
    Console.WriteLine("X");
}
PreviousConsole MatrixNextUnicode filmpjes maken met methoden

Last updated 7 months ago

Was this helpful?