9
Código Fuente: /*Guitarra Eléctrica:*/ int i=0; int Notas[8]; int a=0; int j=0; int num=0; string linea="-"; string nums; byte punteroArchivo; string cadena; byte bytesEscritos; mutex Multiple; string leer; int tam=512; string mas="Distancia "; string nota="La nota es"; sub TraspasaArchivo() {

Código fuente guitarra

Embed Size (px)

Citation preview

Page 1: Código fuente guitarra

Código Fuente:

/*Guitarra Eléctrica:*/

int i=0;

int Notas[8];

int a=0;

int j=0;

int num=0;

string linea="-";

string nums;

byte punteroArchivo;

string cadena;

byte bytesEscritos;

mutex Multiple;

string leer;

int tam=512;

string mas="Distancia ";

string nota="La nota es";

sub TraspasaArchivo()

{

Page 2: Código fuente guitarra

DeleteFile("Notas.txt"); //borra archivo

CreateFile("Notas.txt", tam, punteroArchivo); //Crea un nuevo archivo

WriteLnString(punteroArchivo, "Notas", bytesEscritos);// Escribe en el archivo

for(j=0; j < ArrayLen(Notas); j++) //recorre el arreglo para definir la nota.

{if(Notas[j]>=10&&Notas[j]<12){ // verifica las distacias para asignar las notas

cadena= "La";

cadena=nota+cadena; // se une los strig cadena y nota para generar una frase : la nota es "la".

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos); //Escribe la nota definifa dentro del archivo

}

if(Notas[j]>=12&&Notas[j]<14){

cadena= "Do";

cadena=nota+cadena;

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos);

}

if(Notas[j]>=14&&Notas[j]<16){

cadena= "Re";

cadena=nota+cadena;

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos);

}

if(Notas[j]>=16&&Notas[j]<18){

cadena= "Re#";

Page 3: Código fuente guitarra

cadena=nota+cadena;

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos);

}

if(Notas[j]>=18&&Notas[j]<20){

cadena= "Mi";

cadena=nota+cadena;

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos);

}

if(Notas[j]>=20&&Notas[j]<22){

cadena= "Sol";

cadena=nota+cadena;

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos);

}

if(Notas[j]>=22&&Notas[j]<24){

cadena= "Sol#";

cadena=nota+cadena;

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos);

}

if(Notas[j]>=24&&Notas[j]<26){

cadena= "Lam";

Page 4: Código fuente guitarra

cadena=nota+cadena;

cadena = cadena + linea;

WriteLnString(punteroArchivo, cadena, bytesEscritos);

}

}

CloseFile(punteroArchivo); //cerrar el archivo

}

// Diferentes tareas para reproducir el sonido de cada nota musical

task la(){

while(true){

if(ButtonPressed(BTNCENTER, false)){ //verifica si el boton central es presionado

if(SensorUS(IN_4)<=12){

PlayFileEx("Guitar_A_high.rso", 7,0); //Reproduce el un archivo .rso con maximo volumen

Wait(300); //durante 3 milisegundos

Notas[i]= SensorUS(IN_4); //guarda el valor entregado por el sensor de proximidad dentro del arreglo.

i++;

Page 5: Código fuente guitarra

} } } }

task DO(){

while(true){

if(ButtonPressed(BTNCENTER,false)){

if(SensorUS(IN_4)>12 && SensorUS(IN_4)<=14){

PlayFileEx("Guitar_C.rso", 7, 0);

Wait(300);

Notas[i]= SensorUS(IN_4);

i++;

}

}}}

task re(){

while(true){

if(ButtonPressed(BTNCENTER, false)){

Page 6: Código fuente guitarra

if(SensorUS(IN_4)>14 && SensorUS(IN_4)<=16){

PlayFileEx("Guitar_D.rso", 7, 0);

Wait(300);

Notas[i]= SensorUS(IN_4);

i++;

}} } }

task resotenido(){

while(true){

if (ButtonPressed(BTNCENTER, false)){

if(SensorUS(IN_4)>16 &&SensorUS(IN_4)<=18){

PlayFileEx("Guitar_D_sharp.rso", 7, 0);

Wait(300);

Notas[i]= SensorUS(IN_4);

i++;

}} }

}

task mi(){

while(true){

if (ButtonPressed(BTNCENTER, false)){

if(SensorUS(IN_4)>18 &&SensorUS(IN_4)<=20){

PlayFileEx("Guitar_E.rso", 7,0);

Wait(300);

Notas[i]= SensorUS(IN_4);

Page 7: Código fuente guitarra

i++;}} }}

task sol(){

while(true){

if (ButtonPressed(BTNCENTER, false)){

if(SensorUS(IN_4)>20 &&SensorUS(IN_4)<=22){

PlayFileEx("Guitar_G.rso", 7, 0);

Wait(300);

Notas[i]= SensorUS(IN_4);

i++;

}} }}

task solsotenido(){

while(true){

if (ButtonPressed(BTNCENTER, false)){

if(SensorUS(IN_4)>22 &&SensorUS(IN_4)<=24){

PlayFileEx("Guitar_G_sharp.rso", 7, 0);

Wait(300);

Notas[i]= SensorUS(IN_4);

i++;

}} }

Page 8: Código fuente guitarra

}

task lamenor(){

while(true){

if (ButtonPressed(BTNCENTER, false)){

if(SensorUS(IN_4)>24){

PlayFileEx("Guitar_A_low.rso", 7,0);

Wait(300);

Notas[i]= SensorUS(IN_4);

i++;}

} } }

sub imprimir (){

int pa=50; //coordenadas en la pantalla

bool eof = false; //variable boleana

TraspasaArchivo(); //llama a la subrutina

ClearScreen(); //limpia la pantalla

OpenFileRead("Notas.txt", tam, punteroArchivo); // abre el archivo

while (eof == false){ // read the text file till the end

if(ReadLnString(punteroArchivo,leer) != NO_ERR) //Si no existe error al leer una linea del archivo

TextOut(LCD_LINE8,pa,leer); //imprime en pantalla

pa= pa-10; a

Wait(500);}

Page 9: Código fuente guitarra

Wait(5000);

CloseFile(punteroArchivo); //cierra el archivo

}

task archivo(){

while(true){

if (ButtonPressed(BTNLEFT, false)){ //si presiona el boton izquierdo muestra en pantalla

imprimir();} }

}

task main(){

SetSensorLowspeed(IN_4); //encender sensor de proximidad

Precedes(la,DO,re,resotenido,mi,sol,solsotenido,lamenor,archivo);

}