Imprimir página | Close Window

Vista Calendario Propio (retomada)

Impreso de: PcLiga.com
Categoría: PcLiga - General
Nombre Foro: Realizadas
Foro ULA: Mejoras YA realizadas
URL: http://foro2.pcliga.net/forum_posts.asp?TID=87489
Fecha de impresión: 07/Junio/2025 a las 22:56


Tema: Vista Calendario Propio (retomada)
Escrito Por: VALLE SFC
Asunto: Vista Calendario Propio (retomada)
Fecha de publicación: 29/Marzo/2016 a las 00:57
Me he dado cuenta que han rechazado esta mejora:
http://foro2.pcliga.net/forum_posts.asp?TID=73899&PN=1&title=vista-calendario-propio-a14-na0 - http://foro2.pcliga.net/forum_posts.asp?TID=73899&PN=1&title=vista-calendario-propio-a14-na0

y el motivo de retomarla es la contestación de Cristian, ya que creo que tengo solución para ello.

Originalmente publicado por admin

Puede parecer algo trivial, pero no es viable, me explico, es algo que hace ya mucho tiempo que tengo en mente hacer pero a pesar de intentarlo en varias ocasiones me ha sido imposible.

Y diréis... ¿Por qué? Pues porque el calendario no existe como tal en la base de datos, se genera en base a un algoritmo en la simulacion de cada jornada, es decir, es un proceso que en función de nuestra posición en liga la temporada pasada y el número de jornada nos da un partido para cada jornada.

Y podría aplicar esa consulta a la página y calcular en tiempo real el calendario, y sí, podría, pero supondría realizar 38 consultas a la base de datos para saber quienes son los 38 rivales de todas y cada una de las jornadas de liga, es una barbaridad.

Lo siento chicos, si algún dia se me ocurre como hacerlo sin esa carga injustificada y desproporcionada tener por seguro que lo haré...


Bueno, tras estudiar el sistema de generación de Liga de PCLiga, resulta que se pueden determinar el calendario sin tantas consultas a la Base de Datos. ¿como?
Según se genera la primera temporada se elabora una lista de los 20 equipos de la división.

Numerandolos así (SEGÚN la primera jornada):

jorn 1
1 19
2 18
3 17
4 16
5 15
6 14
7 13
8 12
9 11
0 10

Por ejemplo en mi Liga esta sería la lista:
1 Arenas CF
19 RafaMamo F.C
2 Sant Roc C.F
18 FCY UNITED
3 carlitus
17 Cacerolo F.C 
4 Hachis
16 Flop INWA
5 ariaron
15 The Blacks
6 Santfeliuenc
14 lucens 
7 FC PICASSO
13 IZAztlan Utd
8 ikery 380
12 Bears
9 A.C. Calor
11 VALLE SFC
0 ATLANTE FC
10 txindoki

NOTA: Hay que tener en cuenta que el numerado como 0 es el equipo llamado comodín* ya que no cuenta en la lista, sino para sustituir al equipo que le toque jugar consigo mismo.

A partir de estos datos, mi calendario (soy el equipo 11 y empiezo jugando de visitante contra el equipo 9)

J01 J02 J03 J04 J05 J06 J07 J08 J09 J10 J11 J12 J13 J14 J15 J16 J17 J18 J19
9   7   5   3   1   18   16   14   12 11(0)  
  8   6   4   2   19   17   15   13     10
J20 J21 J22 J23 J24 J25 J26 J27 J28 J29 J30 J31 J32 J33 J34 J35 J36 J37 J38

Sería en las jornadas 18 y 37 cuando jugaría contra mí mismo (11) y es ahí donde juego contra el equipo comodín (0).

Basicamente el calendario de cualquier equipo se puede saber con la primera jornada (sabiendo como se genera la Liga) ...

Otro ejemplo, ¿quien jugaría contra 13 "IZAztlan Utd" en las 10 primeras jornadas?
7.6.5.4.3.2.1.19.18.17. y por tanto en la 10 jornada jugará contra 17 Cacerolo F.C

No sé si con esto está claro ... otra cosa a tener en cuenta es el equipo local/visitante cuya alternancia varía cuando se juega con el equipo comodin...

