este capítulo é novo 215
6
jQuery e JavaScript
Luke jQuery, eu sou
seu pai!
jQuery não consegue fazer tudo sozinho. Embora seja uma biblioteca
JavaScript, infelizmente ele não pode fazer tudo que sua linguagem pai pode fazer.
Neste capítulo, veremos alguns dos recursos de JavaScript que você precisará para
criar sites bastante convincentes e como jQuery pode usá-los para criar listas e
objetos customizados, assim como fazer loop nessas listas e objetos, para facilitar
ainda mais sua vida.
Há algumas coisas que
você não pode fazer
sozinho, filho...
BOOK - UCjQuery - PRODUTO FINAL.indb 215 16/05/2013 10:49:17
216 Capítulo 6
jquery ou nada
Animando o Lounge do
Use a Cabeça!
Você está com sorte, as notícias sobre suas façanhas com jQuery estão se espalhando.
Veja esse e-mail do Lounge do Use a Cabeça! pedindo ajuda para aumentar o nível de
entretenimento de seus visitantes.
De: Lounge do Use a Cabeça!
Assunto: Aplicativo para o Jogo de Cartas Vinte e Um
Olá!
Aqui são seus amigos do Lounge do
Use a Cabeça!
. Esperamos que você possa nos
ajudar com um novo aplicativo que queremos dar aos nossos visitantes.
Gostaríamos MESMO de um aplicativo para jogo de cartas vinte e um em nosso
site. Você consegue fazer isso?
Idealmente, o jogador clicaria e obteria duas cartas, com a opção de pedir mais
cartas.
Essas são as regras da casa que queremos incluir no jogo:
1. Ás é sempre alta (igualando-se a 11, nunca a 1).
2. Se as cartas do jogador somam mais de 21, então ele perdeu e deve começar
novamente. O jogo acabou.
3. Se as cartas do jogador somam exatamente 21, então ele conseguiu um vinte e
um e o jogo acabou.
4. Se as cartas do jogador somam 21 ou menos, mas já distribuiu cinco cartas,
então o jogo acabou, e ele ganha.
Se nenhuma dessas condições for atendida, os jogadores podem
pedir outra carta.
Se uma das regras/condições for atendida, então o jogo acaba.
Dê aos jogadores a opção de retornar e jogar novamente.
Mas não queremos que eles tenham de recarregar a página. O jogo
deve retornar sozinho.
Você consegue fazer isso para nós? Ficaríamos muito gratos por isso!
do
Use a Cabeça!
do
Use a Cabeça!
BOOK - UCjQuery - PRODUTO FINAL.indb 216 16/05/2013 10:49:18
você está aqui 217
jQuery e JavaScript
Jim: Ei, gente, vocês leram o e-mail do pessoal do Lounge
do Use a Cabeça!?
Frank: Sim, parece que eles querem um jogo de cartas
vinte e um fácil de jogar no site deles. Acho que ele deve
ser bastante objetivo.
Jim: Objetivo? Mas é um jogo de vinte e um! Precisamos
de um baralho de cartas, um carteador, um balcão para
apoiar as mãos e outras coisas mais. Você acha que
podemos fazer tudo isso?
Joe: Não será fácil, mas acho que podemos fazer isso.
Como você disse, precisaremos de alguma coisa para lidar
com as cartas. Podemos escrever uma função para fazer
isso. Já escrevemos uma função aleatória antes, então
provavelmente possamos usá-la novamente.
Jim: Ah, sim... mas e as cartas? Há 52 delas em
um baralho.
Frank: Podemos simplesmente ter uma lista grande delas
e escolher uma aleatoriamente da lista cada vez.
Jim: Mas como evitamos a escolha da mesma carta
duas vezes?
Frank: Acho que eu sei como fazer isso...
Jim: Uau, isso é impressionante! E que tal lembrar-se de
quais cartas já temos? E contá-las enquanto jogamos?
Frank: Ok, agora você me pegou. Não tenho certeza de
como fazer isso.
Joe: Não precisa se preocupar. Existem uns recursos
de JavaScript e jQuery que podemos usar para nos
ajudar nisso.
Jim: Espere, espere, JavaScript? Não podemos usar as
variáveis ou os arrays do jQuery para lembrar nossas
cartas? Pensei que realmente não tivéssemos de entrar em
JavaScript se estamos usando o jQuery...
Frank: As variáveis por si só podem não suportar isso. Elas
só podem armazenar um valor por vez, como um número
ou uma string de texto, ou um elemento particular da
página. E um array do jQuery pode guardar diversos
valores, mas somente dos elementos do DOM retornados
por um seletor...
Joe: Está certo. Precisamos de algo um pouco mais flexível.
Frank: Assim como nossas próprias estruturas ou tipos
de variável.
Joe: Mais uma vez, está correto! E precisaremos de
JavaScript para criar nossas próprias estruturas...
Jim
Frank
Joe
BOOK - UCjQuery - PRODUTO FINAL.indb 217 16/05/2013 10:49:18
Get Use A Cabeça jQuery now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.