Escribir nuevo tema

Ciencia y Tecnología

Foro sobre tecnología, internet, tendencias, herramientas sociales (web 2.0), etc.

me
autor Escrito por camarada06
Gobernador
sábado 23 de septiembre de 2017 12:39

Ajedrez pantalla touch en una pc de escritorio o laptop

Hola, estoy interesado en crear un software que se pueda usar en cualquier pc con panatalla touch, la imagen que vemos es ajedrez que se juega en los celulares con la pantalla touch o un lapiz.

Resultado de imagen para ajedrez pantalla touch

No es mi interes tener este tipo de juego de ajedrez en un celular, lo que deseo es jugar en una pantalla touch de pc y se puedan colocar fisicamente las piezas en la pantalla.

Resultado de imagen para imagen pc escritorio pantalla touch

De este tipo, pero con la imagen de un tablero de ajedrez con sus piezas.

EJEMPLO DE AJEDREZ:

Resultado de imagen para imagen ajedrez en una pc

Ya existe software para jugar ajedrez en la pc de escritorio, en los celulares, etc., lo que yo quiero es crear un software para jugar dos personas y usar la pantalla para ubicar las piezas, algo parecido a la imagen de arriba.

Con la ventaja de poder tener la pantalla touch de la pc en forma horizontal para poder llevar a cabo las jugadas y se conserven para reproducirlas.

CONTRATE A UN ING EN SISTEMAS COMPUTACIONALES EN BASE A ESTA IDEA EN VARIAS VERSIONES PARA EL AVANCE DEL PROYECTO Y SU PAGO.

PREGUNTA:  no se cuanto me debe cobrar, por version, por linea de codigo, o cual seria la mejor pago para llegar a un buen acuerdo, no estoy actualizado en las tarifas.  Si hay una buena oferta la tomo en cuenta.

EJEMPLO DE LAS VERSIONES

1.- Tablero y piezas (imagen) en la pantalla.

2.- Input, entrada de información, nombre, color de las piezas.

3.- Arreglo bidimensional para la posición de las piezas dentro del programa y su visualizacion.

3.1 Registro de las jugadas y su posterior reproducción en la pantalla.

4.- Comprobación del movimiento de las piezas (infraccion) aplicación de las reglas.

5.- Ajedrez 960 posiciones al azhar de acuerdo a las reglas.

6.- Situaciones especiales del ajedrez, jaque, empate, etc.

PROPUESTA
A) Programar en C#
B) Realizar la base de datos en SQL SERVER
C) Generar la conexión con .Net
D) Ejecutar en una pc all in one con windows pantalla tactil multitouch.
 
 
 
ESPERO HABER SIDO EXPLICITO EN LA EXPOSICION, ME INTERESA BASTANTE LAS RESPUESTAS.
 
Con anterioridad ya habia desarrollado un tablero de ajedrez fisico hecho de acrilico y aluminio, cada casilla tenia un sensor de iman incrustrado en cada pieza de ajedrez, formando una matriz para cada pieza en su posición original, esta información se aplico en un chip para crear la designación de cada pieza.
 
Cuando se posicionaba la pieza origen en la nueva posición enviava la información por un cable en paralelo (impresora) hacia una laptop con un progrma que reconocia esa posición en una imagen de tablero y piezas en la laptop, guardando todas las jugadas y se podia reproducir directamente en la laptop y en el tablero fisico con 4 led en cada casilla.
 
RESUMEN....se murio el ing. electronico (joven) que me estaba haciendo el proyecto, precisamente cuando ibamos a emigrar hacia el proyecto de pantalla touch.
 
Nota: Quiero aclarar que no fue por mi insistencia en la perfeccion del proyecto y las versiones que se hicieron, fue por su dedicacion y profesionalismo sumadas a la pasión por la tecnologia.   Descance en paz,,,,yo no, hasta terminar el proycto.
 


¿Te gustó este tema? puedes compartirlo, ¡es gratis!

Hay 4 respuestas al foro

1
  autor Nostromo el 24/sep, 2017 00:16 Diputado federal

@camarada06 » Veamos..

PREGUNTA:  no se cuanto me debe cobrar, por version, por linea de codigo, o cual seria la mejor pago para llegar a un buen acuerdo, no estoy actualizado en las tarifas.  Si hay una buena oferta la tomo en cuenta.

EJEMPLO DE LAS VERSIONES

1.- Tablero y piezas (imagen) en la pantalla.

2.- Input, entrada de información, nombre, color de las piezas.

