# DarkBASIC Professional/Crear un diàleg

* DarkBASIC Professional
* Introducció
* Inici al programa
* Regles bàsiques del codi
* Crear un diàleg
* Crear un joc semblant al Pong
* Crear un matamarcians
* Crear un videojoc 2D
* En breu ens introduirem amb les 3D...

## Què aprendrem?

En aquest llibre aprendràs com poder fer que l’usuari tingui la sensació d’estar parlant amb l’ordinador, també podràs posar objectius de la conversa i respostes intel·ligents.

### Resultat

Ens quedarà una aplicació com aquesta: Diàleg.exe

## Llicó
### Obrim un document

Engeguem el DarkBASIC. Primer estaria bé tenir clar l’objectiu del diàleg. En el nostre cas farem que l’usuari hagi d’aconseguir la confiança del PC, perquè li expliqui un secret.

### Imprimir text a la pantalla

Primer de tot farem una petita explicació a l’usuari perquè sàpiga que haurà de fer:
Anem a mirar què hem escrit:
El comandament SET CURSOR ens permet posar el cursor al lloc de la pantalla que vulguem, el posem a 200,10 perquè així quedarà més o menys centrat. A cada línia li sumarem 50 de distància perquè quedi una mica separat. El comandament PRINT en permet escriure entre les cometes el text que vulguem que s’imprimeixi a la pantalla. El text l’hem fet perquè quedi explicatiu, hem posat els signes >< perquè dongui la sensació que l’usuari està parlant amb l’ordinador.

### Crear un marcador

Aquí creem una variable: confianca.
Nota: (les ç no serveixen excepte pel text)
Posarem el marcador de la confianca a 0: confianca=000
Posarem el cursor a la banda superior esquerre de la pantalla (SET CURSOR 20,50). Allà hi imprimirem "el marcador": PRINT "Grau de confiança: "; i PRINT confianca. Aquí veiem dues noves coses: si volem que al posar PRINT no ens canviï de línea haurà d’anar seguit d’un ; així quedarà Grau de confiança: 0. I també hem vist que podem imprimir variables a la pantalla, l’única diferència és que no s’han de posar entre cometes com el text.

### Crear el text

Imprimim una pregunta per a l’usuari: ">Hola. com et dius?"
El comandament INPUT serveix per què l’usuari hagi d’escriure quelcom, es posen dues cometes, així l’usuari posarà el seu nom. Podríem posar dins les cometes alguna paraula, com "Nom: " i llavors l’usuari tondria més facilitat a l’hora d’escriure, però no és necessari. Si volem que la variable que ha escrit l’usuari la puguem utilitzar després haurem de posar ;variable després de les cometes. El nom de la variable pot ser tant una paraula (com confianca) o una lletra seguida del signe representatiu de variables (a$), en aquest treball podeu utilitzar qualsevol.
Ara volem que l’ordinador tingui més confiança amb l’usuari, ja que ara en sap el nom: confianca=confianca+10. Ara la confiança haurà augmentat en 10. Tornem a situar el cursor a on teníem el marcador i tornem a escriure’l, ara amb una confiança de 10.

### Un petita intel·ligència artificial

Situem el cursor de nou a on estàvem escrivint.
Ara, l’ordinador ja pot utilitzar la variable, de tal manera que ja el pot anomenar pel seu nom.
Imprimim el text que creiem apropiat. Les variables s’han d’imprimir en línies a part, no es pot posar:
    PRINT ">Hola " a$ ", encantat jo em dic PC. Quants anys tens?"
Sinó que s’ha de fer en diferents línies, utilitzarem el ; perquè al resultat final això no es noti.

### Respostes diferents segons el text que escrigui l’usuari

Al pas anterior hem fet la pregunta "Quan anys tens?"
Ara l’usuari l’haurà de dir: INPUT "";Edat (Edat serà el nom de la variable).
Ara farem que si l’edat és igual o inferior a 29 la confiança augmenti +10 (perquè l’ordinador també és jove) i respongui ">Ets molt jove!":
    IF Edat<=29
    confianca=confianca+10
    PRINT ">Ets molt jove!";
    ENDIF
I si l’edat és 30 o superior la confiança augmenti +5 (l’ordinador és més jove i no augmenta tant la confiança) i respongui ">Estàs a la flor de la vida."
    IF Edat>=30
    confianca=confianca+5
    PRINT ">Estàs a la flor de la vida.";
    ENDIF
El marcador es tornarà a actualitzar:
    SET CURSOR 20,50
    PRINT "Grau de confiança: ";
    PRINT confianca
    SET CURSOR 0,225
I amb SET CURSOR 0,225 tornarem a situar el cursor al text.

### Afegim més text

Anem posant més preguntes, més respostes, que la confiança augmenti, etc.
Aquí veiem una resposta a la qual no li assignem cap variable, ja que no l’utilitzarem.
Aquí, com a novetat veiem que podem fer operacions matemàtiques amb les variables.
L’usuari diu la nota que posaria (de l'1 al 10) a la conversa que mantenen, i l’ordinador, si veu que és més d’un 7 li respondrà que ell l’hi posaria un punt més (nota+1), com que pot ser que l’usuari digui 10 i no tindria sentit dir que li posa un 11 afegirem unes rialles darrere (jeje) de tal manera que si ha de dir "jo en comptes d’un 10 l’hi posaria 1 punt més: 11" digui ", jeje" com si fos una broma.
Seguim posant més text.

### Si aconsegueix 100 de confiança

Ara posarem el secret que explicarà l’ordinador a l’usuari. Això passarà quan l’usuari aconsegueixi una confiança de 100 o superior. Ho posarem dins el "bucle" perquè es vagi repetint contínuament:
Els comandaments DO i LOOP ens serveixen per a marcar què va dins el bucle, el bucle és el conjunt de comandament que es repeteixen contínuament, per tant, contínuament mirarà si la confiança és 100 o superior per començar a explicar el secret.
Aprofitem totes les variables anteriors per a fer aquest secret més impressionant per a l’usuari.
Ara ja podeu crear un diàleg de l’usuari amb l’ordinador.