Solo intento ayudar.

Un saludo.


EDITO: Como resumen podriamos decir que los enfrentamientos de todos los equipos de mi liga sigue esta secuencia "que cuando llegue abajo vuelve arriba" e indicando donde inicia la secuencia cada equipo.... lo único a tener en cuenta es que si el enfrentamiento es contra el equipo del que se está haciendo el calendario se debe cambiar por el 0 (ATLANTE FC).




inicia
19 RafaMamo F.C
1
18 FCY UNITED
2
17 Cacerolo F.C 
3
16 Flop INWA
4
15 The Blacks
5
14 lucens 
6
13 IZAztlan Utd
7
12 Bears
8
11 VALLE SFC
9
10 txindoki
10
9 A.C. Calor
11
8 ikery 380
12
7 FC PICASSO
13
6 Santfeliuenc
14
5 ariaron
15
4 Hachis
16
3 carlitus
17
2 Sant Roc C.F
18
1 Arenas CF
19

O sea, este sería el listado de enfrentamientos del equipo 1 (excepto en la ultima jornada donde se enfrentaría al 0).

Y por ejemplo el calendario de liga para el equipo 4 (Hachis) sería:
jorn dia rival (nº)
1 L Flop INWA 16
2 M The Blacks 15
3 X lucens  14
4 J IZAztlan Utd 13
5 V Bears 12
6 L VALLE SFC 11
7 M txindoki 10
8 X A.C. Calor 9
9 J ikery 380 8
10 V FC PICASSO 7
11 L Santfeliuenc 6
12 M ariaron 5
13 X Hachis ATLANTE FC
(4) 0
14 J carlitus 3
15 V Sant Roc C.F 2
16 L Arenas CF 1
17 M RafaMamo F.C 19
18 X FCY UNITED 18
19 J Cacerolo F.C  17




-------------
Josekarlos



Respuestas:
Escrito Por: VALLE SFC
Fecha de publicación: 29/Marzo/2016 a las 01:21
Esta básicamente era la propuesta
aunque es ficticia



Si se complica mucho quizas una primera prueba sería solo incluyendo la Liga

