-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmenu.pas
93 lines (76 loc) · 1.82 KB
/
menu.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
unit Menu;
{-----------------------------------------------}
interface
uses crt;
// Muestra el menú de opciones. Retorna la opción elegida.
function MenuPrincipal(): char;
// Muestra un menú de cambio de color. Cambiar el color de la pantalla.
procedure CambiarColor();
// Devuelve las configuraciones del sistema al predeterminado y limpia la pantalla.
procedure Salir();
{-----------------------------------------------}
implementation
// mostrar el menú de opciones. Retorna la opción elegida.
function MenuPrincipal(): char;
begin
MenuPrincipal := '0';
while (MenuPrincipal < '1') OR (MenuPrincipal > '3') do
begin
writeln('1 - Jugar');
writeln('2 - Cambiar Tema');
writeln('3 - Salir');
MenuPrincipal := ReadKey();
clrscr;
end;
end;
procedure CambiarColor();
var
opt : char;
color_letra : byte;
color_fondo : byte;
begin
opt := '0';
while (opt < '1') OR (opt > '5') do
begin
writeln('1 - Predeterminado');
writeln('2 - Invertido');
writeln('3 - Suave');
writeln('4 - Rosa');
writeln('5 - Naturaleza');
opt := ReadKey();
clrscr;
end;
case opt of
'1': begin
color_letra := 15;
color_fondo := 0;
end;
'2': begin
color_letra := 0;
color_fondo := 15;
end;
'3': begin
color_letra := 7;
color_fondo := 3;
end;
'4': begin
color_letra := 15;
color_fondo := 12;
end;
'5': begin
color_letra := 11;
color_fondo := 2;
end;
end;
TextColor(color_letra);
TextBackground(color_fondo);
clrscr;
end;
procedure Salir();
begin
// Devolver al tema original
TextColor(15);
TextBackground(0);
clrscr;
end;
end.