Jump to content
  • Buscar en
    • Más opciones...
    Encontrar resultados que contengan...
    Encontrar resultados en...

Archivado

Este tema ahora está archivado y cerrado a otras respuestas.

davidlie

mi primer juego: mastermind [c++, consola][juego cutre]

Publicaciones recomendadas

Ellolo17 Tatsumaki

Publicado
vida restante: 100%
Mmm... en .net el evento que sirve para eso es el Keypress. A ver que busque por google a ver que te encuentre algo:

Prueba esto a ver si nos quitamos de encima eso:
---------------------------------------------------------------------------
Re: equivalente a keypress??
« Respuesta #2 en: 22 Julio 2008, 03:07 »

Amiga, yo ocupo Dev-C++, ahi almenos hay un comando llamado kbhit(), que detecta la tecla presionada.
Ejemplo:
[code:1]

if(!kbhit())
{
//Cuerpo del programa...
}
[/code]

-------------------------------------------------------------------------

Y en este hilo
http://www.velocityr...0-keypress.html

hablan del conio.h y el getch() y el geche()

A ver si lo sacamos adelante.

Un saludo,
Luis Miguel Carrasco

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

davidlie Aldia, Erudito del Primer Pecado

Publicado
vida restante: 100%
yo tambien uso el dev++
pruebo con eso a ver

