lunes, enero 01, 2007

Program Life Basics

Program Life
Uses
LifeLib;
Var
Food, Sleep, Water As Needs;
Happiness As LifeStrength;
Love As SomethingNeeded(4);
Age, Death As Integer;
Junction Person
Begin
Health As Status;
End;
Const
GotoSchool;
Work;
StayInHome;

Begin

Death := Random(100);
Happiness := 2 + Random(5);

Do

If (Age < Death) Read(Love);

Select Case (Love)
0 : Happiness := Happiness - 20; Break;
1 : Happiness := Happiness - 10; Break;
2 : Break;
3 : Happiness := Happiness + 10; Break;
4 : Happiness := Happiness + 15; Break;
End Case;


If (Happiness < -10) Then Death = 0 Else If (Happiness <> 80) Then
Death := Death + 1
Happiness := Happiness - 20
End;

If Not Person.Health Then
Hospital
End;


Age := Age + 1

While (Age <= Death); Write('Memento Mori...');
Readkey;
Write('Game Over');

End.

Procedure Hospital
Var
Methods As GoodOrBad;

Begin

If (Methods = Good) Then
Happiness = Happiness + 2
Death = Death - 1
Else If (Methods = Bad) Then
Happiness = Happiness - 2
Death = Death - 5
End;

End;

----~

Quizás para los programadores sea una broma.
Tal vez para las personas que no entienden mucho de esto sea un pequeño tormento lógico... :)

Nota Programadores: Si cambiamos los tipos de variables con tipos compatibles y eliminamos el uso de Junction en las declaraciones, estoy casi seguro que ha de funcionar en Turbo Pascal. ;)

-- Que pena que no sepa darle tabulaciones... pero si aprendo a dárselas se las pongo :)
Tabulado: Program Life Basics @ Deviantart, que es también una versión más desarrollada del mismo.

Meryovi De Dios~

No hay comentarios: