Just because



miércoles, enero 29, 2003

waw, de nuevo a la U'ˇˇˇˇ

si cuento con suerte continuo en la universidad, aunque esta demostrado que Dios está de mi lado, ya que me ha ayudado bastante...
creo que ya paso el semestre pues requiero de 3 0para pasar, llevo 3.3 y un 3.1 de programacion que acabo de obtener (no es muy buena nota pero sirve) mis amigos tambien estan bien y eso me alegra...

Me ire a celebrar y a seguir rogando por no perder nada.
ah, y a inscribir matematicas


posted by Daira a las
1:42 p.m.
(0) comments

lunes, enero 20, 2003

Bueno, todo ha salido mejor desde la última vez que escribí, compré un play station y ahora me la paso jugando :)
Que mejor para pasar el tiempo? tambien chateo via messenger, y todo va a las mil maravillas, hasta el cd de programación esta bonitoˇˇˇˇ

Ahora chateo con Luis, que nińo tan curioso, y despues dicen qe las curiosas somos las nińas.

Ahora aqui va un codigo de un juego de damas (lo que va) no lo he podido terminar y espero recibir inspiración al colocarlo aca: (es en modula-3) linux:

MODULE Damas EXPORTS Main;

IMPORT Trestle, VBT, BorderedVBT, HVSplit, TextureVBT,
Fmt, RigidVBT, PaintOp, Split, ButtonVBT, Axis,Region,
Point, Rect,TextVBT, Random, TrestleComm;

TYPE Cell = BorderedVBT.T OBJECT
METHODS
init(ch: VBT.T): Cell := Init
OVERRIDES
mouse := Mouse
END;
SpotVBT = VBT.Leaf OBJECT
spot: Region.T;
Saber:INTEGER:=1;
OVERRIDES
reshape := Reshape;
repaint := Repaint;
END;
VAR puzzle := HVSplit.Cons(Axis.T.Ver,
HVSplit.Cons(Axis.T.Hor,
New(1,1), New(1,2), New(1,3), New(1,4), New(1,5), New(1,6), New(1,7), New(1,8)),
HVSplit.Cons(Axis.T.Hor,
New(2,1), New(2,2), New(2,3), New(2,4), New(2,5), New(2,6), New(2,7), New(2,8)),
HVSplit.Cons(Axis.T.Hor,
New(3,1), New(3,2), New(3,3), New(3,4), New(3,5), New(3,6), New(3,7), New(3,8)),
HVSplit.Cons(Axis.T.Hor,
New(4,1), New(4,2), New(4,3), New(4,4), New(4,5), New(4,6), New(4,7), New(4,8)),
HVSplit.Cons(Axis.T.Hor,
New(5,1), New(5,2), New(5,3), New(5,4), New(5,5), New(5,6), New(5,7), New(5,8)),
HVSplit.Cons(Axis.T.Hor,
New(6,1), New(6,2), New(6,3), New(6,4), New(6,5), New(6,6), New(6,7), New(6,8)),
HVSplit.Cons(Axis.T.Hor,
New(7,1), New(7,2), New(7,3), New(7,4), New(7,5), New(7,6), New(7,7), New(7,8)),
HVSplit.Cons(Axis.T.Hor,
New(8,1), New(8,2), New(8,3), New(8,4), New(8,5), New(8,6), New(8,7), New(8,8))
);

CNegroF, CNegro, CRojoF, CRojo, CRojoF2,CNegroF2: Cell;
RowC1, ColC1,RowC2,ColC2 :INTEGER:=0;
NumeroClick:INTEGER:=0;
(* The cell representing the empty space *)

cell: ARRAY [1..8],[1..8] OF Cell;
(* "cell[i]" is the cell numbered "i" *)

rand := NEW (Random.Default).init();

PROCEDURE New(I: INTEGER; J:INTEGER ): Cell =
VAR Div1, Div2:INTEGER;
CNegroF:=NEW(Cell).init( NEW(SpotVBT, spot := Circle(15.0),Saber:=1));
CNegro:=NEW(Cell).init(NEW(SpotVBT, spot:=Circle(0.0),Saber :=1));
CRojoF:= NEW(Cell).init( NEW(SpotVBT, spot := Circle(15.0),Saber:=0));
CRojo:=NEW(Cell).init(NEW (SpotVBT,spot:= Circle(0.0),Saber:=0));
CNegroF2:=NEW(Cell).init( NEW(SpotVBT, spot := Circle(15.0),Saber:=2));
CRojoF2:= NEW(Cell).init( NEW(SpotVBT, spot := Circle(15.0),Saber:=3));
BEGIN
Div1:= I MOD 2;
Div2:= J MOD 2;
IF Div1=Div2 THEN
IF (I >=1) AND (I <= 3) THEN
cell [I,J] := CNegroF;
END;
IF (I >= 4) AND (I<=5) THEN
cell [I,J] := CNegro;
ELSE
END;
IF (I >= 6) AND (I<=8) THEN
cell [I,J] := CRojoF2;
ELSE
END;
ELSE
cell [I,J] := CRojo;
END;

RETURN cell[I,J]
END New;

