\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}
\graphicspath{{media/}}
\date{\today}
\title{}
\author{}
\begin{document}



\section{\texorpdfstring{Lidia Sumie Yano}{Lidia Sumie Yano}}
\label{sec:lidia_sumie_yano}


\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/lidiayano/img-20180128-wa0000-1}


Mestranda em Fisiologia Geral do Instituto de Biociências da Universidade de São Paulo (IB-USP) no Laboratório de Fisiologia Respiratória e Metabolismo Energético.

Título do projeto de pesquisa: ,,Efeitos de altas temperaturas e do termoperíodo sobre a capacidade metabólica dos tecidos em Lithobates catesbeianus (Shaw, 1802)."

\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{Meus Exercícios}{Meus Exercicios}}
\label{sec:meus_exercicios}


Link para a página com os exercícios resolvidos $\rightarrow$ \href{http://ecor.ib.usp.br./doku.php?id=05_curso_antigo:r2019:alunos:trabalho_final:lidiayano:exec}{.:exec}

\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{Proposta do Trabalho Final}{Proposta do Trabalho Final}}
\label{sec:proposta_do_trabalho_final}


\subsubsection{\texorpdfstring{Plano A (Principal): JO-KEN-PÔ!}{Plano A Principal JOKENPO}}
\label{sec:plano_a_principal_jokenpo}


\centering\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/lidiayano/jo-ken-po}


\paragraph{\texorpdfstring{Contextualização}{Contextualizaao}}
\label{sec:contextualizaao}


O Jokenpô tradicional é uma modalidade de jogo infantil praticado entre duas pessoas que demanda decisões rápidas e auxilia no desenvolvimento cognitivo, mas isso não impede que adultos também o pratiquem pra decidir quem vai lavar a louça LOL

\emph{O jogo é simples:} Ambos os jogadores escolhem ao mesmo tempo uma opção de objeto (pedra, papel ou tesoura) e sinalizam um formato característico com a mão referente a cada objeto escolhido. O objeto vencedor é definido por uma regra cíclica de forma que cada um dos objetos tem as mesmas chances de “vencer” e “perder” para um determinado objeto, como esquematizado na imagem abaixo:
\centering\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/lidiayano/jokenpo}


\emph{As únicas opções de final são:} Jogador 1 ganha, Jogador 2 ganha ou empate. O empate ocorre quando o mesmo elemento é apresentado pelos dois jogadores, sendo assim, repete-se o procedimento até que um deles ganhe.

Atualmente este jogo apresenta muitas variantes dependendo do nível de complexidade e possibilidades, como por exemplo o aumento na número de elementos que, além de aumentar a complexidade das relações de “perder” e “ganhar” entre eles permite com que mais jogadores participem da mesma partida. Entretanto, para esta atividade proposta, seguirá a regra tradicional jogando o operador contra a máquina e adicionado da possibilidade de escolha em ser realizado apenas uma vez, melhor de 3 ou melhor de 5 partidas. \textbf{Que vença o melhor!}

\paragraph{\texorpdfstring{Planejamento da Função}{Planejamento da Funao}}
\label{sec:planejamento_da_funao}


\subparagraph{\texorpdfstring{1) Entrada}{1 Entrada}}
\label{sec:1_entrada}

\begin{itemize}
  \item \texttt{jokenpo(x)}

  \begin{itemize}
    \item \texttt{x} = é o número de partidas sendo (1) para uma vez, (3) para melhor de 3 ou (5) para melhor de 5 partidas.
  \end{itemize}
  \end{itemize}


\subparagraph{\texorpdfstring{2) Verificação de Parâmetros}{2 Verificaao de Parametros}}
\label{sec:2_verificaao_de_parametros}

      \begin{itemize}
  \item \texttt{x} = Só pode ser 1, 3 e 5. 

  \begin{itemize}
    \item Se não, escreve: ,,Ow! Você só pode escolher entre 1, 3 ou 5 partidas!!"
  \end{itemize}
  \end{itemize}


