lo que pasa es que estoy programando en c++ y mi problema es que quiero usar beeps para poner musica de fondo pero si Hago esto no puedo realiZar otras acciones Hasta que terminen los beeps, mi pregunta es como puedo hacer para realiZar dos acciones distintas al mismo tiempo
Por ejemplo me gustaria realizar un videojuego el personaje lo muevo con las teclas pero por desirlo asi los enemigos quiero que se muevan por si solos sin nesesidad de apretar una tecla, como podria mover el mono y al mismo tiempo que se muevan los enemigos y se escuchen los beeps, por que cuando lo realiso si pongo primero los beeps tengo que esperar a que se terminen de ejecutar antes de poder mover al personaje quisiera poder moverlo mientras se ejecutan acciones diferentes
este es mi codigo
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream.h>
#include<windows.h>
#include<dos.h>
void main()
{
int x=20,y=23,y1;
char s='s',a;
textcolor (BLUE);gotoxy(x+2,y-1);cprintf("%c",30);
textcolor(BLUE);gotoxy(x,y); cprintf("%c|_|%c",17,16);
textcolor(RED);gotoxy(x+1,y+1); cprintf("%c %c",31,31);
Beep ( 480 , 200 ) ;
Beep ( 1568 , 200 ) ;
Beep ( 1568 , 200 ) ;
Beep ( 1568 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 369.99 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 369.99 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 392 , 400 ) ;
Beep ( 196 , 400 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 83.99 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 830.61 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 987.77 , 400 ) ;
Beep ( 880 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 830.61 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 987.77 , 400 ) ;
Sleep ( 200 ) ;
Beep ( 1108 , 10 ) ;
Beep ( 1174.7 , 200 ) ;
Beep ( 1480 , 10 ) ;
Beep ( 1568 , 200 ) ;
Sleep ( 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 830.61 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 987.77 , 400 ) ;
Beep ( 880 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 784 , 200 ) ;
Beep ( 880 , 400 ) ;
Beep ( 784 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 587.33 , 200 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 784 , 400 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 587.33 , 200 ) ;
Beep ( 523.25 , 200 ) ;
Beep ( 587.33 , 200 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 698.46 , 400 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 587.33 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 523.25 , 200 ) ;
Sleep ( 400 ) ;
Beep ( 349.23 , 400 ) ;
Beep ( 392 , 200 ) ;
Beep ( 329.63 , 200 ) ;
Beep ( 523.25 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 466.16 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 523.25 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 1760 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 1568 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 349.23 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 415.2 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 1396.92 , 200 ) ;
Beep ( 349.23 , 200 ) ;
Beep ( 329.63 , 200 ) ;
Beep ( 311.13 , 200 ) ;
Beep ( 329.63 , 200 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 698.46 , 400 ) ;
Beep ( 783.99 , 400 ) ;
Beep ( 440 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 523.25 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 880 , 200 ) ;
Beep ( 1760 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 493.88 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 440 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 1568 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 349.23 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 440 , 00 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 659.25 , 200 ) ;
Beep ( 698.46 , 200 ) ;
Beep ( 739.99 , 200 ) ;
Beep ( 783.99 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 392 , 200 ) ;
Beep ( 196 , 200 ) ;
Beep ( 196 , 200 ) ;
Beep ( 196 , 200 ) ;
Beep ( 185 , 200 ) ;
Beep ( 196 , 200 ) ;
Beep ( 185 , 200 ) ;
Beep ( 196 , 200 ) ;
Beep ( 207.65 , 200 ) ;
Beep ( 220 , 200 ) ;
Beep ( 233.08 , 200 ) ;
Beep ( 246.94 , 200 ) ;
while(s=='s')
{
a=getch();
textcolor(BLACK);gotoxy(x,y); cprintf("%c|_|%c",17,16);
gotoxy(x+2,y-1);cprintf("%c",30);
gotoxy(x+1,y+1); cprintf("%c %c",31,31);
if(a=='a')
{
x=x-4;
}
if(a=='d')
{
x=x+4;
}
if(a=='s')
{
y=y+4;
}
if(a=='w')
{
y=y-4;
}
textcolor (BLUE);gotoxy(x+2,y-1);cprintf("%c",30);
textcolor(BLUE);gotoxy(x,y); cprintf("%c|_|%c",17,16);
textcolor(RED);gotoxy(x+1,y+1); cprintf("%c %c",31,31);
if(a=='l')
{
Beep(440,500);
for(y1=y;y1>3;y1--)
{
textcolor (GREEN);gotoxy(x+2,y1-2);cprintf("%c",254);
Sleep(15);
textcolor (BLACK);gotoxy(x+2,y1-2);cprintf("%c",254);
}
}
}
}