Cada persona que quiera organizar que toma esas reglas como base para crear los retos:
- Número de sentencias. Cuando un reto especifique el límite de sentencias, es necesario saber que
se entiende por sentencia. - ¿Qué se considera una sentencia? Una sentencia es una línea de código generalmente acabada en
‘;’ (punto y coma). De manera general tienen dos formas, una asignación a una variable (o una
operación más asignación: +=, -=, etc), o una llamada a una función o proceso de la cual se
desprecia el retorno. While, for, from, repeat, end, process, local, global, y demás palabras
reservadas del lenguaje (así como las expresiones contenidas en el while, repeat, from, etc) no
cuentan como sentencias. - ¿Qué se considera una sentencia (2)? Ahora bien, si dentro de la expresión de un while o similar
se usa una asignación (ej: while( (var += 5) < 50 ) sí que contaría como sentencia). Las operaciones
de incremento usadas en las expresiones de las estructuras de control no contarán como sentencias
(ej: while( var++ < 50 ) no contaría como sentencia). - ¿Qué se considera una sentencia (3)? Un poco más rebuscado. La utilización de asignaciones
como subexpresiones se considerará como sentencias extra (ej: var1 = var2 + (var3 += 4); contará
como 2 sentencias). Si se presenta un .prg que roce el límite de sentencias de un reto será obligado
que documente la presencia de estos sucesos del siguiente modo: var1 = var2 + (var3 += 4); //
MULTIPLE MULTIPLE MULTIPLE. El no hacerlo podrá ser motivo de descalificación.
Votaciones (1). Se usará un sistema de votaciones basado en orden. Cada votante dirá cuales son
los que considera los mejores juegos (u otro tipo de entrega). Ej: (1º- Asteroids, 2º- Arkanoid, 3º-
Phantomas) - Votaciones (2). Tipos de votantes. Existen tres tipos de votantes, jurado, participantes, y público.
Un votante que sea jurado debe ser especificado antes de empezar el reto y no podrá participar en el
mismo. Se considerará participante a todos aquellos que hayan participado Y realizado una entrega
válida. El resto de votantes se considerarán público. - Votaciones (3). Entregas no válidas. Si alguien realiza una entrega y no se considera válida por no
cumplir algún requisito (ej: número de sentencias límite) no se le considerará participante, y su voto
contará como el de público. Si alguien es descalificado de un modo “poco honroso” (ej: supera el
número de sentencias límite pero intenta ocultarlo de forma intencionada) será descalificado y
además no se le permitirá votar. - Votaciones (4). Peso de cada votante. En todo reto, el valor del voto de un participante será cinco
veces mayor que el de un votante público. Esto no podrá ser modificado por las reglas específicas
de cada reto. El valor del voto del jurado puede ser establecido sin restricciones en cada reto. Si no
se especifica nada, se considera que el voto de un votante jurado equivale al de un participante. - Votaciones (5). Número de posiciones en los votos. Según el tipo de votante tendrás que dar el
orden de más o menos entregas. (Ej: los participantes dirán los 3 mejores juegos, mientras que el
público dirán los 2 mejores juegos). Veamos un ejemplo de votación de un participante:
1º – Asteroids, 2º – Arkanoid, 3º – Phantomas
Y ahora un ejemplo de votación de un no participante (público):
1º – Phantomas, 2º – Discworld - Votaciones (7). ¿Cuántos puntos vale cada posición? El sistema de puntuación está preparado
para que cada posición valga el doble que la siguiente. Por ejemplo, si un juego ha sido votado una
vez en primera posición recibirá los mismos puntos que si ha sido votado dos veces en segunda
posición. Del mismo modo, dos terceras posiciones equivalen a una segunda posición y así
sucesivamente. Para hacerte una idea, puedes pensar que el primer juego que pongas le estas dando
1 punto, al segundo juego le estas dando 0.5 puntos, al tercer juego 0.25 puntos y así
sucesivamente. Por supuesto si eres un votante público tus votos valdrán una quinta parte que los de
un participante. - Votaciones (8). Autovotos. No, no está permitido. Un participante no puede votar su propio juego o
entrega. - Plazos. Todo reto tendrá una duración mínima de una semana, y máxima de dos semanas, a
especificar por el reto en cuestión. Si no se especifica nada se asume una duración de una semana. - Presentación de ideas para retos. Si quieres presentar una idea para un reto, enviásela por PM a
CicTec muy muy resumida (sólo la idea base). Nos pondremos en contacto contigo si consideramos
que es oportuno realizar algún cambio o alguna aclaración hasta que tengamos una idea válida. A
partir de ese momento pasará a una lista de ideas posibles. Al principio de cada reto se ejecutará un
rand para elegir la idea que se utiliza para el reto. Dicho rand será efectuado JUSTO antes de
iniciarse el reto, por lo que nadie tendrá conocimiento del reto que va a tener lugar hasta que este
empiece. Aunque no esté estrictamente prohibido, recomendamos que las ideas se envíen sólo por
PM a CicTec y no se comenten en ningún sitio. Esto hará que cuando una idea salga elegida sea
sorpresa. Por supuesto nadie te impide comentar la idea si así lo prefieres, y no por ello tu idea va a
ser descalificada o recibir algún tipo de personalización en cuanto a la probabilidad de salir elegida. - Excepciones. Si tienes alguna idea que sea incompatible con alguna de estas reglas (ej: un reto
relámpago de 24 horas de duracion) ponte en contacto con CicTec por PM y se verá que se puede
hacer. Por ejemplo, un reto así no se podría hacer con el sistema normal de eleccion de ideas con
rand, ya que no se sabría que va a salir elegida hasta el mismo dia de inicio, y habría gente que se
perdería por completo el reto si tardase en conectarse al foro. Sin embargo, eso no quita que
decidamos seguir adelante con la idea, eso sí, avisando con una semana de antelación. En cualquier
caso, la regla de oro es, si tienes cualquier idea, PM a CicTec, y ya veremos que se puede hacer.