3.- Arreglo bidimensional para la posición de las piezas dentro del programa y su visualizacion.

3.1 Registro de las jugadas y su posterior reproducción en la pantalla.

4.- Comprobación del movimiento de las piezas (infraccion) aplicación de las reglas.

5.- Ajedrez 960 posiciones al azhar de acuerdo a las reglas.

6.- Situaciones especiales del ajedrez, jaque, empate, etc.

PROPUESTA
A) Programar en C#
B) Realizar la base de datos en SQL SERVER
C) Generar la conexión con .Net
D) Ejecutar en una pc all in one con windows pantalla tactil multitouch.
 
 
 
ESPERO HABER SIDO EXPLICITO EN LA EXPOSICION, ME INTERESA BASTANTE LAS RESPUESTAS.
 
En mi experiencia, y con la poca información que muestras, que espero que no sea toda porque si no vas a salir perdiendiendo,  es dificil que s puedan hacer algo que vagamente se parezca a lo que quieres.
 
Es decir, cualquiera -hasta yo- te podría decri que te lo hago, pero lo mas seguro es que acabaría entregandotelo como los proyectos de titulación del TEC...5 años despues, y eso si bien te va.
A diferencia de los proyectos del TEC, donde el alumno lo financía y absorbe los gastos, aqui los acabarías pagando tu.
 
¿Por que? Bueno porque hay una ENORME indefinición de lo que quieres hacer y lo que quieres que te entreguen.
Por ejemplo:
  • Definir la plataforma donde va a operar. (que parece ya lo tienes)
  • Debes especificar la interfaz a utilizar, es muy importante que te entreguen aunque sea un bosquejo de TODAS las pantallas que va a manejar la aplicación, de tal forma que estes deacuerdo con lo que te van a entregar y no terminen entrgando algo poco funcional o dificil de operar o que no sea intuitivo su uso.
  • No me queda claro, si va a se para dos personas para que quieres que detecte jaque mate o enroque u otras cosas, se supone que eso ya es labor de los humanos..A menos que quieras que tenga la opción de jugarse solo vs la computadora.
    Pero bueno, faltaría DEFINIR todos esos comportamientos por escito, como quieres que se muevan, como quieres que el usuario indique que un caballo salte o un alfil se desplace, etc . 
  • etc.

Nota: Aqui se define QUE se va a hacer, no cómo. Si ya se decidió a usar el C#, entonces cada actividad hay que "modularizarla" alenguaje C# es decir:

      Funcion que genera lapantalla princpal.

        función o clase que llama un juego guardado

         funcion o clase para juego contra computadora

         funcion o clase para juego contra otro usuario

        etc.

                  función o clase que genera cada pieza

                función o clase que genera la configuración

Ya definida la aplicación se pueden poner puntos de revisión, para definir que el proyecto no va atrasado o

Una vez bien definido QUÉ se va a hacer, le pones tiempo a las actividades (con apoyo de la persona que lo va a hacer o alguien que sepa) .

Ya definido el alcance de tiempo, defines la tarifa por hora/día lo mutiplicas por el total y eso es lo que te va a costar. SIN incluir el software de desarrollo, equipo, licencias, etc.

Pero si quieres saber cuanto debe cobrar el programador (o programadores) solo revisa los costos de desarrollo de las actividades de programación.

Afortunadamente, para las empresas, aqui no se paga por hora sino por mes (o día segun la LFT), pero si ya tienes el tiempo que se supone se necesita para desarrollar los contratas con la tarifa mensual que anda por los 4 a 8 mil pesos por mes.

Tristemente muchas profesiones se devalúan bastante por ese esquema, en otros paises cobran de 80 a 120 dolares la hora y hasta mas.

Qui mala facit, cibum crustum suo putrida est



2
autor camarada06 el 24/sep, 2017 11:29 Gobernador

@Nostromo » 

Veamos..

PREGUNTA:  no se cuanto me debe cobrar, por version, por linea de codigo, o cual seria la mejor pago para llegar a un buen acuerdo, no estoy actualizado en las tarifas.  Si hay una buena oferta la tomo en cuenta.

EJEMPLO DE LAS VERSIONES

1.- Tablero y piezas (imagen) en la pantalla.

2.- Input, entrada de información, nombre, color de las piezas.

3.- Arreglo bidimensional para la posición de las piezas dentro del programa y su visualizacion.

3.1 Registro de las jugadas y su posterior reproducción en la pantalla.

