Foros del Web » Programación para mayores de 30 ;) » Programación General »

¿Por qué no hacemos una competencia entre programadores?

Estas en el tema de ¿Por qué no hacemos una competencia entre programadores? en el foro de Programación General en Foros del Web. Cita: Iniciado por GeoAvila m.. un pregunta que juego es ese...?? jejej, me encanta participar en este tipo de eventos.. pero en este momento, ando ...

  #31 (permalink)  
Antiguo 11/07/2008, 10:03
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 21 años
Puntos: 53
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Cita:
Iniciado por GeoAvila Ver Mensaje
m.. un pregunta que juego es ese...??

jejej, me encanta participar en este tipo de eventos.. pero en este momento, ando de trabajo hasta el cuello, y también ando aprendiendo Mono.net, así me si en caso me queda tiempo, veré si puedo hacer algo de lo que se pide.. pero no cumpliría con las fechas, por mi escaso tiempo.

nos vemos.. y sigo a la espectativa
Perdón ya sé que juego es.. pero lo conocía con otro nombre.. jejeje..

pero bueno.. veremos que podemos hacer...
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #32 (permalink)  
Antiguo 11/07/2008, 20:19
 
Fecha de Ingreso: julio-2008
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Cita:
Iniciado por Xinef Ver Mensaje
Gracias por probar el jueguecillo y por comentar los problemas encontrados. :)
De nada.

Cita:
Iniciado por Xinef Ver Mensaje
De hecho, yo más que solicitar... LO IMPLORO. Ver mi código podría provocar graves trastornos... que impedirían al participante entregar su trabajo a tiempo...

El que avisa no es traidor!!
Oye, ya tengo hecho el mío, me he esforzado mucho en el indentado, en la brevedad del código, la eficiencia y la corrección en los comentarios, como se había planteado. Espero que resulte claro...
  #33 (permalink)  
Antiguo 11/07/2008, 21:19
 
Fecha de Ingreso: julio-2008
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Aquí dejo una muestra de la compilación y ejecución de mi programa en modo difícil:

Código:
aceutico@aceutico:~$ gcc -w ttt.c
aceutico@aceutico:~$ ./a.out 
TicTacToe, modo: Difícil. Vea --help.
--- 012
--- 345
--- 678
Movimiento (0-8): 4
O-- 012
-X- 345
--- 678
Movimiento (0-8): 2
O-X 012
-X- 345
O-- 678
Movimiento (0-8): 3
O-X 012
XXO 345
O-- 678
Movimiento (0-8): 1
OXX 012
XXO 345
OO- 678
Movimiento (0-8): 8
Ganador: Empate
aceutico@aceutico:~$
Como no es modo "imposible", he dejado abierta la posibilidad de ganarle si se logra encontrar una de las combinaciones adecuadas.
  #34 (permalink)  
Antiguo 11/07/2008, 21:31
 
Fecha de Ingreso: julio-2008
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Aquí está el código del programa de arriba.

Está escrito en C, supongo que es válido... no sé si tratan ese lenguaje por aquí (está muy antiguo ya), he visto que había un subforo así que supongo que sí.

Código:
/*
 * TicTacToe - Copyright (C) aceutico <[email protected]> - GPLv3
 */

#include <stdio.h>
#include <string.h>

#define l(n) d[p[n]]
#define fa for (i = 0; i < 9; ++i)
#define fai(n) fa if (s[i] == n)
#define j(k) fai(k) { main(5 * -2, i); goto oo; }
#define s(n, x, y, z) s[n] = p[x] + p[y] + p[z];
#define jj(x, y, z, t) { j(x); j(y); j(z); j(t); }
#define ll(n) l(n), l(n+1), l(n+2)
#define x ((char)argv)
#define u(x) if (!p[x]) p[x] = 5 * 2;
#define uu(n, x, y, z) case n: u(x) else u(y) else u(z); break;

char p[9] = {0, 0, 0, 0, 0, 0, 0, 0, 0};