PROCEDURE Repaint(v: SpotVBT; READONLY rgn: Region.T) =
BEGIN
CASE v.Saber OF
| 1 => VBT.PaintRegion(v, rgn, PaintOp.FromRGB(0.9,0.0,0.0));
VBT.PaintRegion(v,Region.Meet(v.spot, rgn), PaintOp.FromRGB(0.0,0.0,0.9))
| 0 => VBT.PaintRegion(v, rgn, PaintOp.FromRGB(0.0,0.0,0.0));
VBT.PaintRegion(v,Region.Meet(v.spot, rgn), PaintOp.FromRGB(0.0,0.0,0.9))
| 2 => VBT.PaintRegion(v, rgn, PaintOp.FromRGB(0.0,0.0,0.0));
VBT.PaintRegion(v,Region.Meet(v.spot, rgn), PaintOp.FromRGB(1.0,1.0,1.0))
| 3 => VBT.PaintRegion(v, rgn, PaintOp.FromRGB(0.9,0.0,0.0));
VBT.PaintRegion(v,Region.Meet(v.spot, rgn), PaintOp.FromRGB(1.0,1.0,1.0))
ELSE
END;
END Repaint;

PROCEDURE Circle(r: REAL): Region.T =
VAR res := Region.Empty;
BEGIN
FOR h := FLOOR(-r) TO CEILING(r) DO
FOR v := FLOOR(-r) TO CEILING(r) DO
IF h * h + v * v <= FLOOR(r * r) THEN
WITH rect = Rect.FromPoint(Point.T{h, v}) DO
res := Region.JoinRect(rect, res)
END
END
END
END;
RETURN res
END Circle;

PROCEDURE Init(c: Cell; ch: VBT.T): Cell =
BEGIN
EVAL BorderedVBT.T.init(c,
RigidVBT.FromHV(ch, 20.0, 20.0),
op := PaintOp.Bg);
RETURN c
END Init;

PROCEDURE Reshape(v: SpotVBT;
READONLY cd: VBT.ReshapeRec) =
VAR delta :=
Point.Sub(
Rect.Middle(cd.new),
Rect.Middle(v.spot.r));
BEGIN
v.spot := Region.Add(v.spot, delta);
Repaint(v, Region.Full)
END Reshape;

PROCEDURE GetRowCol(c: Cell;
VAR (*out*) row, col: INTEGER) =
VAR
parent: HVSplit.T := VBT.Parent(c);
grandparent: HVSplit.T := VBT.Parent(parent);
<*FATAL Split.NotAChild*>
BEGIN
col := Split.Index(parent, c);
row := Split.Index(grandparent, parent)
END GetRowCol;

PROCEDURE Mouse(v: Cell; READONLY cd: VBT.MouseRec) =
VAR vRow, vCol,vRow2,vCol2: INTEGER;
BEGIN
IF cd.clickType = VBT.ClickType.FirstDown THEN
INC(NumeroClick);
GetRowCol(v,vRow,vCol);
RowC1:=vRow;
ColC1:=vCol;
END;
IF cd.clickType = VBT.ClickType.LastUp THEN
INC(NumeroClick);
GetRowCol(v,vRow2,vCol2);
RowC2:=vRow2;
ColC2:=vCol2;
END;

Swap(RowC1,ColC1,RowC2,ColC2);

(*IF NumeroClick = 1THEN
RowC1:=vRow;
ColC1:=vCol;
END;
IF NumeroClick = 2 THEN
NumeroClick:=0;
Swap(RowC1,ColC1,vRow,vCol);
END; *)
END Mouse;

PROCEDURE Swap(RowC1,ColC1,RowC2,ColC2: INTEGER) =
<*FATAL Split.NotAChild*>

BEGIN
(*Split.Replace(VBT.Parent(cell[1,1]),cell[1,1], cell[5,6]);*)

(*RowC1:=3;
ColC1:=3;
RowC2:=4;
ColC2:=4;
cell[RowC1,ColC1]:=NIL;
cell[RowC2,ColC2]:=NIL;
cell[RowC1,ColC1]:=NEW (SpotVBT,spot:= Circle(2.0),Saber:=0);
cell[RowC2,ColC2]:=NEW (SpotVBT,spot:= Circle(4.0),Saber:=0);*)

END Swap;

PROCEDURE DoExit(<*UNUSED*> self: ButtonVBT.T;
<*UNUSED*> READONLY cd: VBT.MouseRec) =
BEGIN Trestle.Delete(main) END DoExit;

VAR menuBar :=
ButtonVBT.MenuBar(
ButtonVBT.New(BorderedVBT.New(TextVBT.New("Exit")), DoExit));

main := HVSplit.Cons(Axis.T.Ver, menuBar, puzzle);

<*FATAL TrestleComm.Failure*>
BEGIN
Trestle.Install(main);
Trestle.AwaitDelete(main)
END Damas.



posted by Daira a las
9:18 p.m.
(0) comments

miércoles, enero 01, 2003

FELIZ AŃO 2003

Esta espera por el nuevo ańo estuvo larga, de pronto porque esta vez no tenia nada que hacer mientras llegavan las 12 y sabia que despues me iria a dormir, porque tampoco tenia nada que hacer despues de esa hora, pero finalmente no queria pasar todo el ańo que viene durmiendo...
al otro dia, un almuerzo donde mi tia, estuvo re-deli, y ver tele todo el dia, pero valio la pena, me gusto la peli.
Bueno me voy a seguir viendo tele, el mejor plan de vacaciones, o hay otro?


posted by Daira a las
8:43 p.m.
(0) comments



waw, volviˇˇˇ
despues de unas largas vacaciones donde pasé con mi familia unos gratos momentos, y los mosquitos se dieron la gran vida, vuelvo a tocar un computador.

Bueno solo he jugado playstation con mis primitos, que son un amor conmigo, sin poder pasar una prueba de conducción en DRIVE, pues no se como se hace un Slalom... tambien he jugado dance (ese de las flechitas en que se salta segun las indicaciones).



posted by Daira a las
8:38 p.m.
(0) comments

This page is powered by Blogger. Isn't yours?