edito: se me abra lo de conio.h como antes :S
edito 2:
si pongo
if(!kbhit())
{
if(kbhit()=='s')
{

y lo que sigue me compila pero petardea la pantalla como cuando mueves al personaje, pero si pulsas s no se mueve

-----------------------------------------------------------------------------
Imagen Enviada
Imagen Enviada
mi dibujo del killzone2 pintando aqui


Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Ellolo17 Tatsumaki

Publicado
vida restante: 100%
En vez de pasarlo al programa hazte otro proyecto para hacer las pruebas y ver como va.

De todas formas mirando de nuevo en google escribiendo el comando...
Hala, mira en cconclase:

http://www.conclase....n.php?fun=kbhit

Ahi en ese ejemplo hacen todo esto con getch y kbhit... Asi que mira a ver ;)

Un saludo.

Un saludo,
Luis Miguel Carrasco

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

davidlie Aldia, Erudito del Primer Pecado

Publicado
vida restante: 100%
pues e copiado el ejemplo ese y ni compila :S
edite ese archivo
lo puse asi
[code:1]#include
#include
#include
using namespace std;


int main() {
cout <<"Ejemplo de \"kbhit\"\r\n\r\n" < cout<< "El programa esta a la espera de registrar una tecla pulsada.\r\n" < while( !kbhit() );
cout<< "El caracter es "< getch();
cout <<"Pulsa una tecla para continuar...\r\n";
getch();

return 0;
}[/code]
pero siempre me devuelve 0 pulse la tecla que pulse, eso si no tengo que pulsar enter

-----------------------------------------------------------------------------
Imagen Enviada
Imagen Enviada
mi dibujo del killzone2 pintando aqui


Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

machakito Máscara de Majora

Publicado
vida restante: 100%

pues e copiado el ejemplo ese y ni compila :S

edite ese archivo

lo puse asi

[code:1][...]int main() {
cout cout while( !kbhit() );
cout getch();
cout getch();

return 0;
}[/code]

pero siempre me devuelve 0 pulse la tecla que pulse, eso si no tengo que pulsar enter

 

 

Hola.

 

Me parece que no has entendido lo que hace kbhit (ni lo que hace "\r", "\n" y "!"). Te pego lo que deberías haber leído del enlace que te ha puesto Ellolo17.

 

Kbhit()

Revisa si una tecla pulsada está disponible. Cualesquier pulsadas disponibles pueden ser recogidas con las funciones getch o getche.

 

Valor de retorno:

La función kbhit retorna 0 si no se ha registrado una pulsada de tecla; si hay una disponible, entonces el valor retornado es distinto a cero.

[code:1]while( !kbhit() );[/code]

Hace un bucle infinito mientras no se pulse una tecla (la que sea) y, como dice la ayuda, se recoge con getch o getche. Una vez se ha pulsado una tecla sale del bucle.

 

Esta línea está mal.

[code:1]cout

Si kbhit() devuelve 1 cuando detecta la pulsación de una tecla... not(1)=0.

 

Ni que decir tiene que todos los "\r\n" sobran.

 

Sinceramente, yo dejaría de momento el problema de la pulsación de la tecla y avanzaría en el desarrollo del programa.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Ellolo17 Tatsumaki

Publicado
vida restante: 100%
Tiene razon... Recuerda que hace nada empezaste con el "hola mundo" y desde ahi a esto has pegado un salto ENOOOORME.

Mi consejo es que des un repasito a las bases y asi se quede todo lo visto mejor. Seguramente ya conoces bastantes cosas de aqui, pero podras asentar bien los conocimientos y volver a enfrentarte a este codigo con una bandana en la cabeza y sin problemas! ^^

http://c.conclase.net/curso/index.php

Un saludo,
Luis Miguel Carrasco

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

davidlie Aldia, Erudito del Primer Pecado

Publicado
vida restante: 100%
si las bases creo que las se aunque seguramente empezare otra vez por hay
se que la ! es la negacion lo contrario de:
do
{
}
while(X !=p)
por ejemplo
la \n es pal salto de linea y la \r no se
dare una vuelta otra por las bases


-----------------------------------------------------------------------------
Imagen Enviada
Imagen Enviada
mi dibujo del killzone2 pintando aqui


Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Gagle Bang

Publicado
vida restante: 100%
Me he bajado el mastermind y no me lo ejecuta ni en linux ni en vista xD. Puedes poner el codigo fuente?

Como odio la web cconclase. Desde el primer dia que la vi me hizo daño a la vista su aspecto visual y la forma en la que estan organizadas los temas. Utiliza mejor http://www.cplusplus.com/. Es un consejo!


"640KB tendrían que ser suficientes para cualquiera."


Bill Gates, 1981.
¿Será cierto?




Committing suicide to free the zombie!
Human knowledge belongs to the world
"640KB ought to be enough for anybody" (Bill Gates, 1981)

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

machakito Máscara de Majora

Publicado
vida restante: 100%

si las bases creo que las se aunque seguramente empezare otra vez por hay

se que la ! es la negacion lo contrario de:

do

{

}

while(X !=p)

por ejemplo

la \n es pal salto de linea y la \r no se

dare una vuelta otra por las bases

 

Hola.

 

Es que, cuando nos pones los códigos para que te ayudemos, no lo parece... O, a lo mejor, si que lo sabes pero no entiendes bien su aplicación.

 

Estos lenguajes son muy intuitivos y, para la poca complejidad del programa que estás haciendo, con que sepas manejar bien (pero bien) cuatro estructuras de control y cuatro operadores básicos puedes hacer grandes cosas.

 

Yo entiendo que, conforme te van saliendo las cosas, quieras hacer programas mas y mas complejos, pero primero deberías haber hecho cientos de programas "chorra" machacando los bucles, condicionales, etc.

 

 

Mi consejo (si es que sirve de algo) es que cuando emplees funciones propias de C/C++ busques información sobre la declaración de sus cabeceras, mires que parámetros recibe y los que devuelve, los tipos, etc. Aprenderás un montón y evitará que te quedes estancado en muchas ocasiones.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

davidlie Aldia, Erudito del Primer Pecado

Publicado
vida restante: 100%

Me he bajado el mastermind y no me lo ejecuta ni en linux ni en vista xD. Puedes poner el codigo fuente?

 

Como odio la web cconclase. Desde el primer dia que la vi me hizo daño a la vista su aspecto visual y la forma en la que estan organizadas los temas. Utiliza mejor http://www.cplusplus.com/. Es un consejo!

 

 

 

 

yo tambien la odio XD

pero es la que mas cosas tiene

echare un vistazo a ella.

raro lo del mastermind a los que se lo e pasado si les funciona, en linux no funcionara por que tira de sistema :S pero en vista...

 

para lo que dices de practicar, hace una semana subi este archivo con lo que habia echo. ahora tengo mas pero no me apetece subirlos

 

http://rapidshare.co...__ejercicio.rar

 

edito: la pag esta en ingles :S

 

-----------------------------------------------------------------------------

Imagen Enviada

Imagen Enviada

mi dibujo del killzone2 pintando aqui


Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Sagitto Abdo Neonate

Publicado
vida restante: 100%
Hola. Prueba ésto:
#include
*Recoge una pulsación de tecla, define ésta función al principio.*/
char getkey(void)
{
return (char) getch();
}

Luego define c así : char c;
Más tarde en el bucle principal haces ésto:

c = getkey(); /*compruebo la pulsación de una tecla*/
switch©
{
case '4':
instrucciones
break;
case 'a':
instrucciones
break;
default:
break;
}
} while (c != 'Q');
Si pulsas Q (en mayúsculas) terminas.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

