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 
-------------
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
------------- 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!!!!
|
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 
-------------
|
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. |
Gracias por el esfuerzo, muy buena mejora conseguida. ... .... Para bordarlo ... un acceso directo? 
TEMPORADA
|
Calendario
|
Resultados
|
Clasificación
|
InterLiga
|
InterCopa
|
InterNovel
|
Copa
|
Calendario Propio
|
Estadisticas Temporada
|
Noticias
|

-------------
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. |
Gracias por el esfuerzo, muy buena mejora conseguida. ... .... Para bordarlo ... un acceso directo? 
TEMPORADA
|
Calendario
|
Resultados
|
Clasificación
|
InterLiga
|
InterCopa
|
InterNovel
|
Copa
|
Calendario Propio
|
Estadisticas Temporada
|
Noticias
|

|
|
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
|
|