4.- Comprobación del movimiento de las piezas (infraccion) aplicación de las reglas.

5.- Ajedrez 960 posiciones al azhar de acuerdo a las reglas.

6.- Situaciones especiales del ajedrez, jaque, empate, etc.

PROPUESTA
A) Programar en C#
B) Realizar la base de datos en SQL SERVER
C) Generar la conexión con .Net
D) Ejecutar en una pc all in one con windows pantalla tactil multitouch.
 
R.- e-mail ...Buenas tardes ingeniero, estoy de acuerdo con usted al llevar el proyecto acorde a los tiempos disponibles que tenga, por mi parte si me interesa llevar a cabo esta tarea, creo entenderlo con lo de los pagos, pero estará de acuerdo conmigo que se requiere un incentivo para poder iniciar el proyecto, quizás 50 mil es algo que al momento no esta en su presupuesto, que le parece si iniciamos con 3 mil esto para ponernos a trabajar en el programa de ajedrez con este inicio yo le entregaría resultados (versión 1) no mas tardar en 3 meses, como ingeniero en sistemas usted sabe que la programación no es algo barata, considere mi propuesta y llevemos ese proyecto más allá de una idea,,,PROPUESTA
 
 
 
ESPERO HABER SIDO EXPLICITO EN LA EXPOSICION, ME INTERESA BASTANTE LAS RESPUESTAS.
 
En mi experiencia, y con la poca información que muestras, que espero que no sea toda porque si no vas a salir perdiendiendo,  es dificil que s puedan hacer algo que vagamente se parezca a lo que quieres.
 
R.- Antecedentes....Ya habia hecho otro proyecto, con un ing. electronico con maestria en mecatronica y control, la diferencia de ese proyecto al otro es el tablero...se hizo de alumino el marco, acrilio cada casilla y se incrusto en cada casilla 4 focos led, con un sensor de iman para logar el bit de enlace para la posición de la pieza y crear una tabla x,y de cada casilla osea una matriz.  Esa información se guarda en un chip y se conforma la tabla bidimensional; en el momento en que se mueve la pieza de origen a otro destino (casilla) se produce la señal, que entra en el programa (lenguaje c) para ubicarlo, apareciendo en la pantalla de la laptop la pieza que se movio, debido al sensor de iman de las casillas en cuestion.  El sistema trabajo, pero era lento y se tenia que hacer con cuidado al posicionar una pieza en el tablero fisico.  Optamos por cambiar el tablero fisico (aluminio y acrilico) por una pantalla captiva en una pc, para eliminar el cableado (tablero-laptop) emigrando hacia este nuevo proyecto, pero desgraciadamente el ing. le dio un ataque al corazon y murio (joven), quiero retomar el proyecto pero ahora mas modulado en su creacion y pago.  "El quier hacer es la inciativa, el como hacerlo, es la creatividad."
 
 
 
@Nostromo » Es decir, cualquiera -hasta yo- te podría decri que te lo hago, pero lo mas seguro es que acabaría entregandotelo como los proyectos de titulación del TEC...5 años despues, y eso si bien te va.
A diferencia de los proyectos del TEC, donde el alumno lo financía y absorbe los gastos, aqui los acabarías pagando tu.
 
R.-  El tiempo es un recurso, el pago es un limitante, solo eso te puedo decir, por eso y en la expericencia vivida quiero que el avance sea modulado al igual que los pagos.
 
 
 
@Nostromo »  ¿Por que? Bueno porque hay una ENORME indefinición de lo que quieres hacer y lo que quieres que te entreguen.
Por ejemplo:
  • Definir la plataforma donde va a operar. (que parece ya lo tienes)
  • Debes especificar la interfaz a utilizar, es muy importante que te entreguen aunque sea un bosquejo de TODAS las pantallas que va a manejar la aplicación, de tal forma que estes deacuerdo con lo que te van a entregar y no terminen entrgando algo poco funcional o dificil de operar o que no sea intuitivo su uso.