\subparagraph{\texorpdfstring{3) Pseudo-código}{3 Pseudocodigo}}
\label{sec:3_pseudocodigo}

      \begin{enumerate}
  \item Cria uma matriz \texttt{tab.res} de quem ganha, perde e empata. \centering\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/lidiayano/tab_resultado}

  \item Cria uma tabela de pontuação chamada \texttt{tab.pontos} com 1 linha e 2 colunas com valores NAs e títulos das colunas como ,,operador" e ,,computador":\centering\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/lidiayano/tab_pontos}

  \item Escreve a instrução geral do jogo: \textbf{“Escolha entre pedra, papel ou tesoura e o programa escolherá um destes elementos aleatoriamente. Saiba que tesoura ganha de papel, papel ganha de pedra e pedra ganha de tesoura. Boa sorte!”}
  \item Se \texttt{jokenpo(1)}:

  \begin{enumerate}
    \item Comando interativo: ,,Escolha uma opção: (pedra/papel/tesoura)" e guarda no objeto \texttt{linha1}
    \item Escolhe aleatoriamente um das opções e guarda no objeto \texttt{coluna1}
    \item Busca \texttt{[linha1,coluna1]} da matriz \texttt{tab.res}

      \begin{enumerate}
      \item Se o resultado for \texttt{empate}: 

          \begin{enumerate}
        \item repete a interação, a escolha aleatória, e a busca do resultado até que o resultado seja diferente de \texttt{empate}
      \end{enumerate}
      \item Se o resultado for \texttt{ganha} :

          \begin{enumerate}
        \item Adiciona “1” na coluna [1] do objeto \texttt{tab.pontos}  e adiciona “0” na coluna [2]
        \item Retorna a tabela \texttt{tab.pontos} e uma frase: \textbf{,,Parabéns, você é o vencedor!"}
      \end{enumerate}
      \item Se o resultado for \texttt{perde} :

          \begin{enumerate}
        \item Adiciona “0” na coluna [1] de \texttt{tab.pontos} e adiciona “1” na coluna [2]
        \item Retorna a tabela \texttt{tab.pontos} e a frase: \textbf{,,Que pena... mais sorte na próxima vez!"}
      \end{enumerate}
      \end{enumerate}
      \end{enumerate}
  \item Se \texttt{jokenpo(3)}:

  \begin{enumerate}
    \item Gera um ciclo:

      \begin{enumerate}
      \item Comando interativo: ,,Escolha uma opção: (pedra/papel/tesoura)" e guarda no objeto \texttt{linha(i)}
      \item Escolhe aleatoriamente um das opções e guarda no objeto \texttt{coluna(i)}
      \item Busca \texttt{[linha(i),coluna(i)]} da matriz \texttt{tab.res}

          \begin{enumerate}
        \item Se o resultado for \texttt{empate}:

              \begin{enumerate}
          \item não faz nada e retorna as opções, uma frase de empate
        \end{enumerate}
        \item Se o resultado for \texttt{ganha}:

              \begin{enumerate}
          \item Soma 1 a coluna [1] da \texttt{tab.pontos} , retorna \texttt{tab.pontos}, e as opções e uma frase \textbf{,,Parabéns, você é o vencedor!"}
        \end{enumerate}
        \item Se o resultado for \texttt{perde}:

              \begin{enumerate}
          \item Soma 1 a coluna [2] da \texttt{tab.pontos}, retorna \texttt{tab.pontos}, as opções e uma frase \textbf{,,Que pena... mais sorte na próxima vez!"}
        \end{enumerate}
        \item Se o \texttt{OPERADOR == 2}:  para e retorna \texttt{tab.pontos} e a frase \textbf{,,Fim de jogo! Voce ganhou!"}
        \item Se o \texttt{COMPUTADOR == 2}: para e retorna \texttt{tab.pontos} e a frase \textbf{,,Fim de jogo! Não foi dessa vez...tente da próxima!"}
        \item Se o \texttt{OPERADOR == COMPUTADOR}: retorna a frase: \textbf{,,Empate de pontos! Este será o último jogo!"}
      \end{enumerate}
      \end{enumerate}
      \end{enumerate}
  \item Se \texttt{jokenpo(5)}:

  \begin{enumerate}
    \item Gera um ciclo:

      \begin{enumerate}
      \item Comando interativo: ,,Escolha uma opção: (pedra/papel/tesoura)" e guarda no objeto \texttt{linha(i)}
      \item Escolhe aleatoriamente um das opções e guarda no objeto \texttt{coluna(i)}
      \item Busca \texttt{[linha(i),coluna(i)]} da matriz \texttt{tab.res}

          \begin{enumerate}
        \item Se o resultado for \texttt{empate}:

              \begin{enumerate}
          \item não faz nada e retorna as opções, uma frase de empate
        \end{enumerate}
        \item Se o resultado for \texttt{ganha}:

              \begin{enumerate}
          \item Soma 1 a coluna [1] da \texttt{tab.pontos} , retorna \texttt{tab.pontos}, e as opções e uma frase 
        \end{enumerate}
        \item Se o resultado for \texttt{perde}:

              \begin{enumerate}
          \item Soma 1 a coluna [2] da \texttt{tab.pontos}, retorna \texttt{tab.pontos}, as opções e uma frase de perdeu
        \end{enumerate}
        \item Se o \texttt{OPERADOR == 3}: para e retorna \texttt{tab.pontos} e a frase \textbf{,,Parabéns, você é o vencedor!"}
        \item Se o \texttt{COMPUTADOR == 3}: para e retorna \texttt{tab.pontos} e a frase \textbf{,,Fim de jogo! Não foi dessa vez...tente da próxima!"}
        \item Se o \texttt{OPERADOR == 2} e \texttt{COMPUTADOR == 2}: retorna a frase: \textbf{,,Empate de pontos! Este será o último jogo!"}
      \end{enumerate}
      \end{enumerate}
      \end{enumerate}
      \end{enumerate}
 Julia Barreto
Oi, Lidia, tudo bele? Achei a função divertida, um pouco simples mas acho que você pode pensar em maneiras de como complementá-la para ficar mais interessante pro usuário e desafiadora para ti. Podemos seguir com ela se a gente tentar pensar em como aprimorar. Por exemplo, fiquei me perguntando o porquê de limitar o número de partidas a até 5... Porque não usar um número real positivo como argumento e seguir o jogo? Se por acaso fosse par ou desse empate, valeria oferecer a rodada de desempate. 

Use sua criatividade para caprichar mais, sei que Jokenpo é um jogo simples por essência mas lembre-se que você tem liberdade poética para produzir uma novidade em prol do seu aprendizado! Me escreve se quiser conversar sobre ideias e/ou qualquer dúvida que venha a ter. Estou à disposição =)
\href{mailto:barretoj@usp.br}{Julia Barreto}

\begin{center}
\line(1,0){250}
\end{center}



\subsubsection{\texorpdfstring{Plano B: TOP SECRET!}{Plano B TOP SECRET}}
\label{sec:plano_b_top_secret}


Ao mesmo tempo que a internet tem facilitado nossas vidas, o acesso a informações pessoais tem se tornado mais acessível para qualquer outra pessoa. Redes sociais, bancos etc, fornecem uma senha pessoal ou pedem para que o usuário as criem para facilitar a memorização, mas nem sempre estes códigos pessoais de acesso apresentam um nível de dificuldade suficiente para impedir de serem hackeadas. Sendo assim, é comum que as empresas exijam uma série de características durante a criação da senha para evitar este tipo de complicação como, por exemplo, incluir letras maiúsculas e minúsculas, números e até caracteres especiais. Por outro lado isto demanda tempo e, convenhamos, criatividade também.

Portanto, o objetivo desta função é oferecer senhas (podendo ser aleatórias ou não) baseada nem alguns requisitos fornecidos pelo usuário.

\subparagraph{\texorpdfstring{1) Entrada}{1 Entrada}}
\label{sec:1_entrada2}

              \begin{itemize}
  \item senha(\texttt{n.letras}, \texttt{n.LETRAS}, \texttt{n.num},\texttt{ n.caract} , \texttt{palavra}, \texttt{mix}, \texttt{invertido})
\end{itemize}

\begin{itemize}
  \item \texttt{n.letras} = número de letras do alfabeto minúsculas (classe:interger, \texttt{n.letras}\textgreater = 0)
  \item \texttt{n.LETRAS} = número de letras do alfabeto maiúsculas (classe:interger, \texttt{n.LETRAS}\textgreater = 0)
  \item \texttt{n.num} = quantidade de números (classe:interger, \texttt{n.num}\textgreater = 0)
  \item \texttt{n.caract} = número de caracteres especiais (classe:interger, \texttt{n.caract}\textgreater = 0)
  \item \texttt{palavra} = vetor contendo as letras da palavra separadas dentro do objeto
  \item \texttt{mix} = 

  \begin{itemize}
    \item Se \texttt{TRUE} , realizará mistura aleatória de \texttt{n.letras} e/ou \texttt{n.LETRAS} e/ou  \texttt{n.num} e/ou \texttt{ n.caract} e/ou \texttt{palavra} . 
    \item Se \texttt{FALSE}, é mantido nesta mesma ordem.
  \end{itemize}
  \item \texttt{invertido} = 

  \begin{itemize}
    \item Se \texttt{TRUE}, realizará a substituição das letras de \texttt{palavra} por números que possuem aparência semelhante. 
    \item Se \texttt{FALSE}, é mantido.
  \end{itemize}
  \end{itemize}


\subparagraph{\texorpdfstring{2) Verificação de Parâmetros}{2 Verificaao de Parametros}}
\label{sec:2_verificaao_de_parametros2}

      \begin{itemize}
  \item \texttt{n.letras}, \texttt{n.LETRAS},  \texttt{n.num}, \texttt{n.caract} = são números inteiros, maiores ou iguais a zero. Se não, escreve: \textbf{,, O número precisa ser inteiro e maior ou igual a zero"}
  \item \texttt{palavra} = é um vetor que contêm apenas uma letra em cada casa. Se não, escreve: \textbf{,,A palavra deve ser escrita dentro de um vetor cada letra individualmente (ex. 'p','a','l','a','v','r','a')}
\end{itemize}


\subparagraph{\texorpdfstring{3) Pseudo-código}{3 Pseudocodigo}}
\label{sec:3_pseudocodigo2}

\begin{enumerate}
  \item Criar um objeto com todas as letras minúsculas do alfabeto grego (\texttt{l})
  \item Criar um objeto com todas as letras maiúsculas do alfabeto grego (\texttt{L})
  \item Criar um objeto com os números de 0 a 9 (\texttt{n})
  \item Criar um objeto com os caracteres especiais básicos mais comuns como \#,@,\% etc (\texttt{ce})
  \item Criar uma matriz com os números que se parecem com as letras maiúsculas e minúsculas (\texttt{inv})(por exemplo: A é 4, S é 5 etc..)
  \item Cria o objeto \texttt{senha} para armazenar as informações
  \item Se \texttt{n.letras != 0} : 

  \begin{enumerate}
    \item Cria um objeto (\texttt{letras}) a partir do objeto \texttt{l} aleatoriamente com essa quantidade
    \item Adiciona ao objeto \texttt{senha}
  \end{enumerate}
  \item Se \texttt{n.LETRAS != 0} : 

  \begin{enumerate}
    \item cria um objeto (\texttt{LETRAS}) a partir do objeto \texttt{L} aleatoriamente com essa quantidade
    \item Adiciona ao objeto \texttt{senha}
  \end{enumerate}
  \item Se \texttt{n.num != 0 } : 

  \begin{enumerate}
    \item cria um objeto (\texttt{num}) a partir do objeto \texttt{n} aleatoriamente com essa quantidade
    \item Adiciona ao objeto \texttt{senha}
  \end{enumerate}
  \item Se \texttt{n.caract != 0 } : 

  \begin{enumerate}
    \item cria um objeto (\texttt{caract}) a partir do objeto \texttt{ce} aleatoriamente com essa quantidade
    \item Adiciona ao objeto \texttt{senha}
  \end{enumerate}
  \item Se \texttt{palavra != NULL } : 

  \begin{enumerate}
    \item Adiciona ao objeto \texttt{senha}
  \end{enumerate}
  \item Se \texttt{mix == TRUE}

  \begin{enumerate}
    \item Então pega o objeto \texttt{senha} e mistura aleatoriamente 
  \end{enumerate}
  \item Se \texttt{invertido == TRUE}

  \begin{enumerate}
    \item Então substitui cada letra do vetor de \texttt{palavra} por sua correspondente da tabela \texttt{inv}
    \item Adiciona ao objeto \texttt{senha}
  \end{enumerate}
  \end{enumerate}


\subparagraph{\texorpdfstring{Saída}{Saida}}
\label{sec:saida}


Retorna o objeto \texttt{senha} Julia Barreto
Oi de novo! Achei a proposta interessante e útil mas, ainda sim, é simples. Seguir com essa seria necessário pensar em como poderia complementá-la para ficar mais instigante. Valeria estabelecer valores default para cada argumento e quem sabe tentar encaixar controles de fluxo. Sobre a saída, além da senha, poderia entregar uma dica ou lembrete para ela ou mesmo retomar quais são os requisitos que ela preencheu.
\href{mailto:barretoj@usp.br}{Julia Barreto}


\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{O Trabalho Final}{O Trabalho Final}}
\label{sec:o_trabalho_final}


A proposta escolhida foi o Plano A: Jokenpo, porém com algumas modificações e acréscimos:
      \begin{enumerate}
  \item Segui a sugestão feita em colocar o primeiro argumento de número de partidas (\texttt{n.partidas}) como qualquer número inteiro, positivo e diferente de zero. 
  \item Adicionalmente, foi acrescentado um argumento que permite a escolha do \texttt{estilo} de jogo: tradicional ou mais complexa, com 5 elementos.
  \item Foi acrescentado imagens com frases que aparecem em determinados momentos utilizando o pacote \texttt{magick}
  \item Foi acrescentado também o pacote \texttt{crayon} para colorir frases  
\end{enumerate}

\begin{itemize}
  \item Link para a página da função \texttt{jokenpo()} $\rightarrow$ \href{http://ecor.ib.usp.br./doku.php?id=05_curso_antigo:r2019:alunos:trabalho_final:lidiayano:jokenpo}{.:jokenpo()}
  \item Link para a página do \texttt{help} da função $\rightarrow$ \href{http://ecor.ib.usp.br./doku.php?id=05_curso_antigo:r2019:alunos:trabalho_final:lidiayano:help}{.:help}
\end{itemize}


\end{document}
