Sr. Obijuan, póngase en contacto conmigo via mail, por favor. Tengo una propuesta que podría resultar entretenida para ambos (viciados de los juegos de puzzles que somos :b)

Saludos ^_^

Esto lo habéis podido leer todos en los comentarios de la entrada anterior. Chihiro se ponía en contacto conmigo para llevar a cabo una idea. Yo la desconocía por completo. Malpensando podría incluso parecer una proposición indecente.

Sería poco después, cuando le envié el email que me pide, cuando entiendo su propuesta: ¿Quieres programar para Nintendo DS?

Tras pensarlo un instante, y preguntarme si sería capaz de aprender y programar para DS, sabiendo que la cosa no es demasiado dificil, acepté la oferta, y quedamos para plantear el juego.

Esto fue hace una semana, la primera reunión.

Hoy por hoy sabemos lo que queremos, tenemos una idea de por donde empezar, y yo ya tengo todas las herramientas listas para comenzar a programar. Aunque de momento estoy en fase de aprendizaje de las librerias para programar en Nintendo DS.

El juego en cuestión se llama Poro-Poro Power Squash y será un tipo puzzle. Y hasta aquí puedo leer.

Espero poder daros muy pronto más datos.

Más información: Chupando naranjitas.

Pincha para agrandar

Han sido meses… pero los días más intensos han sido del lunes a hoy. Cinco días sin parar programando como loco.

¿Sabéis que hoy he dormido cuatro horas?

Pero ya está hecho. Acabado. C’est fini. Solo queda escribir la memoria, empaquetarlo y subirlo al GAP.

¿Habrá conseguido Metodología de la Programación que mi vicio al Tetris desaparezca? No lo sé, espero que no. Aunque trabajosa, ha sido una bonita experiencia :)

Cuando juegue ahora veré en cada paso las funciones que he programado. Quizá incluso detecte errores y cosas que pueda añadir, o incluso piense como puede funcionar aquel respiro que no programé. Pero ahora no. Ahora, no.

Se acabó. He acabado el Tetris.

Llevo unos días desaparecido en combate… Lo sé. Me conecto a MSN y no respondo a nadie, solo programo, programo, programo.

El Tetris tengo que entregarlo mañana. Y no está para entregar. Llevo 3 días trabajando a destajo, durmiendo poquísimo, con muchas ganas de tirarme por una ventana (a veces de tirar el PC por una ventana), y sin parar de programar. Y el Tetris lleva tres días descojonandose de mi, dando errores a punta pala y cada cual más raro y difícil de solucionar.

Así que, si estos días os da por abrirme una ventanita en MSN y no contesto, no os lo toméis a mal. Es que no puedo contestar. Casi no le contesto a Hikari, que ya es decir…

En fin, después de esta breve pausa para relajarme, voy a continuar… Que después del Tetris tengo que ponerme a estudiar como loco para un examen que tengo el lunes…

“No he fracasado. Solo he encontrado 10,000 maneras que no me serviran.” .- Thomas Alva Edison.

Tetrimino L

Me dijeron que lo publicarían el Lunes. Pero no, ya está publicado.

Ayer entré por casualidad a mi página de “Metodología de la Programación II” y me lo encontré publicado.

Eso significa que ya ha comenzado. Ya podemos preparar los dedos para programar.

No os voy a poner todo el ejercicio, porque si yo que estudio la carrera no entiendo algunas cosas, vosotros os vais a liar aun más. Pero os lo puedo resumir en una frase.

Práctica Final de MP2: Programe usted el Tetris.

El Tetris. ¿Hace falta que explique de que va este juego? Odio cuando alguien dice “Bah, esto lo conocéis todos, así que paso de explicarlo…”, pero en esta ocasión estoy 99% seguro de que podría decirlo. No obstante, he dicho que odio esa frase…

El Tetris (en ruso: Тетрис) es un videojuego de puzzle ruso inventado por Alexey Pazhitnov en 1985.

Piezas bidimensionales de cuatro bloques en distintas disposiciones caen de la parte superior de la pantalla. El jugador no puede impedir esta caída pero puede decidir la rotación de la pieza (0°, 90°, 180°, 270°) y en que lugar debe caer. Cuando una línea horizontal se completa, esa línea desaparece y todas las piezas que están por encima descienden una posición, liberando espacio de juego y por tanto facilitando la tarea de situar nuevas piezas. La caída de las piezas se acelera de forma constante. El juego acaba cuando las piezas se amontonan hasta salir del área de juego.

¡Y yo tengo que programar el Tetris!… Con sus piececitas, su tablero, su sistema de puntuaciones, sus niveles, sus velocidades… Todo. Incluso, si puedo, le voy a poner su música.

Tiene gracia. Tiene mucha gracia. Este juego me encanta, desde siempre. Hace unos meses incluso recuperé el vicio con “Tetris DS“; mi record lo fui poniendo en el blog… Nivel 123 (que por cierto, Hikari, sé que me has adelantado…). Fue uno de los primeros juegos de mi Game Boy (junto a ‘The Legend of Zelda: Link’s Awakening’ ySuper Mario Land’). Y ahora, precisamente, tengo que programar uno de los juegos que marcaron mi vida.

