DEFLNG W
	GOSUB Bienvenida
	GOSUB ArchivoEscrito
	GOSUB Principal
	GOSUB CierraArchivo
	END

ArchivoEscrito:
	CLS
	OKGrabacion$ = "no"
	WHILE OKGrabacion$ <> "s¡"
		INPUT "Complete DOS name of the file to store "; ArchivoEscrito$
		OPEN "R", #2, ArchivoEscrito$, 1
		FIELD #2, 1 AS e$
		IF LOF(2) <> 0 THEN
			BEEP: PRINT : PRINT "A file with that name already exists. Erase (E), try again ?"
			GOSUB EsperaTecla
			IF Tecla$ = "e" OR Tecla$ = "E" THEN
				CLOSE #2
				KILL ArchivoEscrito$
				OPEN "R", #2, ArchivoEscrito$, 1
				FIELD #2, 1 AS e$
				OKGrabacion$ = "s¡"
			ELSE
				CLOSE #2
			END IF
		ELSE
			OKGrabacion$ = "s¡"
		END IF
	WEND
	RETURN

Bienvenida:
	CLS : COLOR 7, 0
	PRINT "   This program builds a chalet in the CBB format."
	PRINT
	PRINT "   Copyright Jean-Luc Ancey, January 21st, 1997.": PRINT
	PRINT "   Strike a key when ready."
	GOSUB EsperaTecla
	RETURN

CierraArchivo:
	wByteEscrito = wByteEscrito + 1
	LSET e$ = CHR$(26)
	PUT #2, wByteEscrito
	CLOSE
	RETURN

Columna:
	Color$ = "0,0.8,0.4": GOSUB GrabaColor
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	x = Alfa: y = 0
	FOR Bloque = 1 TO ParamRiccardoSimeon
		z = Tango + (Bloque - 1) * (Riccardo + Simeon)
		Posicion$ = "se"
		TamaX = Patrick: TamaY = Patrick: TamaZ = Riccardo
		Exclusion$ = ""
		IF Bloque = 1 THEN
			Exclusion$ = "inf"
		END IF
		IF Bloque = ParamRiccardoSimeon THEN
			Exclusion$ = "sup"
		END IF
		GOSUB GrabaUnCubo
	NEXT Bloque
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	Color$ = "180,0.1,0.95": GOSUB GrabaColor
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	x = Alfa - (Patrick - Quiroga) / 2: y = (Patrick - Quiroga) / 2
	FOR Bloque = 1 TO ParamRiccardoSimeon - 1
		z = Tango + (Bloque - 1) * (Riccardo + Simeon) + Riccardo
		Posicion$ = "se"
		TamaX = Quiroga: TamaY = Quiroga: TamaZ = Simeon
		Exclusion$ = "inf,sup"
		GOSUB GrabaUnCubo
	NEXT Bloque
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

Escalones:
	Color$ = "240,0,0.4": GOSUB GrabaColor
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	z = 0: TamaZ = Tango
    
	x = Charlie: y = 0
	Posicion$ = "no"
	TamaX = Delta - Patrick: TamaY = Uniform
	Exclusion$ = "n"
	GOSUB GrabaUnCubo
    
	x = Alfa: y = Patrick
	Posicion$ = "so"
	TamaX = Uniform: TamaY = Foxtrot - Patrick
	Exclusion$ = "o"
	GOSUB GrabaUnCubo
    
	x = Alfa: y = Foxtrot + Ernesto + Quebec / 2
	Posicion$ = "o"
	TamaX = Uniform: TamaY = Sierra
	Exclusion$ = "o"
	GOSUB GrabaUnCubo
    
	x = Gilberto + Quebec / 2: y = Bravo
	Posicion$ = "s"
	TamaX = Sierra: TamaY = Uniform
	Exclusion$ = "s"
	GOSUB GrabaUnCubo

	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

EsperaTecla:
	Tecla$ = ""
	WHILE Tecla$ = ""
		Tecla$ = INKEY$
	WEND
	RETURN

GrabaColor:
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = Color$: GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

GrabaUnCubo:
	LineaEscrita$ = "Posi "
	Valor = x: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = y: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = z: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + "," + Posicion$ + " Tama "
	Valor = TamaX: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = TamaY: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = TamaZ: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$
	IF Exclusion$ <> "" THEN
		LineaEscrita$ = LineaEscrita$ + " Excl " + Exclusion$
	END IF
	Exclusion$ = ""
	GOSUB GrabaUnaLinea
	RETURN

GrabaUnaLinea:
	PRINT LineaEscrita$
	LineaEscrita$ = LineaEscrita$ + CHR$(13) + CHR$(10)
	FOR a = 1 TO LEN(LineaEscrita$)
		wByteEscrito = wByteEscrito + 1
		LSET e$ = MID$(LineaEscrita$, a, 1)
		PUT #2, wByteEscrito
	NEXT a
	LineaEscrita$ = ""
	RETURN

GrabaUnPunto:
	Valor = NumPunto: GOSUB TradValorCadena
	LineaEscrita$ = Cadena$ + ","
	Valor = x: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = y: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = z: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$
	GOSUB GrabaUnaLinea
	RETURN

LeeUnaLinea:
	LineaLeida$ = ""
	FinDeLinea$ = "no"
	WHILE FinDeLinea$ = "no" AND wByteLeido < LOF(1)
		wByteLeido = wByteLeido + 1
		GET #1, wByteLeido
		IF l$ <> CHR$(13) THEN
			IF l$ <> CHR$(10) THEN LineaLeida$ = LineaLeida$ + l$
		ELSE
			FinDeLinea$ = "s¡"
		END IF
	WEND
	RETURN
   
MuroCharlie:
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
      
	LineaEscrita$ = "Posi 0,0,"
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Charlie: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl inf"
	GOSUB GrabaUnaLinea
    
	Alberto = (Charlie - 2 * Romeo) / 3

	LineaEscrita$ = "Posi 0,0,"
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Alberto: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = Alberto + Romeo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",0,"
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Alberto: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = 2 * (Alberto + Romeo): GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",0,"
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Alberto: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi 0,0,"
	Valor = Tango + Lima + Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Charlie: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Papa: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup"
	GOSUB GrabaUnaLinea
      
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN
  
MuroDelta:
	LineaEscrita$ = "": GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = Charlie: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Foxtrot: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Bernardo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Juliet: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf,o"
	GOSUB GrabaUnaLinea

	x = Charlie + Bernardo + Quebec
	y = Foxtrot
	z = Tango
	Posicion$ = "so"
	TamaX = Constantino
	TamaY = ProfundoPared
	TamaZ = Lima
	Exclusion$ = "inf"
	GOSUB GrabaUnCubo

	Constantino2 = (Constantino - Romeo) / 2
	x = Charlie + Bernardo + Quebec
	y = Foxtrot
	z = Tango + Lima
	Posicion$ = "so"
	TamaX = Constantino2
	TamaY = ProfundoPared
	TamaZ = Oscar
	Exclusion$ = "inf,sup"
	GOSUB GrabaUnCubo

	x = Alfa
	y = Foxtrot
	z = Tango + Lima
	Posicion$ = "se"
	TamaX = Constantino2
	TamaY = ProfundoPared
	TamaZ = Oscar
	Exclusion$ = "inf,sup"
	GOSUB GrabaUnCubo
	LineaEscrita$ = "Posi "
	Valor = Charlie: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Foxtrot: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Juliet: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Delta: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Kilo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,o"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

MuroEste:
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	    
	LineaEscrita$ = "Posi "
	Valor = Alfa: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Foxtrot + ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",se Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Ernesto - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Juliet: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl s,sup,inf"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = Alfa: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",ne Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Daniel: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Juliet: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = Alfa: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Foxtrot + ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Juliet: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",se Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Echo - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Kilo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl s,sup"
	GOSUB GrabaUnaLinea
	   
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

MuroIndia:
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
      
	Valor = Charlie: GOSUB TradValorCadena
	LineaEscrita$ = "Posi " + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",se Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = India - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Yankee: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl inf,s,sup"
	GOSUB GrabaUnaLinea
      
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

MuroNorte:
	Indira = (Delta - Romeo) / 2

	LineaEscrita$ = "": GOSUB GrabaUnaLinea
      
	LineaEscrita$ = "Posi "
	Valor = Alfa - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",ne Tama "
	Valor = Delta - ProfundoPared + Hugo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl inf,e"
	GOSUB GrabaUnaLinea
     
	LineaEscrita$ = "Posi "
	Valor = Alfa - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",ne Tama "
	Valor = Indira - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf,e"
	GOSUB GrabaUnaLinea
    
	LineaEscrita$ = "Posi "
	Valor = Alfa - Indira - Romeo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",ne Tama "
	Valor = Indira + Hugo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf"
	GOSUB GrabaUnaLinea
   
	LineaEscrita$ = "Posi "
	Valor = 0: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",no Tama "
	Valor = Gilberto: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Juliet: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,inf"
	GOSUB GrabaUnaLinea
   
	LineaEscrita$ = "Posi "
	Valor = 0: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Juliet: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",no Tama "
	Valor = Alfa - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Kilo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,e"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

MuroOeste:
	Jorge = (Golf - Romeo) / 2
	Komadina = (India - Romeo) / 2

	LineaEscrita$ = "": GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = 0: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",no Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo - 2 * ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl inf,n,s"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = 0: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",no Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Jorge - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl inf,sup,n"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = 0: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo - Jorge - Romeo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",no Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Jorge + Hotel + Komadina: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl inf,sup"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = 0: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Lima: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Komadina - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl inf,sup,s"
	GOSUB GrabaUnaLinea

	LineaEscrita$ = "Posi "
	Valor = 0: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo - ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango + Lima + Oscar: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",no Tama "
	Valor = ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo - 2 * ProfundoPared: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Papa: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,n,s"
	GOSUB GrabaUnaLinea
			    
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

MurosSur:
	Color$ = "60,0.75,0.85": GOSUB GrabaColor
	GOSUB MuroCharlie
	GOSUB MuroIndia
	GOSUB MuroDelta
	RETURN

Principal:
	CLS
	wByteEscrito = 0: wByteLeido = 0
	GOSUB Variables
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "Posi "
	Valor = Alfa / -2: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo / -2: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango * 5 / -6: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$
	GOSUB GrabaUnaLinea
	LineaEscrita$ = "Rotz 180": GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	GOSUB Suelo
	GOSUB Escalones
	GOSUB MurosSur
	GOSUB MuroEste
	GOSUB MuroNorte
	GOSUB MuroOeste
	GOSUB Tope
	GOSUB Rebordes
	GOSUB Columna
	GOSUB Techo
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "Fin": GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

Rebordes:
	Color$ = "180,0.8,0.8": GOSUB GrabaColor
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	z = Tango + Lima - Reborde: TamaZ = Reborde
     
	x = Alberto + Romeo / 2: y = 0
	Posicion$ = "n"
	TamaX = Romeo + 2 * Reborde: TamaY = Reborde
	Exclusion$ = "n"
	GOSUB GrabaUnCubo
     
	x = 2 * Alberto + Romeo * 3 / 2: y = 0
	Posicion$ = "n"
	TamaX = Romeo + 2 * Reborde: TamaY = Reborde
	Exclusion$ = "n"
	GOSUB GrabaUnCubo
     
	x = Charlie + Bernardo + Quebec + Constantino2 + Romeo / 2
	y = Foxtrot
	Posicion$ = "n"
	TamaX = Romeo + 2 * Reborde: TamaY = Reborde
	Exclusion$ = "n"
	GOSUB GrabaUnCubo
       
	x = Alfa - Indira - Romeo / 2: y = Bravo
	Posicion$ = "s"
	TamaX = Romeo + 2 * Reborde: TamaY = Reborde
	Exclusion$ = "s"
	GOSUB GrabaUnCubo
    
	x = 0: y = India + Hotel + Jorge + Romeo / 2
	Posicion$ = "e"
	TamaX = Reborde: TamaY = Romeo + 2 * Reborde
	Exclusion$ = "e"
	GOSUB GrabaUnCubo
    
	x = 0: y = Komadina + Romeo / 2
	Posicion$ = "e"
	TamaX = Reborde: TamaY = Romeo + 2 * Reborde
	Exclusion$ = "e"
	GOSUB GrabaUnCubo

	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

Suelo:
	Color$ = "240,0,0.4": GOSUB GrabaColor
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "Posi 0,0,0,so Tama "
	Valor = Alfa: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$
	GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

Techo:
	Color$ = "60,0.75,0.85": GOSUB GrabaColor
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	NumPunto = 1
	x = 0: y = 0: z = Tango + Yankee: GOSUB GrabaUnPunto
	y1 = y: z1 = z
	NumPunto = 2
	x = 0: y = Whisky: z = Tango + Yankee + XRays: GOSUB GrabaUnPunto
	y2 = y: z2 = z
	NumPunto = 3
	x = 0: y = Bravo: z = Tango + Yankee: GOSUB GrabaUnPunto
	y3 = y: z3 = z
	NumPunto = 4
	x = Alfa: y = 0: z = Tango + Yankee: GOSUB GrabaUnPunto
	NumPunto = 5
	x = Alfa: y = Whisky: z = Tango + Yankee + XRays: GOSUB GrabaUnPunto
	NumPunto = 6
	x = Alfa: y = Bravo: z = Tango + Yankee: GOSUB GrabaUnPunto
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "1,2,3": GOSUB GrabaUnaLinea
	LineaEscrita$ = "4,5,6": GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea

	Nicolas = ATN(XRays / (y2 - y1))
	Orlando = ATN(XRays / (y3 - y2))
       
	Color$ = "20,0.4,0.5": GOSUB GrabaColor
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	NumPunto = 1
	x = 0 - Leon
	DeltaY = COS(Nicolas) * Leon: DeltaZ = SIN(Nicolas) * Leon
	y = 0 - DeltaY
	z = Tango + Yankee - DeltaZ
	GOSUB GrabaUnPunto
	x7 = x: y7 = y: z7 = z
	NumPunto = 2
	x = 0 - Leon: y = Whisky: z = Tango + Yankee + XRays
	GOSUB GrabaUnPunto
	x8 = x: y8 = y: z8 = z
	NumPunto = 3
	x = 0 - Leon
	DeltaY = COS(Orlando) * Leon: DeltaZ = SIN(Orlando) * Leon
	y = Bravo + DeltaY
	z = Tango + Yankee - DeltaZ
	GOSUB GrabaUnPunto
	x9 = x: y9 = y: z9 = z
	NumPunto = 4
	x = x7 + Alfa + 2 * Leon: y = y7: z = z7
	GOSUB GrabaUnPunto
	x10 = x: y10 = y: z10 = z
	NumPunto = 5
	x = x8 + Alfa + 2 * Leon: y = y8: z = z8
	GOSUB GrabaUnPunto
	x11 = x: y11 = y: z11 = z
	NumPunto = 6
	x = x9 + Alfa + 2 * Leon: y = y9: z = z9
	GOSUB GrabaUnPunto
	x12 = x: y12 = y: z12 = z
	NumPunto = 7
	x = x7: y = y7: z = z7 + Miguel
	GOSUB GrabaUnPunto
	NumPunto = 8
	x = x8: y = y8: z = z8 + Miguel
	GOSUB GrabaUnPunto
	NumPunto = 9
	x = x9: y = y9: z = z9 + Miguel
	GOSUB GrabaUnPunto
	NumPunto = 10
	x = x10: y = y10: z = z10 + Miguel
	GOSUB GrabaUnPunto
	NumPunto = 11
	x = x11: y = y11: z = z11 + Miguel
	GOSUB GrabaUnPunto
	NumPunto = 12
	x = x12: y = y12: z = z12 + Miguel
	GOSUB GrabaUnPunto

	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "1,4,5,2": GOSUB GrabaUnaLinea
	LineaEscrita$ = "6,3,2,5": GOSUB GrabaUnaLinea
	LineaEscrita$ = "2,1,7,8": GOSUB GrabaUnaLinea
	LineaEscrita$ = "1,4,10,7": GOSUB GrabaUnaLinea
	LineaEscrita$ = "4,5,11,10": GOSUB GrabaUnaLinea
	LineaEscrita$ = "5,6,12,11": GOSUB GrabaUnaLinea
	LineaEscrita$ = "6,3,9,12": GOSUB GrabaUnaLinea
	LineaEscrita$ = "3,2,8,9": GOSUB GrabaUnaLinea
	LineaEscrita$ = "7,10,11,8": GOSUB GrabaUnaLinea
	LineaEscrita$ = "12,9,8,11": GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

Tope:
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	LineaEscrita$ = "Posi 0,0,"
	Valor = Tango + Yankee: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ",so Tama "
	Valor = Alfa: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Bravo: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + ","
	Valor = Tango: GOSUB TradValorCadena
	LineaEscrita$ = LineaEscrita$ + Cadena$ + " Excl sup,n,s,e,o"
	GOSUB GrabaUnaLinea
	LineaEscrita$ = "": GOSUB GrabaUnaLinea
	RETURN

TradValorCadena:
	Cadena$ = STR$(Valor)
	IF LEFT$(Cadena$, 1) = " " THEN
		Cadena$ = MID$(Cadena$, 2, LEN(Cadena$) - 1)
	END IF
	IF LEFT$(Cadena$, 2) = "-." THEN
		Cadena$ = "-0" + RIGHT$(Cadena$, LEN(Cadena$) - 1)
	END IF
	IF LEFT$(Cadena$, 1) = "." THEN
		Cadena$ = "0" + Cadena$
	END IF
	RETURN

Variables:
	phi = (1 + SQR(5)) / 2

	'En metros
	Alfa = 8
	Bravo = 6.67
	Quebec = .82
	Romeo = 1.2
	Tango = .15
	Uniform = .7
	Yankee = 2
	Leon = .3
	Miguel = .1
	Patrick = .35
	ProfundoPared = .25
	ProfundoTabique = .15
	Reborde = .08

	'En unidades
	ParamCharlie = 7
	ParamDelta = 5
	ParamEcho = 7
	ParamFoxTrot = 3
	ParamIndia = 4.5
	ParamHotel = 1.5
	ParamGolf = 4
	ParamLima = .83
	ParamOscar = 1.54
	ParamPapa = .28
	ParamSierra = 1.5
	ParamVictor = 1
	ParamWhisky = phi
	ParamXRays = .4
	ParamBernardo = .5
	ParamConstantino = 2.9
	ParamDaniel = 2.5
	ParamErnesto = 3.5
	ParamHugo = 2
	ParamGilberto = 3
	ParamQuiroga = .8
	ParamRiccardo = 1
	ParamSimeon = 1 / 5
	ParamRiccardoSimeon = 15

	'Calculos
	Charlie = Alfa * ParamCharlie / (ParamCharlie + ParamDelta)
	Delta = Alfa * ParamDelta / (ParamCharlie + ParamDelta)
	Echo = Bravo * ParamEcho / (ParamEcho + ParamFoxTrot)
	Foxtrot = Bravo * ParamFoxTrot / (ParamEcho + ParamFoxTrot)
	Golf = Bravo * ParamGolf / (ParamIndia + ParamHotel + ParamGolf)
	Hotel = Bravo * ParamHotel / (ParamIndia + ParamHotel + ParamGolf)
	India = Bravo * ParamIndia / (ParamIndia + ParamHotel + ParamGolf)
	Lima = Yankee * ParamLima / (ParamLima + ParamOscar + ParamPapa)
	Oscar = Yankee * ParamOscar / (ParamLima + ParamOscar + ParamPapa)
	Juliet = Oscar + Lima
	Papa = Yankee * ParamPapa / (ParamLima + ParamOscar + ParamPapa)
	Kilo = Papa
	Sierra = Quebec * ParamSierra
	Victor = Bravo * ParamVictor / (ParamVictor + ParamWhisky)
	Whisky = Bravo * ParamWhisky / (ParamVictor + ParamWhisky)
	XRays = Yankee * ParamXRays
	Bernardo = (Delta - Quebec) * ParamBernardo / (ParamBernardo + ParamConstantino)
	Constantino = (Delta - Quebec) * ParamConstantino / (ParamBernardo + ParamConstantino)
	Daniel = (Echo - Quebec) * ParamDaniel / (ParamDaniel + ParamErnesto)
	Ernesto = (Echo - Quebec) * ParamErnesto / (ParamDaniel + ParamErnesto)
	Gilberto = (Charlie - Quebec) * ParamGilberto / (ParamGilberto + ParamHugo)
	Hugo = (Charlie - Quebec) * ParamHugo / (ParamGilberto + ParamHugo)
	Quiroga = Patrick * ParamQuiroga
	Riccardo = Yankee * ParamRiccardo / (ParamRiccardoSimeon * ParamRiccardo + (ParamRiccardoSimeon - 1) * ParamSimeon)
	Simeon = Yankee * ParamSimeon / (ParamRiccardoSimeon * ParamRiccardo + (ParamRiccardoSimeon - 1) * ParamSimeon)
	RETURN


    Source: geocities.com/siliconvalley/way/4179

               ( geocities.com/siliconvalley/way)                   ( geocities.com/siliconvalley)