Hoje nós vamos recriar o Tigrinho os famosos cassinos online que vocês tanto vem por aí na internet utilizando a linguagem de programação Python do absoluto Zero isso tanto por questões de conhecimento já que durante essa aula nós vamos aprender muita coisa sobre lógica de programação orientação objetos geração de gráfico e também sobre a parte matemática e estatística de como que funciona uma máquina de um cassino Online mas também por questão de conscientização para te mostrar as técnicas tanto psicológicas quanto estatísticas que uma empresa com como essa pode utilizar para te manipular e tirar o seu
dinheiro por isso já fica como aviso nesse vídeo e não apostem em cassinos online hoje nós vamos recriar uma das máquinas que vocês encontram tanto em cassinos físicos como em Las Vegas mas também em cassinos online que é as máquinas caa nquel que funciona da Seguinte forma nós vamos ter três colunas dentro dessas máquinas em cada uma dessas colunas será gerada uma imagem aleatória dentro de um conjunto de imagens possíveis como a foto de um carro a foto de uma câmera a foto de uma casa foto de um monitor e assim por diante caso nas
três colunas tenha sido sorteado a mesma imagem o usuário que apostou o seu dinheiro recebe ele multiplicado por algum valor por exemplo por três Então se o usuário chegou ali e Colocou R 1 e nas três colunas foi sorteado a mesma imagem significa que o usuário receberá R 3 como recompensa se ele R 3 R 3 R 3 colocou 10 ele recebe 30 e assim por diante Mas caso o usuário coloque R 1 na aquela máquina e nas três colunas não caia a mesma imagem o usuário perde o R 1 que ele apostou e a
matemática dessa máquina a priori é muito simples e eu digo a priori porque partindo do pressuposto que esse seja um cassino Honesto Tem várias coisas que o cassino pode fazer para dificultar essa matemática e tornar ele ainda mais lucrativo mas a regra que estatística é muito simples nós vamos pegar a quantidade de imagens possíveis a serem geradas vamos supor que a gente tem cinco imagens aqui dentro por exemplo a foto de um carro de uma câmera de um monitor de uma casa e de uma bexiga nessas cinco imagens podem ser geradas em três colunas então
a matemática aqui Será 5 x 5 x 5 por exemplo casa casa e casa ou casa bexiga e carro caso as imagens sorteadas seja casa casa e casa ou câmera Câmera Câmera ou carro carro carro bexiga bexiga bexiga e assim por diante o usuário será premiado nesse caso a probabilidade de vitória do usuário são cinco em 125 ou melhor uma possibilidade em 25 tentativas partindo desse pressuposto o cassino teria que multiplicar o seu dinheiro a cada ganho em 25 vezes para que ficasse 5050 para Que você tivesse a mesma chance de ganhar ou perder mas
é claro que os cassinos onlines não fazem isso já que eles querem lucrar e nesse caso se a probabilidade for de 1 em 25 ele irá multiplicar o seu dinheiro por um valor menor que 25 porque caso ele multiplique por 25 ou mais ele ficará no prejuízo mais de 630 aulas agendamento de reuniões individuais com professores análises de código maratonas de programação e uma coletânia de Exercícios de lógica para te destacar em qualquer entrevista e tudo que você precisa para conquistar a sua primeira vaga como programador Python em um só lugar Essa é a Python
full além de certificado com o reconhecimento do Mec para destacar o seu currículo eem LinkedIn entre em nossa lista de espera e seja avisado da próxima turma primeiro link da descrição Então vamos começar a implementar essa nossa máquina caça nikel basicamente eu já trouxe aqui para Vocês uma classe básica é uma classe abstrata uma classe que ela não faz nada ela simplesmente indica quais métodos a nossa máquina terá que a Gente terá que implementar só por fins didáticos para vocês saberem o que que irá acontecer por debaixo dos panos então basicamente nós vamos ter aqui
a nossa máquina caça nquel e o principal método dela na verdade o único método que o usuário irá chamar será o método Play esse método será o método jogar onde ele irá passar Aqui o valor que ele deseja apostar e qual que é o jogador que tá realizando a sua aposta esse método irá realizar todas as configurações necessárias para realizar toda aquela aposta e aqui nós vamos ter vários métodos Como por exemplo o gerar permutação que que é o gerar permutação baseado na quantidade de imagens que eu tenho a serem geradas aleatoriamente quais são todas
as combinações possíveis depois nós vamos ter o método get final result que é para Pegar a combinação final ou seja vai ser casa casa casa ou vai ser casa casa e câmera ou vai ser câmera carro e bexiga e assim por diante depois nós temos o método display que vai fazer aquela animação ali do das colunas de ranos para quem já participou de máquinas cç Nickel vocês sabem do que eu tô falando e mostrar o resultado final ali daquelas imagens nós vamos ter o método check result user para verificar se o usuário ganhou ou perdeu
o update balance que Aumenta o dinheiro do usuário ou da própria máquina nós vamos ter o emojis que é para transformar um código unicode em um emoji o o gang que vai mostrar qual que é o lucro daquela máquina dado o seu saldo Inicial e o valor que ela tem atualmente e o método Play que o usuário vai chamar Então bora começar a implementar isso daqui e durante a implementação eu vou te mostrar algumas técnicas tanto psicológicas quanto estatísticas que as máquinas podem fazer Para te manipular Tanto para você ganhar menos ali durante o jogo
mas também para você ficar mais viciado e continuar julgando durante a partida Então agora eu vou criar a nossa classe aqui que vai ser a nossa classe caça Nickel Ok essa classe vai ser uma classe razoavelmente simples tá que a gente vai desenvolver a gente não vai colocar nenhum código muito complexo aqui então nós vamos ter o nosso método init Ok nesse nosso método Init primeiro nós vamos definir aqui quais são as imagens possíveis a serem definidas então self P símbolos e ele vai ser igual a um dicionário na chave do dicionário eu vou ter
o nome do símbolo e na no valor do dicionário eu vou ter o código unicode que representa um Emoji para utilizar emojis em Python é muito simples tá galera você pode pegar qualquer site se você colocar unicode emojis no Google vai aparecer um monte de sites que mostram emojis e seu Código unicode então aqui você pode reparar que nós temos vários emojis Vamos pegar esse primeiro esse primeiro emoji aqui ó esse sorriso aqui com os olhos em triângulo vamos pegar aqui ó o mais depois 1 mais nós temos um código que é um código em
hexadecimal deixa eu cont CRL C aqui perfeito vamos supor que a gente tem x vai ser igual a esse código ex decimal e eu quero transformar eu quero exibir esse código como um emoe no meu Terminal do Python para eu mostrar uma imagem então se eu colocar print x aqui e rodar o meu código Se eu colocar aqui eh Python 3 app.py ele vai me mostrar a string 1 f06 só que eu quero mostrar o Emoji Então eu preciso utilizar aqui as funções chr e pra função chr eu preciso passar aqui um hexadecimal Então eu
preciso converter esse número para um inteiro em exade decimal então eu passo int x dentro da função int eu passo um v 16 que é para falar a base que eu estou Convertendo então estou convertendo em hexadecimal quando eu rodo esse meu código aqui ele me mostre um emoji certo então eu vou utilizar esses emojis como imagem para exibir pro usuário qual que foi o seu result tá então aqui vamos pegar cinco símbolos aleatórios tá vamos pegar aqui alguns símbolos que representam C nesse daqui eu acho acho que fica bem legal então vou copiar isqui
primeiro primeiro na verdade eu vou copiar o nome dele então como chave Do dicionário eu vou definir aqui money Mouth Face dois pontos e agora eu coloco o seu código unicode muito simples Tá eu já deixei aqui essa variável pronta pra gente não ficar procurando vários emoj Então já selecionei vários emojis aqui que fazem menção a um cassino que são comummente utilizados em Cassino então aqui eu tenho cinco emojis aqui o aquele emojo que a gente acabou de ver uma carinha Fria um Alen um coração e uma explosão então será os cinco símbolos que podem
ser sorteados ali dentro da minha aplicação OK agora nós precisamos criar um método que vai ser o gen permutation gen permutation que que esse método faz ele basicamente vai passar aqui dado as minhas imagens dado os meus emojis quais são todas as combinações possíveis que eu tenho ali dentro então nós vamos fazer o seguinte vou falar que Permutations vai ser igual a list e agora para gerar todas as combinações eu vou utilizar a biblioteca que é o eer toos deixa eu até fechar essa classe aqui para não atrapalhar a gente então eu vou fazer Import
eer Tools o eer Tools ele tem a função que é o eer Tools pon e Aqui nós temos o products products o product ele vai gerar todas as combinações possíveis de uma lista ali dentro podendo repetir os valores Então pode dar mone multiface mone multiface Mone multiface três vezes dentro de ter. products eu vou passar Quais são as listas de dados que podem ser sorteados então vou passar selfie P símbolos P keys para pegar somente as chaves desses dicionários e depois eu preciso passar o parâmetro repeat fala quantas vezes vai ser repetido esses dados ou
seja quantas colunas a minha máquina canan tem no caso TRS e aqui eu posso printar para vocês permutation para vocês verem como que fica essa estrutura de dados então V Fazer x máquina 1 vai ser igual a caça nquel e aqui eu faço máquina 1 pon gen permutation vou rodar o meu código aqui e repare que ele gerou todas as combinações Então aqui tem lá mone Face money multiface money multiface money multiface money multiface code Face isso para todos os meus ícones ali dentro se a gente printar um lém dessa lista aqui e repare como
que tá essa estrutura de dados tá eu tenho uma lista dentro dessa lista eu tenho uma tupla e Essa tupla representa cada coluna da minha máquina então aqui eu tenho a primeira coluna aqui eu tenho a primeira e aqui eu tenho a aqui eu tenho a primeira aqui eu tenho segunda e aqui eu tenho terceira né Depois eu tenho uma outra combinação ó que é uma outra tupla certo que eu tenho a primeira coluna na segunda e a terceira e assim por diante então nós temos uma lista com várias tuplas e cada tupla representa uma
combinação possível onde ela tem três Colunas cada coluna representa a coluna de uma máquina caça nquel certo só que aqui se vocês repararem se eu der um Lane nisso daqui Lane permutation Lane permutations que que acontece nós temos 125 combinações possíveis mas apenas cinco casos onde o usuário irá receber a premiação que no caso daria uma probabilidade de um em 25 Mas isso pode até parecer vantajoso para um cassino porque ele irá receber muito dinheiro já que a chance de Vitória é muito baixa é Muito longe dos 50% só que aqui os cassinos precisam equilibrar
tanto a parte em financeira e estatística que ele vai ter em ganhos ali dentro ou seja a probabilidade do usuário ganhar porque ele quer que essa probabilidade seja baixa Porque quanto mais baixa mais ele vai receber só que tem um caso psicológico aqui se a probabilidade for muito baixa os usuários vão perceber que aquele Cassino que aquele local não paga ou paga muito pouco e eles vão deixar de Utilizar aquela plataforma e vão em outra ou não vão indicar paraos seus amigos não vão falar o famoso a plataforma tá pagando e eles querem isso se
eles colocam uma probabilidade muito pequena os usuários que jogarem eles vão deixar muito dinheiro para a plataforma mas vão ter menos jogadores jogando então eles precisam encontrar enar um equilíbrio nessa máquina de encontrar uma probabilidade que vici os jogadores façam com que eles percebam de vez em Quando eu ganho vou tentar ganhar e eles apostem cada vez mais e o usuário Vá ao longo do tempo pela lei dos grandes números ou seja quanto mais você joga ali dentro Mas você vai se aproximar daquela probabilidade igual se você tem uma moeda você pode jogar ela para
cima cinco vezes e ela cair cara mas quanto mais vezes você jogar mais próximo de 50% ele estará pela lei dos grandes números na matemática que você encontra então que que as casas de aposta vão Fazer elas não vão deixar essa probabilidade tão baixa elas vão aumentar um pouquinho e existe várias estratégias aqui para você aumentar essa probabilidade que que a gente pode fazer a gente pode pegar aqui todas as Os Casos que se repetem como por exemplo colision colision e colision herton Fire Heron fire herton fire e adicionar elas cada um deles mais uma
vez Então poderia fazer assim ó for e in self pon símbolos e agora eu faço um permutations que no Caso seria essa minha lista de possibilidades ponto appende e agora eu vou falar olha Adiciona uma tupla aqui dentro na qual seria I vírgula I vírgula I Então estou adicionando aqui seria per ponto kys né então Estou adicionando essa tupla ali dentro então agora se eu der um print e permutations e executar esse meu código repare que no final Aqui nós temos lá colision colision colision Heron Fire her On Fire alien alien alien cod Face Code
Face code Face ou seja nesse caso agora nós temos 130 combinações possíveis e 10 casos onde o usuário é vencedor nesse caso as chances dele Vencer é uma em 13 já diminuiu bastante aqui Os Casos do usuário vencer mas um em 13 já é algo que pode deixar o usuário um pouco viciado para deixar essa máquina um pouco mais dinâmica que que eu vou fazer eu vou receber logo no init dela eu vou receber algo que é o level vai ser um e eu vou criar aqui uma Variável self P level igual a level para
que que vai servir esse level esse level vai indicar Quantas vezes a gente vai repetir esse processo Porque às vezes a gente quer uma máquina onde a probabilidade do usuário ganhar é bem alta às vezes ali perto dos 30 40 45% para viciar aos usuários ou quando a gente acabou de de lançar a plataforma que que eles fazem eles vão lá joga a probabilidade bem alta do usuário ganhar para ele se viciar ali dentro e depois Eles diminuem a probabilidade aos poucos então tem várias essas estratégias sacanas que essas casas de aposta fazem para tirar
o nosso dinheiro então o que que a gente pode fazer aqui nesse caso eu vou iterar sobre essa máquina ou seja quanto maior o valor de level mais vezes a gente vai adicionar aqui os símbolos ali dentro então vou fazer um for é J in Range de self P level certo ok e agora ele vai repetir isso daqui então ele começa com um se o Usuário não passar nada ele vai adicionar uma única vez e a probabilidade do usuário vencer será uma em 13 Ok e agora eu posso simplesmente dar um return aqui return permutations
e agora aqui no meu init eu posso criar uma variável chamada self permutations ser igual a self PJ permutations Então agora eu tenho acesso em toda a minha classe aos dados ali de todas as combinações que nós temos que que é isso Daqui Ok perfeito só que agora a gente vai precisar de todas essas combinações gerar um resultado final ou seja vou escolher uma que será o resultado final para saber se o usuário irá ou não vencer então eu vou fazer o seguinte eu vou dar um Def aqui e vou fazer um get Fin result
ou seja vamos pegar o resultado final vamos dar aqui um self dois pontos primeiro eu vou verificar o seguinte se para essa função funcionar a Gente vai precisar da nossa variável self permutations tá porque é a partir dela que nós vamos escolher um valor aleatório aqui dentro dessa lista então o que que eu posso fazer primeiro vou verificar se realmente existe a variável self permutation se ela não existir eu vou criar então se note re TTR self vírgula permutations então se existir a nossa variável aqui permutations nós vamos fazer o seguinte Se não existir né
self pon permutations vai ser igual a self P gen permutations para caso Em algum momento a gente tire daqui do init e coloque em outro lugar a gente sempre vai ter essa garantia de que a gente já gerou todas as combinações possíveis baseado nessa eh nesse método que nós temos aqui Então agora eu posso fazer o seguinte eu vou gerar um valor aleatório chamado result que vai ser igual a list de Random P Choice que que o Random P Choice faz ele Recebe uma lista de dados e dentro dessa lista ele vai selecionar um único
valor então Import Random então a gente passa aqui ó pra nossa pro nosso método Choice a gente passa self pon e permutations que são todas as nossas combinações Então dessa lista de 130 possibilidades de 130 tuplas escolha uma única tupla então eu posso dar aqui um print result para vocês verem o que que irá acontecer aqui no caso eu tenho que chamar a função get final result Aqui então tá lá Ele Escolheu aqui o resultado final foi cod Face money M Face e cod Face executo de novo tá lá ó Alien cision e money M
Face executo de novo então Então esse daqui foi o resultado se cair por exemplo Alien Allien e Allien o usuário teria recebido o valor mas esse caso não foi o que aconteceu ali dentro só que aqui já vem outra estratégia psicológica que os cassinos utilizam para nos enganar para nos viciar ali dentro que é o seguinte Em alguns casos ali pode acontecer de cair três valores completamente diferentes como por exemplo money mface cod Face e Alen isso passa uma sensação pro usuário muito ruim ele passa uma sensação que foi longe dele gan e Portanto ele
não está com sorte naquele dia ele para de apostar e os cassinos querem que um usuário mesmo que ele ganhe ou perca continue apostando para fazer valer a regra dos grandes números então o que que os cassinos podem fazer Para manipular esse resultado aqui se o resultado se os três valores ali for diferente eles colocam pelo eles colocam dois valores iguais para dar aquela sensação Nossa foi por pouco estou com sorte Vou tentar de novo e o usuário aposta novamente imagina sensação de você apostando e cai lá code code code code e e cision você
vai falar nossa tive dois iguais foi por muito pouco só faltou um que que você faz você aposta de novo Seria diferente se caísse por exemplo code Alien e colision você fala nossa não acertei nenhum tô com muito azar vou parar de jogar então as casas de aposta querem que você continue jogando e elas podem utilizar isso como estratégia então o que que a gente a gente pode fazer aqui a gente pode aqui fazer um if e eu verifico Olha eu preciso saber se todos os dados aqui eles são iguais existe uma função no Python
que é o set que eu posso dar Aqui um print deixa eu deixar o print result print set set de self P permutations para quem não sabe o que o set faz tá o set Ele não tá printando aqui ah tá que eu esqueci errado é l de set Ok então o set ele basicamente faz o seguinte tá ele remove os casos repetidos então se você observar ó aqui nós estamos printando não aqui set permutations não self desculpe então ó estou dando um set eu estou Transformando isso queero uma lista em um conjunto tá os
conjuntos não podem ter dados repetidos ali dentro então quando a gente printa eh não é self P result é só result perfeito e eu vou printar o só o set de result também sem o lan ok aqui então repare só ó aqui os dados sorteados foram code Face Alen e Code Face ou seja esses dois dados se repet quando a gente transforma em um set ele vai tirar os dados repetidos então ele vai ficar apenas Alien e cod Face tá vendo que cod Face aparecia duas vezes então ele foi ele foi retirado um deles e
ficou um só então com isso a gente pode utilizar essa função Len com o set para saber se os três dados são diferentes por qu se os se os três dados forem diferentes o valor da do Len aqui será três porque aparecerá um de cada caso tenha dados repetidos O valor vai ser um ou dois tá que é a quantidade de vezes que ele aparece ali dentro então se o mesmo item aparece três vezes Significa E se o Desculpa se o mesmo item não aparece pelo menos Mais de uma vez significa que nós temos três
itens diferentes ali se nenhum desses itens acontece isso então eu faço se o Len de set result result for igual ou igual a TR que no caso é temos três itens diferentes que que eu posso fazer aqui eu posso falar que result na posição um é igual a result na posição zero por que isso Eu tenho lá ó code Alien e collision são três valores diferentes então eu tô falando o seguinte olha result na posição um quero Alen é igual a result na posição zero então eu troco o Alen pelo code Então vai dar aquela
sensação code code Nossa foi por pouco certo só que se a gente fizesse isso todas as vezes pode ser que em algum momento alguém perceba Nossa mas nunca dá valores diferentes nunca dá os três valores diferentes então a gente Não pode po fazer isso todas as vezes de vez em quando a gente tem que mostrar dados diferentes ali os três dados diferentes para que ninguém desconfie então o que que a gente precisa fazer além desse e desse dado aqui eu vou colocar um end eu vou colocar um valor aleatório então vou falar Olha vou gerar
um valor aleatório de Range in aqui Random Eu não importei o Random ele não tá aparecendo Random P Range int de 0 a 5 de 0 a 5 e se esse valor for maior ou Igual do que 2 por exemplo ele vai fazer essa troca perfeito então aqui a gente vai ter três possibilidades em cinco de de realizar troca então de vez em quando ele ainda vai mostrar os três dados ali iguais então é mais um truque psicológico que eles utilizam para te manter viciado ali dentro do jogo agora que que a gente vai precisar
Vamos criar o método display então Def display O método display ele vai receber self amount self ele vai receber amount Bet que é o valor que o usuário tá postando ele vai receber o resultado também e ele vai receber um tempo de animação que eu vou utilizar aqui um segundo por enquanto como padrão Ok a ideia aqui é mostrar como se a máquina tivesse girando sabe mostrar várias figuras aleatórias para usuário falar nossa tá indo tá indo tá indo Quanto que vai parar e uma hora para no resultado Final que foi escolhido aqui então eu
vou fazer o seguinte tá vou fazer um for e em Range ele começa em zero e vai até quando e agora eu preciso fazer o seguinte Olha eu quero que essa animação dure em Seconds aqui eu quero que essa animação dure um segundo por exemplo e aqui esse time eu vou trocar não vou colocar que essa animação dura 2 segundos e o time aqui eu vou colocar 0.3 ok que que que é o Seconds e que que É o time segundos é o tempo de duração da animação ou seja o tempo que aquela roleta vai
ficar girando ela vai ficar girando por 2 segundos o 0.3 é o tempo que aparece cada uma das imagens então Apareceu uma imagem Apareceu outra Apareceu outra então a gente precisa saber quantas vezes a gente vai rodar essa roleta então baseada no tempo e no time aqui ou seja de que vai aparecer cada imagem e baseada no Seconds também é então o que a gente pode fazer faz a Gente vai vir aqui e fazer o seguinte olha se o meu tempo de de animação é 2 segundos e cada é imagem ou seja cada uma das
três colunas ali vão aparecer imagens por 0.3 segundos eu preciso fazer com que Ah tenha 6,66 vezes que aquele dado girou né só que eu vou arredondar isso daqui para um inteiro para cortar essas casas decimais Então vai rodar seis vezes então eu faço aqui um int De Seconds dividido pelo time Então agora eu faço aqui um print e vou rodar esse meu código aqui e chamar o display para vocês verem o que que vai acontecer então c. display Ah tá aqui eu tenho que passar zero passar zer e zero só para funcionar então lá
0 1 2 3 4 e 5 ok se eu se eu diminuo esse tempo ou seja a máquina vai girar mais rápido el vai rodar mais vezes ó e se eu aumento esse tempo por exemplo para um a máquina gira duas Vezes ela mostra uma imagem mostra já o resultado final Ok então agora a gente vai exibir os dados então vou fazer um print e agora eu vou fazer o seguinte Tá eu vou fazer um Random pon Choice em self P permutation Então a gente vai gerar Vários valores aleatórios ali até o último então se
eu executo isso daqui ó ele vai mostrar lá her On Fire mone M Face cod Face her On Fire Alen Allen que seriam os resultados né e agora eu coloco o que aqui eu vou colocar um slip Slip de Seconds de Seconds não de time desculpe de time e eu vou importar esse slip from time Import slip Ok então eu rodo aqui ele me mostra lá ó um depois mostrou o outro e no final ele me mostra o resultado final para me mostrar o resultado final eu faço o seguinte print e agora eu passo o
aqui eu teria que chamar o teria que passar aqui o result né que eu não tenho ainda então aqui eu vou passar o result aqui Mesmo só por enquanto depois a gente vai fazer certinho fazer um print e agora em result e no result que é o nosso segundo parâmetro eu vou chamar aqui máquina 1.get final result Ok rodo o meu código então tá lá ó aqui ele deu n hum get final ah que eu não tô retornando result vamos retornar result perfeito então aqui ele mostrou lá cod Face ali tal money code Face money
só que o final que vale que é Colision e money multiface então ele não ganhou Já que teve um valor aqui que foi diferente só que isso daqui eu não quero ficar mostrando esses textos estranhos pro usuário eu quero mostrar o Emoji ali a imagem certinho para mostrar o Emoji a gente vai fazer aquela mesma técnica que eu mostrei no comecinho da aula então vou criar um método específico para isso que vai ser o método emoji emojis então emoe recebe self e recebe os emojis que é a descrição dos emojis né então agora Para eu
mostrar de fato o Emoji que no caso aqui ele recebe uma tupla né que seria essa mesma tupla que a gente tem aqui então ele vai ter que transformar essa tupla em três emojis Então vou colocar aqui uma string e um ponto join nesse meu ponto join a gente vai ter uma tupla então tuple certo e agora eu vou fazer um chr que é aquilo que a gente acabou de ver anteriormente de int e agora eu passo self P Símbolos na posição qual posição Do código AD então code que a gente vai criar ele agora
então aqui ó isso daqui qual que qual que é qual aqui pera aí essa daqui aqui então vai ser aqui então agora eu faço um for code inem emojis então eu itero por todas e por todos os dados aqui então cision então self P Símbolos na posição colision Qual que é o unicode dele um F4 A5 então converte para he decimal e depois converte para emoji e agora em vez de eu chamar o print Direto em Random choices eu chamo o print é de emoe então self ponto emoe e aqui eu passo e self self
pemo e aqui aqui também aqui no emo eu preciso colocar um underline já que ele vai ser um método privado aqui eu coloquei Tá faltando não não tá faltando e aqui também precisa colocar um underline e aqui também eu coloco um underline perfeito rodo esse Meu código agora e ele me deu erro Ah tá aqui eu falei que tem que converter esqueci de falar que tem que converter para ex decimal então preciso passar 16 porque ele fala ó é impossível converter esse valor aqui pra base 10 porque não é um valor em base 10 é
um valor em ex decimal então rodo o meu código e tá lá ó Ele me mostrou a primeira rodada a segunda depois a terceira que foi Alien code Face e hurt On Fire que nós seria o nosso terceiro então o usuário não Ganhou rodei de novo tá lá aqui ele teria ganhado né Se fosse nessa valor aleatório mas o que vale a último Então ficou dinheiro dinheiro e eh o herch On Fire Então nesse caso fica até bom porque vi ser bastante usuário às vezes manipular os resultados aqui anteriores é interessante paraa casa de aposta
tá que é outra sacanagem que eles podem fazer então por isso não apostem em cassinos online eles podem colocar aqui tipo dinheiro dinheiro dinheiro para Aparecer Nossa foi por pouco se parasse um antes eu ganhava mas tipo não muda nada você só vai ganhar se fosse o último mesmo ok e eu quero mostrar agora uma mensagem pro usuário falando olha você ganhou ou você perdeu só que para isso a gente vai ter que fazer o criar o método agora que vai ser o Def update balance user não é desculpe antes de atualizar a gente vai
ter que fazer um Cheque result user aqui a gente vai checar o resultado do usuário ele vai retornar true se ele ganhou e false se ele perdeu e ele recebe o result aqui então agora a gente precisa verificar aqui a gente vai receber result que que vai ser result vai ser essa lista aqui ó com colision colision e money Mount Face a gente precisa checar se os três valores são iguais a gente tem várias formas de fazer isso tá a gente pod fazer um if se Na posição zer foi iG igual a result na posição
1 foi igual igual result na posição 2 e assim por diante só que eu não gosto de fazer muito dessa forma prefiro utilizar o w do Python Tá mas caso você não conheça o w saiba que dá para fazer dessa outra forma e a gente poderia fazer um em cada linha também se tal tal tal aqui dentro faz a condição lógica retorna true else retorna false certo poderia fazer Assim mas eu vou fazer tudo em Line tá que é o seguinte retorne true se todos os valores então o All retorna o seguinte Olha eu vou
ter uma tupla ou uma lista se todos os dados dessa lista for true ele retorna true caso contrário ele retorna false então vou fazer o seguinte Olha eu vou criar uma tupla aqui agora eu posso até fazer uma variável diferente né x vai ser igual para ficar mais legível para vocês a uma lista quais vão ser os valores Adicionados dentro dessa lista result na posição zero for igual igual a x então ele vai comparar a primeira posição da lista com x que que vai ser x vai ser uma variável que eu vou iterar então for
x in result então ele vai falar o seguinte Olha collision é igual a x o x tá iterando sobre todos os dados dentro dessa lista cision é igual a ele mesmo Sim então temos um dado verdadeiro collision é igual ao próximo sim cision é igual ao Colision Então temos dois true dentro da nossa lista collision é igual a money mface não nesse caso Qual que é o problema ele vai colocar um falso ali dentro e o All ele só retorna true se os três dados ou seja todos os dados ali dentro daquela lista for verdadeiro
então eu vou fazer o seguinte ó dentro desse meu All que que eu faço se x for tudo verdadeiro a gente retorna true caso contrário Então else a gente faz o seguinte retorna False perfeito então agora nesse nosso check display aqui a gente pode fazer o seguinte tá logo depois que a gente printa o último emoji eu vou até trocar esse time aqui para um valor menor tá colocar 0.1 e aqui eu vou deixar 0 segundo vai ok então depois eu dou um outro print aqui printou ter que fazer um if n Então se self
e agora eu preciso passar o result que é o mesmo result que a gente recebeu aqui Que é o valor gerado por get final result que é essa função aqui que gera o valor aleatório se ele for verdadeiro o que que eu vou fazer eu preciso mostrar que venceu ou seja usuário recebeu o dinheiro então print e aqui eu mostro uma f string você venceu e recebeu dois pontos amount Bet x 3 que foi o dinheiro apostado por ele que tá aqui ó que é o dinheiro que ele passou na hora da aposta que ele
recebeu aqui Aqui tem algo de errado All ELS Ah tá aqui faltou o return né return return true se aí agora sim ok então recebeu e o dinheiro multiplicado por três que é a forma com que a asa de aposta trabalha caso contrário print aí eles vão ser sacana né eles nunca vai falar o prejuízo que você teve nunca vai utilizar palavras como prejuízo ou algo do tipo Eles vão colocar um foi quase tente novamente e Ok vamos rodar o nosso código aqui ele mostrou lá foi aqui Ficou muito né 0.1 coloquei 0.01 aí beleza
tá lá gerando valores aleatórios O final foi Alien dinheirinho aqui e dinheiro então foi quase tente novamente rodo de novo foi quase tente novamente rodo de novo ó lá você venceu e recebeu r0 Porque eu apostei nada então ele multiplicou zero por três e não vai dar nada foi quase tente novamente foi quase tente novamente foi quase tente novamente foi quase tente Novamente foi quase tente novamente é tá muito difícil eu vou fazer o seguinte eu vou aumentar o vou passar o level aqui level é igual a qu para aumentar as chances do usuário ganhar
vamos lá foi quase tende novamente ó lá você venceu e recebeu R 3 perfeito se a pessoa recebeu R 3 eu preciso tirar do meu valor do do saldo dessa máquina então aqui a gente vai ter que logo no nosso inite a gente vai ter Que definir um self ponto self pon amount ou um self P balance aqui né que ele vai começar com zero e eu vou definir aqui um self P initial balance que vai ser igual a self P balance logo quando a gente faz a instanciação da classe porque o balance ele é
alterado Mas eu quero saber quanto que com quanto que essa máquina começou tá se ela começou com zero às vezes ela começou com mais a gente até poderia Definir aqui o balance da máquina né tipo balance é igual a zero ela por padrão ela começa com zero Mas se a gente pode já inicializar essa máquina com algum dinheiro em caixa então balance aqui ok então a gente precisa atualizar o o dinheiro dessa máquina então Def agora a gente cria um método chamado update balance que ele recebe selfie também ok esse método a gente vai ter
que alterar o valor que nós temos ali Baseado no valor de aposta do usuário então eu vou precisar receber um amount e Bet aqui ok e agora a gente vai precisar do result também do resultado final result a gente precisa saber se o usuário ganhou ou perdeu por se ele ganhou a gente eh diminui dinheiro da máquina e aumenta do usuário se ele perdeu a gente diminui do usuário e aumenta da máquina então a gente pode fazer um se self P check result user e Agora a gente passa o result para ver se os três
são iguais OK agora eu falo self P balance ou seja se o usuário ganhou a gente subtrai o dinheiro da máquina por pelo valor apostado dele então amount balance amount Bet né vezes 3 Ok caso contrário ou seja else eu faço self P balance e aumento o saldo da máquina pelo dinheiro que o usuário apostou perfeito então agora nós temos uma função que atualiza aqui direitinho e agora a gente pode criar a nossa função Que é o play que é o jogar que ela vai chamar todas as outras funções então agora a gente chama um
Play selfie ela recebe o amount e ela recebe um Player também que a gente vai fazer isso daqui a pouco tá ok então selfie amount só isso né Acho que sim a primeira coisa que eu vou precisar fazer é pegar o resultado dessa jogada então result vai ser igual a self.get final result e agora a gente não chama mais o método display tá a gente vai chamar só menos o Método Play e no método Play a gente vai passar o a quantidade que a gente quer apostar por exemplo r$ 1 ou R 100 e assim
por diante vou colocar 10 aqui então ele gera um resultado e agora ele chama selfie P display para mostrar ali se o usuário ganhou ou não então eles passa o amount Bet que aqui no caso é só vamos trocar aqui para amount Bet né colocar o mesmo padrão de variável amount Bet e passo como parâmetro também o result por a nossa variável display Ela precisa do result para mostrar se ele recebeu ou não ok o meu time aqui eu vou deixar o time padrão e depois eu preciso atualizar o saldo então self update balance e
vamos lá agora eu passo o amount Bet que mais que eu preciso também aqui e cadê o update balance tá aqui e eu preciso do result também então vou passar o result que foi o result girado por aqui e Ok acho que é isso acho que estamos prontos se eu rodar esse meu código tá lá ele me falou Foi quase T novamente o que eu vou fazer aqui agora é dar um print em máquina 1 balance e eu vou executar isso daqui algumas vezes vamos lá foi quase tente novamente Não não vai ganhar uma vez
usuário aqui na última usuário ganhou R 30 então ele ele jogou quatro vezes e quatro a máquina ganhou R 10 na última ela perdeu r$ 3 então ficou zerada vamos rodar de novo vamos lá ficou zerada de novo vamos rodar mais vezes para fazer a teoria dos Grandes números Ah não aqui aqui eu comecei com Level 4 com Level 4 a chance del dele ganhar muito alto a gente teria que diminuir aqui os R 3 vamos manter o Level 1 vamos lá aqui foi quase tente novamente a máquina saiu num lucro de 40 a gente
joga mais e mais vezes aqui a gente poderia até fazer um for né for e em Range de 0 até 100 dois pontos máquina 1 pon Play e eu cada um vai apostar R 10 No final a gente vai ver Quanto de saldo a gente vai ter só que aqui que que eu vou fazer eu vou tirar os prints tá vamos comentar isso ah vamos comentar o nosso display aqui ele vai rodar ele só aqui ó a máquina saiu com saldo de 640 640 600 560 640 840 640 600 720 760 então repare que a
o saldo da máquina sempre fica tá muito próximo tá 640 560 840 760 720 em 100 jogos ali apostando R 10 a máquina praticamente nunca perde tá é claro que tem um caso ali que ela Perde mas dos 100 jogos nenhum dos jogos ela ficou no prejuízo que a gente testou aqui agora por isso que é importante paraa casa de aposta que você Aposte várias e várias vezes porque você pode até apostar uma vez e ganhar mas a tendência é que quanto mais você aposta mais você tende a perder por causa dessa teoria dos Grand
números ok então beleza então aqui temos uma casa de aposta só que agora eu preciso criar um Player também porque eu quero ver quanto que Quantos players jogando tantas vezes ali por dia tantas vezes no mês quantos desses players eles vão sair no lucro quanto de prejuízo eles vão sair assim por diante Então vou criar uma classe chamada Player super simples tá o mais simples que eu consegui aqui ela vai ter um defit que recebe self e recebe amount também ele tem um self então cada usuário ele tem um dinheiro ali que por padrão ele
começa com R então ele sai Negativo caso ele perca aqui a gente pode até trocar a gente tava usando balance né balance para manter o padrão balance perfeito e aqui balance também Ok só que agora a gente vai ter que fazer o seguinte No método Play aqui a gente vai ter que receber esse Player então Player ou seja quem que tá jogando ele vai vai ser uma Instância de player e no nosso update balance a gente também passa o player aqui no nosso update balance a Gente vai receber o player também Player dois pontos Player
para tipar aqui e agora aqui dentro desses nossos ifs quando a gente tira dinheiro da máquina a gente aumenta do player então Player P balance vai ser mais igual o valor que ele apostou vezes 3ok a gente tá mantendo é parênteses aqui e se o usuário perdeu a gente faz aqui self e Player pon balance é menos igual a e amount Bat Ok então vamos voltar com Aquele for for e em Range de zero Vamos ver quanto que o usuário vai sair de saldo é de zer a 100 por exemplo e agora a gente faz
máquina um é ponto Play e aqui a gente vai ter que passar por exemplo R 10 e eu vou passar Player 1 aqui também eu vou criar essa Instância de player 1 player 1 player 1 vai ser igual a Player e Ok No final a gente vai printar o player P balance pra gente ver quanto que ele perderia aqui ele falou que Player não Tem o atributo balance Player um não tem balance eu passei aqui ele é uma Instância de player aqui Player Claro que tem im balance Ah aqui Faltou dois underline aí não vai
funcionar nunca né OK executamos novamente então ele ficou olha aqui ó devendo R 600 devendo R 520 devendo 600 devendo 640 devendo 600 devendo 800 ó então repare que o usuário quanto mais ele joga nunca ele ganha Tá OK agora eu quero testar algumas simulações tá tanto Aqui com o level da máquina Ok e aqui eu vou voltar com o o display já tava funcionando né vou deixar sem o display porque vocês já viram como funciona vou rodar mais uma vez aqui o display só para vocês verem como que ele executa máquina 1. Play e
aqui eu tenho que passar eu não posso apagar o player desculpe Ok então máquina um pon Player e aqui Play né ponto aqui eu passo 10 e aqui eu passo Player 1 Ok só para vocês verem ele Printando tá funcionando certinho Ah que que a gente pode fazer Tá eu vou colocar aqui hum faltou o slip né senão não adianta de nada faltou o o os eu vou fazer o seguinte os. System ponto aqui na aqui Clear Ok vamos importar o os Import os Beleza então a gente coloca um Clear onde que vai ficar legal
isso aqui ó a Gente coloca um Clear depois do slip certo a gente dá o print tá então a gente ó dá um Clear aqui a gente dá um slip antes em time a gente limpa e a gente dá outro slip slip de time nem precisa eu acho vamos ver como é que vai ficar aqui animação é ficou trocando muito rápido vou aumentar isso aqui para 0.3 eu acho que fica legal agora sim ó bem legal agora vou Aumentar o tempo para 2 segundos ó lá então ele fica trocando no final caiu isso daqui então
ele perdeu é depois ele só tirar esse esse print aqui que fica funcionando certinho pro usuário né pro usuário final ele não tinha atualizado tá lá foi quase tente novamente os três valores diferentes então só pra gente não ter ficar esperando 2 3 segundos todas as vezes eu vou comentar esse selfie pon display mas de resto o que faz valer aqui é o nosso e update Balance Tá ok que que a gente vai fazer agora vamos criar algumas simulações tá pra gente ver se existe uma possibilidade de você jogando ter alguma vantagem com isso a
vantagem é sempre da casa então aqui eu vou criar aqui ó jogadores por dia vou falar que nós temos ali 100 jogadores por dia naquela casa de aposta cada jogador aposta apostas por dia Ele pode apostar de uma A cinco vezes de forma aleatória eu vou gerar um valor aleatório depois e dias ou seja quantos dias esses jogadores ficou apostando Vamos começar com 10 dias aqui e o valor máximo de aposta que o o valor usuário com mais dinheiro ele usuário que mais teria dinheiro para apostar é r$ 2 ok então dado essas condições qual
seria o resultado tanto para casas de aposta quanto para os usuários vamos testar isso então a gente vai criar essa nossa máquina aqui que Ela tá com level 1 depois a gente testa com level do testa com level 3 pra gente ver ali a performance dela tá esses dois códigos a gente pode tirar que a gente vai criar eles aqui para baixo primeira coisa que a gente vai ter que fazer é criar uma variável chamada saldo e ela vai ser uma lista vazia por enquanto ou seja nós temos 10 dias eu quero armazenar dentro dessa
variável o saldo o saldo da máquina cassan eu AC dia então no dia um o saldo foi de R 10 no Dia 2 o saldo foi de 30 o dia 3 o saldo foi de 50 para ver o com rápido sobe o salto o saldo de uma casa de aposta e eu vou criar uma variável que vai ser os Players que vai ser uma lista também dentro dessa lista vai ter a quantidade de players que eu defini aqui em cima então 100 players por exemplo então aqui eu vou passar player for e in Range de
jogadores por dia então se eu dá um print em players eu vou ter 100 jogadores aqui Ó eu vou ter lá 100 jogadores ó Main ppler ponob tem 100 instâncias de player e agora eu vou fazer o seguinte eu vou rodar isso daqui a quantidade de dado de vezes que eu tenho então quantas vezes eu vou rodar primeiro eu vou rodar a partir dos dias tá eu vou rodar cada dia então for e em Range de zero até dias então aqui eu vou rodar 10 vezes porque eu defini 10 dias depois eu vou rodar a
quantidade de players tá então jogadores por dia então eu faço for for J em players que são aqui que a nossa variável de players que a gente já adicionou a quantidade de players baseada na quantidade de players que eu defini aqui em cima tá jogadores por dia OK e agora eu vou fazer o seguinte eu vou fazer um for K em Range da quantidade de apostas que cada jogador fez por dia como não é sempre o mesma quantidade às vezes pode ser uma duas C eu vou gerar um valor aleatório entre zer e aqui eu
vou fazer o seguinte Random int Random Range int entre um até apostas por dia OK então às vezes o usuário vai fazer uma aposta por dia às vezes aquele Player vai fazer duas às vezes vai fazer cinco então nunca menos do que uma aqui tem que ser às vezes ele não faz nada né Será que a gente pode por dias que ele não aposta nada depois a gente testa simulação aqui eu tô colocando que vai ter dias que o usuário não aposta nada senão a gente fazia um aqui e dois aqui Tá mas vamos deixar
aqui zer e um por enquanto ok e agora a gente joga então máquina 1 máquina 1.pl Ok é qual que vai ser o valor que o usuário vai apostar então Random Range in o mínimo que ele vai apostar vai ser R 5 e o máximo Opa aqui eu fiz errado né o mínimo que ele vai apostar vai ser R 5 e o vai ser Random Range int D Ah não aqui eu tô fazendo errado né Range int vou gerar um valor aleatório entre C que no caso é o mínimo que ele vai apostar e O
valor máximo que no caso é 200 tá depois eu tenho que passar Qual que é o jogador que tá fazendo essa Aposta que é o jogador J certo então agora eu já fiz uma simulação aqui eu posso até dar um máquina 1 p balance só pra gente printar esse valor e daqui a pouco a gente já cria um gráfico para ver melhor como que vai ser o resultado mas print isso Ó já podemos perceber que o saldo da máquina ficou em 210.000 ou 21 deixa eu ver R 210.000 210 874 é OK então agora e
que que eu vou fazer vamos criar uma simulação tá para isso vamos instalar o Mat plot Lib não sei se eu tô com ele instalado aqui PIP install Mat plot le Ok não tava instalado não então a gente já instala aqui não já tava instalado tá tranquilo então eu vou fazer o seguinte plt.fig para criar uma figura e agora a gente precisa Ah não importei né from plot Lib Splt from Mat plot Lib Import plt não é faz tanto tempo que não usot Lib met plot Lib ponto aqui ponto P plot né Eu acho P
plot splt assim que o pessoal importa ok aqui ele não tá reconhecendo mas eu acho que é por causa do ves code Vamos só trocar aqui Ah aqui não é front né que é Import esqueci de trocar depois a alteração que Eu fiz mas mesmo assim ele não reconhece plot SPT você v ver se é bug do vs code ou realmente ele não tá encontrando não foi mas aqui ele falou que foi instalado já acho que não tem nenhum problema não V rodar aqui Opa Quero rodar o código ok não deu nenhum erro no plt
Figure Então é porque funcionou então agora a gente precisa fazer um plt plot e agora a gente tem que passar os dados de x e y aqui para Essa para esse gráfico o que que vai ser os dados de X vai ser a quantidade de dias então preciso que falar que x é igual e agora tem que ter lá 1 2 3 4 5 seria o dia 1 dia 2 dia 3 dia 4 dia 5 né então I for e em Range começ em um no dia um e termina no dia dias mais 1 ok
e o meu eixo Y vai ser o próprio saldo que eu tenho que fazer o seguinte agora tá eu preciso adicionar o saldo então no final do dia eu vou fazer o seguinte ó a cada dia então no final desse for eu Faço o seguinte saldo ponto appende Opa saldo pon append e aqui eu vou passar máquina 1. game só que eu não criei o game Vamos criar ele então o game a gente pode criar como uma property então Def Gain ele recebe self Ok ele vai ser uma property pra gente não abrir e fechar
os parênteses property e o game vai ser o quê o saldo Inicial é self e self P initial balance menos é mais self P Balance OK pra gente ver o ganho da máquina naquele di ali então game Ok e saldo pon appende e aqui o y a gente vai ser o próprio saldo OK agora é só plotar isso daqui dá um plt Grid um um plt p show né Nem precisar de um Grid through plt show Ok e tá lá então aqui ó repare só em como o valor da da casa de aposta ali aumenta
exponencialmente tá então você reparar aqui ó ele começou com 25.000 Praticamente no dia 1 e terminou os 10 dias ali com R 200.000 praticamente vamos fazer o seguinte é aqui a gente colocou uma uma casa de aposta muito agressiva a nossa máquina a gente inicializou como level um tá vamos inicializar essa máquina como level TR por exemplo vamos executar novamente e olha só aqui o gráfico ele já dá umas umas quedas de vez em quando se a gente eh começar essa máquina como quatro aqui vamos rodar novamente aqui já fica um Gráfico um pouco mais
real tá então ele começou aqui com 20.000 e foi terminar lá em 100.000 praticamente vamos testar aqui quando que a máquina começa ter prejuízo aqui ela ainda teve 60.000 no final dos 10 dias 6 então aqui ó aqui ela já começou a ter dias que ela tem um prejuízo bem alto então aqui a casa de aposta já não não costuma trabalhar nesses nesses casos aqui ó tá então aqui fica bem legal ó o cinco acho que é um valor razoável mas Caio me fala o seguinte ó se um é o maior valor que a casa
de aposta vai receber ó colocando ela no level um que no caso seria quando a pessoa tem um em uma chance em 25 de ganhar a casa de aposta recebe R 200.000 de lucro nos 10 dias com 100 jogadores a questão é isso daqui vai trazer poucos jogadores para aquela casa de aposta você não vai chamar o seu amigo fala nossa aquela casa tá pagando Então para que isso aconteça e a casa tenha mais jogadores Ela aumenta essa chance no caso para três coloca level TR aqui por exemplo só que aí pelo fato dessa casa
parecer ser melhor do que as outras ela vai atrair mais jogadores de 100 de 100 a casa atrai 1000 jogadores em vez de jogar por 10 dias eles jogam por 30 e isso vai compensar os ganhos vai fazer com que os ganhos seja ainda maior Olha só antes ela tava em 200.000 aqui já foi para 4 1 2 3 4 5 6 é o ganho já foi para 4 milhões ó certo é 4 x 1 elevado aí na Sexta potência né então vai ser 4 milhões Olha a diferença que dá por isso que aumentar esse
valor aqui se for para mexer com a psicologia do ser humano e atrair mais jogadores faz muito sentido para uma casa de asposta estatisticamente não faz ela vai receber menos dinheiro porque se ela tivesse 1000 jogadores por 30 dias no level 1 ela ganharia mais ó aqui seria aqui é já seis ó iria para 6 milhões só que ela ganharia ela ganha mais jogadores Aumentando o seu levvel ela mexe com a Sua psicologia ela faz com que pareça que você está ganhando Ok mas aqui a gente é contra casas de aposta então a gente quer
saber o resultado final pro usuário tá vamos colocar aqui que a gente vamos voltar para 100 usuários durante 10 dias e agora a gente quer mostrar o gráfico de usuários Tá então vamos fazer um plt p plot aqui agora D então o eixo X vai ser eh os jogadores por dia cada Um dos jogadores então jogador um jogador dois por diante então e for e in Range de jogadores por dia e o eixo Y vai ser o saldo de cada jogador então I pon balance for e in players Ok plt psow vamos ver agora então
vamos colocar aqui alguns valores maiores Vamos colocar lá em um ano vamos supor que aquele jogador joga em Ah vamos pegar aqui ele joga um dia sim um dia não por exemplo então 365 di por 2 vai dar 182 Dias no ano 180 porque dois dias ele falhou vamos ver aqui como é que vai ficar o saldo tanto da máquina ó olha que a máquina já foi para 1 elevado a e na e a sétima velho 10 a séa e aqui de jogadores todos os jogadores tiveram prejuízos ó o menor prejuízo que teve aqui foi
um pouco menor do que - 15.000 isso porque eles jogaram por 180 dias vamos Diminuir a quantidade de jogadores para dar para ver melhor os gráficos Vamos colocar aqui 30 jogadores E vamos colocar em C dias por exemplo fazendo duas apostas por dia vamos rodar novamente aqui aparece o primeiro gráfico aqui o segundo Olha só nesse caso a gente já consegue perceber eu vou fazer o seguinte tá galera para ficar melhor esse gráfico eu vou colocar um plt Grid de de aqui como true pra gente ter as linhas de marcação e a gente vê um
pouco melhor então aqui repare que no final desses e quantos dias aqui desses C dias Com 30 jogadores a casa teve um lucro de R 6.000 e pros jogadores como que foi Olha só Então essa daqui é a linha do zero ou seja os jogadores que empataram teve um jogador aqui que empatou e teve um jogador que ganhou mais de R 1.000 teve um ali que ganhou um pouco mais de 500 um que ganhou ali uns 400 então um 3 4 jogadores ganharam 5 6 7 ganharam oito então oito jogadores ganharam no total desses C
dias 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 jogadores perderam Falar Caio mas tem gente que ganha Então vale a pena apostar Será mesmo isso porque a gente colocou poucas apostas por dia e durante poucos dias se esse jogador aposta durante 15 dias repare de diferença só que nisso daqui vai dar olha só aqui praticamente agora tem dois usuários ó um praticamente tá no zero né não ganhou praticamente nada teve um usuário que ganhou um pouquinho então quanto mais você joga pior é quanto mais você
joga se aquela Mentalidade Nossa apostei perdi dinheiro quanto mais você jogar menores vai ser as chances de você recuperar aquele dinheiro você só vai perder cada vez mais Então vamos pôr aqui e vamos pôr uma casa de ap vamos pegar um caso viável aqui durante An Um ano quanto que uma casa de aposta dá para lucrar numa máquina como essa por exemplo não tô falando que nenhuma casa de aposta tem essa mesma máquina com essas mesmas técnicas com essas mesmas probabilidades Tá uma máquina level 3 aqui daquela técnica que a a gente utilizou com 800
jogadores por dia eles fazem três apostas por dia ali durante 365 dias e o valor máximo de aposta vai para R 500 vamos fazer esse teste aqui então aqui ó eh o lucro da casa de aposta já foi para 60 milhões se eu não me engano ó nesse caso o lucro de aposta em um ano já foi para 60 milhões por isso que essas casas de aposta consegue pagar Valores absurdos e o que isso daqui que eu coloquei aqui são casos bem razoavelmente baixos tá a gente colocar 800 800 jogadores uma casa de aposta provavelmente
Elas têm muito mais do que isso tá então se a gente reparar ó aqui jogando todos os eh jogando por 365 dias esses 800 jogadores nenhum teve lucro nenhum Ah mas Car se aqui em vez de mentar Vamos colocar Level 4 Vamos colocar Level 5 beleza vamos ver aqui aqui o lucro da Casa de apó já foi menor foi 40 milhões Mas nenhum jogador teve lucro ainda vamos aumentar aqui para seis eu não sei qual que é o ponto de quebrada que a máquina que a máquina começa a ter prejuízo aqui teve e teve 1
ponto e 4 x 10 elevado à séa e aqui já teve alguns jogadores que teve prejuízo Ó mas mesmo é que alguns jogadores teve lucro Mas mesmo esses jogadores tendo lucro ao longo de um ano que é praticamente impossível em cada casa de aposta Nenhuma casa de aposta coloca probabilidades tão altas igual tô colocando aqui a casa ainda vence a maioria do Ó aqui ó 10 milhões a maioria dos jogadores perde dinheiro e perde muito mais tá então esse é sempre o ponto quanto mais você joga pior é para você mesmo que as suas Chan
de ganhar seja razoavelmente alta numa casa de aposta então a realidade acredito que seja muito mais próximo do três aqui do que do seis tá senão a casa De aposta corre muito risco aqui se a gente colocasse um sete eu acho que a casa de aposta começa a sair no no prejuízo que já é um valor que ela nunca colocaria é aqui ela já começou a cair cair no prejuízo ó bem grande e os jogadores começou a ter lucro a maioria dos jogadores saíram no lucro mas toda casa de aposta precisa pagar seus influenciadores precisam
pagar seus funcionários por isso isso daqui não vai acontecer tá galera nenhuma casa de Aposta vai colocar valores para você ganhar todas elas colocam valores para estatisticamente você perder e vai influenciar no seu psicológico com essas técnicas que eu te mostrei tanto de aumentar a sua probabilidade de de ganho para você continuar jogando chamar novos amigos como também alterar o resultado final para mostrar que vou parecer aquele foi quase foi tão pouco certo então às vezes ele até poderia além de de antes desse último print aqui que Seria o print final ele coloca um último
print manipulado com dois valores iguais para falar nossa um antes aqui de eu ganhar foi dois valores iguais Quase que eu ganhei vou jogar de novo sendo que não faz nenhum sentido tá então tomem muito cuidado com essas casas de aposta não apostem em casas online Ok para você não perder o seu dinheiro porque você tá vendo aqui que tanto matematicamente psicologicamente e da e em todo o código ele foi feito para você perder aqui a Gente rodou simulações super super super simples pra gente ter certeza que ao longo do tempo esse essa nossa máquina
não vai ter prejuízo a máquina vai sair ganhando e os usuários os apostadores vão sair perdendo as simulações super simples cassinos online de verdade cassinos online físicos também eles rodam diversas e diversas essas simulações muito mais complexas em cenários muito mais diferentes com valores máximos menores valores máximos Maiores há mais dias menos Dias mudando a quantidade de apostas jogadores para ter certeza que eles sempre vão ganhar pode ter certeza que eles nunca vão colocar um cassino online sem rodar várias simulações e vários testes para eles saberem que a máquina está garantindo está dando lucro certo
pessoal então é isso eu agradeço a paciência presença de todos vocês espero que essa aula tenha sido produtiva para vocês tanto no sentido técnico de vocês Aprenderem algo novo em programação tanto a parte de orientação objetos como construir códigos aqui e chamando os métodos aqui dentro do nosso método Play para deixar um código organizado utilização de propert utilização aqui de métodos aleatórios como Range in os choices orientação objetos lógica de programação unicode acredito que deu para aprender bastante coisas em termos técnicos de programação não utilizem essa aula para criar um cassino online Pelo amor de
Deus e também espero que essa aula tenha sido produtiva no sentido de mostrar para vocês a realidade de um cassino online e que você não vai ganhar dinheiro jogando a longo prazo por isso não Aposte em cassinos online Um abraço até a próxima e tchau tchau fui