En fin, ¡Adelante! Que sea algo tan significativo para mi me motiva muchísimo para hacerlo.

¡Hey, cuatro líneas! ¡Tetris!

Triángulo de Pascal o de Tartaglia

¿Habíais visto alguna vez este triángulo de números tan curioso? Yo ya lo conocía, pero para el que no, veamos que nos dice la Wikipedia:

El triángulo de Pascal es un triángulo de números enteros, infinito y simétrico.

Se construye de la siguiente manera: Se empieza por el « 1 » de la cumbre. De una línea a la siguiente se conviene escribir los números con un desfase de media casilla. Así, las casillas (que no se dibujan) tendrán cada una dos casillas justo encima, en la línea anterior. El valor que se escribe en una casilla es la suma de los valores de las dos casillas encima de ella. El valor cero no se escribe. Por ejemplo, en la última línea dibujada, el cuarto valor es 84 = 28 + 56, suma del tercer y cuarto valor de la línea anterior. Se observa, y no es difícil demostrarlo, que la capa exterior está formada de unos, la segunda capa de los naturales en orden creciente, que los números no hacen más que subir de una línea a la siguiente y que existe un eje de simetría vertical que pasa por el vértice.

Y a partir de aquí, empieza la wiki a comentar sus fórmulas matemáticas y tal, que no voy a reproducir yo aquí. Os he dejado el enlace.

Bueno, pues mi última práctica era exactamente eso: hacer un Triángulo de Pascal. A lo mejor lo habéis leído en mi Twitter.

Y por fin ayer la acabé. Después de una semana y media la acabé. Con su ventanita, su petición de datos… Que bonito T_T. Funciona, sin problemas. Por fin T_T.

En fin… Hasta la semana que viene no vuelvo a tocar la programación, lo juro…

Llevo semanas sin publicar nada en el blog, casi sin encender el ordenador, y no necesito dar una explicación demasiado complicada para que lo entendáis:

Estaba de exámenes.

Y han acabado hoy, por fin. Cierto es que no me he presentado a todas, y que no espero demasiado de este catastrofico primer cuatrimestre… Pero no se ha querido ir sin darme una buena noticia:

¡He aprobado programación T_T!

Vale, es una, una sola, tengo más asignaturas… pero el agobio que he tenido todos estos días pensando en cómo demonios me habría salido, se me ha ido de un plumazo. Y es que un examen de programación en papel, es duro. Los programadores me entendéis. Escribir con un bolígrafo un código en C++ de un programa (mejor dicho, de tres) más bien dificilito, sin poder depurar, sin poder compilar y probar, es MUY difícil de sacarlo bien. Porque no puedes comprobar que funciona sin errores, o que te has comido una llave }, o que no has puesto un punto y coma ; … O simplemente, ¡Si el algoritmo es correcto o no!

Pero no, he aprobado… no tengo una notaza, ciertamente, tengo un 5, pero he aprobado…

Una menos :) Ahora, pa’lante con el segundo cuatrimestre.

Homer Programa

Cuando era pequeño, en los ratitos antes de dormirme, mi mente imaginaba cosas como por ejemplo una linea. De ahí derivaba en un rectangulo. De ahí, iba jugando con las lineas hasta obtener figuras, desdoblandolas, recortandolas, sacando cuadrados de dentro de otro cuadrado… Vamos, que me “rayaba” mucho… xD

El caso es que hoy me ha tocado jugar con rectangulos en programación. Tenía que hacer un ejercicio que decía así:

3. Establecer una definición de una estructura que represente el tipo de dato rectángulo. A partir de la definición propuesta construir:
a) Una función que calcule el área de un rectángulo.
b) Una función que calcule el perímetro de un rectángulo.
c) Una función que dados dos rectángulos, nos diga cual de ellos es mayor, teniendo en cuenta que el mayor es aquel que tiene mayor área.
d) Una función que nos diga si dos rectángulos son idénticos. Ser idénticos implica que tienen el mismo área y el mismo perímetro.
e) Una función que intercambie los valores entre dos variables de tipo rectángulo.
f ) Una función que dado un vector de rectángulos los ordene de mayor a menor.

Tras leerme profundamente el tema 5 (estructuras), y entenderlo bastante mejor de lo que me esperaba, me he dicho “Vamos a probar con este…”

Y con Coldplay acompañandome desde mi pequeño ObiPod, me he pasado hora y media-dos horas haciendo el programita. No es difícil, estaréis pensando algunos. Hombre, pues no. Difícil no es. Pero pensad que hoy he entendido yo lo que es una estructura xD. Y que han sido 236 lineas de código (que sí, que vale, que 236 lineas no son nada, pero que yo nunca he hecho un programa tan largo, leñe xD)

Lo cierto es que después de arreglar los chorrocientos fallos que daba el compilador… ¡Funciona! Probé que todas las funciones hiciesen lo correcto (tuve que arreglar todas xD) y el programa funciona perfectamente, ajustándose a lo que me piden. ¡Qué emoción! :fan: (En un alarde de originalidad, lo he llamado “Rectangulos 1.0″ … xD)

