Hola a todos,
aquí John Bawler con el curso de complejidad
y vamos a mirar la tarea
para la teoría de información
el nivel intermedio
se nos pidió en la pregunta nº2
modificar el modelo de SlotMachine
para incluir los siguientes macro-estados,
exactamente dos del mismo tipo
sin limones
y dos limones y una naranja
entonces, así es como lo haremos
vamos a copiar eso
vamos a mirar el seleccionador aquí
la imagen en donde los casos
están disponibles
y vamos a agregar estos estados
ya los agregué
y ahora haré esto
ahora tendré exactamente dos del mismo tipo
ahora vamos al código y vemos
cómo los otros seleccionadores funcionan
los encontramos aquí
aquí hay uno que es muy similar
llamado "al menos dos del mismo tipo"
y ese usa la medida
de la forma en todos los rollos
y mide el largo de esa lista
después de que quitamos los duplicados
entonces, sólo una actualización
pidámosle que muestre
cuál es la forma en todos los rollos
sólo estoy modificando
"al menos dos del mismo tipo"
para que nos muestre cuál es la forma
en todos los rollos
entonces, voy a mirar el centro de comandos
lo haré más pequeño por ahora
para que podamos ver
el centro de comandos
ok, ahora cuando selecciono
"al menos dos del mismo tipo"
inicio y jalo la palanca
y vemos aquí abajo
esta es la lista
voy a parar esto ahora
así se ve la lista
esta lista es sólo 3 series
entonces ahora que recordamos
como se ve
copiemos esto aquí
y renombrémoslo
a lo que teníamos acá
"exactamente dos del mismo tipo"
y ahora voy a editar esto
siempre es una buena idea cortar y pegar
cuando tienes una oportunidad
voy a tomar esto, copiar
y ponerlo en este código
estamos buscando
exactamente dos del mismo tipo
eso significa que cuando tomemos esta lista
con los tres nombres de las frutas
si tiene un duplicado
si cualquiera de las dos son la misma,
removemos los duplicados
y el largo de esto será
exactamente igual a 2
entonces decimos que esto es
igual a 2, ok?
entonces trataré de poner esto
para que lo veamos
ahora sí
entonces, exactamente dos del mismo tipo
debería elegir los estados
donde los rollos son exactamente igual a 2
probémoslo
exactamente dos del mismo tipo
inicio, jalamos la palanca
esto no nos está ayudando demasiado
sostengamos eso
lancemos un código de depuración
para que podamos ver...
voy a poner un "stop" aquí
entonces cada vez que le acierte,
parará
entonces podremos ver cuándo va a parar
exactamente dos del mismo tipo,
sí, dos peras
dos peras
dos peras de nuevo
dos cerezas,
parece estar funcionando
voy a volver al código y remover
mi stop de depuración
volver aquí
estamos buscando "sin limones"
es nuestro siguiente desafío,
así que voy a copiar y pegar esto de nuevo
copiar esto, y este será llamado
"sin limones"
para este, creo que usaremos
este miembro,
este está pidiendo por al menos un limón
y le pedimos que si "limon"
es un miembro de esto
podemos basicamente decir
mira, no hay limones
si no es el caso,
que la forma limón esté allí
que no sea un miembro
eso es una booleana,
que termina en un signo de pregunta
usaremos nuestro "stop"
para que podamos depurar esto
y no olvidemos quitar esta parte
que quedó del copia/pega
no miembro, limón
en esta lista, limón no es un miembro
y pararemos si le acertamos a eso
vamos a la interface, jalamos la palanca
sin limones, sin limones
parece estar funcionando
siguiente desafío es
dos limones y una naranja
vamos a copiar eso, agregarlo aquí
esta es una serie
vamos al código y pondremos esa serie
haremos otro cortar y pegar
creo que no copié suficiente
vamos a agarrar esto
copiarlo para acá
copiar esta serie
entonces que pondremos para este
claramente vamos a querer
determinar si hay una naranja
vamos a decir
removimos una naranja de la lista
como sólo se permite una naranja
cuando removamos una naranja de esta lista
el largo de esa lista
tendrá que ser dos
entonces el largo de la naranja removida
será dos
también podemos decir
si removemos los limones
entonces esperaríamos
que el largo de esa lista
sea 1, sólo queda una naranja
entonces eso, cuando los pones juntos,
debería identificarlos correctamente
tengo que remover mi código de depuración
veamos si esto resulta
vamos a testarlo
inicio, jalamos la palanca
se detiene en una naranja y dos limones
jugamos de nuevo
naranja y dos limones
dos limones y una naranja
ok, parece que funciona
revisamos el código aquí
quitamos esto, y estamos listos
con esa parte final del problema nº2