¿cómo leer las flechas en programación c_c++_ _ yahoo respuestas

3
Siguiente Computadoras e Internet Diseño y Programación ¿Cómo leer las flechas en programación C/C++? Quiero hacer un juego de Snake que se mueva con las flechas, en lugar de WASD o IJKL. Intenté el método con conio.h, de tecla = getch(); if(tecla == 0) { tecla = getch(); switch(tecla) { case 72: // Ir arriba break; case 75: // Ir izquierda break; case 77: // Ir derecha break; case 80: // Ir... mostrar más Actualizar: El problema está antes del switch(), en el comando tecla = getch(); al presionar una flecha debería ser igual a 0 y después poner otro getch(), pero el primero ni siquiera está recibiendo la tecla especial. Recibe teclas normales, como letras, números, enter, tab, pero no especiales como el esc, flechas o... mostrar más Actualización 2: Sir Gabis, exactamente, así es como quedaría el código ya bien hecho, pero el problema es que getch() no se iguala a 0 o a otro valor al momento de presionar una flecha, esc o alguna tecla de Función, simplemente el programa se detiene hasta que presione otra tecla como una letra o enter... Seguir 4 respuestas Respuestas Comentario Mejor respuesta: uhmm vas mas o menos, esta bien el getch() es para capturar el teclado. haz algo asi: char a; a = getch(); if(a == char(75)) { //la serpiente se mueve a la izquierda. Izquierda(); } if(a == char(77)) { //la serpiente se mueve a la derecha Derecha(); } ahora haz lo mismo en tu switch. osea tienes que colocar el comando de control, todas las teclas tienen un comando de control, que es un numero ASCII, creo que le llaman "caracteres ascii de control" Yo hize un juego de carrera de coches, y como lo termine rápido, también hice la serpiente XD pero solo presente el primero. (te pasaría el juego, pero eso fue hace tanto tiempo) :L ... si no te captura con getch(), puedes usar cin.get(), que tambien trabaja de la misma manera, en visual trabajo con cin.get(), y aveces hay que limpiar, de hay que algunas veces captura algunas teclas pero otras no. Mira no tengo tiempo para hacer un juego completo, conseguí tu juego, estaba hecho en otro lenguaje, pero lo modifique para que funcione en DevC++, no digo que uses el código y lo presentes a tu docente, pero lo puedes usar como base y guía para continuar tu código, hay entra tu creatividad, puedes ponerle un rectángulo en el contorno, colores, hasta sonidos, pero ojala y tengas suerte con tu trabajo. Código: http://pastebin.com/ca7cZLWa Saludos. xDaNyelO ¯`•>* ' ' · hace 3 años 1 0 /*Listo tu codigo en C++, la funcion kbhit() espera a que se presione una tecla y luego se obtiene el valor de la tecla presionada con getch()*/ #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; int main() { char caracter = NULL; while(caracter != 13){ cout<<"Ingrese enter para salir: "; if(kbhit()){ caracter = getch(); switch(caracter){ case 72: cout<<"\nPresiono: Flecha arriba\n"; Calificación Página de inicio Todas las categorías Arte y Humanidades Automóviles y Transporte Belleza y Estilo Ciencias sociales Ciencias y Matemáticas Comer y Beber Computadoras e Internet Deportes Educación y Formación Electrónica de consumo Embarazo y Maternidad Familia, Amor y Relaciones Hogar y Jardinería Juegos y Recreación Mascotas Medio Ambiente Música y Entretenimiento Negocios Locales Negocios y Finanzas Noticias y Eventos Política y Gobierno Restaurantes Salud y Belleza Sociedad y Cultura Viajes Yahoo y sus Productos Internacional Acerca de Enviar Haz una pregunta ¡normalmente se responde en minutos! ¿Qué tal? Detalles Preguntas relacionadas Te gusta leer algo como ésto? ¿como puedo leer y modificar la programación de un videojuego? ¿Cómo puedo leer las flechas en java? Más preguntas Responder preguntas ¿Quien me puede ayudar a entrar a un facebook? URGENTE! estan colocando cosas falsas sobre mi, solo entro y me salgo. URGENTE por favor? ¿como ejecutar codigo php en segundo nivel? la funcion shell_exec fue desabilitada por el servidor. gracias por su ayuda? ¿Un trabajo que es mas de habilidosos que de Photoshop, se puede ganar dinero con trampas y trucos? ¿AYUDA! quien me ayuda a entrar a un facebook?? URGENTE POR FAVORR? Tendencias ¿5 Estrellas para el primero que pueda traducir la siguiente oración de ingles al español? 10 respuestas ¿Algún programa realmente efectivo y SIN VIRUS para hackear un facebook? 9 respuestas ¿estoy muy aburrido que puedo aser para entretenerme un buen rato estoy solo en mi casa? 5 respuestas Más preguntas Términos Privacidad AdChoices RSS Buscar en Respuestas Buscar en la Web Entrar Correo Inicio Correo Noticias Deportes Finanzas Mujer Celebridades Screen Respuestas Flickr Móviles Más

Upload: juan-fabian

Post on 07-Sep-2015

5 views

Category:

Documents


0 download

DESCRIPTION

jijij

TRANSCRIPT

  • 1/7/2015 CmoleerlasflechasenprogramacinC/C++?|YahooRespuestas

    https://espanol.answers.yahoo.com/question/index?qid=20120709113530AAeAjgW 1/3

    SiguienteComputadoraseInternet DiseoyProgramacin

    CmoleerlasflechasenprogramacinC/C++?QuierohacerunjuegodeSnakequesemuevaconlasflechas,enlugardeWASDoIJKL.Intentelmtodoconconio.h,detecla=getch()if(tecla==0){tecla=getch()switch(tecla){case72://Irarribabreakcase75://Irizquierdabreakcase77://Irderechabreakcase80://Ir...mostrarms

    Actualizar:Elproblemaestantesdelswitch(),enelcomandotecla=getch()alpresionarunaflechadeberaseriguala0ydespusponerotrogetch(),peroelprimeronisiquieraestrecibiendolateclaespecial.Recibeteclasnormales,comoletras,nmeros,enter,tab,peronoespecialescomoelesc,flechaso...mostrarms

    Actualizacin2:SirGabis,exactamente,asescomoquedaraelcdigoyabienhecho,peroelproblemaesquegetch()noseigualaa0oaotrovaloralmomentodepresionarunaflecha,escoalgunatecladeFuncin,simplementeelprogramasedetienehastaquepresioneotrateclacomounaletraoenter...

    Seguir 4respuestas

    Respuestas

    Comentario

    Mejorrespuesta:uhmmvasmasomenos,estabienelgetch()esparacapturarelteclado.hazalgoasi:

    chara

    a=getch()

    if(a==char(75)){//laserpientesemuevealaizquierda.Izquierda()}if(a==char(77)){//laserpientesemuevealaderechaDerecha()}

    ahorahazlomismoentuswitch.

    oseatienesquecolocarelcomandodecontrol,todaslasteclastienenuncomandodecontrol,queesunnumeroASCII,creoquelellaman"caracteresasciidecontrol"

    Yohizeunjuegodecarreradecoches,ycomoloterminerpido,tambinhicelaserpienteXDperosolopresenteelprimero.(tepasaraeljuego,peroesofuehacetantotiempo):L...sinotecapturacongetch(),puedesusarcin.get(),quetambientrabajadelamismamanera,envisualtrabajoconcin.get(),yaveceshayquelimpiar,dehayquealgunasvecescapturaalgunasteclasperootrasno.Miranotengotiempoparahacerunjuegocompleto,consegutujuego,estabahechoenotrolenguaje,perolomodifiqueparaquefuncioneenDevC++,nodigoqueuseselcdigoylopresentesatudocente,perolopuedesusarcomobaseyguaparacontinuartucdigo,hayentratucreatividad,puedesponerleunrectnguloenelcontorno,colores,hastasonidos,peroojalaytengassuertecontutrabajo.Cdigo:http://pastebin.com/ca7cZLWa

    Saludos.

    xDaNyelO`>*''hace3aos

    1 0

    /*ListotucodigoenC++,lafuncionkbhit()esperaaquesepresioneunateclayluegoseobtieneelvalordelateclapresionadacongetch()*/

    #include#include#includeusingnamespacestdintmain(){charcaracter=NULLwhile(caracter!=13){cout

  • 1/7/2015 CmoleerlasflechasenprogramacinC/C++?|YahooRespuestas

    https://espanol.answers.yahoo.com/question/index?qid=20120709113530AAeAjgW 2/3

    Comentario

    system("pause")breakcase80:cout

  • 1/7/2015 CmoleerlasflechasenprogramacinC/C++?|YahooRespuestas

    https://espanol.answers.yahoo.com/question/index?qid=20120709113530AAeAjgW 3/3

    Agregarturespuesta

    Comentario

    break}

    NOTA:Recuerdaquedebuguearlineaporlineayagregarlosvaloresdetusvariablesenunwatchtepermitiriasaberpasoporpasotulogica...esdecireldebuguearlineaporlineaesvitalsaberloparadespejardudas...

    Robhace3aos

    0 0

    CmoleerlasflechasenprogramacinC/C++?