Es la primera vez que hago un programa complejo sin presión por el examen ni leches. Que funcione por mi propia cuenta es para mi todo un logro. Estoy bastante contento conmigo mismo.

Mañana probaré otro ejercicio… a ver si me sale también :)

Autoestima+=10;

8 ejercicios. 2 semanas para hacerlos. Muchos quebraderos de cabeza. Dedos cansados de teclear…

Dolor… Mucho DOLORRR…

Y de esos 8 ejercicios, solo te puede entrar uno en el examen…

¡Tu decides cuál será! Envia EXAMEN seguido del número del ejercicio al…

- Eh… Espera, que esto no es el “Gran Programa”… Es un examen de metodología de programación…

- Ops…

(Por favor, esperen unos instantes mientras el cerebro de Obi recupera su estupidez habitual, gracias)

Bueno, ya, ya podemos seguir ¬¬

La cosa es asi: dos semanas antes de un examen de MP1, nos dan una relacion de ejercicios. Uno de ellos nos entra al examen, asi que más te vale intentar sacarlos todos en tu casita durante esas dos semanas… y saber hacerlos todos, claro.

Cuando llegamos al examen, se nos dice el número del ejercicio, y a tirar líneas de código, tienes una hora y media.

Los ejercicios la primera vez que lees la relación acojonan, amargan, alguno incluso ha abandonado ya la asignatura (lo sé porque había menos gente en clase en este examen que en el primero). Y cuando los haces son hasta complicados.

Pero luego pasa lo que pasa… y es que tienes la puñetera suerte de que te ponen uno de los más fáciles de toda la relación.

Claro que, para variar, tu no te acuerdas de cómo narices se hacía. Te haces un esquemita en un folio aparte, ves más o menos como debe ir, implementas funciones para ver dónde te va a fallar la cosa… lo pruebas con las correspondientes validaciones que te da el profesor para ver en qué falla y qué tienes que arreglar…

“CORRECTO.”

¿O_o Eing? ¿Me ha salido a la primera? Pero si no me acordaba de cómo iba :S

En resumidas cuentas, acabo de llegar a casa y seguramente haya aprobado el examen… Ahora, toca descansar, que estoy hasta las narices de programar xD

Después de días de cabreos, agobios, desesperación, ataques de histeria, lanzamiento de cascos contra el portatil, y un largo etc… ¡Por fin he acabado la puñetera relación de ejercicios de programación para mi examen!

Ya he acabado y sé como hacer los 12 malditos ejercicios. Los primeros son horriblemente dificiles. O tal vez sea que mi cerebro por fin se ha acostumbrado a pensar como debe. De cualquier forma, por fin soy libre. Solo me queda repasarmelos antes del examen, para recordarlos y saber hacer el ejercicio que me pidan.

Yo no se el resto… pero esta noche… me la voy a tomar de relax… Que ya va siendo hora…

Argh.

Hace unos días me dijeron que mi primer examen de programación es el próximo miércoles. ¿Cómo se estudia para programación? Bueno, fácil, los profesores publican una relación de 12 ejercicios, tu la miras, haces los 12 ejercicios, y uno de ellos cae en el examen.

La teoría es preciosa.

Lo cierto es que los ejercicios en cuestión son difíciles. Pero, difíciles, ¿Eh?. Y cuando digo difíciles no me refiero a difícil del tipo “Abrir un abrefacil de un tetra brik de leche” (que cachondo el que le puso el nombrecito de abrefácil). No. Me refiero a difícil en plan que acabas desesperado. Desesperado hasta el punto de querer tirar tu ordenador por la ventana.

Inocente de ti, piensas “Bueno, 12 ejercicios, el primero será fácil”. Y te encuentras con que si un tal Nicómaco entre los siglos I y II descubrió una propiedad relacionada con los numeros impares y los cubos tal que con el primer impar se obtiene el primer cubo, con los dos siguientes impares se obtienen los dos siguientes cubos… Algo así:

1^3 = 1 = 1.
2^3 = 3 + 5 = 8.
3^3 = 7 + 9 + 11 = 27.
4^3 = 13 + 15 + 17 + 19 = 64.

Y así sucesivamente. El programa que me piden es que calcule el cubo de un numero cualquiera usando esta propiedad.

A lo mejor alguno que me esté leyendo y tenga algo de experiencia de programación, dirá “Joder, ¿Y eso es difícil?”. Te respondo: Sí, lo es, es mi primer año programando, y aun tengo que acostumbrar mi mente tanto a la programación como a las matemáticas. Sobre todo a lo segundo.

Luego te das cuenta que… efectivamente, es de los mas fáciles de la relación : P

Llevo dos días que me voy a la cama un pelín agobiadete a cuenta del examen… por no decir que estoy irascible (imo lo ha sufrido, lo siento tio).

Debo tomarme con mas calma esto de programar… o voy a acabar mal.

¿Os he dicho ya que esta mañana me he despertado soñando
que estaba programando mi despertador y si sonaba a una
hora concreta la sentencia era que yo me tenía que levantar?
O algo así era… Que pesadilla… Voy a acabar fatal… xD