Facebook Twitter E-mail RSS
formats

Curso iOS –> Assignment II, EC3 – Game settings

Publicado en 01/10/2013 en Curso de Stanford

En este “segundo” extra credit del segundo assignment vamos a añadir otra pestaña más al UITabBarViewController que nos permitirá cambiar algunos ajustes de nuestra aplicación. En mi caso solo se me ha ocurrido poner algunos botones para resetear las puntuaciones máximas, pero podéis llevar vuestra imaginación más allá e intentar mejorar esta tarea opcional por vuestra cuenta.

“Add another tab for some “settings” in the game.”

 

Para esta tarea los cambios en el modelo van a ser muy simples (deberemos añadir la funcionalidad de resetear las puntuaciones), por lo que vamos a empezar con la vista en el storyboard.

Interfaz de la pestaña de ajustes

Figura 1 – Interfaz de la pestaña de ajustes

Leer más…

 
formats

Curso iOS –> Assignment II, EC2 – User high scores

Publicado en 29/09/2013 en Curso de Stanford

Bienvenidos al primer extra credit de este assignment. He decidido empezar por la teórica segunda tarea y seguir con la tercera, para finalmente hacer la primera; ya que la primera tarea consiste en crear iconos para nuestras pestañas del UITabBarController, y como en la segunda y tercera vamos a crear nuevas pestañas, he decidido que este era el mejor orden.

“Add third tab to track the user’s scores. It should be clear which scores were playing card match games and which scores were Set card match games.”

 

Para empezar, debemos copiar la clase GameResult utilizada en la lecture 5 del curso de Stanford. No voy a explicar lo ya implementado, ya que lo explican perfectamente en la mencionada clase; lo que si voy a hacer es explicar las modificaciones necesarias, ya que esta clase tan solo esta preparada para guardar los resultados de un juego, no de diferentes juegos.

Lo primero que vamos a cambiar es la API pública: debemos cambiar el método allGameResults por allResultsOfGame:, pasándole como argumento el juego del cual queremos los resultados. Además, el inicializador también deberá recibir un juego como parámetro, ya que al crear un GameResult debemos saber a que juego va asociado.

Leer más…

 
formats

Curso iOS –> Assignment II, CH8 – Controller: SetGameViewController

Publicado en 29/09/2013 en Curso de Stanford

Ya estamos en el último capítulo de las tareas obligatorias de este segundo assignment! En este último capítulo vamos a implementar el controlador para el nuevo juego Set. Gracias a la nueva jerarquía que hemos implementado, tan solo deberemos implementar los métodos abstractos de CardMatchingGameViewController, al igual que hemos hecho con MatchGameViewController.

 

En este último capítulo vamos a completar las required tasks 6 y 8 del segundo assignment, completando todas las tareas:

“Instead of drawing the cards in the classic form (we’ll do that next week), we’ll use these three characters ▲ ● ■ and use attributes in NSAttributedString to draw them appropriately (i.e. colors and shading).”

“Your Set game should also report (mis)matches like Required Task #3 in Assignment 1, but you’ll have to enhance this feature (to use NSAttributedString) to make it work for displaying Set card matches.”

 

Leer más…

 
formats

Curso iOS –> Assignment II, CH7 – View: Set game interface

Publicado en 22/07/2013 en Curso de Stanford

Ahora que ya tenemos la jerarquía de los ViewControllers completada, ya podemos crear la vista del nuevo juego Set, conectando todos los IBOutlets y IBActions sin miedo a tener que cambiarlos posteriormente.

 

En este capítulo vamos a completar las required tasks 5 y 7 de este segundo assignment:

“Your Set game should have 24 cards.”

“Your Set game should have a Deal button, Score label and Flips label just like your playing card matching game from Assignment 1 does.”

 

La vista del juego Set va a ser muy parecida a la del otro juego, Match. Lo primero que vamos a hacer es añadir tanto los UILabels de los contadores de flips y puntuación como el botón de deal en la parte baja de la vista (de la misma forma que lo hicimos anteriormente).

Una vez hecho esto, añadimos justo encima el UISlider que nos permitirá navegar por el histórico de movimientos y justo encima de este slider, el UILabel donde aparece la descripción del movimiento elegido.

Leer más…

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
formats

Curso iOS –> Assignment II, CH6 – Controller: Object-Oriented, superclassing (Part 2)

Publicado en 18/07/2013 en Curso de Stanford

Seguimos con la jerarquía de ViewControllers: vamos ahora con las IBActions. Al igual que con las propiedades, las podemos dejar todas en la superclase, y a diferencia de los getters y setters, no hace falta cambiarlas. Lo que si debemos cambiar es el método updateUI. Vamos a utilizar la misma estrategia que con el getter de game, dejando la parte común en updateUI y creando métodos que van a ser implementados por las subclases añadiendo el código particular de cada juego.

// CardMatchingGameViewController.h
@interface CardMatchingGameViewController : UIViewController
...

// Set all the UI parameters of the card button using the card
- (void)setCardButtonUI:(UIButton *)cardButton 
                forCard:(Card *)card;

// Set all the UI parameters of the description label using the movement
- (void)setFlipDescriptionLabelUI:(UILabel *)flipDescriptionLabel 
                      forMovement:(CardMatchingGameMovement *)movement;

@end

// CardMatchingGameViewController.m
@implementation CardMatchingGameViewController
...

- (void)setCardButtonUI:(UIButton *)cardButton forCard:(Card *)card
{}

- (void)setFlipDescriptionLabelUI:(UILabel *)flipDescriptionLabel 
                      forMovement:(CardMatchingGameMovement *)movement
{}
@end

Leer más…

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
1 Comentario  comments 
© Programación iOS
credit