Procedure senza parametri

sub0

Pulisce lo schermo cancellando 25 volte la prima linea

Procedure pulisciSchermo1;
Var
   i: Integer;
Begin
   GotoXY(1,1);
   For i:=1 To 25 Do
   Begin
      DelLine;
      Delay(100);
   End;
End;

Pulisce lo schermo inserendo 25 volte la prima linea

Procedure pulisciSchermo2;
...
    InsLine;
...

Pulisce lo schermo scrivendo 2000 volte uno ‘spazio’ nell’angolo in alto a sinistra

Procedure pulisciSchermo3;
Var
   i: Integer;
Begin
   GotoXY(1,1);
   For i:=1 To 2000 Do
   Begin
      Write(' ');
      Delay(2);
   End;
End;

Sporca lo schermo scrivendo 1000 volte il carattere ‘X’ in posizione casuale

Procedure sporcaSchermo1;
Var
   i: Integer;
Begin
   For i:=1 To 1000 Do
   Begin
      GotoXY(Random(80)+1, Random(25)+1);
      Write('X');
      Delay(5);
   End;
End;

Sporca lo schermo scrivendo 3000 volte il carattere ‘X’ in posizione casuale con colore casuale

Procedure sporcaSchermo2;
Var
   i: Integer;
Begin
   For i:=1 To 3000 Do
   Begin
      GotoXY(Random(80)+1, Random(25)+1);
      TextColor(Random(16));
      Write('X');
      Delay(2);
   End;
   TextColor(8); { rimette a posto il colore di primo piano per il prossimo menu...}
End;

Lancia un dado: scrive sullo schermo un numero casuale tra 1 e 6

Procedure lanciaDado;
Var
   dado: Integer;
Begin
   dado:=Random(6)+1:
   Write(dado:2);
End;

Lancia due dadi: scrive sullo schermo un numero casuale tra 2 e 12?

Procedure lancia2dadi;
Var
   dado1,
   dado2: Integer;
Begin
   dado1:=Random(6)+1:
   dado2:=Random(6)+1: 
   Write((dado1+dado2):4);
End;

ESERCIZI

Usa intensivamente le procedure…

  • PosizioneRandom, ColoreRandom, CifraRandom, CarattereRandom
  • PausaBreveRandom, PausaLungaRandom
  • Lancia100Volte1Dado, Lancia100Volte2Dadi
  • per semplificare il main
    Presentazione, Uscita, Aspetta, …
  • per ripassare tipi e operatori, ciascuna procedura visualizza una tabella esplicativa dell’operatore logico
    ProvoNot, ProvoOr, ProvoAnd, ProvoXor
  • per ripassare tipi e operatori, ciascuna procedura visualizza i risultati di ogni operazione applicabile a una coppia di valori di un certo tipo
    ProvoInteri, ProvoReali, ProvoCaratteri, ProvoStringhe