por si sirve de algo, un pseudocodigo (aunque no deja de ser complicado ...

 ENTRADAS:
equipo >>número equivalente al equipo sacado de la primera jornada de liga (entre 0 y 19)
lista >>>lista de los 20 equipos sacados de la primera jornada de liga (numerados de 0 a 19)
jornada >>> siguiente jornada de liga
hoy >>> dia actual de la semana {L,M,X,J,V,S,D}

VARIABLES UTILIZADAS:
rival >>> sirve para calcular el número equivalente al rival del equipo en la jornada pedida
calendario >>> asociado a la jornada para buscar rivales (1=20, 2=21 ... 19=38)
en_casa >>> para saber si el equipo juega de local(en_casa=SI) o visitante(en_casa=NO)
cambios >>> utilizado para saber cuantos cambios hay sobre la plantilla local/visitantes
semanal >>> variaciones de 'hoy'
dia >>> para el calculo numerico del dia de la semana.
muestra >>> cantidad de partidos que se quieren mostrar
linea >>> numero secuencial para la cantidad de partidos que se quieran mostrar
competicion >> con valores LIGA, COPA, IC o IL (se podria considerar incluir AMISTOSO)
 
PSEUDOCODIGO:
si se han jugado los partidos de hoy entonces semanal= siguiente de 'hoy' si_no semanal=hoy

linea = [desde 1 hasta muestra]
{
segun semanal
{>>> MODIFICADO acabo de darme cuenta que los partidos internacionales son Domingo por la mañana ...
    si
semanal>SABADO entonces
       {
       si
es_antes de DOMINGO a las 10:00 entonces {si en_internacionales entonces Carga linea de partido internacional}
       si en_copa entonces {competicion=COPA, Carga linea de Copa}
       semanal=DOMINGO
       }

>>> fin de MODIFICADO    
    {si semanal=de LUNES a VIERNES entonces
           {****PARTE QUE CALCULA rival de LIGA*****
            si jornada >19 entonces calendario= jornada -19 si_no calendario=jornada
            rival= 21 - equipo - calendario
            si rival < 1 entonces rival=rival+19
            si rival = equipo entonces rival=0
            si equipo = 0 entonces {si jornada impar entonces rival= rival/2 si_no rival= rival + jornada/2 -1 }
            ****PARTE QUE CALCULA si juega de local/visitante*****
            si equipo> 9 entonces cambios=equipo-10 si_no cambios=equipo
            si cambios>1 entonces cambios=cambios*2-1 si_no {si equipo=0 o equipo=11 entonces cambios=2 si_no cambios=0}
            en_casa=SI
            si jornada impar entonces {si equipo>9 entonces en_casa=NO}
                si_no {si equipo<10 entonces en_casa=NO}}
            si calendario > 20-cambios {si en_casa=SI entonces en_casa=NO si_no en_casa=SI}

>>> segun resto(jornada/5) {si 0 semanal=V; si 1 semanal=L; si 2 semanal=M; si 3 semanal=X; si 4 semanal=J}
 
            escribe LIGA semanal jornada lista(rival) en_casa
            siguiente linea
            incrementar jornada
****
       }

incrementar semanal >>> 



-------------
Josekarlos


Escrito Por: elnuevo
Fecha de publicación: 14/Abril/2016 a las 13:20
A mi me parece muy buena idea es un coñazo tener que ir viendo jornada por jornada para saber tu calendario. 


Escrito Por: ruli545
Fecha de publicación: 14/Abril/2016 a las 18:11
Apoyo. Como dices es un coñazo tener que ir jornada a jornada

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


SocioPeñaCulePcLigaNº31



Escrito Por: vicotron
Fecha de publicación: 14/Abril/2016 a las 20:36
Apoyo, vaya currada te has pegado. bravo!

-------------
CF NouBarris (Brasil)
CF NouBarris-B (Yugoslavia)
Antiguo Fuentelsaz
15 Campeonatos de Liga 1a División
11 Copas de Brasil
Campeón 1a. Edición Supercopa
Campeón Astros Brasileños (Trofeo Pelé)


Escrito Por: VALLE SFC
Fecha de publicación: 23/Abril/2016 a las 12:51
gracias ... solo pretendo ayudar. ... 

-------------
Josekarlos


Escrito Por: markinos
Fecha de publicación: 29/Abril/2016 a las 16:06
Que crack. Tienes mi enhorabuena y mi apoyo.

-------------
Vindeover JK
--
1 Interliga, 14 Ligas (1ª Div), 11 Copas, 7 Supercopas Finlandesas, 2 Copa Musho Cadiz, 6 Hyypiä Mejor Manager, 1 Finescup, 1 Copa Igualdad, 1 Copa Lord, 1 Copa Europa, 2 SFC
1 Interliga, 11 Ligas (1ª Div), 3 Copas, Copa Novatos, Copa sin Nombre, Copa Litmanen, Copa Musho Cadiz, Copa Balcón de la Rivera, Copa Igualdad, 2 Copa 5 puntos, Copa Europa, Copa SFC, Copa Van Basten


Escrito Por: Lebowsky
Fecha de publicación: 29/Abril/2016 a las 17:12
Apoyo sin duda. 

Estaría muy bien ver el calendario propio con solo pulsar un botón.

Mis felicitaciones por el trabajo Bien


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

3 Interligas
3 Mundiales
41 Ligas Holanda
17 Copas Holanda
29 Flecha Cup
31 Supercopas holandesas
12 Superligas holandesas
10 Pepa Cup, 1 Copa Venezzia, 1 Copa Van Basten
Medalla Oro SuperLiga 2021, Diploma SuperLiga 2022



Escrito Por: Rocky
Fecha de publicación: 30/Abril/2016 a las 22:41
Apoyo.

Es lo más mirado en el mundo real. El calendario y cuando te van a tocar los rivales directos.

Y en pcliga para planificar las rotaciones sería de lo mas útil.

Digo.

-------------
Rocky
CISTÉRNIGA. 1ª YUGOSLAVIA
Everybody has a plan until I hit them.
Campeón de la Flecha Cup XXVI edición (y de dos copas yugoslavas)
Ours is not to reason why. Ours is but to do and die
In the ring, I never knew fear


Escrito Por: BlackDevil
Fecha de publicación: 02/Mayo/2016 a las 00:34
Me parece una buena idea. Apoyo.
Es algo muy util.

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



Revelación del año en Primera


Escrito Por: DiWiT®
Fecha de publicación: 05/Mayo/2016 a las 21:46
Apoyo, me parece perfecto, cada dia a esta hora me vendría de perlas. Y si al lado de cada partido pones la MR11 del equipo rival ya, lo bordas Bien

-------------
https://amzn.to/2KKPObJ">
▀▄▀▄▀▄▀ https://www.losmejoresdiscosssd.es/ -


Escrito Por: VALLE SFC
Fecha de publicación: 01/Junio/2016 a las 19:57
Si contamos los apoyos que tiene esta mejora en sus dos fases, creo que se le puede subir a Cristian.Si le sirve para realizarla bien ... y si no la ve viable pues nada otra será.

Gracias


-------------
Josekarlos


Escrito Por: admin
Fecha de publicación: 22/Julio/2016 a las 12:05
Pasaros por el listado de PARTIDOS JUGADOS, pulsando sobre el botón PJ en la clasificación de cualquier equipo... SORPRESA!!!! Bien


Escrito Por: admin
Fecha de publicación: 22/Julio/2016 a las 12:14
Olvidaba decirlo, finalmente lo he hecho con una consulta SQL, compleja, pero era mi idea inicial, es cierto que con el código que se ha mostrado por aquí podríamos haber conseguido hacerlo, pero me gusta tener el código muy limpio y optimizado, así que lo suyo era conseguir hacer una consulta que devolviera los registros necesarios, creo que es una de las consultas SQL más complejas que he hecho hasta la fecha en mi vida profesional, me he tenido casi 2 horas para conseguir pulirla y que arrojara exactamente lo que yo quería.

Muchas gracias chicos, por la ayuda prestada y por insistir en sacar adelante esta mejora.


Escrito Por: vivaalmeria
Fecha de publicación: 22/Julio/2016 a las 12:18
Muy buena pinta tiene la mejora jaja. Por supuesto no se pueden incluir en el calendario ni la Copa ni las competiciones internacionales supongo, no? 

Enorme trabajo Cristian.


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


Escrito Por: Rizostron
Fecha de publicación: 22/Julio/2016 a las 12:27
Buena mejora Aplauso

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








Escrito Por: Stormy
Fecha de publicación: 22/Julio/2016 a las 12:40
Buen trabajo, ahora es más cómodo saber el calendario.

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

Stormy - 1ª división de Bélgica
2 Copas (09/07/2017 - 10/06/2018)
1 Mundial (2019)
1 Flecha Cup (25/05/2019)
Campeón '¿DÓNDE ESTOY?' (3ª edición)



Escrito Por: DiWiT®
Fecha de publicación: 22/Julio/2016 a las 13:15
Originalmente publicado por vivaalmeria

Muy buena pinta tiene la mejora jaja. Por supuesto no se pueden incluir en el calendario ni la Copa ni las competiciones internacionales supongo, no? 

Enorme trabajo Cristian.

la mejora está bien, pero esto seria ideal!


-------------
https://amzn.to/2KKPObJ">
▀▄▀▄▀▄▀ https://www.losmejoresdiscosssd.es/ -


Escrito Por: Borat
Fecha de publicación: 22/Julio/2016 a las 13:21
Muy bueno,se agradece el esfuerzo...........

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


Escrito Por: ruli545
Fecha de publicación: 22/Julio/2016 a las 21:34
Esta chulo. Grande Cristian

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


SocioPeñaCulePcLigaNº31



Escrito Por: maolete
Fecha de publicación: 22/Julio/2016 a las 23:28
Gracias !!!

Originalmente publicado por DiWiT®

Originalmente publicado por vivaalmeria

Muy buena pinta tiene la mejora jaja. Por supuesto no se pueden incluir en el calendario ni la Copa ni las competiciones internacionales supongo, no? 

Enorme trabajo Cristian.

la mejora está bien, pero esto seria ideal!

Pues hacer esa consulta creo que sería complicado... pero colocar en la tabla que se muestra, ciertas filas fijas que digan "Primera Ronda de Copa", "Semifinales de Copa", "Jornada de Partidos internacionales", creo que sería factible, ¿no, admin?


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



Escrito Por: VALLE SFC
Fecha de publicación: 23/Julio/2016 a las 11:03
Originalmente publicado por admin

Olvidaba decirlo, finalmente lo he hecho con una consulta SQL, compleja, pero era mi idea inicial, es cierto que con el código que se ha mostrado por aquí podríamos haber conseguido hacerlo, pero me gusta tener el código muy limpio y optimizado, así que lo suyo era conseguir hacer una consulta que devolviera los registros necesarios, creo que es una de las consultas SQL más complejas que he hecho hasta la fecha en mi vida profesional, me he tenido casi 2 horas para conseguir pulirla y que arrojara exactamente lo que yo quería.

Muchas gracias chicos, por la ayuda prestada y por insistir en sacar adelante esta mejora.


Aplauso Gracias por el esfuerzo, muy buena mejora conseguida. ...
....
Para bordarlo ... un acceso directo? Adular

TEMPORADA

Calendario

Resultados

Clasificación

InterLiga

InterCopa

InterNovel

Copa

Calendario Propio

Estadisticas Temporada

Noticias



Guiño


-------------
Josekarlos


Escrito Por: admin
Fecha de publicación: 24/Julio/2016 a las 14:16
Me pedís demasiado, lo que he hecho es agrupar de 5 en 5 las jornadas y poner el día de la semana en que se jugará cada partido, por recomendación de un Colaborador. Creo que ayudará bastante. En cuanto a poner si se juega copa o partido internacional, creo que todos sabemos cuando se juegan... no lo veo muy necesario.


Originalmente publicado por DiWiT®

Originalmente publicado por vivaalmeria

Muy buena pinta tiene la mejora jaja. Por supuesto no se pueden incluir en el calendario ni la Copa ni las competiciones internacionales supongo, no? 

Enorme trabajo Cristian.

la mejora está bien, pero esto seria ideal!


Escrito Por: admin
Fecha de publicación: 24/Julio/2016 a las 14:16
Lo pongo ahora mismo, me parece buena idea...


Originalmente publicado por VALLE SFC

Originalmente publicado por admin

Olvidaba decirlo, finalmente lo he hecho con una consulta SQL, compleja, pero era mi idea inicial, es cierto que con el código que se ha mostrado por aquí podríamos haber conseguido hacerlo, pero me gusta tener el código muy limpio y optimizado, así que lo suyo era conseguir hacer una consulta que devolviera los registros necesarios, creo que es una de las consultas SQL más complejas que he hecho hasta la fecha en mi vida profesional, me he tenido casi 2 horas para conseguir pulirla y que arrojara exactamente lo que yo quería.

Muchas gracias chicos, por la ayuda prestada y por insistir en sacar adelante esta mejora.


Aplauso Gracias por el esfuerzo, muy buena mejora conseguida. ...
....
Para bordarlo ... un acceso directo? Adular

TEMPORADA

Calendario

Resultados

Clasificación

InterLiga

InterCopa

InterNovel

Copa

Calendario Propio

Estadisticas Temporada

Noticias



Guiño


Escrito Por: AlbertVille
Fecha de publicación: 24/Julio/2016 a las 14:24
ahora si que lo has bordao! Gran trabajo.

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


Escrito Por: berdica
Fecha de publicación: 24/Julio/2016 a las 14:28
Muy buena mejora.Gracias por tu trabajo Cristian.


Escrito Por: ruli545
Fecha de publicación: 24/Julio/2016 a las 15:11


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


SocioPeñaCulePcLigaNº31



Escrito Por: Rocky
Fecha de publicación: 24/Julio/2016 a las 20:52
Excelente trabajo!!!

-------------
Rocky
CISTÉRNIGA. 1ª YUGOSLAVIA
Everybody has a plan until I hit them.
Campeón de la Flecha Cup XXVI edición (y de dos copas yugoslavas)
Ours is not to reason why. Ours is but to do and die
In the ring, I never knew fear



Imprimir página | Close Window