int main(int argc, char *argv[])
{
	char i, g = 0, e = 0, f = 0, s[8],
		d[11] = {'-', ('-' - 1) * 2, 0, 0, 0,
			0, 0, 0, 0, 0, '\'' + '('};
	unsigned short int m;

	switch (argc) {
	case -10:
		switch ((int)argv) {
			/* Cálculo de posición */
			uu(3, 4, 3, 5); uu(0, 0, 2, 1);
			uu(6, 6, 8, 7); uu(1, 0, 6, 3);
			uu(2, 2, 8, 5); uu(4, 4, 1, 7);
			uu(5, 4, 0, 8); uu(7, 4, 2, 6);
		}
		return 1;

	case -11:
		main(-12, argv);
		scanf("%hu", &m);
		return m;

	case 2:
		/* Argumentos para el programa */
		if (!strcmp(argv[1], "--facil"))
			f = 1;
		else {
			main(-12, "TicTacToe. Jugable en dos modos:\n"
				"Difícil (por defecto)\n"
				"Fácil (pasar como argumento: --facil)\n");
			return 0;
		}
	
	default:
		printf("TicTacToe, modo: %s. Vea --help.\n",
			f ? "Fácil" : "Difícil");

		/* Bucle principal */
		for (;;) {
oo:			printf("%c%c%c 012\n%c%c%c 345\n%c%c%c 678\n",
				ll(0), ll(3), ll(6));
			
			/* Mueve */
			for (;;) {
				m = main(-11, "Movimiento (0-8): ");
				if (m <= 8)
					if (!p[m])
						break;
			}

			p[m] = 1;

			/* Recalcular */
			s(0, 0, 1, 2); s(3, 3, 4, 5);
			s(6, 6, 7, 8); s(1, 0, 3, 6);
			s(4, 1, 4, 7); s(2, 2, 5, 8);
			s(5, 0, 4, 8); s(7, 2, 4, 6);
		
			/* Comprobar si has ganado */
			fai(3) {
				g = 1;
				goto o;
			}

			/* Comprobar si hemos empatado */
			e = 1;
			fa if (!p[i]) {
				e = 0;
				break;
			}

			if (e)
				goto o;

			/* Comprobar si he ganado */
			fai (20)
				goto o;

			/* Defenderme si es necesario */
			j(2);

			/* Atacar, añadir, bloquear o rellenar */
			if (!f)
				jj(10, 0, 1, 11)
			else
				jj(11, 1, 0, 10)
		}

o:		printf("Ganador: %s\n", e ? "Empate" : (g ? "Tu" : "Yo"));
		return 0;
	
	case -2 -10:
		printf(argv);
		return -10;
	}
}
Espero que les guste. La indentación creo que está perfecta. La eficiencia... Podría mejorarse, supongo. La longitud del código creo que es pequeña: Son 85 líneas eliminando líneas en blanco y demás.

Sobre los comentarios, quizá hagan falta un par más, para aclarar el funcionamiento. ¿Cómo lo ven?

Pruébenlo y me cuentan si lograron encontrar una forma de ganarle, ¿sí?

Última edición por aceutico; 12/07/2008 a las 13:42
  #35 (permalink)  
Antiguo 12/07/2008, 11:51
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 8 meses
Puntos: 7
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Weno, pues he corregido algunas cosillas... creo que las más graves. Así que es lo que presento al reto.


TicTacToe_0.1.1

Aquí el código fuente.
  #36 (permalink)  
Antiguo 12/07/2008, 13:29
 
Fecha de Ingreso: julio-2008
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Cita:
Iniciado por Xinef Ver Mensaje
Weno, pues he corregido algunas cosillas... creo que las más graves. Así que es lo que presento al reto.
Con GIJ no funciona, una pena. Ahora probaré con el intérprete de ayer.
  #37 (permalink)  
Antiguo 13/07/2008, 01:14
Avatar de daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 8 meses
Puntos: 142
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Buen día! Ya llegué; Aquí mi juego y el código. Están hechos en Java:

http://mx.geocities.com/daphyreweb/juegos/tictactoe/
http://mx.geocities.com/daphyreweb/j...ctoe/main.java

Suerte a todos . Avisenme si le encuentran algún detalle ;P
__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...
  #38 (permalink)  
Antiguo 14/07/2008, 07:33
 
Fecha de Ingreso: julio-2008
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

¿Qué va a pasar con este hilo? ¿Aún está la gente en ello?

Edito, que he visto el topic que acaba de crear David el Grande.

Última edición por aceutico; 14/07/2008 a las 07:41
  #39 (permalink)  
Antiguo 14/07/2008, 09:21
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

que tal, de hecho se tiene una iniciativa de programacion en éste post

http://www.forosdelweb.com/f14/talle...macion-312944/

Lo que se puede hacer es que alguien dé la problematica y después de que se resuelva se publique la o las soluciones al respecto, es cuestión de ir afinando el taller para darle continuidad y aprovechar que se tiene como tema importante

Saludos y cualquier duda o comentario andamos por aqui
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #40 (permalink)  
Antiguo 14/07/2008, 09:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Exclamación Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Sí, RootK, de hecho el Taller de Programación también fue una excelente idea.
No obstante, no fue pensado originalmente para hacer competencias ni tampoco para que se publiquen las soluciones. Más bien, está pensado para colocar problemas para que la gente que está aprendiendo de programación pueda ejercitarse.

Ahora, si te parece que sería mejor unir las dos ideas: Taller de Programación y Competencia entre Programadores. No hay problema.

Gracias por la sugerencia. Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #41 (permalink)  
Antiguo 14/07/2008, 14:37
Avatar de Txoco  
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 16 años, 5 meses
Puntos: 7
Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Bueno... me enteré tarde y en fin... algo llegué a hacer, pero no es que resulte muy jugable siquiera.

Me gusta la iniciativa, ha sido una lástima no haberlo sabido antes, aunque últimamente tampoco es que tenga mucho tiempo libre. Para la próxima procuraré enterarme con antelación, a ver si cae la breva y voy y gano (modesto de mí )
  #42 (permalink)  
Antiguo 14/07/2008, 14:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Exclamación Respuesta: ¿Por qué no hacemos una competencia entre programadores?

Sí, es una lástima estimado Txoco que no hayas podido participar. Pero como eres buen programador, puedes ayudarnos con las votaciones.

Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:28.