Busca en Google

lunes, 25 de agosto de 2008

Programa Ficha de Domino

setscreen ("graphics:v16")
procedure dibuja_pto (n : int, x, y : int)
var h, k : int
case n of
label 1 :
h := x + 5
k := y + 5
label 2 :
h := x + 13
k := y + 5
label 3 :
h := x + 21
k := y + 5
label 4 :
h := x + 5
k := y + 13
label 5 :
h := x + 13
k := y + 13
label 6 :
h := x + 21
k := y + 13
label 7 :
h := x + 5
k := y + 21
label 8 :
h := x + 13
k := y + 21
label 9 :
h := x + 21
k := y + 21
end case
drawfilloval (h, k, 3, 3, 4)
end dibuja_pto
procedure dibuja_cuadrado (n : int, x, y, p : int)
if p = 0 then
if n = 2 or n = 3 then
dibuja_pto (7, x, y)
dibuja_pto (3, x, y)
end if
if n = 6 then
dibuja_pto (2, x, y)
dibuja_pto (8, x, y)
end if
else
if n = 2 or n = 3 then
dibuja_pto (1, x, y)
dibuja_pto (9, x, y)
end if
if n = 6 then
dibuja_pto (4, x, y)
dibuja_pto (6, x, y)
end if
end if
if n = 1 or n = 5 or n = 3 then
dibuja_pto (5, x, y)
end if
if n = 4 or n = 5 or n = 6 then
dibuja_pto (1, x, y)
dibuja_pto (3, x, y)
dibuja_pto (7, x, y)
dibuja_pto (9, x, y)
end if
end dibuja_cuadrado
procedure dibuja_ficha (n, m, x, y, p : int)
if p = 0 then
drawfillbox (x, y, x + 50, y + 25, 0)
drawbox (x, y, x + 50, y + 25, 12)
drawline (x + 25, y, x + 25, y + 25, 12)
drawfilloval (x + 25, y + 13, 2, 2, 12)
dibuja_cuadrado (n, x, y, p)
dibuja_cuadrado (m, x + 25, y, p)
else
drawfillbox (x, y, x + 25, y + 50, 0)
drawbox (x, y, x + 25, y + 50, 12)
drawline (x, y + 25, x + 25, y + 25, 12)
drawfilloval (x + 13, y + 25, 2, 2, 12)
dibuja_cuadrado (n, x, y, p)
dibuja_cuadrado (m, x, y + 25, p)
end if
end dibuja_ficha

Falta la parte de solicitud de numeros...
al dibujar ficha, el ultimo parametro p indica si es vertical u horizontal... prueben ustedes el funcionamiento

No hay comentarios: