home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / DATABASE / XCLAS20D.ZIP / ANIMAL.PRG < prev    next >
Encoding:
Text File  |  1993-03-23  |  1.6 KB  |  66 lines

  1. #include "xclass.ch"
  2.  
  3. FUNCTION Main()
  4.    LOCAL getlist, resp := "S", o, Primer, NuevoAnimal, Caracter := space( 30 )
  5.    o := Preg()
  6.    Primer := o := oLoad( "animal.dat" )
  7.  
  8.    //Bucle principal: Mientras no tenga un animal por respuesta
  9.    while o:Animal == NIL
  10.       clear
  11.       devout( "¿" + o:texto + "? " )
  12.       @ row(), col() GET resp pict "@!"
  13.       read
  14.       if resp == "S"
  15.          o := o:SI
  16.       elseif resp == "N"
  17.          o := o:No
  18.       endif
  19.    end
  20.  
  21.    devpos( 0, 0 )
  22.    ? "¡YA LO TENGO!   Es: "
  23.    ? o:Animal
  24.    ?
  25.    @ row(), col() say "¿He acertado? " get resp pict "@!"
  26.    read
  27.    if resp == "N"
  28.       NuevoAnimal := space( 30 )
  29.       clear
  30.       @ 2, 0 say "¿Cuál es el animal que habías pensado?" get NuevoAnimal
  31.       read
  32.       NuevoAnimal := trim( NuevoAnimal )
  33.       @ 4, 0 SAY "Ahora dime una característica que diferencie " + o:Animal + " y " + NuevoAnimal
  34.       @ 5, 0 SAY "y que se pueda definir por SI/NO"
  35.       @ 7, 0 get Caracter pict "@!"
  36.       read
  37.       Caracter := trim( Caracter )
  38.       @ 9,0   SAY NuevoAnimal + "..."
  39.       @ 10, 0 say "¿"+ Caracter+ "? " get resp pict "@!" valid resp $ "SN"
  40.       read
  41.       if resp == "S"
  42.          o:Si := Preg( NuevoAnimal )
  43.          o:No := Preg( o:Animal )
  44.       else
  45.          o:No := Preg( NuevoAnimal )
  46.          o:Si := Preg( o:Animal )
  47.       endif
  48.       o:Animal := NIL
  49.       o:Texto := Caracter
  50.       oSave( Primer, "animal.dat" )
  51.    else
  52.       devout( "SOY EL MEJOR" )
  53.    endif
  54. RETURN( 0 )
  55.  
  56. CLASS PREG
  57. VAR TEXTO
  58. VAR SI, NO
  59. VAR ANIMAL
  60. CONSTRUCTOR New( cAnimal )
  61. END CLASS
  62.  
  63. METHOD New( cTxt )
  64. ::Animal := cTxt
  65. RETURN Self
  66.