davidlie Aldia, Erudito del Primer Pecado

Publicado
vida restante: 100%
buenas ya se donde puede estar el fallo
http://c.conclase.ne...p.php?art=conio

irad
pone que da problemas con mi compilador, ago lo que pone hay o directamente elijo otro compilador


-----------------------------------------------------------------------------
Imagen Enviada
Imagen Enviada
mi dibujo del killzone2 pintando aqui


Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Ellolo17 Tatsumaki

Publicado
vida restante: 100%
Alguna API gratuita habra que haga lo mismo por ahi, busca a ver.

Si no sale nada, pues habra que cambiar de compilador o hacer lo que te dice ahi -a tu eleccion-

Un saludo,
Luis Miguel Carrasco

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

Ollydbg Heraldo de la Muerte

Publicado
vida restante: 100%
Bueno, me he tomado una pequeña licencia (espero que al Sr. moderador no le moleste) y después del cafelito de comer he echo esto: (los sábados lluviosos son muy aburridos ;)

Imagen Enviada

El obejtivo es salir de una serie de laberintos, dónde la X marca la casilla de salida.

Imagen Enviada

Sin embargo, para ponerlo un "poco" mas difícil, existen una serie de puertas (marcadas con el caracter #). Dichas puertas solo se pueden abrir con una determinada llave (marcadas en el mapa con el carácter =):

Imagen Enviada

Al llegar a la posición final nos mosrtará cuantos movimientos hemos necesitado para alcanzar la meta:

Imagen Enviada

El juego solo tiene dos niveles. Este es el mapeado del nivel 2:

Imagen Enviada

No he diseñado más niveles porque el diseño no es lo mio ;)

De todos modos, en el código podreís ver que añadir un nuevo nivel es de lo más sencillo y lo único que hay que hacer es añadir mas "casos" en el método CreaMapa. El resto del código no hay que tocarlo para nada.
Nota: No he querido meter ficheros (que hubiese sido lo suyo) para no complicar más el código.

Código Fuente: http://ollydbg.pastebin.com/f267ab90a
Binario: Descarga desde aquí (10 KBytes. Requiere .NET Framework 3.5)

Saludos.

Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web

davidlie Aldia, Erudito del Primer Pecado

Publicado
vida restante: 100%

Alguna API gratuita habra que haga lo mismo por ahi, busca a ver.

 

Si no sale nada, pues habra que cambiar de compilador o hacer lo que te dice ahi -a tu eleccion-

 

eso lo que digo mejor cambiar de compilador que andar toqueteando para que quede medio mal :S

que compiladores a si buenos hay?

 

-----------------------------------------------------------------------------

Imagen Enviada

Imagen Enviada

mi dibujo del killzone2 pintando aqui


Compartir este mensaje


Enlace al mensaje
Compartir en otros sitios web
Guest
Este tema está cerrado a nuevas respuestas.

  • Crear nuevo...