A programação

Se está criando ou pretende criar um Cardgame Digital, usando esse recurso do Micro Aventuras, então essa página foi feita especialmente para você.

Em primeiro lugar, os espaços no Cardgame são praticamente os mesmos do Boardgame, então vale ler ou reler o e-book geral sobre o sistema Card & Board aqui mesmo, na TILT online.

A abertura do jogo segue a lógica básica de todo jogo: apresentar informações pertinentes e fornecer links para o jogador entrar na partida. Um script "abertura" terá portanto uma aparência como a que se segue:

retscp= abertura
cardboard !
fontsize= 30
fontcolor= 200000
fontface= Courier
style= font-weight:800;
brd= tic,000,020,600,128,logo.png,login

Note que o "motor" do Card & Board é acionado pela instrução "cardboard !". O ponto de exclamação apenas diz para o sistema que o nome que irá aparecer na aba do navegador é o próprio nome do jogo. Caso contrário, será mostrada a frase que estiver no lugar do "!".

As instruções específicas do "motor" Card & Board começam sempre com um "brd= ", seguido por parâmetros específicos. No caso acima temos uma instrução "tic".

Esta instrução é praticamente pau pra toda obra, já que é a base de print das imagens e frases, com ou sem links. Os números dela indicam posição X, posição Y, largura da área, altura da área, nome de uma imagem ou uma frase e o parâmetro seguinte, se existir, será o nome do script que será executado quando ocorrer um clique (ou dedada) nessa área.

Os primeiros passos para entrada no jogo implicam em identificar o jogador e em seguida definir o "personagem" que ele vai ser durante as partidas. No caso do Amazônia Cards, o controle de posse dos cards é feito pelo e-mail do jogador, então a primeira coisa a fazer é solicitar esse e-mail ao jogador, dentro de um script que poderia ser chamado de "login".

style= font-family:Courier New; font-size:24; font-weight:bold;
brd= iptrg,015,540,300,32,1,login,Seu e-mail:,

A instrução "iptrg" é usada para criar um campo de input na página, cujas dimensões são determinadas pelos 4 parâmetros seguintes, informando a seguir o número do registrador (1) que receberá esse input e o nome do script (login) para onde ele deve retornar, após o jogador preencher o campo e pressionar a tecla ENTER. O parâmetro seguinte é a frase que irá aparecer antes do campo de input.

Uma vez que o jogador deu entrada no seu e-mail, o passo seguinte é obter a senha do mesmo.

style= font-family:Courier New; font-size:24; font-weight:bold;
brd= iptrg,015,690,200,32,2,login,Senha:,

Note que a senha será colocada no registrados número 2 e, de posse do e-mail (1) e da senha (2) é possível então checar o jogador e recuperar os dados de partida dele.

A instrução "vldmail" valida (ou não) o e-mail informado. É preciso informar um registrador para receber o resultado dessa validação (3) e um label para direcionar a execução do script, caso esteja tudo ok com esse jogador.

brd= vldmail,3,#1,#2,Lib
if= 3,1,reg=,7,E-mail não registrado!
if= 3,2,reg=,7,Senha não confere!
if= 3,3,reg=,7,Bloqueado. Consulte e-mail...
if= 2,,reg=,7,Informe sua senha!
if= 1,,reg=,7,Informe seu e-mail!

...

:Lib
  brd= getnome,15
  script= perfil
  fim

Caso esteja tudo certo, no desvio para o label ":Lib" será executada a instrução "getnome", que nada mais faz do que colocar no registrador informado (15) o nome que o jogador está usando. Em seguida um script será executado.

Esse script, que pode ter o nome "perfil", irá justamente permitir a edição das características do jogador e o primeiro input é o do nome dele.

fontsize= 28
brd= tic,000,100,600,40,Quem você deseja ser hoje?,
style= font-family:Courier New; font-size:24; font-weight:600;
brd= nojog,50,180,200,30,15,perfil,Seu nome:

Note que o nome informado, instrução "nojog", será colocado no registrador número 15, avisando que o retorno será para mesmo script (perfil).

A seleção da "foto" do personagem depende de alguns procedimentos anteriores: criar pelo menos 6 "fotos", fazer o upload delas para o servidor da sua aventura e em seguida colocar em 6 registradores os nomes de cada um desses arquivos. No caso do Amazônia Cards foi selecionado o registrador 20 para compor o link de seleção da "foto" e os nomes delas estarão nos registradores seguintes (21, 22, 23, 24, 25 e 26).

Veja como é feita a montagem para cada umas das possíveis "fotos":

reg= 20,defimg&Prm=
reg$ 20,#21
brd= tic,010,330,80,100,#21,#20

Note que o link efetivo irá direcionar a execução de retorno para um script chamado "defimg", que nada mais faz do que assumir a imagem selecionada na instrução "defimg", retornando logo após ao script "perfil".

param= 10,prm
if= 10,,script,perfil
brd= defimg,#15,#10
script perfil
fim

O último requisito antes do jogo começar é deixar a opção do jogador colocar uma selfie dele como "foto" do jogador.

brd= getfoto,#15,13
reg$ 13,?r=
reg= 12,0
reg? 12,100
reg$ 13,#12
if# 13,,brd=,tic,010,600,80,100,#13,
brd= getfile,120,600,480,100,15,perfil,Upload,

Uma vez que já exista o arquivo selfie, a instrução "getfoto" prepara o loading da mesma e a instrução "getfile" faz o upload. Só lembrando que o nome do jogador estará no registrador 15 e o arquivo da foto estará no registrador 13.

Um programador mais atento perguntaria: "e aquela programação ninja acontecendo no registrador 12?". Boa pergunta, Fernandinho.

Os navegadores costumam trazer os arquivos gráficos para um cache e assim, na próxima vez que eles forem solicitados, a internet é poupada de um download desnecessário. Isso é uma coisa boa não apenas porque "economiza" banda de transmissão mas principalmente porque torna o processamento da página HTML muito mais rápido.

O problema é que o nome usado pela foto do jogador é sempre o mesmo, ainda que a imagem em si tenha sido trocada. Como o navegador mantém a imagem anterior no cache, com quase 100% de acerto, o que vai acontecer é que, mesmo solicitando a troca, o jogador ainda verá a imagem anterior.

Para contornar isso acrescentamos ao link da foto um parâmetro compucabalístico do tipo "?r=número". Esse número precisa ser aleatório para que o navegador "pense" que se trata de uma imagem nova e forçosamente faça o download dela.

Aposto um card do Amazônia que você não sabia desse truque. Vai aceitar ou trucar?