R.- Por eso son las versiones o modulos del avance del proyecto, no se avanza hasta la satisfacion del funcionamiento de la version.  Creo que no sabes jugar ajedrez, tal vez lo conozcas pero en el ajedrez la primera posición es el incio del juego a1=torre, b1=caballo, c1=alfil (casilla blanca), d1=dama(blanca), e1=rey(blanco), f1=alfil(casilla negra), g1=caballo, h1=torre los peones ocupan casillas a2,b2,c2,d2,e2,f2,g2,h2 ; simetricamente las piezas negras ocupan las casillas correspondientes a las lineas (renglones) 7 y 8.  Nomencaltura del ajedrez, que corresponde a un arreglo de una lista de variables.  Primer movimiento de las blancas posicion e2 a e4 (origen - destino), cuando solo aparece la columna y el renglon "e4" la pieza corresponde a un peon, siguiente movimiento mueven negras, Cg8 a Cf6, que sucede? que el caballo negro de la casilla g8 ataca al peon blanco en la casilla e4, esto es un ejemplo.

  • No me queda claro, si va a se para dos personas para que quieres que detecte jaque mate o enroque u otras cosas, se supone que eso ya es labor de los humanos..A menos que quieras que tenga la opción de jugarse solo vs la computadora.

R.- Efectivamente; es para dos personas, implica que cada persona mueve las pieza que le corresponde mover, uno mueve las blancas, el otro las negras. Por eso la programación debe ser en modulos, para que primero se establezca claramente el tablero y las piezas su ubicación precisa y el movimiento posterior en las casillas.  En este primer modulo ya seria autosuficiente para poder jugar 2 personas a sabiendas que se conocen las reglas. Lo que se busca primordialmente en este primer modulo es la creación de la base de datos para que se pueda reproducir el juego en la pantalla osea un juego ya jugado y analizar la partida.

Los demas modulos se pueden agregar segun la complejidad que se busque..ejemplo reglas de los movimientos de cada pieza, si mueves mal el caballo, el programa debe de decirte que casilla no es la que puedes ocupar e indicar con un parpadeo o un sonido el error.  El jaque y el jaque mate queda supeditado a los jugadores, pero debido a la posiciones que estan en el juego, el programa debe de corrobarar que efectivamente sea jaque o jaque mate, al igual el enroque, debe el programa reservarse las reglas para llevar a cabo el enroque.  NO ME INTERESA UN PROGRAMA O SOFTWARE DE AJEDREZ (HUMANO VS MAQUINA), ESTE PROGRAMA DEBE SERVIR PARA QUE JUEGEN DOS HUMANOS Y GUARDAR EL JUEGO PARA SU REPRODUCCION.....programa arbitro de ajedrez, en todo caso.


  • Pero bueno, faltaría DEFINIR todos esos comportamientos por escito, como quieres que se muevan, como quieres que el usuario indique que un caballo salte o un alfil se desplace, etc . 
  • etc.

R.-  OK, eso implica un contrato y sus estimaciones (avance del proyecto en cada modulo).

Nota: Aqui se define QUE se va a hacer, no cómo. Si ya se decidió a usar el C#, entonces cada actividad hay que "modularizarla" alenguaje C# es decir:

      Funcion que genera lapantalla princpal.

R.-  Inicio de juego, quien juega blancas, quien juega negras, nombre del jugador, la fecha y en numero de juego del dia.

        función o clase que llama un juego guardado

R.- Ejemplo: camarada06 vs Nostromo 240917-1 (el guion indica el primer juego de ese dia en ese mes de ese año)

         funcion o clase para juego contra computadora

R.-  NO FUNCION NO HABILIADA

         funcion o clase para juego contra otro usuario

        etc.

                  función o clase que genera cada pieza

                función o clase que genera la configuración

Ya definida la aplicación se pueden poner puntos de revisión, para definir que el proyecto no va atrasado o

R.- Ver el contrato y su estimacion (avance del modulo en el proyecto)

Una vez bien definido QUÉ se va a hacer, le pones tiempo a las actividades (con apoyo de la persona que lo va a hacer o alguien que sepa) . Ya definido el alcance de tiempo, defines la tarifa por hora/día lo mutiplicas por el total y eso es lo que te va a costar. SIN incluir el software de desarrollo, equipo, licencias, etc.

R.- Prefiero la creativida,,, sujeta a cada quinecea para coindir con el pago o el abono a cuenta.  En todo caso se define el programa objeto o el programa fuente si me es proprocionado.

Pero si quieres saber cuanto debe cobrar el programador (o programadores) solo revisa los costos de desarrollo de las actividades de programación.

R.- Esa es la pregunta,,,,cual es el precio justo a pagar o en su efecto has tu propuesta estimada.

Afortunadamente, para las empresas, aqui no se paga por hora sino por mes (o día segun la LFT), pero si ya tienes el tiempo que se supone se necesita para desarrollar los contratas con la tarifa mensual que anda por los 4 a 8 mil pesos por mes.

Tristemente muchas profesiones se devalúan bastante por ese esquema, en otros paises cobran de 80 a 120 dolares la hora y hasta mas.

R.-  En base a mi experiencia la mejor tarifa es por hora, esto se entiende por ser el tiempo que se emplea en forma teorica y practica para resolver un problema, luego se suma ese tiempo, y se equivale a lo que uno espera ganar por mes, dividiendo ese tiempo en horas para conocer el valor de cada hora empleada, incluye prestaciones.

ESPERO TU AYUDA Y QUE EL TIEMPO DECIDA LO QUE SIGUE, DE ANTEMANO GRACIAS

Los ojos del Mau



3
autor camarada06 el 25/sep, 2017 14:01 Gobernador

@Nostromo » ¿Por que? Bueno porque hay una ENORME indefinición de lo que quieres hacer y lo que quieres que te entreguen. Por ejemplo:

  • Definir la plataforma donde va a operar. (que parece ya lo tienes)
  • Debes especificar la interfaz a utilizar, es muy importante que te entreguen aunque sea un bosquejo de TODAS las pantallas que va a manejar la aplicación, de tal forma que estes deacuerdo con lo que te van a entregar y no terminen entrgando algo poco funcional o dificil de operar o que no sea intuitivo su uso.

RESPUESTA:

Ajedrez_Arbitro_Nostromo.pps

En esta presentación de power point es lo que deseo que se vea en la pantalla tactil de pc, aunque todavia se puede mejorar mas, pero debo de empezar con lo basico. Inclusive hay un producto totalmente nuevo o en experimentación que se llama tinta electronica e-ink pero para este proyecto se necesita una pantalla touch y ademas la plataforma para que el progrma trabaje al 100% lo que parece que no es posible en unta tablet por su sistema operativo no soporta el programa.

Espero tu propuesta.

Los ojos del Mau



4
  autor Nostromo el 28/sep, 2017 00:26 Diputado federal

@camarada06 » Rayos, no vuelvo a contestar tan apresuradamente un mensaje. Tengo demasiados errores de ortografía y redacción.

No me queda claro lo que menciona el programador sobre la version 1 en 3 meses x 3 mil pesos. Yo asumiría que la version 1 es exactamente lo que le estas pidiendo en la presentación. Asi que asumo que en tres meses tendrías eso y fin del proyecto. 

Aqui la trampa es que como no especificas muchas cosas, das pie a que el proyecto se alargue indefinidamente.

50 mil implican que el programdor estima colaborar un tiempo de 18 meses más o menos con un sueldo de 3 mil mensuales o 50 meses de mil (por los 3 mil de anticipo por versión 1 de tres meses).  Me parece bien el costo mensual mas no los 18 meses y menos los 50. 

Si quieres definir objetivos para revisar en los tres meses podrías fijar etapas como esta:

  1. El desarrollo de la interfaz: menús, la generación de imágenes del tablero. El objetivo de esta etapa es que tengas un programa
    Que al iniciar te muestre las opciones . Una de esas opciones es la de iniciar nueva partida.
    Que presente el tablero sin que guarde nada ni analice, pero que haga una animación básica moviendo las piezas dentro de
    los límites del tablero y con reglas básicas(o sea que las piezas no las puedas colocar arbitrariamente en cualquier celda).
    Aquí tienes que definir cómo se va a mover, si debes “tocar” la figura y la arrastrarla, tocarla y señalar la celda destino.

          
    tiempo estimado: 1 mes ½

 2. El análisis de las jugadas. El objetivo es que en esta etapa el programa :

    Analize las posiciones de las piezas y avisar que algún jugador hizo JAQUE MATE o que hizo un enroque.
    Muestre en el texto lateral que movimientos hizo.

Tiempo estimado: 1 mes
   

3. Guardar y recuperar juegos inconclusos o reproducir juego completo. Menu historico de juego y reproducir juego.
    En esta etapa se debe implemetar el guardado del juego y su recuperación.

Tiempo estimado: ½ mes

En fin esto sería solo una sugerencia, la idea es que esto quede definido antes de iniciar para que ambas partes esten de acuerdo de que es lo que se va a revisar en cada etapa.

En mi opinion la interfaz es muy anticuada, parece una aplicación de los 90s.

Qui mala facit, cibum crustum suo putrida est





¿Te gustó este tema? puedes compartirlo, ¡es gratis!


Foros de el Lector en El Siglo de Torreón.




*