×
Ir ao conteúdo
  • Cadastre-se

Eduardo de Quadros

Membro Pleno
  • Posts

    431
  • Cadastrado em

  • Última visita

Tudo que Eduardo de Quadros postou

  1. O meu é um Dell G5 5590. Sobre emuladores de jogos, vejo nos requisitos recomendados da ficha técnica do computador e vejo que o meu notebook está cumprindo com os requisitos recomendados. Depois disso eu vejo muitos vídeos de como configurar o emulador. Todos os vídeos explicam o mesmo método. Estou seguindo esse método. Depois eu baixo o emulador e a ROM para jogar. No início, fica perfeito, na velocidade padrão. Mas poucos dias depois, fica 50% mais lento. Se a velocidade padrão é 60 FPS, fica 30 FPS. Se a velocidade padrão é 30 FPS, fica 15 FPS. Então como faço para melhorar o emulador para que fique sempre na velocidade padrão? Acho que preciso comprar um novo notebook gamer, mas meu pai disse que o meu atual, o Dell G5 5590, é um dos melhores, eu acho que nisso ele está incorreto.
  2. Para notificações no meu website, eu uso um ícone do OneSignal. Para chat no meu website, eu uso um ícone do LiveChat. O Google Meet, o Zoom e o Microsoft Teams são programas de videoconferência, mas será que existe algum programa de videoconferência que eu possa colocar um código JavaScript no meu website para um ícone que alguém queira ligar para mim para falar de um assunto muito urgente?
  3. Quando eu pressiono um botão ou movo um eixo, o Gamepad se conecta normalmente, mas quando eu solto o botão ou solto o eixo, o valor continua o do momento da conexão do Gamepad, e quero que o valor volte a ser 0 quando eu solto o botão ou solto o eixo. Por que isso?
  4. Esse framework é para criar jogos para navegadores de computador e navegadores de celular. <?php if($_SERVER["HTTPS"] != "on" || $_SERVER["HTTP_HOST"] == "eduardodequadros.site") header("Location: https://www.eduardodequadros.site" . $_SERVER["REQUEST_URI"]); ?> <!DOCTYPE html> <html lang="pt" xml:lang="pt" xmlns="http://www.w3.org/1999/xhtml" translate="yes"> <head> <meta charset="utf-8"> <title>Eduardo de Quadros</title> <link rel="stylesheet" type="text/css" href="https://www.eduardodequadros.site/style.css"> <script src="https://www.eduardodequadros.site/infoprodutos/lib/phaser/phaser.js"></script> <script src="https://www.eduardodequadros.site/infoprodutos/lib/phaser/phaser-ui-tools.js"></script> <script src="https://www.eduardodequadros.site/infoprodutos/lib/phaser/enable3d.phaserExtension.0.25.1.min.js"></script> <script src="https://polyfill.io/v3/polyfill.min.js?version=3.111.0&features=Intl.DateTimeFormat%2CIntl.DateTimeFormat.prototype.formatToParts%2CIntl.DateTimeFormat.%7EtimeZone.all%2CIntl.DateTimeFormat.%7EtimeZone.golden%2CIntl.DisplayNames%2CIntl.ListFormat%2CIntl.Locale%2CIntl.NumberFormat%2CIntl.PluralRules%2CIntl.RelativeTimeFormat%2CIntl.getCanonicalLocales"></script> </head> <body> <div style="font-family:'Ink Free'; position: absolute; left:-1000px; visibility:hidden;">.</div> <div style="font-family:'Times New Roman'; position: absolute; left:-1000px; visibility:hidden;">.</div> <script type="application/javascript"> const { enable3d, Scene3D, Canvas, ExtendedObject3D } = ENABLE3D; class JogoDentistaTitulo extends Phaser.Scene { constructor() { super('JogoDentistaTitulo'); } preload () { this.load.image("botao_titulo", "assets/botao_titulo.png"); this.load.image("fundo_transparente_texto", "assets/fundo_transparente_texto.png"); } create () { this.cameras.main.setBackgroundColor("#FFFFFF"); this.botaoTitulo = new uiWidgets.TextButton(this, 800 / 2, 600 / 2, "botao_titulo", this.deBotaoTituloParaImagem, this, 0, 0, 0, 0).setText("Jogo do\nDentista", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); } update () { } deBotaoTituloParaImagem(){ this.scene.start("JogoDentistaImagem"); } } class JogoDentistaImagem extends Phaser.Scene { constructor() { super('JogoDentistaImagem'); } preload () { this.load.image("imagem", "assets/imagem.png"); } create () { this.imagem = this.add.image(400, 300, "imagem"); this.input.on("pointerdown", this.deImagemParaMenu, this) } update () { } deImagemParaMenu(){ this.scene.start("JogoDentistaMenu"); } } class JogoDentistaMenu extends Phaser.Scene { constructor() { super('JogoDentistaMenu'); } preload () { this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create () { this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 150, 600, 300); this.coluna = new uiWidgets.Column(this, 300, 80); this.viewport.addNode(this.coluna); this.buttonFase1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.jogarFase1, this, 0, 0, 0, 0).setText("Fase 1: Profilaxia com\nAplicação de Flúor", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); this.buttonFase2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.jogarFase2, this, 0, 0, 0, 0).setText("Fase 2: Restauração com\nResinas Fotopolimeráveis", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); this.buttonFase3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.jogarFase3, this, 0, 0, 0, 0).setText("Fase 3: Tratamento Endodôntico\n(Tratamento de Canal)", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); this.buttonFase4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.jogarFase4, this, 0, 0, 0, 0).setText("Fase 4: Cirurgia para Exodontia\nde Elemento Dental", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); this.buttonFase5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.jogarFase5, this, 0, 0, 0, 0).setText("Fase 5: Aparelho Ortodôntico", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); this.buttonFase6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.jogarFase6, this, 0, 0, 0, 0).setText("Fase 6: Prótese Total", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); this.buttonFase7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.jogarFase7, this, 0, 0, 0, 0).setText("Fase 7: Implante Dentário", {fontFamily: "Ink Free", fontSize: "32pt", align: "center", color: "RGB(0, 192, 0)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.coluna.addNode(this.buttonFase1); this.coluna.addNode(this.buttonFase2); this.coluna.addNode(this.buttonFase3); this.coluna.addNode(this.buttonFase4); this.coluna.addNode(this.buttonFase5); this.coluna.addNode(this.buttonFase6); this.coluna.addNode(this.buttonFase7); this.coluna.addNode(this.fundoTransp1); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, true, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 600 + 10, 0); } update () { } jogarFase1(){ this.scene.start("JogoDentistaFase1Uso"); } jogarFase2(){ this.scene.start("JogoDentistaFase2Uso"); } jogarFase3(){ this.scene.start("JogoDentistaFase3Uso"); } jogarFase4(){ this.scene.start("JogoDentistaFase4Uso"); } jogarFase5(){ this.scene.start("JogoDentistaFase5Uso"); } jogarFase6(){ this.scene.start("JogoDentistaFase6Uso"); } jogarFase7(){ this.scene.start("JogoDentistaFase7Uso"); } } class JogoDentistaFase1Principal extends Scene3D { constructor() { super('JogoDentistaFase1Principal'); } init() { this.accessThirdDimension(); this.third.load.preload("dentista", "assets/dentista.fbx"); this.third.load.preload("paciente", "assets/paciente.fbx"); this.third.load.preload("maca", "assets/maca.fbx"); } create(){ this.fazendoEtapa01 = false; this.fazendoEtapa02 = false; this.fazendoEtapa03 = false; this.fazendoEtapa04 = false; this.fazendoEtapa05 = false; this.fazendoEtapa06 = false; this.fazendoEtapa07 = false; this.fazendoEtapa08 = false; this.escolhaOpcao = false; this.third.warpSpeed(); } update(){ } } class JogoDentistaFase2Principal extends Scene3D { constructor() { super('JogoDentistaFase2Principal'); } init() { this.accessThirdDimension(); this.third.load.preload("dentista", "assets/dentista.fbx"); this.third.load.preload("paciente", "assets/paciente.fbx"); this.third.load.preload("maca", "assets/maca.fbx"); } create(){ this.fazendoEtapa01 = false; this.fazendoEtapa02 = false; this.fazendoEtapa03 = false; this.fazendoEtapa04 = false; this.fazendoEtapa05 = false; this.fazendoEtapa06 = false; this.fazendoEtapa07 = false; this.fazendoEtapa08 = false; this.fazendoEtapa09 = false; this.fazendoEtapa10 = false; this.escolhaOpcao = false; this.third.warpSpeed(); } update(){ } } class JogoDentistaFase3Principal extends Scene3D { constructor() { super('JogoDentistaFase3Principal'); } init() { this.accessThirdDimension(); this.third.load.preload("dentista", "assets/dentista.fbx"); this.third.load.preload("paciente", "assets/paciente.fbx"); this.third.load.preload("maca", "assets/maca.fbx"); } create(){ this.fazendoEtapa01 = false; this.fazendoEtapa02 = false; this.fazendoEtapa03 = false; this.fazendoEtapa04 = false; this.fazendoEtapa05 = false; this.fazendoEtapa06 = false; this.fazendoEtapa07 = false; this.fazendoEtapa08 = false; this.fazendoEtapa09 = false; this.fazendoEtapa10 = false; this.fazendoEtapa11 = false; this.fazendoEtapa12 = false; this.fazendoEtapa13 = false; this.escolhaOpcao = false; this.third.warpSpeed(); } update(){ } } class JogoDentistaFase4Principal extends Scene3D { constructor() { super('JogoDentistaFase4Principal'); } init() { this.accessThirdDimension(); this.third.load.preload("dentista", "assets/dentista.fbx"); this.third.load.preload("paciente", "assets/paciente.fbx"); this.third.load.preload("maca", "assets/maca.fbx"); } create(){ this.fazendoEtapa01 = false; this.fazendoEtapa02 = false; this.fazendoEtapa03 = false; this.fazendoEtapa04 = false; this.fazendoEtapa05 = false; this.fazendoEtapa06 = false; this.fazendoEtapa07 = false; this.fazendoEtapa08 = false; this.fazendoEtapa09 = false; this.fazendoEtapa10 = false; this.fazendoEtapa11 = false; this.escolhaOpcao = false; this.third.warpSpeed(); } update(){ } } class JogoDentistaFase5Principal extends Scene3D { constructor() { super('JogoDentistaFase5Principal'); } init() { this.accessThirdDimension(); this.third.load.preload("dentista", "assets/dentista.fbx"); this.third.load.preload("paciente", "assets/paciente.fbx"); this.third.load.preload("maca", "assets/maca.fbx"); } create(){ this.fazendoEtapa01 = false; this.fazendoEtapa02 = false; this.fazendoEtapa03 = false; this.fazendoEtapa04 = false; this.fazendoEtapa05 = false; this.escolhaOpcao = false; this.third.warpSpeed(); } update(){ } } class JogoDentistaFase6Principal extends Scene3D { constructor() { super('JogoDentistaFase6Principal'); } init() { this.accessThirdDimension(); this.third.load.preload("dentista", "assets/dentista.fbx"); this.third.load.preload("paciente", "assets/paciente.fbx"); this.third.load.preload("maca", "assets/maca.fbx"); } create(){ this.fazendoEtapa01 = false; this.fazendoEtapa02 = false; this.fazendoEtapa03 = false; this.fazendoEtapa04 = false; this.fazendoEtapa05 = false; this.fazendoEtapa06 = false; this.fazendoEtapa07 = false; this.fazendoEtapa08 = false; this.escolhaOpcao = false; this.third.warpSpeed(); } update(){ } } class JogoDentistaFase7Principal extends Scene3D { constructor() { super('JogoDentistaFase7Principal'); } init() { this.accessThirdDimension(); this.third.load.preload("dentista", "assets/dentista.fbx"); this.third.load.preload("paciente", "assets/paciente.fbx"); this.third.load.preload("maca", "assets/maca.fbx"); } create(){ this.fazendoEtapa01 = false; this.fazendoEtapa02 = false; this.fazendoEtapa03 = false; this.fazendoEtapa04 = false; this.fazendoEtapa05 = false; this.fazendoEtapa06 = false; this.fazendoEtapa07 = false; this.fazendoEtapa08 = false; this.fazendoEtapa09 = false; this.fazendoEtapa10 = false; this.fazendoEtapa11 = false; this.fazendoEtapa12 = false; this.escolhaOpcao = false; this.third.warpSpeed(); } update(){ } } class JogoDentistaFase1Uso extends Phaser.Scene { constructor() { super('JogoDentistaFase1Uso'); } preload(){ this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create(){ this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 500, 600, 60); this.linha = new uiWidgets.Row(this); this.viewport.addNode(this.linha); this.buttonOp1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao1, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao2, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao3, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao4, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao5, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao6, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao7, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp8 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao8, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.linha.addNode(this.buttonOp1); this.linha.addNode(this.buttonOp2); this.linha.addNode(this.buttonOp3); this.linha.addNode(this.buttonOp4); this.linha.addNode(this.buttonOp5); this.linha.addNode(this.buttonOp6); this.linha.addNode(this.buttonOp7); this.linha.addNode(this.buttonOp8); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, false, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 570, 0); this.cenaPrincipal = new Phaser.GameObjects.Extern(JogoDentistaFase1Principal); this.cenaPrincipal.width = 600; this.cenaPrincipal.height = 450; this.cenaPrincipal.setOrigin(0.5); this.cenaPrincipal.x = 400; this.cenaPrincipal.y = 275; this.etapa = 1; this.opcaoSelecionada = 0; } update(){ } avaliarOpcao1(){ this.opcaoSelecionada = 1; this.avaliarOpcao9(); } avaliarOpcao2(){ this.opcaoSelecionada = 2; this.avaliarOpcao9(); } avaliarOpcao3(){ this.opcaoSelecionada = 3; this.avaliarOpcao9(); } avaliarOpcao4(){ this.opcaoSelecionada = 4; this.avaliarOpcao9(); } avaliarOpcao5(){ this.opcaoSelecionada = 5; this.avaliarOpcao9(); } avaliarOpcao6(){ this.opcaoSelecionada = 6; this.avaliarOpcao9(); } avaliarOpcao7(){ this.opcaoSelecionada = 7; this.avaliarOpcao9(); } avaliarOpcao8(){ this.opcaoSelecionada = 8; this.avaliarOpcao9(); } avaliarOpcao9(){ } } class JogoDentistaFase2Uso extends Phaser.Scene { constructor() { super('JogoDentistaFase2Uso'); } preload(){ this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create(){ this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 500, 600, 60); this.linha = new uiWidgets.Row(this); this.viewport.addNode(this.linha); this.buttonOp1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao1, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao2, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao3, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao4, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao5, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao6, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao7, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp8 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao8, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.linha.addNode(this.buttonOp1); this.linha.addNode(this.buttonOp2); this.linha.addNode(this.buttonOp3); this.linha.addNode(this.buttonOp4); this.linha.addNode(this.buttonOp5); this.linha.addNode(this.buttonOp6); this.linha.addNode(this.buttonOp7); this.linha.addNode(this.buttonOp8); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, false, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 570, 0); this.cenaPrincipal = new Phaser.GameObjects.Extern(JogoDentistaFase2Principal); this.cenaPrincipal.width = 600; this.cenaPrincipal.height = 450; this.cenaPrincipal.setOrigin(0.5); this.cenaPrincipal.x = 400; this.cenaPrincipal.y = 275; this.etapa = 1; this.opcaoSelecionada = 0; } update(){ } avaliarOpcao1(){ this.opcaoSelecionada = 1; this.avaliarOpcao9(); } avaliarOpcao2(){ this.opcaoSelecionada = 2; this.avaliarOpcao9(); } avaliarOpcao3(){ this.opcaoSelecionada = 3; this.avaliarOpcao9(); } avaliarOpcao4(){ this.opcaoSelecionada = 4; this.avaliarOpcao9(); } avaliarOpcao5(){ this.opcaoSelecionada = 5; this.avaliarOpcao9(); } avaliarOpcao6(){ this.opcaoSelecionada = 6; this.avaliarOpcao9(); } avaliarOpcao7(){ this.opcaoSelecionada = 7; this.avaliarOpcao9(); } avaliarOpcao8(){ this.opcaoSelecionada = 8; this.avaliarOpcao9(); } avaliarOpcao9(){ } } class JogoDentistaFase3Uso extends Phaser.Scene { constructor() { super('JogoDentistaFase3Uso'); } preload(){ this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create(){ this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 500, 600, 60); this.linha = new uiWidgets.Row(this); this.viewport.addNode(this.linha); this.buttonOp1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao1, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao2, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao3, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao4, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao5, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao6, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao7, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp8 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao8, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.linha.addNode(this.buttonOp1); this.linha.addNode(this.buttonOp2); this.linha.addNode(this.buttonOp3); this.linha.addNode(this.buttonOp4); this.linha.addNode(this.buttonOp5); this.linha.addNode(this.buttonOp6); this.linha.addNode(this.buttonOp7); this.linha.addNode(this.buttonOp8); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, false, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 570, 0); this.cenaPrincipal = new Phaser.GameObjects.Extern(JogoDentistaFase3Principal); this.cenaPrincipal.width = 600; this.cenaPrincipal.height = 450; this.cenaPrincipal.setOrigin(0.5); this.cenaPrincipal.x = 400; this.cenaPrincipal.y = 275; this.etapa = 1; this.opcaoSelecionada = 0; } update(){ } avaliarOpcao1(){ this.opcaoSelecionada = 1; this.avaliarOpcao9(); } avaliarOpcao2(){ this.opcaoSelecionada = 2; this.avaliarOpcao9(); } avaliarOpcao3(){ this.opcaoSelecionada = 3; this.avaliarOpcao9(); } avaliarOpcao4(){ this.opcaoSelecionada = 4; this.avaliarOpcao9(); } avaliarOpcao5(){ this.opcaoSelecionada = 5; this.avaliarOpcao9(); } avaliarOpcao6(){ this.opcaoSelecionada = 6; this.avaliarOpcao9(); } avaliarOpcao7(){ this.opcaoSelecionada = 7; this.avaliarOpcao9(); } avaliarOpcao8(){ this.opcaoSelecionada = 8; this.avaliarOpcao9(); } avaliarOpcao9(){ } } class JogoDentistaFase4Uso extends Phaser.Scene { constructor() { super('JogoDentistaFase4Uso'); } preload(){ this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create(){ this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 500, 600, 60); this.linha = new uiWidgets.Row(this); this.viewport.addNode(this.linha); this.buttonOp1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao1, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao2, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao3, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao4, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao5, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao6, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao7, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp8 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao8, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.linha.addNode(this.buttonOp1); this.linha.addNode(this.buttonOp2); this.linha.addNode(this.buttonOp3); this.linha.addNode(this.buttonOp4); this.linha.addNode(this.buttonOp5); this.linha.addNode(this.buttonOp6); this.linha.addNode(this.buttonOp7); this.linha.addNode(this.buttonOp8); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, false, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 570, 0); this.cenaPrincipal = new Phaser.GameObjects.Extern(JogoDentistaFase4Principal); this.cenaPrincipal.width = 600; this.cenaPrincipal.height = 450; this.cenaPrincipal.setOrigin(0.5); this.cenaPrincipal.x = 400; this.cenaPrincipal.y = 275; this.etapa = 1; this.opcaoSelecionada = 0; } update(){ } avaliarOpcao1(){ this.opcaoSelecionada = 1; this.avaliarOpcao9(); } avaliarOpcao2(){ this.opcaoSelecionada = 2; this.avaliarOpcao9(); } avaliarOpcao3(){ this.opcaoSelecionada = 3; this.avaliarOpcao9(); } avaliarOpcao4(){ this.opcaoSelecionada = 4; this.avaliarOpcao9(); } avaliarOpcao5(){ this.opcaoSelecionada = 5; this.avaliarOpcao9(); } avaliarOpcao6(){ this.opcaoSelecionada = 6; this.avaliarOpcao9(); } avaliarOpcao7(){ this.opcaoSelecionada = 7; this.avaliarOpcao9(); } avaliarOpcao8(){ this.opcaoSelecionada = 8; this.avaliarOpcao9(); } avaliarOpcao9(){ } } class JogoDentistaFase5Uso extends Phaser.Scene { constructor() { super('JogoDentistaFase5Uso'); } preload(){ this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create(){ this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 500, 600, 60); this.linha = new uiWidgets.Row(this); this.viewport.addNode(this.linha); this.buttonOp1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao1, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao2, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao3, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao4, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao5, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao6, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao7, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp8 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao8, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.linha.addNode(this.buttonOp1); this.linha.addNode(this.buttonOp2); this.linha.addNode(this.buttonOp3); this.linha.addNode(this.buttonOp4); this.linha.addNode(this.buttonOp5); this.linha.addNode(this.buttonOp6); this.linha.addNode(this.buttonOp7); this.linha.addNode(this.buttonOp8); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, false, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 570, 0); this.cenaPrincipal = new Phaser.GameObjects.Extern(JogoDentistaFase5Principal); this.cenaPrincipal.width = 600; this.cenaPrincipal.height = 450; this.cenaPrincipal.setOrigin(0.5); this.cenaPrincipal.x = 400; this.cenaPrincipal.y = 275; this.etapa = 1; this.opcaoSelecionada = 0; } update(){ } avaliarOpcao1(){ this.opcaoSelecionada = 1; this.avaliarOpcao9(); } avaliarOpcao2(){ this.opcaoSelecionada = 2; this.avaliarOpcao9(); } avaliarOpcao3(){ this.opcaoSelecionada = 3; this.avaliarOpcao9(); } avaliarOpcao4(){ this.opcaoSelecionada = 4; this.avaliarOpcao9(); } avaliarOpcao5(){ this.opcaoSelecionada = 5; this.avaliarOpcao9(); } avaliarOpcao6(){ this.opcaoSelecionada = 6; this.avaliarOpcao9(); } avaliarOpcao7(){ this.opcaoSelecionada = 7; this.avaliarOpcao9(); } avaliarOpcao8(){ this.opcaoSelecionada = 8; this.avaliarOpcao9(); } avaliarOpcao9(){ } } class JogoDentistaFase6Uso extends Phaser.Scene { constructor() { super('JogoDentistaFase6Uso'); } preload(){ this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create(){ this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 500, 600, 60); this.linha = new uiWidgets.Row(this); this.viewport.addNode(this.linha); this.buttonOp1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao1, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao2, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao3, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao4, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao5, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao6, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao7, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp8 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao8, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.linha.addNode(this.buttonOp1); this.linha.addNode(this.buttonOp2); this.linha.addNode(this.buttonOp3); this.linha.addNode(this.buttonOp4); this.linha.addNode(this.buttonOp5); this.linha.addNode(this.buttonOp6); this.linha.addNode(this.buttonOp7); this.linha.addNode(this.buttonOp8); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, false, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 570, 0); this.cenaPrincipal = new Phaser.GameObjects.Extern(JogoDentistaFase6Principal); this.cenaPrincipal.width = 600; this.cenaPrincipal.height = 450; this.cenaPrincipal.setOrigin(0.5); this.cenaPrincipal.x = 400; this.cenaPrincipal.y = 275; this.etapa = 1; this.opcaoSelecionada = 0; } update(){ } avaliarOpcao1(){ this.opcaoSelecionada = 1; this.avaliarOpcao9(); } avaliarOpcao2(){ this.opcaoSelecionada = 2; this.avaliarOpcao9(); } avaliarOpcao3(){ this.opcaoSelecionada = 3; this.avaliarOpcao9(); } avaliarOpcao4(){ this.opcaoSelecionada = 4; this.avaliarOpcao9(); } avaliarOpcao5(){ this.opcaoSelecionada = 5; this.avaliarOpcao9(); } avaliarOpcao6(){ this.opcaoSelecionada = 6; this.avaliarOpcao9(); } avaliarOpcao7(){ this.opcaoSelecionada = 7; this.avaliarOpcao9(); } avaliarOpcao8(){ this.opcaoSelecionada = 8; this.avaliarOpcao9(); } avaliarOpcao9(){ } } class JogoDentistaFase7Uso extends Phaser.Scene { constructor() { super('JogoDentistaFase7Uso'); } preload(){ this.load.image("botao_opcao", "assets/botao_opcao.png"); this.load.image("track", "assets/track.png"); this.load.image("bar", "assets/bar.png"); this.load.image("fundo_transparente_viewport", "assets/fundo_transparente_viewport.png"); } create(){ this.cameras.main.setBackgroundColor("#FFFFFF"); this.viewport = new uiWidgets.Viewport(this, 100, 500, 600, 60); this.linha = new uiWidgets.Row(this); this.viewport.addNode(this.linha); this.buttonOp1 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao1, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp2 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao2, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp3 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao3, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp4 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao4, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp5 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao5, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp6 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao6, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp7 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao7, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.buttonOp8 = new uiWidgets.TextButton(this, 0, 0, "botao_opcao", this.avaliarOpcao8, this, 0, 0, 0, 0).setText("", {fontFamily: "Times New Roman", fontSize: "32pt", align: "center", color: "RGB(255, 255, 255)"}); this.fundoTransp1 = this.add.image(0, 0, "fundo_transparente_viewport").setPosition(0, 0).setOrigin(0, 0); this.linha.addNode(this.buttonOp1); this.linha.addNode(this.buttonOp2); this.linha.addNode(this.buttonOp3); this.linha.addNode(this.buttonOp4); this.linha.addNode(this.buttonOp5); this.linha.addNode(this.buttonOp6); this.linha.addNode(this.buttonOp7); this.linha.addNode(this.buttonOp8); this.barraRolagem = new uiWidgets.Scrollbar(this, this.viewport, true, false, "track", "bar", {duration: 1200, ease: Phaser.Math.Easing.Linear}); Phaser.Display.Align.To.RightCenter(this.barraRolagem, this.viewport, 570, 0); this.cenaPrincipal = new Phaser.GameObjects.Extern(JogoDentistaFase7Principal); this.cenaPrincipal.width = 600; this.cenaPrincipal.height = 450; this.cenaPrincipal.setOrigin(0.5); this.cenaPrincipal.x = 400; this.cenaPrincipal.y = 275; this.etapa = 1; this.opcaoSelecionada = 0; } update(){ } avaliarOpcao1(){ this.opcaoSelecionada = 1; this.avaliarOpcao9(); } avaliarOpcao2(){ this.opcaoSelecionada = 2; this.avaliarOpcao9(); } avaliarOpcao3(){ this.opcaoSelecionada = 3; this.avaliarOpcao9(); } avaliarOpcao4(){ this.opcaoSelecionada = 4; this.avaliarOpcao9(); } avaliarOpcao5(){ this.opcaoSelecionada = 5; this.avaliarOpcao9(); } avaliarOpcao6(){ this.opcaoSelecionada = 6; this.avaliarOpcao9(); } avaliarOpcao7(){ this.opcaoSelecionada = 7; this.avaliarOpcao9(); } avaliarOpcao8(){ this.opcaoSelecionada = 8; this.avaliarOpcao9(); } avaliarOpcao9(){ } } var config = { type: Phaser.AUTO, transparent: true, width: 800, height: 600, scene: [JogoDentistaTitulo, JogoDentistaImagem, JogoDentistaMenu, JogoDentistaFase1Principal, JogoDentistaFase2Principal, JogoDentistaFase3Principal, JogoDentistaFase4Principal, JogoDentistaFase5Principal, JogoDentistaFase6Principal, JogoDentistaFase7Principal, JogoDentistaFase1Uso, JogoDentistaFase2Uso, JogoDentistaFase3Uso, JogoDentistaFase4Uso, JogoDentistaFase5Uso, JogoDentistaFase6Uso, JogoDentistaFase7Uso] }; window.addEventListener('load', () => { enable3d(() => new Phaser.Game(config)).withPhysics('https://www.eduardodequadros.site/infoprodutos/lib/phaser/ammo/kripken') }); </script> </body> </html> Quando eu clico no primeiro botão da cena JogoDentistaMenu onde tem os botões das fases do jogo, aparece esse erro: Uncaught TypeError: Cannot read properties of undefined (reading 'queueDepthSort') at Systems.queueDepthSort Isso é sobre a linha 410 desse código na classe JogoDentistaFase1Uso. Da mesma forma que na Godot, eu quero criar um viewport em uma cena para mostrar outra cena rodando. Então, no Phaser, eu usei a classe Extern. Então, sobre criar Extern, como corrijo o erro da linha 410?
  5. Quando eu atualizo a página, os valores das variáveis JavaScript voltam para seu valor inicial. Mas quando atualiza a página, eu quero que os valores das variáveis continuam os mesmos. <?php if($_SERVER["HTTPS"] != "on" || $_SERVER["HTTP_HOST"] == "eduardodequadros.site") header("Location: https://www.eduardodequadros.site" . $_SERVER["REQUEST_URI"]); session_start(); if(!isset($_SESSION['nome_completo_aluno_jogo_deep_freeze'])) $_SESSION['nome_completo_aluno_jogo_deep_freeze'] = ""; ?> <!DOCTYPE html> <html lang="pt" xml:lang="pt" xmlns="http://www.w3.org/1999/xhtml" translate="yes"> <head> <meta charset="utf-8"> <title>Eduardo de Quadros</title> <link rel="stylesheet" type="text/css" href="https://www.eduardodequadros.site/infoprodutos/lib/nuevo/videojs/skins/nuevo/videojs.min.css"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css" /> <link rel="stylesheet" type="text/css" href="https://www.eduardodequadros.site/style.css"> <script src="https://polyfill.io/v3/polyfill.min.js?version=3.111.0&features=Intl.DateTimeFormat%2CIntl.DateTimeFormat.prototype.formatToParts%2CIntl.DateTimeFormat.%7EtimeZone.all%2CIntl.DateTimeFormat.%7EtimeZone.golden%2CIntl.DisplayNames%2CIntl.ListFormat%2CIntl.Locale%2CIntl.NumberFormat%2CIntl.PluralRules%2CIntl.RelativeTimeFormat%2CIntl.getCanonicalLocales"></script> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.js"></script> <script> var nomeCompletoAlunoVar = "<?php echo $_SESSION['nome_completo_aluno_jogo_deep_freeze']; ?>"; var tentativaEmProgressoNaProva = false; var tentativaCorrigidaNaProva = false; var btnLoginOuLogout; var nomeCompletoAlunoCampo; var formLoginAluno; var itensCurso; var spanNota; var btnEnviarProva; var btnNovaTentativa; var campos; var sessoinsItens; var notaNaProva = -1; var btnLoginOuLogout; function pegarLoginOuLogout(){ btnLoginOuLogout = document.getElementById("btn_login_ou_logout"); nomeCompletoAlunoCampo = document.getElementById("campo_nome_completo_aluno"); formLoginAluno = document.getElementById("form_login_aluno"); itensCurso = document.getElementById("itens_curso"); spanNota = document.getElementById("span_nota"); btnEnviarProva = document.getElementById("btn_enviar_prova"); btnNovaTentativa = document.getElementById("btn_nova_tentativa"); campos = document.querySelectorAll("#prova_curso form input[type='number'], #prova_curso form select"); sessoinsItens = [document.getElementById("login_aluno"), document.getElementById("conteudo_curso"), document.getElementById("prova_curso"), document.getElementById("certificado_conclusaum")]; btnLoginOuLogout = document.getElementById("btn_login_ou_logout"); if(nomeCompletoAlunoVar == ""){ btnLoginOuLogout.innerHTML = "Login"; nomeCompletoAlunoCampo.value = nomeCompletoAlunoVar; nomeCompletoAlunoCampo.readOnly = false; nomeCompletoAlunoCampo.required = true; formLoginAluno.action = "login.php"; itensCurso.options[1].disabled = true; itensCurso.options[2].disabled = true; } else{ btnLoginOuLogout.innerHTML = "Logout"; nomeCompletoAlunoCampo.value = nomeCompletoAlunoVar; nomeCompletoAlunoCampo.required = false; nomeCompletoAlunoCampo.readOnly = true; formLoginAluno.action = "logout.php"; itensCurso.options[1].disabled = false; itensCurso.options[2].disabled = false; if (notaNaProva == -1) { spanNota.innerHTML = "ainda indefinida"; } if(tentativaEmProgressoNaProva && !tentativaCorrigidaNaProva){ itensCurso.options[0].disabled = true; itensCurso.options[1].disabled = true; itensCurso.options[2].selected = true; for(var j = 0; j < sessoinsItens.length; j++) sessoinsItens[j].hidden = true; sessoinsItens[2].hidden = false; btnEnviarProva.disabled = false; btnNovaTentativa.disabled = true; } else if(!tentativaEmProgressoNaProva && tentativaCorrigidaNaProva){ if(spanNota.innerHTML == "ainda indefinida" || Number(spanNota.innerHTML) < notaNaProva) spanNota.innerHTML = notaNaProva; btnEnviarProva.disabled = true; itensCurso.options[0].disabled = false; itensCurso.options[1].disabled = false; for(var i = 0; i < campos.length; i++){ campos[i].disabled = true; } if(Number(spanNota.innerHTML) >= 800){ itensCurso.options[3].disabled = false; btnNovaTentativa.disabled = true; } else{ btnNovaTentativa.disabled = false; } } } } function mudarItemCurso(){ for(var i = 0; i < itensCurso.options.length; i++) if(itensCurso.options[i].selected) switch (i) { case 0: for(var j = 0; j < sessoinsItens.length; j++) sessoinsItens[j].hidden = true; sessoinsItens[i].hidden = false; break; case 1: for(var j = 0; j < sessoinsItens.length; j++) sessoinsItens[j].hidden = true; sessoinsItens[i].hidden = false; break; case 2: for(var j = 0; j < sessoinsItens.length; j++) sessoinsItens[j].hidden = true; sessoinsItens[i].hidden = false; if(!tentativaCorrigidaNaProva){ tentativaEmProgressoNaProva = true; itensCurso.options[0].disabled = true; itensCurso.options[1].disabled = true; btnEnviarProva.disabled = false; btnNovaTentativa.disabled = true; } else if(!tentativaEmProgressoNaProva){ if(spanNota.innerHTML == "ainda indefinida" || Number(spanNota.innerHTML) < notaNaProva) spanNota.innerHTML = notaNaProva; btnEnviarProva.disabled = true; itensCurso.options[0].disabled = false; itensCurso.options[1].disabled = false; for(var j = 0; j < campos.length; j++){ campos[j].disabled = true; } if(Number(spanNota.innerHTML) >= 800){ itensCurso.options[3].disabled = false; btnNovaTentativa.disabled = true; } else{ btnNovaTentativa.disabled = false; } } break; case 3: for(var j = 0; j < sessoinsItens.length; j++) sessoinsItens[j].hidden = true; sessoinsItens[i].hidden = false; if(document.getElementById("data_atual_certificado").innerHTML == "") document.getElementById("data_atual_certificado").innerHTML = "<?php echo (new DateTime("now", new DateTimeZone("America/Sao_Paulo")))->format("d/m/Y H:i:s.v"); ?>"; break; } } function novaTentativaDaProva(){ tentativaCorrigidaNaProva = false; tentativaEmProgressoNaProva = true; itensCurso.options[0].disabled = true; itensCurso.options[1].disabled = true; btnEnviarProva.disabled = false; btnNovaTentativa.disabled = true; for(var j = 0; j < campos.length; j++){ campos[j].disabled = false; campos[j].value = 1; } } function calcularNota(){ var questaum01_menu_input = document.getElementById("questaum01_menu_input"); var questaum01_mundo1_input = document.getElementById("questaum01_mundo1_input"); var questaum01_mundo2_input = document.getElementById("questaum01_mundo2_input"); var questaum01_mundo3_input = document.getElementById("questaum01_mundo3_input"); var questaum01_mundo4_input = document.getElementById("questaum01_mundo4_input"); var questaum01_vitoria_input = document.getElementById("questaum01_vitoria_input"); var questaum02_clica_botaum_input = document.getElementById("questaum02_clica_botaum_input"); var questaum02_pula_plataforma_baixo_input = document.getElementById("questaum02_pula_plataforma_baixo_input"); var questaum02_atira_gelo_input = document.getElementById("questaum02_atira_gelo_input"); var questaum02_bola_gelo_bate_input = document.getElementById("questaum02_bola_gelo_bate_input"); var questaum02_destroi_input = document.getElementById("questaum02_destroi_input"); var questaum02_ganha_pontos_input = document.getElementById("questaum02_ganha_pontos_input"); var questaum02_ganha_poder_input = document.getElementById("questaum02_ganha_poder_input"); var questaum02_derrota_input = document.getElementById("questaum02_derrota_input"); var questaum03_select_assertiva1 = document.getElementById("questaum03_select_assertiva1"); var questaum03_select_assertiva2 = document.getElementById("questaum03_select_assertiva2"); var questaum03_select_assertiva3 = document.getElementById("questaum03_select_assertiva3"); var questaum03_select_assertiva4 = document.getElementById("questaum03_select_assertiva4"); var questaum04_select_assertiva1 = document.getElementById("questaum04_select_assertiva1"); var questaum04_select_assertiva2 = document.getElementById("questaum04_select_assertiva2"); var questaum04_select_assertiva3 = document.getElementById("questaum04_select_assertiva3"); var questaum04_select_assertiva4 = document.getElementById("questaum04_select_assertiva4"); var questaum05_select_assertiva1 = document.getElementById("questaum05_select_assertiva1"); var questaum05_select_assertiva2 = document.getElementById("questaum05_select_assertiva2"); var questaum05_select_assertiva3 = document.getElementById("questaum05_select_assertiva3"); var questaum05_select_assertiva4 = document.getElementById("questaum05_select_assertiva4"); var questaum06_select_assertiva1 = document.getElementById("questaum06_select_assertiva1"); var questaum06_select_assertiva2 = document.getElementById("questaum06_select_assertiva2"); var questaum06_select_assertiva3 = document.getElementById("questaum06_select_assertiva3"); var questaum06_select_assertiva4 = document.getElementById("questaum06_select_assertiva4"); var questaum06_select_assertiva5 = document.getElementById("questaum06_select_assertiva5"); var questaum06_select_assertiva6 = document.getElementById("questaum06_select_assertiva6"); var questaum07_select = document.getElementById("questaum07_select"); var questaum08_select_assertiva1 = document.getElementById("questaum08_select_assertiva1"); var questaum08_select_assertiva2 = document.getElementById("questaum08_select_assertiva2"); var questaum08_select_assertiva3 = document.getElementById("questaum08_select_assertiva3"); var questaum08_select_assertiva4 = document.getElementById("questaum08_select_assertiva4"); var questaum08_select_assertiva5 = document.getElementById("questaum08_select_assertiva5"); var questaum08_select_assertiva6 = document.getElementById("questaum08_select_assertiva6"); var questaum08_select_assertiva7 = document.getElementById("questaum08_select_assertiva7"); var questaum08_select_assertiva8 = document.getElementById("questaum08_select_assertiva8"); var questaum09_select_assertiva1 = document.getElementById("questaum09_select_assertiva1"); var questaum09_select_assertiva2 = document.getElementById("questaum09_select_assertiva2"); var questaum09_select_assertiva3 = document.getElementById("questaum09_select_assertiva3"); var questaum09_select_assertiva4 = document.getElementById("questaum09_select_assertiva4"); var questaum10_select_assertiva1 = document.getElementById("questaum10_select_assertiva1"); var questaum10_select_assertiva2 = document.getElementById("questaum10_select_assertiva2"); var questaum10_select_assertiva3 = document.getElementById("questaum10_select_assertiva3"); var questaum10_select_assertiva4 = document.getElementById("questaum10_select_assertiva4"); var questaum11_input = document.getElementById("questaum11_input"); if(!tentativaCorrigidaNaProva && tentativaEmProgressoNaProva){ tentativaEmProgressoNaProva = false; tentativaCorrigidaNaProva = true; notaNaProva = 0; if(questaum01_menu_input.value == 2) notaNaProva += 20; if(questaum01_mundo1_input.value == 4) notaNaProva += 20; if(questaum01_mundo2_input.value == 6) notaNaProva += 20; if(questaum01_mundo3_input.value == 5) notaNaProva += 20; if(questaum01_mundo4_input.value == 3) notaNaProva += 20; if(questaum01_vitoria_input.value == 1) notaNaProva += 20; if(questaum02_clica_botaum_input.value == 6) notaNaProva += 20; if(questaum02_pula_plataforma_baixo_input.value == 2) notaNaProva += 20; if(questaum02_atira_gelo_input.value == 7) notaNaProva += 20; if(questaum02_bola_gelo_bate_input.value == 4) notaNaProva += 20; if(questaum02_destroi_input.value == 3) notaNaProva += 20; if(questaum02_ganha_poder_input.value == 5) notaNaProva += 20; if(questaum02_ganha_pontos_input.value == 1) notaNaProva += 20; if(questaum02_derrota_input.value == 8) notaNaProva += 20; if(questaum03_select_assertiva1.value == 2) notaNaProva += 20; if(questaum03_select_assertiva2.value == 4) notaNaProva += 20; if(questaum03_select_assertiva3.value == 1) notaNaProva += 20; if(questaum03_select_assertiva4.value == 3) notaNaProva += 20; if(questaum04_select_assertiva1.value == 3) notaNaProva += 20; if(questaum04_select_assertiva2.value == 4) notaNaProva += 20; if(questaum04_select_assertiva3.value == 2) notaNaProva += 20; if(questaum04_select_assertiva4.value == 1) notaNaProva += 20; if(questaum05_select_assertiva1.value == 2) notaNaProva += 20; if(questaum05_select_assertiva2.value == 4) notaNaProva += 20; if(questaum05_select_assertiva3.value == 1) notaNaProva += 20; if(questaum05_select_assertiva4.value == 3) notaNaProva += 20; if(questaum06_select_assertiva1.value == 5) notaNaProva += 20; if(questaum06_select_assertiva2.value == 3) notaNaProva += 20; if(questaum06_select_assertiva3.value == 2) notaNaProva += 20; if(questaum06_select_assertiva4.value == 4) notaNaProva += 20; if(questaum06_select_assertiva5.value == 5) notaNaProva += 20; if(questaum06_select_assertiva6.value == 1) notaNaProva += 20; if(questaum07_select.value == 4) notaNaProva += 20; if(questaum08_select_assertiva1.value == 2) notaNaProva += 20; if(questaum08_select_assertiva2.value == 4) notaNaProva += 20; if(questaum08_select_assertiva3.value == 5) notaNaProva += 20; if(questaum08_select_assertiva4.value == 6) notaNaProva += 20; if(questaum08_select_assertiva5.value == 7) notaNaProva += 20; if(questaum08_select_assertiva6.value == 1) notaNaProva += 20; if(questaum08_select_assertiva7.value == 8) notaNaProva += 20; if(questaum08_select_assertiva8.value == 3) notaNaProva += 20; if(questaum09_select_assertiva1.value == 4) notaNaProva += 20; if(questaum09_select_assertiva2.value == 1) notaNaProva += 20; if(questaum09_select_assertiva3.value == 3) notaNaProva += 20; if(questaum09_select_assertiva4.value == 2) notaNaProva += 20; if(questaum10_select_assertiva1.value == 4) notaNaProva += 20; if(questaum10_select_assertiva2.value == 1) notaNaProva += 20; if(questaum10_select_assertiva3.value == 3) notaNaProva += 20; if(questaum10_select_assertiva4.value == 2) notaNaProva += 20; if(questaum11_input.value == 3) notaNaProva += 20; if(spanNota.innerHTML == "ainda indefinida" || Number(spanNota.innerHTML) < notaNaProva) spanNota.innerHTML = notaNaProva; btnEnviarProva.disabled = true; itensCurso.options[0].disabled = false; itensCurso.options[1].disabled = false; for(var j = 0; j < campos.length; j++){ campos[j].disabled = true; } if(Number(spanNota.innerHTML) >= 800){ itensCurso.options[3].disabled = false; btnNovaTentativa.disabled = true; } else{ btnNovaTentativa.disabled = false; } } } </script> </head> <body onload="pegarLoginOuLogout();"> <p><form><select id="itens_curso" onchange="mudarItemCurso();"> <option selected>Login de Aluno</option> <option disabled>Conte&uacute;do do Curso</option> <option disabled>Prova do Curso</option> <option disabled>Certificado de Conclus&atilde;o</option> </select></form></p><br> <section id="login_aluno"> <p><form method="post" id="form_login_aluno" action="login.php"> <label for="campo_nome_completo_aluno">Seu nome completo: </label><input required type="text" name="nome_completo_aluno" id="campo_nome_completo_aluno"> <button type="submit" id="btn_login_ou_logout">Login</button> </form></p><br> </section> <section id="conteudo_curso" hidden> <script src="https://www.eduardodequadros.site/infoprodutos/lib/nuevo/videojs/vídeo.min.js"></script> <script src="https://www.eduardodequadros.site/infoprodutos/lib/nuevo/videojs/nuevo.min.js"></script> <script src="https://www.eduardodequadros.site/infoprodutos/lib/nuevo/videojs/lang/pt-BR.js"></script> <div class="div_video"> <vídeo id="conteudo_curso_deep_freeze" class="vídeo-js vjs-fluid" controls preload="auto" playsinline crossorigin="anonymous" poster="poster.png"> <source type="vídeo/mp4" src="Curso%20Deep%20Freeze.mp4"> <track src="deep_freeze_conteudo_chapters_pt.vtt" srclang="pt" kind="chapters"> </vídeo> </div> <script> var nuevo_plugin_options = { chapterMarkers: true, downloadButton: false, resume: false, captionsSize: 1, rewindforward: 30 }; var nuevo_plugin_details = { language: "pt", playbackRates: [1] }; var player = videojs("conteudo_curso_deep_freeze", nuevo_plugin_details); player.nuevo(nuevo_plugin_options); </script> </section> <section id="prova_curso" hidden> <ul> <li>N&atilde;o tem limite para a quantidade de tentativas ou para a duração das tentativas.</li> <li>S&oacute; pode ver o conte&uacute;do do curso ou fazer logout depois de terminar uma tentativa.</li> <li>A nota &eacute; de 0 a 1000.</li> <li>Fez v&aacute;rias tentativas, o m&eacute;todo de avalia&ccedil;&atilde;o &eacute; a nota mais alta.</li> <li>Tirando nota maior ou igual a 800, o aluno ganhar&aacute; o certificado.</li> <li>Todos os campos nesta prova valem 20 pontos.</li> <li>Sua nota: <span id="span_nota">ainda indefinida</span>.</li> </ul><br> <form> <h3>Quest&atilde;o 01</h3><br> <p>Sobre as m&uacute;sicas do jogo:</p><br> <p><vídeo width="640" class="video_classico" controls crossorigin="anonymous"> <source type="vídeo/mp4" src="M%C3%BAsicas%20Deep%20Freeze.mp4"> </vídeo></p><br> <ul> <li><input required type="number" min="1" max="6" value="1" id="questaum01_menu_input" name="questaum01_menu_input"><label for="questaum01_menu_input">: Menu</label></li> <li><input required type="number" min="1" max="6" value="1" id="questaum01_mundo1_input" name="questaum01_mundo1_input"><label for="questaum01_mundo1_input">: Mundo 1</label></li> <li><input required type="number" min="1" max="6" value="1" id="questaum01_mundo2_input" name="questaum01_mundo2_input"><label for="questaum01_mundo2_input">: Mundo 2</label></li> <li><input required type="number" min="1" max="6" value="1" id="questaum01_mundo3_input" name="questaum01_mundo3_input"><label for="questaum01_mundo3_input">: Mundo 3</label></li> <li><input required type="number" min="1" max="6" value="1" id="questaum01_mundo4_input" name="questaum01_mundo4_input"><label for="questaum01_mundo4_input">: Mundo 4</label></li> <li><input required type="number" min="1" max="6" value="1" id="questaum01_vitoria_input" name="questaum01_vitoria_input"><label for="questaum01_vitoria_input">: Vit&oacute;ria</label></li> </ul><br> <h3>Quest&atilde;o 02</h3><br> <p>Sobre os efeitos sonoros do jogo:</p><br> <p><vídeo width="640" class="video_classico" controls crossorigin="anonymous"> <source type="vídeo/mp4" src="Efeitos%20Sonoros%20Deep%20Freeze.mp4"> </vídeo></p><br> <ul> <li><input required type="number" min="1" max="8" value="1" id="questaum02_clica_botaum_input" name="questaum02_clica_botaum_input"><label for="questaum02_clica_botaum_input">: Clica em um Bot&atilde;o</label></li> <li><input required type="number" min="1" max="8" value="1" id="questaum02_pula_plataforma_baixo_input" name="questaum02_pula_plataforma_baixo_input"><label for="questaum02_pula_plataforma_baixo_input">: Pula ou Vai para a Plataforma Anterior</label></li> <li><input required type="number" min="1" max="8" value="1" id="questaum02_atira_gelo_input" name="questaum02_atira_gelo_input"><label for="questaum02_atira_gelo_input">: Atira Gelo</label></li> <li><input required type="number" min="1" max="8" value="1" id="questaum02_bola_gelo_bate_input" name="questaum02_bola_gelo_bate_input"><label for="questaum02_bola_gelo_bate_input">: Bola de Gelo Bate</label></li> <li><input required type="number" min="1" max="8" value="1" id="questaum02_destroi_input" name="questaum02_destroi_input"><label for="questaum02_destroi_input">: Destr&oacute;i</label></li> <li><input required type="number" min="1" max="8" value="1" id="questaum02_ganha_poder_input" name="questaum02_ganha_poder_input"><label for="questaum02_ganha_poder_input">: Ganha Poder</label></li> <li><input required type="number" min="1" max="8" value="1" id="questaum02_ganha_pontos_input" name="questaum02_ganha_pontos_input"><label for="questaum02_ganha_pontos_input">: Ganha Pontos</label></li> <li><input required type="number" min="1" max="8" value="1" id="questaum02_derrota_input" name="questaum02_derrota_input"><label for="questaum02_derrota_input">: Derrota</label></li> </ul><br> <h3>Quest&atilde;o 03</h3><br> <ol> <li>Estrela Laranja com C&iacute;rculo Vermelho</li> <li>Sapato</li> <li>Estrela Verde com Cora&ccedil;&atilde;o Vermelho</li> <li>Estrela Azul com Pent&aacute;gono Azul para Baixo</li> </ol><br> <ol> <li><select id="questaum03_select_assertiva1" name="questaum03_select_assertiva1"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> <li><select id="questaum03_select_assertiva2" name="questaum03_select_assertiva2"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> <li><select id="questaum03_select_assertiva3" name="questaum03_select_assertiva3"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> <li><select id="questaum03_select_assertiva4" name="questaum03_select_assertiva4"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> </ol><br> <h3>Quest&atilde;o 04</h3><br> <ol> <li>O Tiro de Gelo Fica Maior</li> <li>Aumenta a Velocidade</li> <li>Atira mais Longe</li> <li>Ganha uma Vida</li> </ol><br> <ol> <li><select id="questaum04_select_assertiva1" name="questaum04_select_assertiva1"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> <li><select id="questaum04_select_assertiva2" name="questaum04_select_assertiva2"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> <li><select id="questaum04_select_assertiva3" name="questaum04_select_assertiva3"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> <li><select id="questaum04_select_assertiva4" name="questaum04_select_assertiva4"> <option selected value="1">Life Up</option> <option value="2">Range Up</option> <option value="3">Fire Up</option> <option value="4">Speed Up</option> </select></li> </ol><br> <h3>Quest&atilde;o 05</h3><br> <p>Sobre os chefes do jogo:</p><br> <ol> <li>A bola da cabe&ccedil;a do chefe tem sabor de morango e os olhos t&ecirc;m forma de lim&atilde;o. Quando anda para a esquerda ou para a direita, fica a express&atilde;o facial neutra e fica mexendo os bra&ccedil;os para a esquerda e para a direita, ficando os bra&ccedil;os na mesma dire&ccedil;&atilde;o. Quando o papai noel est&aacute; abaixo do chefe, este vomita uma bola de gelo. Quando o chefe perde uma vida, ele olha para cima e mexe os bra&ccedil;os para cima e para baixo. Quando n&atilde;o tem nenhum inimigo simples, o chefe deixa o bra&ccedil;o direito quieto para baixo, fica com os olhos fechados e mexe o bra&ccedil;o esquerdo para cima e para baixo, para chamar a aten&ccedil;&atilde;o dos inimigos simples. &Eacute; o segundo chefe do jogo.</li> <li>Quando n&atilde;o tem nenhum inimigo simples, o chefe junta os dedos e move as m&atilde;os para baixo e para os lados, de forma espelhada, para chamar a aten&ccedil;&atilde;o dos inimigos simples. O chefe voa, com as m&atilde;os abertas, com a palma da m&atilde;o para baixo, em dire&ccedil;&atilde;o a um pouco acima do papai noel, e quando chega, o chefe junta os dedos e move as m&atilde;os para baixo e para os lados, de forma espelhada, para atirar 2 bolas de gelo de suas m&atilde;os para baixo. O chefe em alguns momentos desaparece e imediatamente aparece em outra posi&ccedil;&atilde;o se teletransportando. Quando o chefe perde uma vida, ele se assusta com seus olhos em forma de estrela e seus bra&ccedil;os abertos para cima, por 1 segundo, e depois, junta os dedos, mexe as m&atilde;os para cima e para baixo, e depois, move as m&atilde;os para baixo e para os lados, de forma espelhada, para fazer acontecer uma chuva de espinhos de gelo. Algumas chuvas t&ecirc;m os espinhos de gelo muito juntos, e algumas, tem um espa&ccedil;o entre um espinho e outro. &Eacute; o quarto chefe do jogo.</li> <li>Enquanto anda para a esquerda e para a direita, fica girando. Quando o papai noel est&aacute; acima do chefe, este pula com pernas bem abertas e em espacato. Quando o chefe perde uma vida, ele mexe os bra&ccedil;os, as pernas e os olhos. Quando n&atilde;o tem nenhum inimigo simples, o chefe faz malabarismos para chamar a aten&ccedil;&atilde;o dos inimigos simples. Enquanto o chefe faz malabarismos, ele usa uma coroa. &Eacute; o primeiro chefe do jogo.</li> <li>A pele &eacute; verde, o cabelo e as sobrancelhas s&atilde;o azuis e as asas e as orelhas s&atilde;o marrons. Quando n&atilde;o tem nenhum inimigo simples, o chefe fica com as asas fechadas por poucos segundos, depois as abre com for&ccedil;a, olha para cima e abre a boca para chamar a aten&ccedil;&atilde;o dos inimigos simples. Quando o chefe perde uma vida, ele se assusta olhando para cima com a boca aberta. Enquanto tiver inimigos simples, o chefe fica com as asas fechadas por poucos segundos, depois voa em dire&ccedil;&atilde;o ao papai noel. &Eacute; o terceiro chefe do jogo.</li> </ol><br> <ol> <li><select id="questaum05_select_assertiva1" name="questaum05_select_assertiva1"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> <li><select id="questaum05_select_assertiva2" name="questaum05_select_assertiva2"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> <li><select id="questaum05_select_assertiva3" name="questaum05_select_assertiva3"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> <li><select id="questaum05_select_assertiva4" name="questaum05_select_assertiva4"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> </ol><br> <h3>Quest&atilde;o 06</h3><br> <p>Sobre os controles do jogo:</p><br> <ol> <li>Atirar Gelo</li> <li>Pular</li> <li>Andar para a Direita</li> <li>Ir para a Plataforma de Baixo</li> <li>Chutar Bola de Gelo</li> <li>Andar para a Esquerda</li> </ol><br> <ol> <li><select id="questaum06_select_assertiva1" name="questaum06_select_assertiva1"> <option selected value="1">Tecla da Seta para a Esquerda</option> <option value="2">Tecla da Seta para a Direita</option> <option value="3">Tecla da Seta para Cima</option> <option value="4">Tecla da Seta para Baixo</option> <option value="5">Tecla da Barra de Espa&ccedil;o</option> </select></li> <li><select id="questaum06_select_assertiva2" name="questaum06_select_assertiva2"> <option selected value="1">Tecla da Seta para a Esquerda</option> <option value="2">Tecla da Seta para a Direita</option> <option value="3">Tecla da Seta para Cima</option> <option value="4">Tecla da Seta para Baixo</option> <option value="5">Tecla da Barra de Espa&ccedil;o</option> </select></li> <li><select id="questaum06_select_assertiva3" name="questaum06_select_assertiva3"> <option selected value="1">Tecla da Seta para a Esquerda</option> <option value="2">Tecla da Seta para a Direita</option> <option value="3">Tecla da Seta para Cima</option> <option value="4">Tecla da Seta para Baixo</option> <option value="5">Tecla da Barra de Espa&ccedil;o</option> </select></li> <li><select id="questaum06_select_assertiva4" name="questaum06_select_assertiva4"> <option selected value="1">Tecla da Seta para a Esquerda</option> <option value="2">Tecla da Seta para a Direita</option> <option value="3">Tecla da Seta para Cima</option> <option value="4">Tecla da Seta para Baixo</option> <option value="5">Tecla da Barra de Espa&ccedil;o</option> </select></li> <li><select id="questaum06_select_assertiva5" name="questaum06_select_assertiva5"> <option selected value="1">Tecla da Seta para a Esquerda</option> <option value="2">Tecla da Seta para a Direita</option> <option value="3">Tecla da Seta para Cima</option> <option value="4">Tecla da Seta para Baixo</option> <option value="5">Tecla da Barra de Espa&ccedil;o</option> </select></li> <li><select id="questaum06_select_assertiva6" name="questaum06_select_assertiva6"> <option selected value="1">Tecla da Seta para a Esquerda</option> <option value="2">Tecla da Seta para a Direita</option> <option value="3">Tecla da Seta para Cima</option> <option value="4">Tecla da Seta para Baixo</option> <option value="5">Tecla da Barra de Espa&ccedil;o</option> </select></li> </ol><br> <h3>Quest&atilde;o 07</h3><br> <p>Quem &eacute; o personagem jog&aacute;vel?</p><br> <p><select id="questaum07_select" name="questaum07_select"> <option selected value="1">Primeiro Chefe do Jogo</option> <option value="2">Segundo Chefe do Jogo</option> <option value="3">Um dos Inimigos Simples do Jogo</option> <option value="4">Papai Noel</option> <option value="5">Terceiro Chefe do Jogo</option> <option value="6">Quarto Chefe do Jogo</option> </select></p><br> <h3>Quest&atilde;o 08</h3><br> <p>Sobre os inimigos simples do jogo:</p><br> <ol> <li>Anda em Alta Velocidade e N&atilde;o Usa Poder</li> <li>Voa em Dire&ccedil;&atilde;o ao Papai Noel em Baixa Velocidade e Cospe Fogo</li> <li>Anda em Baixa Velocidade e Atira uma Linha de Fogo que Vai para Frente e para Baixo em um Arco de 1/4 de C&iacute;rculo.</li> <li>Anda em Baixa Velocidade e Ataca com um Raio que Fica na Frente em Linha Reta em Curta Dist&acirc;ncia.</li> <li>Voa em Dire&ccedil;&atilde;o ao Papai Noel em Alta Velocidade e N&atilde;o Usa Poder</li> <li>Anda em Baixa Velocidade e N&atilde;o Usa Poder</li> <li>Anda em Baixa Velocidade e Bate uma Foice.</li> <li>Voa em Dire&ccedil;&atilde;o ao Papai Noel em Baixa Velocidade e N&atilde;o Usa Poder</li> </ol><br> <ol> <li><select id="questaum08_select_assertiva1" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> <li><select id="questaum08_select_assertiva2" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> <li><select id="questaum08_select_assertiva3" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> <li><select id="questaum08_select_assertiva4" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> <li><select id="questaum08_select_assertiva5" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> <li><select id="questaum08_select_assertiva6" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> <li><select id="questaum08_select_assertiva7" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> <li><select id="questaum08_select_assertiva8" style="width: 160px;"> <option value="1" data-img_src="inimigo_simples1.png"></option> <option value="2" data-img_src="inimigo_simples2.png"></option> <option value="3" data-img_src="inimigo_simples3.png"></option> <option value="4" data-img_src="inimigo_simples4.png"></option> <option value="5" data-img_src="inimigo_simples5.png"></option> <option value="6" data-img_src="inimigo_simples6.png"></option> <option value="7" data-img_src="inimigo_simples7.png"></option> <option value="8" data-img_src="inimigo_simples8.png"></option> </select></li> </ol><br> <h3>Quest&atilde;o 09</h3><br> <p>Sobre os mundos do jogo:</p><br> <ol> <li><img width="360" src="mundo4.png"></li> <li><img width="360" src="mundo1.png"></li> <li><img width="360" src="mundo3.png"></li> <li><img width="360" src="mundo2.png"></li> </ol><br> <ol> <li><select id="questaum09_select_assertiva1" name="questaum09_select_assertiva1"> <option selected value="1">Mundo 1</option> <option value="2">Mundo 2</option> <option value="3">Mundo 3</option> <option value="4">Mundo 4</option> </select></li> <li><select id="questaum09_select_assertiva2" name="questaum09_select_assertiva2"> <option selected value="1">Mundo 1</option> <option value="2">Mundo 2</option> <option value="3">Mundo 3</option> <option value="4">Mundo 4</option> </select></li> <li><select id="questaum09_select_assertiva3" name="questaum09_select_assertiva3"> <option selected value="1">Mundo 1</option> <option value="2">Mundo 2</option> <option value="3">Mundo 3</option> <option value="4">Mundo 4</option> </select></li> <li><select id="questaum09_select_assertiva4" name="questaum09_select_assertiva4"> <option selected value="1">Mundo 1</option> <option value="2">Mundo 2</option> <option value="3">Mundo 3</option> <option value="4">Mundo 4</option> </select></li> </ol><br> <h3>Quest&atilde;o 10</h3><br> <ol> <li><img width="240" src="fantasma_rei.png"></li> <li><img width="240" src="palhaco.png"></li> <li><img width="240" src="morcego_roupa.png"></li> <li><img width="240" src="taca_sorvete.png"></li> </ol><br> <ol> <li><select id="questaum10_select_assertiva1" name="questaum10_select_assertiva1"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> <li><select id="questaum10_select_assertiva2" name="questaum10_select_assertiva2"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> <li><select id="questaum10_select_assertiva3" name="questaum10_select_assertiva3"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> <li><select id="questaum10_select_assertiva4" name="questaum10_select_assertiva4"> <option selected value="1">Palha&ccedil;o</option> <option value="2">Ta&ccedil;a com Sorvete</option> <option value="3">Morcego-Roupa</option> <option value="4">Fantasma-Rei</option> </select></li> </ol><br> <h3>Quest&atilde;o 11</h3><br> <p>O que &eacute; o BlueMaxima&apos;s Flashpoint? Por que o BlueMaxima&apos;s Flashpoint foi criado?</p><br> <ol> <li>&Eacute; um projeto de preserva&ccedil;&atilde;o de anima&ccedil;&otilde;es baix&aacute;veis de celular. Foi criado porque muita gente precisa dele.</li> <li>&Eacute; um projeto de preserva&ccedil;&atilde;o de jogos baix&aacute;veis de computador. Foi criado pela alta inova&ccedil;&atilde;o do conte&uacute;do.</li> <li>&Eacute; um projeto de preserva&ccedil;&atilde;o de jogos de navegador de computador e anima&ccedil;&otilde;es de navegador de computador. Foi criado pela tentativa de ultrapassar o desaparecimento do conte&uacute;do anterior &agrave; morte do Adobe Flash Player.</li> <li>&Eacute; um projeto de preserva&ccedil;&atilde;o de anima&ccedil;&otilde;es baix&aacute;veis de computador. Foi criado do nada.</li> <li>&Eacute; um projeto de preserva&ccedil;&atilde;o de jogos baix&aacute;veis de celular. Foi criado porque &eacute; um curso.</li> <li>&Eacute; um projeto de preserva&ccedil;&atilde;o de jogos de navegador de celular e anima&ccedil;&otilde;es de navegador de celular. Foi criado porque pode usar de qualquer lugar do mundo e de qualquer momento da semana.</li> </ol><br> <p><input required type="number" value="1" id="questaum11_input" name="questaum11_input"></p><br> <p><button type="button" onclick="calcularNota();" id="btn_enviar_prova">Enviar</button></p><br> <p><button type="button" onclick="novaTentativaDaProva();" disabled id="btn_nova_tentativa">Fazer Nova Tentativa</button></p><br> </form> </section> <section id="certificado_conclusaum" hidden> <div id="div_certificado" style="background-color: white; width: 640px; height: 480px; display: table; margin: 0 auto;"> <div style="display: table-cell; margin: 0 auto; vertical-align: middle; width: 640px; height: 480px;"> <p style="line-height: 3; color: black; font-size: 16pt; text-align: justify;">Eduardo de Quadros certifica que <b style="font-size: 16pt;"><?php echo $_SESSION['nome_completo_aluno_jogo_deep_freeze']; ?></b> em <i id="data_atual_certificado" style="font-size: 16pt;"></i> de S&atilde;o Paulo, concluiu o curso de <b style="font-size: 16pt;">Jogo Deep Freeze</b> com carga hor&aacute;ria de 1 hora.</p> </div> </div><br> <p><button onclick="takeshot();">Tirar Captura</button></p><br> <div style="text-align: center;"><img width="640" src="" alt id="result_certificado"></div><br> </section> <br><br> <script src="https://www.eduardodequadros.site/infoprodutos/lib/html2canvas/html2canvas.min.js"></script> <script type="text/javascript"> // Define the function // to screenshot the div function takeshot() { html2canvas(document.getElementById("div_certificado"), { letterRendering: 1, allowTaint: true, useCORS: true }).then(function (canvas) { // It will return a canvas element document.getElementById("result_certificado").src = canvas.toDataURL("image/png", 0.5); }).catch((e) => { // Handle errors console.log(e); }); } </script> <script type="text/javascript"> function custom_template(obj){ var data = $(obj.element).data(); var text = $(obj.element).text(); if(data && data['img_src']){ img_src = data['img_src']; template = $("<div><img src=\"" + img_src + "\" style=\"width:108px;height:108px;\"/><p style=\"font-weight: 700;font-size:14pt;text-align:center;\">" + text + "</p></div>"); return template; } } var options = { 'templateSelection': custom_template, 'templateResult': custom_template, } $('#questaum08_select_assertiva1').select2(options); $('#questaum08_select_assertiva2').select2(options); $('#questaum08_select_assertiva3').select2(options); $('#questaum08_select_assertiva4').select2(options); $('#questaum08_select_assertiva5').select2(options); $('#questaum08_select_assertiva6').select2(options); $('#questaum08_select_assertiva7').select2(options); $('#questaum08_select_assertiva8').select2(options); $('.select2-container--default .select2-selection--single').css({'height': '160px'}); </script> </body> </html> As variáveis JavaScript que eu quero que o valor continue igual após atualizar a página são: {tentativaEmProgressoNaProva, tentativaCorrigidaNaProva, notaNaProva}. Sobre a variável itensCurso, todas as opções dela, quero que o valor de selected e o valor de disabled continuem iguais após atualizar a página. Como se faz isso?
  6. Contatei o PayPal que me respondeu que permite que use ambas as API's simultaneamente. Mas será que o Shopify Payments permite também?
  7. eu tenho um website próprio, eu quero vender o mesmo produto usando a API do PayPal e a API do Shopify Paymens para JavaScript e PHP, será que ambos o PayPal e o Shopify Payments permitem? tem algumas moedas, países e idiomas que o PayPal suporta e o Shopify Payments não suporta. tem algumas moedas, países e idiomas que o Shopify Payments suporta e o PayPal não suporta. então como vou vender online internacionalmente no meu website? o PayPal permite que seus usuários usem ambas as API's ou apenas permite que usem a do PayPal? o Shopify Payments permite que seus usuários usem ambas as API's ou apenas permite que usem a do Shopify Payments? Minha dúvida principal está no parágrafo acima. Sei que uma mesma pessoa pode vender Hotmart, vender Monetizze e vender Eduzz, mas não pode vender um mesmo produto na Hotmart e na Monetizze ou na Hotmart e na Eduzz, pois a Hotmart exige que venda um produto específico exclusivamente pela Hotmart.
  8. Nas Game Jams, dá para criar filmes animados? Eu quero usar um framework JavaScript chamado Phaser, que é um framework para criar jogos. Mas com ele para os jogos dá para criar as cutscenes. Se alguém consegue criar cutscenes para jogos, então a pessoa consegue criar filmes animados. Eu escrevi o roteiro de 12 filmes animados, cada um com a duração de 4 minutos, incluindo todos os créditos. Então como vou convidar várias pessoas para me ajudar a criá-los com o Phaser? Dá para fazer uma Game Jam?
  9. Meu HTML: <form> <p>Voc&ecirc; &eacute; um produtor que tem <input required id="numero_assinantes" type="number" min="0" value="0" onchange="calcularPrecoWebsite()"> assinantes, <input required id="numero_afiliados" type="number" min="0" max="0" value="0" onchange="calcularPrecoWebsite()"> afiliados e <input required id="numero_coprodutores" type="number" min="0" max="0" value="0" onchange="calcularPrecoWebsite()"> coprodutores ent&atilde;o precisa cobrar BRL <span id="preco_assinatura">78</span> por semana dos novos assinantes e tem um sal&aacute;rio de BRL <span id="salario">0</span> por semana. N&atilde;o pode mudar o pre&ccedil;o dos assinantes atuais. Pelo seu sal&aacute;rio, seu n&iacute;vel de <span id="pobreza_ou_riqueza">pobreza</span> &eacute; <span id="nivel_pelo_salario">miser&aacute;vel</span>.</p> </form><br> Meu JavaScript: class TimeCounter{ constructor(){ this.startDate = null; } start(){ this.startDate = new Date(); } stop(){ return (new Date() - this.startDate); } } function calcularPrecoWebsite(){ var timeConter = new TimeCounter(); timeConter.start(); var numeroAssinantes = document.getElementById("numero_assinantes"); var numeroAfiliados = document.getElementById("numero_afiliados"); var numeroCoprodutores = document.getElementById("numero_coprodutores"); var maxSomaAfiliadosCoprodutores = 0; var precoAssinatura = document.getElementById("preco_assinatura"); var salario = document.getElementById("salario"); var pobrezaOuRiqueza = document.getElementById("pobreza_ou_riqueza"); var nivelPeloSalario = document.getElementById("nivel_pelo_salario"); var valorSalario01 = 0, valorSalario02 = 0, valorSalario03 = 0, valorSalario04 = 0, valorSalario05 = 0, valorSalario06 = 0, valorSalario07 = 0, valorSalario08 = 0, valorSalario09 = 0, valorSalario10 = 0, valorSalario11 = 0, valorSalario12 = 0; if(numeroAssinantes.value == "" || numeroAssinantes.value < 0){ numeroAssinantes.value = 0; } if(numeroAfiliados.value == "" || numeroAfiliados.value < 0){ numeroAfiliados.value = 0; } if(numeroCoprodutores.value == "" || numeroCoprodutores.value < 0){ numeroCoprodutores.value = 0; } for(var i = 0; i <= numeroAssinantes.value; i++){ if(i <= 25){ precoAssinatura.innerHTML = 78; valorSalario01 = precoAssinatura.innerHTML * (i - 0); } else if(i <= 125){ precoAssinatura.innerHTML = 70; valorSalario02 = precoAssinatura.innerHTML * (i - 25); } else if(i <= 625){ precoAssinatura.innerHTML = 62; valorSalario03 = precoAssinatura.innerHTML * (i - 125); } else if(i <= 15625){ precoAssinatura.innerHTML = 54; valorSalario04 = precoAssinatura.innerHTML * (i - 625); } else if(i <= 62500){ precoAssinatura.innerHTML = 46; valorSalario05 = precoAssinatura.innerHTML * (i - 15625); } else if(i <= 250000){ precoAssinatura.innerHTML = 38; valorSalario06 = precoAssinatura.innerHTML * (i - 62500); } else if(i <= 1000000){ precoAssinatura.innerHTML = 30; valorSalario07 = precoAssinatura.innerHTML * (i - 250000); } else if(i <= 8000000){ precoAssinatura.innerHTML = 22; valorSalario08 = precoAssinatura.innerHTML * (i - 1000000); } else if(i <= 20000000){ precoAssinatura.innerHTML = 14; valorSalario09 = precoAssinatura.innerHTML * (i - 8000000); } else{ precoAssinatura.innerHTML = 6; valorSalario10 = precoAssinatura.innerHTML * (i - 20000000); } valorSalario11 = valorSalario01 + valorSalario02 + valorSalario03 + valorSalario04 + valorSalario05 + valorSalario06 + valorSalario07 + valorSalario08 + valorSalario09 + valorSalario10; } if(numeroAssinantes.value == 25) precoAssinatura.innerHTML = 70; else if(numeroAssinantes.value == 125) precoAssinatura.innerHTML = 62; else if(numeroAssinantes.value == 625) precoAssinatura.innerHTML = 54; else if(numeroAssinantes.value == 15625) precoAssinatura.innerHTML = 46; else if(numeroAssinantes.value == 62500) precoAssinatura.innerHTML = 38; else if(numeroAssinantes.value == 250000) precoAssinatura.innerHTML = 30; else if(numeroAssinantes.value == 1000000) precoAssinatura.innerHTML = 22; else if(numeroAssinantes.value == 8000000) precoAssinatura.innerHTML = 14; else if(numeroAssinantes.value == 20000000) precoAssinatura.innerHTML = 6; valorSalario12 = valorSalario11; while(valorSalario12 > 0){ valorSalario12 = Math.floor(valorSalario12 * 0.9); maxSomaAfiliadosCoprodutores++; } numeroAfiliados.max = maxSomaAfiliadosCoprodutores - numeroCoprodutores.value; numeroCoprodutores.max = maxSomaAfiliadosCoprodutores - numeroAfiliados.value; valorSalario12 = valorSalario11; valorSalario12 = Math.floor(valorSalario12 * Math.pow(0.9, numeroCoprodutores.value)); valorSalario12 = Math.floor(valorSalario12 * Math.pow(0.9, numeroAfiliados.value)); salario.innerHTML = valorSalario12; if(salario.innerHTML < 300){ pobrezaOuRiqueza.innerHTML = "pobreza"; if(salario.innerHTML < 12) nivelPeloSalario.innerHTML = "miser&aacute;vel"; else if(salario.innerHTML < 60) nivelPeloSalario.innerHTML = "pobre"; else nivelPeloSalario.innerHTML = "modesto"; } else{ pobrezaOuRiqueza.innerHTML = "riqueza"; if(salario.innerHTML < 10000) nivelPeloSalario.innerHTML = "capitalizado"; else if(salario.innerHTML < 60000) nivelPeloSalario.innerHTML = "rico"; else if(salario.innerHTML < 200000) nivelPeloSalario.innerHTML = "afortunado"; else if(salario.innerHTML < 1000000) nivelPeloSalario.innerHTML = "magnata"; else nivelPeloSalario.innerHTML = "soberano"; } if(valorSalario12 >= 1000){ salario.innerHTML = salario.innerHTML.slice(0, salario.innerHTML.length - 3) + "." + salario.innerHTML.slice(salario.innerHTML.length - 3); if(valorSalario12 >= 1000000){ salario.innerHTML = salario.innerHTML.slice(0, salario.innerHTML.length - 7) + "." + salario.innerHTML.slice(salario.innerHTML.length - 7); if(valorSalario12 >= 1000000000){ salario.innerHTML = salario.innerHTML.slice(0, salario.innerHTML.length - 11) + "." + salario.innerHTML.slice(salario.innerHTML.length - 11); } } } console.log(timeConter.stop()); } No Google Chrome, insiro 25 milhões de assinantes, e acontece isso:
  10. Para 26 assinantes o salário precisa ser de 2.020 reais por semana e não 1.820. Na função verificar campo inválido, o console está dizendo que a constante numeroAssinantes está null.
  11. é assim abaixo, não é? assinantes: 0, valor: 78
  12. usabilidade nula, quase todo mundo não gosta. usabilidade baixa, quase todo mundo gosta. usabilidade média, quase todo mundo adora. usabilidade alta, quase todo mundo ama. HTML <form> <p>Voc&ecirc; tem <input required id="numero_assinantes" type="number" min="0" value="0" onchange="calcular()"> assinantes ent&atilde;o precisa cobrar BRL <input readonly id="preco_assinatura" type="number" value="78"> por semana dos novos assinantes e tem um sal&aacute;rio de BRL <input readonly id="salario" type="number" value="0"> por semana. N&atilde;o pode mudar o pre&ccedil;o dos assinantes atuais. Seu sal&aacute;rio &eacute; de produtor sem nenhum afiliado e sem nenhum coprodutor.</p> </form> JavaScript <script type="application/javascript"> class TimeCounter{ constructor(){ this.startDate = null; } start(){ this.startDate = new Date(); } stop(){ return (new Date() - this.startDate); } } function calcular(){ var timeConter = new TimeCounter(); timeConter.start(); var numeroAssinantes = document.getElementById("numero_assinantes"); var precoAssinatura = document.getElementById("preco_assinatura"); var salario = document.getElementById("salario"); var valorSalario01 = 0, valorSalario02 = 0, valorSalario03 = 0, valorSalario04 = 0, valorSalario05 = 0, valorSalario06 = 0, valorSalario07 = 0, valorSalario08 = 0, valorSalario09 = 0, valorSalario10 = 0, valorSalario11 = 0; if(numeroAssinantes.value == "" || numeroAssinantes.value < 0){ numeroAssinantes.value = 0; } for(var i = 0; i <= numeroAssinantes.value; i++){ if(i <= 25){ precoAssinatura.value = 78; valorSalario01 = precoAssinatura.value * (i - 0); } else if(i <= 125){ precoAssinatura.value = 70; valorSalario02 = precoAssinatura.value * (i - 25); } else if(i <= 625){ precoAssinatura.value = 62; valorSalario03 = precoAssinatura.value * (i - 125); } else if(i <= 15625){ precoAssinatura.value = 54; valorSalario04 = precoAssinatura.value * (i - 625); } else if(i <= 62500){ precoAssinatura.value = 46; valorSalario05 = precoAssinatura.value * (i - 15625); } else if(i <= 250000){ precoAssinatura.value = 38; valorSalario06 = precoAssinatura.value * (i - 62500); } else if(i <= 1000000){ precoAssinatura.value = 30; valorSalario07 = precoAssinatura.value * (i - 250000); } else if(i <= 8000000){ precoAssinatura.value = 22; valorSalario08 = precoAssinatura.value * (i - 1000000); } else if(i <= 20000000){ precoAssinatura.value = 14; valorSalario09 = precoAssinatura.value * (i - 8000000); } else{ precoAssinatura.value = 6; valorSalario10 = precoAssinatura.value * (i - 20000000); } valorSalario11 = valorSalario01 + valorSalario02 + valorSalario03 + valorSalario04 + valorSalario05 + valorSalario06 + valorSalario07 + valorSalario08 + valorSalario09 + valorSalario10; } if(numeroAssinantes.value == 25) precoAssinatura.value = 70; else if(numeroAssinantes.value == 125) precoAssinatura.value = 62; else if(numeroAssinantes.value == 625) precoAssinatura.value = 54; else if(numeroAssinantes.value == 15625) precoAssinatura.value = 46; else if(numeroAssinantes.value == 62500) precoAssinatura.value = 38; else if(numeroAssinantes.value == 250000) precoAssinatura.value = 30; else if(numeroAssinantes.value == 1000000) precoAssinatura.value = 22; else if(numeroAssinantes.value == 8000000) precoAssinatura.value = 14; else if(numeroAssinantes.value == 20000000) precoAssinatura.value = 6; salario.value = valorSalario11; console.log(timeConter.stop()); } </script> Quando no número de assinantes coloco valor 60 milhões, demora 28.808 milissegundos para terminar de executar a função. Como diminuir a complexidade desse algoritmo? A usabilidade está nula, baixa, média ou alta?
  13. Estou na página http://eduardodequadros.site/produtos que abre normalmente. Quando atualizo a página, o website diz que estou tendo redirecionamento em excesso, mas quando vou para http://eduardodequadros.site e depois volto para http://eduardodequadros.site/produtos , abre normalmente. <?php if(!isset($_GET['pagina_comentarios']) || $_GET['pagina_comentarios'] == "") header("Location: ?pagina_comentarios=1"); else if(!isset($_GET['senha_website'])) header("Location: ?pagina_comentarios=" . $_GET['pagina_comentarios'] . "&senha_website=sem_senha"); else if($_SERVER["HTTPS"] != "on" || $_SERVER["HTTP_HOST"] == "eduardodequadros.site") header("Location: https://www.eduardodequadros.site" . $_SERVER["REQUEST_URI"]); session_start(); if($_SESSION['senha_website'] == "hD2*iG9}hP0~lX0>kP") header("Location: ?pagina_comentarios=" . $_GET['pagina_comentarios'] . "&senha_website=" . $_SESSION['senha_website']); if(isset($_SESSION['data_hora_fim_produtos'])){ $data_atual = new DateTime("now", new DateTimeZone("America/Sao_Paulo")); $diferenca = $_SESSION['data_hora_fim_produtos']->diff($data_atual)->s; if($diferenca <= 0){ session_destroy(); header("Refresh: 1"); } header("Refresh: " . $diferenca); } if(!isset($_SESSION['nome_usuario_produtos'])) $_SESSION['nome_usuario_produtos'] = ""; if(!isset($_SESSION['email_usuario_produtos'])) $_SESSION['email_usuario_produtos'] = ""; ?> <!DOCTYPE html> <html lang="pt" translate="yes"> <head> <meta charset="utf-8"> <title>Eduardo de Quadros</title> <link rel="stylesheet" type="text/css" href="../style.css"> <script type="text/javascript"> var idioma = "pt"; var ordemProdutos = "nome_produto_pt"; var erro_conexao_banco = "Erro ao tentar conectar com o banco de dados!"; var erro_inserir_usuario = "Erro ao tentar inserir usu&aacute;rio!"; var erro_como_pagar = "Pe&ccedil;a ao WhatsApp +55 (xx) xxxxx-xxxx como voc&ecirc; faz para pagar sua assinatura do website!"; var erro_atualizar_pagina = "Atualize a p&aacute;gina!"; var botao_enviar = "Enviar"; function stringLonga(str, index) { var novaString1 = str; var novaString2 = novaString1.replace("&apos;", "'").replace("&quot;", "\"").replace("&amp;", "&").replace("&lt;", "<").replace("&gt;", ">").replace("&iexcl;", "¡").replace("&iquest;", "¿").replace("&Agrave;", "À").replace("&agrave;", "à").replace("&atilde;", "ã").replace("&otilde;", "õ").replace("&ntilde;", "não").replace("&ccedil;", "ç").replace("&Acirc;", "Â").replace("&Ecirc;", "Ê").replace("&Ocirc;", "Ô").replace("&Aacute;", "Á").replace("&Eacute;", "É").replace("&Iacute;", "Í").replace("&Oacute;", "Ó").replace("&Uacute;", "Ú").replace("&acirc;", "â").replace("&ecirc;", "ê").replace("&ocirc;", "ô").replace("&aacute;", "á").replace("&eacute;", "é").replace("&iacute;", "í").replace("&oacute;", "ó").replace("&uacute;", "ú"); var interrompa = false; if(novaString2.length >= index + 1){ for(var index2 = index; index2 < novaString2.length; index2 = index2 + index + "<br>".length){ for(var i = index2; i >= index2 - index; i--){ if(novaString2[i] == ' '){ novaString2 = novaString2.substr(0, i) + "<br>" + novaString2.substr(i); interrompa = true; if(interrompa) break; } } if(interrompa) break; } interrompa = false; for(var index2 = index; index2 < novaString2.length; index2 = index2 + index + "<br>".length){ if(novaString2.substr(index2 - index, index2).includes("&")){ for(var i = index2 - index; i < index2; i++){ if(novaString2[i] == '&'){ if(!novaString2.substr(i, index2).includes(";")){ for(var j = index2; j >= i - 1; j--) if(novaString2[j] == ' '){ novaString2 = novaString2.substr(0, j) + "<br>" + novaString2.substr(j); interrompa = true; if(interrompa) break; } } } if(interrompa) break; } } if(interrompa) break; } interrompa = false; for(var index2 = index; index2 < novaString2.length; index2 = index2 + index + "<br>".length){ for(var i = index2; i < index2 + index; i++){ if(novaString2[index2] == '&' && novaString2[i] == ';' && novaString2.substr(index2, i).includes("<br>")){ novaString2 = novaString2.substr(0, index2) + novaString2.substr(index2, i).replace("<br>", "") + novaString2.substr(i); interrompa = true; if(interrompa) break; } } if(interrompa) break; } } else{ var espacos = []; for(var i = 0; i < novaString2.length; i++){ if(novaString2[i] == ' ') espacos.push(i); } if(espacos.length > 0){ var meio; if(espacos.length % 2 == 1) meio = espacos[(espacos.length + 1) / 2 - 1]; else meio = espacos[espacos.length / 2 - 1]; novaString2 = novaString2.substr(0, meio) + "<br>" + novaString2.substr(meio); } else novaString2 = "<br>" + novaString2; } novaString2 = novaString2.replace(" <br>", "<br>").replace("<br> ", "<br>"); novaString1 = novaString2.replace("'", "&apos;").replace("\"", "&quot;").replace("¡", "&iexcl;").replace("¿", "&iquest;").replace("À", "&Agrave;").replace("à", "&agrave;").replace("ã", "&atilde;").replace("õ", "&otilde;").replace("não", "&ntilde;").replace("ç", "&ccedil;").replace("Â", "&Acirc;").replace("Ê", "&Ecirc;").replace("Ô", "&Ocirc;").replace("Á", "&Aacute;").replace("É", "&Eacute;").replace("Í", "&Iacute;").replace("Ó", "&Oacute;").replace("Ú", "&Uacute;").replace("â", "&acirc;").replace("ê", "&ecirc;").replace("ô", "&ocirc;").replace("á", "&aacute;").replace("é", "&eacute;").replace("í", "&iacute;").replace("ó", "&oacute;").replace("ú", "&uacute;"); return novaString1; } function mudarIdioma(valor){ var selectIdioma = document.getElementById("select_idioma"); var selectAcaoComentarios = document.getElementById("select_acao_comentarios"); var idComentarioInput = document.getElementById("id_comentario_input"); var mensagemTextarea = document.getElementById("mensagem_textarea"); for(var i = 0; i < selectIdioma.options.length; i++){ if(selectIdioma.options[i].value == valor){ idioma = valor; break; } } var elementoHTML = document.getElementsByTagName("html")[0]; var botoesEnviar = document.getElementsByClassName("botoes_enviar"); var envioEmail = document.getElementById("envio_email"); var cobrancasPendentes = document.getElementById("cobrancas_pendentes"); var comentariosDica = document.getElementById("comentarios_dica"); var pedidoWhatsapp = document.getElementById("pedido_whatsapp"); var pOrdenar = document.getElementById("p_ordenar"); var selectOrdenar = document.getElementById("select_ordenar"); var lblNomeUsuario = document.getElementById("nome_usuario_label"); var lblEmailUsuario = document.getElementById("email_usuario_label"); var escolherPagina = document.getElementById("escolher_pagina"); var listaAcoesCompletas = document.getElementById("lista_acoes_completas"); var iframesLista = document.getElementsByTagName("iframe"); elementoHTML.lang = idioma; switch(idioma){ case "pt": botao_enviar = "Enviar"; if(envioEmail != null) envioEmail.action = "envio_pt.php"; if(cobrancasPendentes != null) cobrancasPendentes.innerHTML = "Cobrar assinatura dos seguintes usu&aacute;rios:"; if(comentariosDica != null) comentariosDica.innerHTML = "Comente sobre os infoprodutos!"; if(pedidoWhatsapp != null) pedidoWhatsapp.innerHTML = "J&aacute; assinou? Pergunte no WhatsApp +55 (xx) xxxxx-xxxx como Acessar os Conte&uacute;dos!"; pOrdenar.innerHTML = "Ordenar Por:"; lblNomeUsuario.innerHTML = "Seu Nome Completo:"; lblEmailUsuario.innerHTML = "Seu Email:"; if(escolherPagina != null) escolherPagina.innerHTML = "P&aacute;gina:"; for(var i = 0; i < selectOrdenar.options.length; i++) switch(selectOrdenar.options[i].value){ case "nome_produto_pt": selectOrdenar.options[i].innerHTML = "Nome do Produto em Portugu&ecirc;s"; break; case "nome_produto_en": selectOrdenar.options[i].innerHTML = "Nome do Produto em Ingl&ecirc;s"; break; case "nome_produto_es": selectOrdenar.options[i].innerHTML = "Nome do Produto em Espanhol"; break; case "publica_mais_antigo": selectOrdenar.options[i].innerHTML = "Produto Mais Antigamente Publicado"; break; case "publica_mais_recente": selectOrdenar.options[i].innerHTML = "Produto Mais Recentemente Publicado"; break; } listaAcoesCompletas.innerHTML = "<li>Inserir com Mensagem e ID Opcional do Coment&aacute;rio Pai</li><li>Editar com ID a Conservar e Mensagem Nova que Antes se Copia a Mensagem Antiga</li><li>Excluir com Apenas ID</li>"; for(var i = 0; i < selectAcaoComentarios.options.length; i++) switch(selectAcaoComentarios.options[i].value){ case "inserir": selectAcaoComentarios.options[i].innerHTML = "Inserir"; break; case "editar": selectAcaoComentarios.options[i].innerHTML = "Editar"; break; case "excluir": selectAcaoComentarios.options[i].innerHTML = "Excluir"; break; } break; case "en": botao_enviar = "Send"; if(envioEmail != null) envioEmail.action = "envio_en.php"; if(cobrancasPendentes != null) cobrancasPendentes.innerHTML = "Charge subscription of the following users:"; if(comentariosDica != null) comentariosDica.innerHTML = "Comment about the infoproducts!"; if(pedidoWhatsapp != null) pedidoWhatsapp.innerHTML = "Did you subscribe already? Ask WhatsApp +55 (xx) xxxxx-xxxx how to Access the Content!"; pOrdenar.innerHTML = "Order By:"; lblNomeUsuario.innerHTML = "Your Full Name:"; lblEmailUsuario.innerHTML = "Your Email:"; if(escolherPagina != null) escolherPagina.innerHTML = "Page:"; for(var i = 0; i < selectOrdenar.options.length; i++) switch(selectOrdenar.options[i].value){ case "nome_produto_pt": selectOrdenar.options[i].innerHTML = "Product&apos;s Name in Portuguese"; break; case "nome_produto_en": selectOrdenar.options[i].innerHTML = "Product&apos;s Name in English"; break; case "nome_produto_es": selectOrdenar.options[i].innerHTML = "Product&apos;s Name in Spanish"; break; case "publica_mais_antigo": selectOrdenar.options[i].innerHTML = "The Most Anciently Published Product"; break; case "publica_mais_recente": selectOrdenar.options[i].innerHTML = "The Most Recently Published Product"; break; } listaAcoesCompletas.innerHTML = "<li>Insert with Message and Optional Parent Comment&apos;s ID</li><li>Edit with ID to Conserve and New Message that Before You Need to Copy the Ancient Message</li><li>Exclude with Just ID</li>"; for(var i = 0; i < selectAcaoComentarios.options.length; i++) switch(selectAcaoComentarios.options[i].value){ case "inserir": selectAcaoComentarios.options[i].innerHTML = "Insert"; break; case "editar": selectAcaoComentarios.options[i].innerHTML = "Edit"; break; case "excluir": selectAcaoComentarios.options[i].innerHTML = "Exclude"; break; } break; case "es": botao_enviar = "Enviar"; if(envioEmail != null) envioEmail.action = "envio_es.php"; if(cobrancasPendentes != null) cobrancasPendentes.innerHTML = "Cobrar suscripci&oacute;n de los siguientes usuarios:"; if(comentariosDica != null) comentariosDica.innerHTML = "&iexcl;Haz comentarios sobre los infoproductos!"; if(pedidoWhatsapp != null) pedidoWhatsapp.innerHTML = "&iquest;Ya suscribiste? &iexcl;Pregunte en WhatsApp +55 (xx) xxxxx-xxxx c&oacute;mo Acceder a los Contenidos!"; pOrdenar.innerHTML = "Ordenar Por:"; lblNomeUsuario.innerHTML = "Tu Nombre Completo:"; lblEmailUsuario.innerHTML = "Tu Email:"; if(escolherPagina != null) escolherPagina.innerHTML = "P&aacute;gina:"; for(var i = 0; i < selectOrdenar.options.length; i++) switch(selectOrdenar.options[i].value){ case "nome_produto_pt": selectOrdenar.options[i].innerHTML = "Nombre del Producto en Portugu&eacute;s"; break; case "nome_produto_en": selectOrdenar.options[i].innerHTML = "Nombre del Producto en Ingl&eacute;s"; break; case "nome_produto_es": selectOrdenar.options[i].innerHTML = "Nombre del Producto en Espa&ntilde;ol"; break; case "publica_mais_antigo": selectOrdenar.options[i].innerHTML = "Producto M&aacute;s Antiguamente Publicado"; break; case "publica_mais_recente": selectOrdenar.options[i].innerHTML = "Producto M&aacute;s Recientemente Publicado"; break; } listaAcoesCompletas.innerHTML = "<li>Insertar con Mensaje e ID Opcional del Comentario Padre</li><li>Editar con ID a Conservar y Mensaje Nuevo que Antes se Copia el Mensaje Antiguo</li><li>Excluir con Solo ID</li>"; for(var i = 0; i < selectAcaoComentarios.options.length; i++) switch(selectAcaoComentarios.options[i].value){ case "inserir": selectAcaoComentarios.options[i].innerHTML = "Insertar"; break; case "editar": selectAcaoComentarios.options[i].innerHTML = "Editar"; break; case "excluir": selectAcaoComentarios.options[i].innerHTML = "Excluir"; break; } break; } for(var i = 0; i < botoesEnviar.length; i++) botoesEnviar[i].innerHTML = botao_enviar; } function paginaAnterior(){ if(pegarPaginaAtual() <= 1) atribuirPagina2(1); else atribuirPagina2(pegarPaginaAtual() - 1); } function paginaPosterior(){ if(pegarPaginaAtual() >= 8) atribuirPagina2(8); else atribuirPagina2(pegarPaginaAtual() + 1); } function pegarPaginaAtual(){ return Number(document.getElementById("numero_pagina").innerHTML); } function atribuirPagina1(nova_pagina){ document.getElementById("numero_pagina").innerHTML = nova_pagina.toString(); irParaPaginaAtual(); } function atribuirPagina2(nova_pagina){ var selectAcaoComentarios = document.getElementById("select_acao_comentarios"); var idComentarioInput = document.getElementById("id_comentario_input"); var mensagemTextarea = document.getElementById("mensagem_textarea"); atribuirPagina1(nova_pagina); var selectIdioma = document.getElementById("select_idioma"); for(var i = 0; i < selectIdioma.options.length; i++){ if(selectIdioma.options[i].selected){ idioma = selectIdioma.options[i].value; break; } } var selectOrdenar = document.getElementById("select_ordenar"); var ordemProdutos; for(var i = 0; i < selectOrdenar.options.length; i++){ if(selectOrdenar.options[i].selected){ ordemProdutos = selectOrdenar.options[i].value; break; } } } function irParaPaginaAtual(){ var selectAcaoComentarios = document.getElementById("select_acao_comentarios"); var idComentarioInput = document.getElementById("id_comentario_input"); var mensagemTextarea = document.getElementById("mensagem_textarea"); var selectIdioma = document.getElementById("select_idioma"); var selectOrdenar = document.getElementById("select_ordenar"); var iframeProduto = document.getElementById("iframe_produto"); var nomeProduto = document.getElementById("nome_produto"); for(var i = 0; i < selectIdioma.options.length; i++){ if(selectIdioma.options[i].selected){ idioma = selectIdioma.options[i].value; break; } } var nomesProdutosPT = ["EBook de Como Calcular o Preço para Cobrar pelo Website", "EBook de Como Controlar as Compras Supérfluas", "Jogo de Tiro em 1D", "Lista Sugerida de Senhas Fortes", "Música para Dormir", "Playlist da Academia", "Postagem do Certificado em Português da Primeira Graduação", "Postagem do Início do Namoro"]; var nomesProdutosEN = ["EBook of How to Calculate the Price to Charge for the Website", "EBook of How to Control Superfluous Purchases", "1D Shoot Game", "Suggested List of Strong Passwords", "Music to Sleep", "Fitness Center Playlist", "Post of Certificate in Portuguese from the First Graduation", "Post of the Affair's Beginning"]; var nomesProdutosES = ["EBook de Cómo Calcular el Precio para Cobrar por el Websitio", "EBook de Cómo Controlar las Compras Supérfluas", "Juego de Tiro en 1D", "Lista Sugerida de Contraseñas Fuertes", "Música para Dormir", "Playlist de Gimnasio", "Publicación de Diploma en Portugués de la Primera Graduación", "Publicación del Principio de ser Novio"]; var iframesSrcPT = ["", "", "", "", "", "", "", ""]; var iframesSrcEN = ["", "", "", "", "", "", "", ""]; var iframesSrcES = ["", "", "", "", "", "", "", ""]; var nomesProdutosPTEN = ["", "", "", "", "", "", "", ""]; var nomesProdutosPTES = ["", "", "", "", "", "", "", ""]; var nomesProdutosENPT = ["", "", "", "", "", "", "", ""]; var nomesProdutosENES = ["", "", "", "", "", "", "", ""]; var nomesProdutosESPT = ["", "", "", "", "", "", "", ""]; var nomesProdutosESEN = ["", "", "", "", "", "", "", ""]; nomesProdutosPT.sort(); nomesProdutosEN.sort(); nomesProdutosES.sort(); for(var i = 0; i < 8; i++){ switch (nomesProdutosPT[i]) { case "EBook de Como Calcular o Preço para Cobrar pelo Website": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/lang_pt/cobrar_assinantes.php"; break; case "en": iframesSrcPT[i] = "iframes/lang_en/cobrar_assinantes.php"; break; case "es": iframesSrcPT[i] = "iframes/lang_es/cobrar_assinantes.php"; break; } nomesProdutosPTEN[i] = "EBook of How to Calculate the Price to Charge for the Website"; nomesProdutosPTES[i] = "EBook de Cómo Calcular el Precio para Cobrar por el Websitio"; break; case "EBook de Como Controlar as Compras Supérfluas": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/lang_pt/compras_superfluas.php"; break; case "en": iframesSrcPT[i] = "iframes/lang_en/compras_superfluas.php"; break; case "es": iframesSrcPT[i] = "iframes/lang_es/compras_superfluas.php"; break; } nomesProdutosPTEN[i] = "EBook of How to Control Superfluous Purchases"; nomesProdutosPTES[i] = "EBook de Cómo Controlar las Compras Supérfluas"; break; case "Jogo de Tiro em 1D": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/phaser/jogo_tiro_1d/jogo_pt.php"; break; case "en": iframesSrcPT[i] = "iframes/phaser/jogo_tiro_1d/jogo_en.php"; break; case "es": iframesSrcPT[i] = "iframes/phaser/jogo_tiro_1d/jogo_es.php"; break; } nomesProdutosPTEN[i] = "1D Shoot Game"; nomesProdutosPTES[i] = "Juego de Tiro en 1D"; break; case "Lista Sugerida de Senhas Fortes": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/lang_pt/lista_sugerida_senhas_fortes.php"; break; case "en": iframesSrcPT[i] = "iframes/lang_en/lista_sugerida_senhas_fortes.php"; break; case "es": iframesSrcPT[i] = "iframes/lang_es/lista_sugerida_senhas_fortes.php"; break; } nomesProdutosPTEN[i] = "Suggested List of Strong Passwords"; nomesProdutosPTES[i] = "Lista Sugerida de Contraseñas Fuertes"; break; case "Música para Dormir": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/lang_pt/musica_dormir.php"; break; case "en": iframesSrcPT[i] = "iframes/lang_en/musica_dormir.php"; break; case "es": iframesSrcPT[i] = "iframes/lang_es/musica_dormir.php"; break; } nomesProdutosPTEN[i] = "Music to Sleep"; nomesProdutosPTES[i] = "Música para Dormir"; break; case "Playlist da Academia": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/lang_pt/playlist_academia"; break; case "en": iframesSrcPT[i] = "iframes/lang_en/playlist_academia"; break; case "es": iframesSrcPT[i] = "iframes/lang_es/playlist_academia"; break; } nomesProdutosPTEN[i] = "Fitness Center Playlist"; nomesProdutosPTES[i] = "Playlist de Gimnasio"; break; case "Postagem do Certificado em Português da Primeira Graduação": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/lang_pt/certif_grad1.php"; break; case "en": iframesSrcPT[i] = "iframes/lang_en/certif_grad1.php"; break; case "es": iframesSrcPT[i] = "iframes/lang_es/certif_grad1.php"; break; } nomesProdutosPTEN[i] = "Post of Certificate in Portuguese from the First Graduation"; nomesProdutosPTES[i] = "Publicación de Diploma en Portugués de la Primera Graduación"; break; case "Postagem do Início do Namoro": switch(idioma){ case "pt": iframesSrcPT[i] = "iframes/lang_pt/inicio_namoro.php"; break; case "en": iframesSrcPT[i] = "iframes/lang_en/inicio_namoro.php"; break; case "es": iframesSrcPT[i] = "iframes/lang_es/inicio_namoro.php"; break; } nomesProdutosPTEN[i] = "Post of the Affair's Beginning"; nomesProdutosPTES[i] = "Publicación del Principio de ser Novio"; break; } switch (nomesProdutosEN[i]) { case "EBook of How to Calculate the Price to Charge for the Website": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/lang_pt/cobrar_assinantes.php"; break; case "en": iframesSrcEN[i] = "iframes/lang_en/cobrar_assinantes.php"; break; case "es": iframesSrcEN[i] = "iframes/lang_es/cobrar_assinantes.php"; break; } nomesProdutosENPT[i] = "EBook de Como Calcular o Preço para Cobrar pelo Website"; nomesProdutosENES[i] = "EBook de Cómo Calcular el Precio para Cobrar por el Websitio"; break; case "EBook of How to Control Superfluous Purchases": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/lang_pt/compras_superfluas.php"; break; case "en": iframesSrcEN[i] = "iframes/lang_en/compras_superfluas.php"; break; case "es": iframesSrcEN[i] = "iframes/lang_es/compras_superfluas.php"; break; } nomesProdutosENPT[i] = "EBook de Como Controlar as Compras Supérfluas"; nomesProdutosENES[i] = "EBook de Cómo Controlar las Compras Supérfluas"; break; case "1D Shoot Game": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/phaser/jogo_tiro_1d/jogo_pt.php"; break; case "en": iframesSrcEN[i] = "iframes/phaser/jogo_tiro_1d/jogo_en.php"; break; case "es": iframesSrcEN[i] = "iframes/phaser/jogo_tiro_1d/jogo_es.php"; break; } nomesProdutosENPT[i] = "Jogo de Tiro em 1D"; nomesProdutosENES[i] = "Juego de Tiro en 1D"; break; case "Suggested List of Strong Passwords": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/lang_pt/lista_sugerida_senhas_fortes.php"; break; case "en": iframesSrcEN[i] = "iframes/lang_en/lista_sugerida_senhas_fortes.php"; break; case "es": iframesSrcEN[i] = "iframes/lang_es/lista_sugerida_senhas_fortes.php"; break; } nomesProdutosENPT[i] = "Lista Sugerida de Senhas Fortes"; nomesProdutosENES[i] = "Lista Sugerida de Contraseñas Fuertes"; break; case "Music to Sleep": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/lang_pt/musica_dormir.php"; break; case "en": iframesSrcEN[i] = "iframes/lang_en/musica_dormir.php"; break; case "es": iframesSrcEN[i] = "iframes/lang_es/musica_dormir.php"; break; } nomesProdutosENPT[i] = "Música para Dormir"; nomesProdutosENES[i] = "Música para Dormir"; break; case "Fitness Center Playlist": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/lang_pt/playlist_academia"; break; case "en": iframesSrcEN[i] = "iframes/lang_en/playlist_academia"; break; case "es": iframesSrcEN[i] = "iframes/lang_es/playlist_academia"; break; } nomesProdutosENPT[i] = "Playlist da Academia"; nomesProdutosENES[i] = "Playlist de Gimnasio"; break; case "Post of Certificate in Portuguese from the First Graduation": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/lang_pt/certif_grad1.php"; break; case "en": iframesSrcEN[i] = "iframes/lang_en/certif_grad1.php"; break; case "es": iframesSrcEN[i] = "iframes/lang_es/certif_grad1.php"; break; } nomesProdutosENPT[i] = "Postagem do Certificado em Português da Primeira Graduação"; nomesProdutosENES[i] = "Publicación de Diploma en Portugués de la Primera Graduación"; break; case "Post of the Affair's Beginning": switch(idioma){ case "pt": iframesSrcEN[i] = "iframes/lang_pt/inicio_namoro.php"; break; case "en": iframesSrcEN[i] = "iframes/lang_en/inicio_namoro.php"; break; case "es": iframesSrcEN[i] = "iframes/lang_es/inicio_namoro.php"; break; } nomesProdutosENPT[i] = "Postagem do Início do Namoro"; nomesProdutosENES[i] = "Publicación del Principio de ser Novio"; break; } switch (nomesProdutosES[i]) { case "EBook de Cómo Calcular el Precio para Cobrar por el Websitio": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/lang_pt/cobrar_assinantes.php"; break; case "en": iframesSrcES[i] = "iframes/lang_en/cobrar_assinantes.php"; break; case "es": iframesSrcES[i] = "iframes/lang_es/cobrar_assinantes.php"; break; } nomesProdutosESPT[i] = "EBook de Como Calcular o Preço para Cobrar pelo Website"; nomesProdutosESEN[i] = "EBook of How to Calculate the Price to Charge for the Website"; break; case "EBook de Cómo Controlar las Compras Supérfluas": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/lang_pt/compras_superfluas.php"; break; case "en": iframesSrcES[i] = "iframes/lang_en/compras_superfluas.php"; break; case "es": iframesSrcES[i] = "iframes/lang_es/compras_superfluas.php"; break; } nomesProdutosESPT[i] = "EBook de Como Controlar as Compras Supérfluas"; nomesProdutosESEN[i] = "EBook of How to Control Superfluous Purchases"; break; case "Juego de Tiro en 1D": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/phaser/jogo_tiro_1d/jogo_pt.php"; break; case "en": iframesSrcES[i] = "iframes/phaser/jogo_tiro_1d/jogo_en.php"; break; case "es": iframesSrcES[i] = "iframes/phaser/jogo_tiro_1d/jogo_es.php"; break; } nomesProdutosESPT[i] = "Jogo de Tiro em 1D"; nomesProdutosESEN[i] = "1D Shoot Game"; break; case "Lista Sugerida de Contraseñas Fuertes": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/lang_pt/lista_sugerida_senhas_fortes.php"; break; case "en": iframesSrcES[i] = "iframes/lang_en/lista_sugerida_senhas_fortes.php"; break; case "es": iframesSrcES[i] = "iframes/lang_es/lista_sugerida_senhas_fortes.php"; break; } nomesProdutosESPT[i] = "Lista Sugerida de Senhas Fortes"; nomesProdutosESEN[i] = "Suggested List of Strong Passwords"; break; case "Música para Dormir": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/lang_pt/musica_dormir.php"; break; case "en": iframesSrcES[i] = "iframes/lang_en/musica_dormir.php"; break; case "es": iframesSrcES[i] = "iframes/lang_es/musica_dormir.php"; break; } nomesProdutosESPT[i] = "Música para Dormir"; nomesProdutosESEN[i] = "Music to Sleep"; break; case "Playlist de Gimnasio": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/lang_pt/playlist_academia"; break; case "en": iframesSrcES[i] = "iframes/lang_en/playlist_academia"; break; case "es": iframesSrcES[i] = "iframes/lang_es/playlist_academia"; break; } nomesProdutosESPT[i] = "Playlist da Academia"; nomesProdutosESEN[i] = "Fitness Center Playlist"; break; case "Publicación de Diploma en Portugués de la Primera Graduación": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/lang_pt/certif_grad1.php"; break; case "en": iframesSrcES[i] = "iframes/lang_en/certif_grad1.php"; break; case "es": iframesSrcES[i] = "iframes/lang_es/certif_grad1.php"; break; } nomesProdutosESPT[i] = "Postagem do Certificado em Português da Primeira Graduação"; nomesProdutosESEN[i] = "Post of Certificate in Portuguese from the First Graduation"; break; case "Publicación del Principio de ser Novio": switch(idioma){ case "pt": iframesSrcES[i] = "iframes/lang_pt/inicio_namoro.php"; break; case "en": iframesSrcES[i] = "iframes/lang_en/inicio_namoro.php"; break; case "es": iframesSrcES[i] = "iframes/lang_es/inicio_namoro.php"; break; } nomesProdutosESPT[i] = "Postagem do Início do Namoro"; nomesProdutosESEN[i] = "Post of the Affair's Beginning"; break; } } var nomesProdutosAntigos = ["", "", "", "", "", "", "", ""]; var iframesSrcAntigos = ["", "", "", "", "", "", "", ""]; switch (idioma) { case "pt": nomesProdutosAntigos[0] = "EBook de Como Controlar as Compras Supérfluas"; iframesSrcAntigos[0] = "iframes/lang_pt/compras_superfluas.php"; nomesProdutosAntigos[1] = "Jogo de Tiro em 1D"; iframesSrcAntigos[1] = "iframes/phaser/jogo_tiro_1d/jogo_pt.php"; nomesProdutosAntigos[2] = "Postagem do Certificado em Português da Primeira Graduação"; iframesSrcAntigos[2] = "iframes/lang_pt/certif_grad1.php"; nomesProdutosAntigos[3] = "Postagem do Início do Namoro"; iframesSrcAntigos[3] = "iframes/lang_pt/inicio_namoro.php"; nomesProdutosAntigos[4] = "EBook de Como Calcular o Preço para Cobrar pelo Website"; iframesSrcAntigos[4] = "iframes/lang_pt/cobrar_assinantes.php"; nomesProdutosAntigos[5] = "Playlist da Academia"; iframesSrcAntigos[5] = "iframes/lang_pt/playlist_academia"; nomesProdutosAntigos[6] = "Lista Sugerida de Senhas Fortes"; iframesSrcAntigos[6] = "iframes/lang_pt/lista_sugerida_senhas_fortes.php"; nomesProdutosAntigos[7] = "Música para Dormir"; iframesSrcAntigos[7] = "iframes/lang_pt/musica_dormir.php"; break; case "en": nomesProdutosAntigos[0] = "EBook of How to Control Superfluous Purchases"; iframesSrcAntigos[0] = "iframes/lang_en/compras_superfluas.php"; nomesProdutosAntigos[1] = "1D Shoot Game"; iframesSrcAntigos[1] = "iframes/phaser/jogo_tiro_1d/jogo_en.php"; nomesProdutosAntigos[2] = "Post of Certificate in Portuguese from the First Graduation"; iframesSrcAntigos[2] = "iframes/lang_en/certif_grad1.php"; nomesProdutosAntigos[3] = "Post of the Affair's Beginning"; iframesSrcAntigos[3] = "iframes/lang_en/inicio_namoro.php"; nomesProdutosAntigos[4] = "EBook of How to Calculate the Price to Charge for the Website"; iframesSrcAntigos[4] = "iframes/lang_en/cobrar_assinantes.php"; nomesProdutosAntigos[5] = "Fitness Center Playlist"; iframesSrcAntigos[5] = "iframes/lang_en/playlist_academia"; nomesProdutosAntigos[6] = "Suggested List of Strong Passwords"; iframesSrcAntigos[6] = "iframes/lang_en/lista_sugerida_senhas_fortes.php"; nomesProdutosAntigos[7] = "Music to Sleep"; iframesSrcAntigos[7] = "iframes/lang_en/musica_dormir.php"; break; case "es": nomesProdutosAntigos[0] = "EBook de Cómo Controlar las Compras Supérfluas"; iframesSrcAntigos[0] = "iframes/lang_es/compras_superfluas.php"; nomesProdutosAntigos[1] = "Juego de Tiro en 1D"; iframesSrcAntigos[1] = "iframes/phaser/jogo_tiro_1d/jogo_es.php"; nomesProdutosAntigos[2] = "Publicación de Diploma en Portugués de la Primera Graduación"; iframesSrcAntigos[2] = "iframes/lang_es/certif_grad1.php"; nomesProdutosAntigos[3] = "Publicación del Principio de ser Novio"; iframesSrcAntigos[3] = "iframes/lang_es/inicio_namoro.php"; nomesProdutosAntigos[4] = "EBook de Cómo Calcular el Precio para Cobrar por el Websitio"; iframesSrcAntigos[4] = "iframes/lang_es/cobrar_assinantes.php"; nomesProdutosAntigos[5] = "Playlist de Gimnasio"; iframesSrcAntigos[5] = "iframes/lang_es/playlist_academia"; nomesProdutosAntigos[6] = "Lista Sugerida de Contraseñas Fuertes"; iframesSrcAntigos[6] = "iframes/lang_es/lista_sugerida_senhas_fortes.php"; nomesProdutosAntigos[7] = "Música para Dormir"; iframesSrcAntigos[7] = "iframes/lang_es/musica_dormir.php"; break; } var nomesProdutosRecentes = []; var iframesSrcRecentes = []; nomesProdutosRecentes = nomesProdutosRecentes.concat(nomesProdutosAntigos); iframesSrcRecentes = iframesSrcRecentes.concat(iframesSrcAntigos); nomesProdutosRecentes.reverse(); iframesSrcRecentes.reverse(); for(var i = 0; i < 8; i++){ nomesProdutosPT[i] = stringLonga(nomesProdutosPT[i], 30); nomesProdutosEN[i] = stringLonga(nomesProdutosEN[i], 30); nomesProdutosES[i] = stringLonga(nomesProdutosES[i], 30); nomesProdutosPTEN[i] = stringLonga(nomesProdutosPTEN[i], 30); nomesProdutosPTES[i] = stringLonga(nomesProdutosPTES[i], 30); nomesProdutosENPT[i] = stringLonga(nomesProdutosENPT[i], 30); nomesProdutosENES[i] = stringLonga(nomesProdutosENES[i], 30); nomesProdutosESPT[i] = stringLonga(nomesProdutosESPT[i], 30); nomesProdutosESEN[i] = stringLonga(nomesProdutosESEN[i], 30); nomesProdutosAntigos[i] = stringLonga(nomesProdutosAntigos[i], 30); nomesProdutosRecentes[i] = stringLonga(nomesProdutosRecentes[i], 30); } switch(idioma){ case "pt": for(var i = 0; i < selectOrdenar.options.length; i++) if(selectOrdenar.options[i].selected) switch(i){ case 0: iframeProduto.src = iframesSrcPT[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosPT[pegarPaginaAtual() - 1]; break; case 1: iframeProduto.src = iframesSrcEN[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosENPT[pegarPaginaAtual() - 1]; break; case 2: iframeProduto.src = iframesSrcES[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosESPT[pegarPaginaAtual() - 1]; break; case 3: iframeProduto.src = iframesSrcAntigos[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosAntigos[pegarPaginaAtual() - 1]; break; case 4: iframeProduto.src = iframesSrcRecentes[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosRecentes[pegarPaginaAtual() - 1]; break; } break; case "en": for(var i = 0; i < selectOrdenar.options.length; i++) if(selectOrdenar.options[i].selected) switch(i){ case 0: iframeProduto.src = iframesSrcPT[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosPTEN[pegarPaginaAtual() - 1]; break; case 1: iframeProduto.src = iframesSrcEN[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosEN[pegarPaginaAtual() - 1]; break; case 2: iframeProduto.src = iframesSrcES[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosESEN[pegarPaginaAtual() - 1]; break; case 3: iframeProduto.src = iframesSrcAntigos[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosAntigos[pegarPaginaAtual() - 1]; break; case 4: iframeProduto.src = iframesSrcRecentes[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosRecentes[pegarPaginaAtual() - 1]; break; } break; case "es": for(var i = 0; i < selectOrdenar.options.length; i++) if(selectOrdenar.options[i].selected) switch(i){ case 0: iframeProduto.src = iframesSrcPT[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosPTES[pegarPaginaAtual() - 1]; break; case 1: iframeProduto.src = iframesSrcEN[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosENES[pegarPaginaAtual() - 1]; break; case 2: iframeProduto.src = iframesSrcES[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosES[pegarPaginaAtual() - 1]; break; case 3: iframeProduto.src = iframesSrcAntigos[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosAntigos[pegarPaginaAtual() - 1]; break; case 4: iframeProduto.src = iframesSrcRecentes[pegarPaginaAtual() - 1]; nomeProduto.innerHTML = nomesProdutosRecentes[pegarPaginaAtual() - 1]; break; } break; } mudarIdioma(idioma); } function carregarDocumento(){ var senhaWebsite; <?php $_SESSION['senha_website'] = $_GET['senha_website']; ?> if(Boolean(<?php echo ($_GET['senha_website'] != "hD2*iG9}hP0~lX0>kP"); ?>)){ senhaWebsite = prompt("Qual é a senha do website?\nWhat is the website's password?\n¿Cuál es la contraseña del websitio?"); window.location.href = "?pagina_comentarios=" + <?php echo $_GET['pagina_comentarios']; ?> + "&senha_website=" + senhaWebsite; } else{ var selectAcaoComentarios = document.getElementById("select_acao_comentarios"); var idComentarioInput = document.getElementById("id_comentario_input"); var mensagemTextarea = document.getElementById("mensagem_textarea"); var sessionProdutos = document.getElementById("session_produtos"); sessionProdutos.hidden = false; var selectIdioma = document.getElementById("select_idioma"); for(var i = 0; i < selectIdioma.options.length; i++){ selectIdioma.options[i].removeAttribute("selected"); } for(var i = 0; i < selectIdioma.options.length; i++){ if(selectIdioma.options[i].value == idioma){ selectIdioma.options[i].selected = true; break; } } for(var i = 0; i < selectIdioma.options.length; i++){ if(selectIdioma.options[i].selected){ idioma = selectIdioma.options[i].value; mudarIdioma(idioma); break; } } var selectOrdenar = document.getElementById("select_ordenar"); for(var i = 0; i < selectOrdenar.options.length; i++){ selectOrdenar.options[i].removeAttribute("selected"); } for(var i = 0; i < selectOrdenar.options.length; i++){ if(selectOrdenar.options[i].value == ordemProdutos){ selectOrdenar.options[i].selected = true; break; } } var sessaoNomeUsuario = Boolean(<?php echo ($_SESSION['nome_usuario_produtos'] == ""); ?>); var sessaoEmailUsuario = Boolean(<?php echo ($_SESSION['email_usuario_produtos'] == ""); ?>); var sessaoUsuario = sessaoNomeUsuario && sessaoEmailUsuario; if(sessaoUsuario) document.getElementById("comentarios_sessao").hidden = true; else document.getElementById("comentarios_sessao").hidden = false; atribuirPagina1(pegarPaginaAtual()); } } function mudarAcaoComentarios() { var selectAcaoComentarios = document.getElementById("select_acao_comentarios"); var idComentarioInput = document.getElementById("id_comentario_input"); var mensagemTextarea = document.getElementById("mensagem_textarea"); var formularioComentarios = document.getElementById("formulario_comentarios"); if(selectAcaoComentarios != null && formularioComentarios != null){ for(var i = 0; i < 3; i++) if(selectAcaoComentarios.options[i].selected) switch(i){ case 0: formularioComentarios.action = "inserir_comentario.php"; formularioComentarios.innerHTML = "<p><label id=\"id_comentario_label\" for=\"id_comentario_input\">ID:</label><input type=\"number\" min=\"1\" name=\"id_comentario\" id=\"id_comentario_input\"></p><p><label id=\"mensagem_label\" for=\"mensagem_textarea\">MS:</label><textarea required rows=\"5\" cols=\"40\" name=\"mensagem\" id=\"mensagem_textarea\"></textarea></p><p><button class=\"botoes_enviar\" type=\"submit\">Enviar</button></p>"; break; case 1: formularioComentarios.action = "editar_comentario.php"; formularioComentarios.innerHTML = "<p><label id=\"id_comentario_label\" for=\"id_comentario_input\">ID:</label><input required type=\"number\" min=\"1\" name=\"id_comentario\" id=\"id_comentario_input\"></p><p><label id=\"mensagem_label\" for=\"mensagem_textarea\">MS:</label><textarea required rows=\"5\" cols=\"40\" name=\"mensagem\" id=\"mensagem_textarea\"></textarea></p><p><button class=\"botoes_enviar\" type=\"submit\">Enviar</button></p>"; break; case 2: formularioComentarios.action = "excluir_comentario.php"; formularioComentarios.innerHTML = "<p><label id=\"id_comentario_label\" for=\"id_comentario_input\">ID:</label><input required type=\"number\" min=\"1\" name=\"id_comentario\" id=\"id_comentario_input\"></p><p><label id=\"mensagem_label\" for=\"mensagem_textarea\">MS:</label><textarea readonly rows=\"5\" cols=\"40\" name=\"mensagem\" id=\"mensagem_textarea\"></textarea></p><p><button class=\"botoes_enviar\" type=\"submit\">Enviar</button></p>"; break; } carregarDocumento(); } } </script> </head> <body class="super_pagina" onload="carregarDocumento();"> <section id="session_produtos" hidden> <header><h1>Eduardo de Quadros</h1></header> <form> <p><select title="Mudar Idioma" id="select_idioma" onchange="atribuirPagina2(pegarPaginaAtual());"> <option selected value="pt">Portugu&ecirc;s - Portuguese - Portugu&eacute;s</option> <option value="en">Ingl&ecirc;s - English - Ingl&eacute;s</option> <option value="es">Espanhol - Spanish - Espa&ntilde;ol</option> </select></p> </form> <p id="p_ordenar">Ordenar Por:</p> <p><select title="Ordem de Exibição" id="select_ordenar" onchange="atribuirPagina2(pegarPaginaAtual());"> <option selected value="nome_produto_pt">Nome do Produto em Portugu&ecirc;s</option> <option value="nome_produto_en">Nome do Produto em Ingl&ecirc;s</option> <option value="nome_produto_es">Nome do Produto em Espanhol</option> <option value="publica_mais_antigo">Produto Mais Antigamente Publicado</option> <option value="publica_mais_recente">Produto Mais Recentemente Publicado</option> </select></p> <p id="numero_pagina" hidden>1</p> <table> <tbody> <tr> <td colspan="3"><h2 id="nome_produto">EBook de Como Controlar as Compras Sup&eacute;rfluas</h2></td> </tr> <tr> <td><a onclick="paginaAnterior()"><img width="80" src="../seta_esq.png"></a></td> <td id="td_produto"><iframe width="840" height="630" id="iframe_produto" title="iframe_produto" src="iframes/lang_pt/compras_superfluas.php"></iframe></td> <td><a onclick="paginaPosterior()"><img width="80" src="../seta_dir.png"></a></td> </tr> </tbody> </table> <p id="comentarios_dica">Comente sobre os infoprodutos!</p> <form method="post" action="usuario_comentarios.php"> <p><label id="nome_usuario_label" for="nome_usuario_input">Seu Nome Completo:</label><input required type="text" id="nome_usuario_input" name="nome_usuario"></p> <p><label id="email_usuario_label" for="email_usuario_input">Seu Email:</label><input required type="email" id="email_usuario_input" name="email_usuario"></p> <p><button class="botoes_enviar" type="submit">Enviar</button></p> </form> <section id="comentarios_sessao"> <form> <ul id="lista_acoes_completas"> <li>Inserir com Mensagem e ID Opcional do Comentário Pai</li> <li>Editar com ID a Conservar e Mensagem Nova que Antes se Copia a Mensagem Antiga</li> <li>Excluir com Apenas ID</li> </ul> <p><select title="Ação de Comentários" id="select_acao_comentarios" onchange="mudarAcaoComentarios()"> <option selected value="inserir">Inserir</option> <option value="editar">Editar</option> <option value="excluir">Excluir</option> </select></p> </form> <form id="formulario_comentarios" method="post" action="inserir_comentario.php"> <p><label id="id_comentario_label" for="id_comentario_input">ID:</label><input type="number" min="1" name="id_comentario" id="id_comentario_input"></p> <p><label id="mensagem_label" for="mensagem_textarea">MS:</label><textarea required rows="5" cols="40" name="mensagem" id="mensagem_textarea"></textarea></p> <p><button class="botoes_enviar" type="submit">Enviar</button></p> </form> <?php function data_hora_br($str_data_hora){ $str_data_hora_arr = explode(" ", $str_data_hora); $str_data = $str_data_hora_arr[0]; $str_hora = $str_data_hora_arr[1]; $str_data_arr = explode("-", $str_data); $str_dia = $str_data_arr[2]; $str_mes = $str_data_arr[1]; $str_ano = $str_data_arr[0]; return $str_dia . "/" . $str_mes . "/" . $str_ano . " " . $str_hora; } $conn = mysqli_connect("sv80.ifastnet.com", "eduardo_emqs", "SenhaSenha9!", "eduardo_emqs", "3306"); mysqli_set_charset($conn, "utf8"); $sql1 = "SELECT * FROM comentarios WHERE comentario_pai IS NULL AND assunto = 'Infoprodutos' ORDER BY data_hora_comentario DESC"; $query1 = mysqli_query($conn, $sql1); $tr = mysqli_num_rows($query1); if($tr > 0){ $total_reg = 25; $pc = $_GET['pagina_comentarios']; $inicio = $pc - 1; $inicio *= $total_reg; $sql2 = "SELECT * FROM comentarios WHERE comentario_pai IS NULL AND assunto = 'Infoprodutos' ORDER BY data_hora_comentario DESC LIMIT " . $inicio . ", " . $total_reg; $query2 = mysqli_query($conn, $sql2); $tp = ceil($tr / $total_reg); // verifica o número total de páginas echo "<ul>"; while($dados2 = mysqli_fetch_assoc($query2)){ echo "<li>"; $id_comentario2 = $dados2['id_comentario']; echo data_hora_br($dados2['data_hora_comentario']) . " - ID <b>" . $id_comentario2 . "</b> - " . $dados2['nome_usuario'] . " (" . $dados2['email_usuario'] . ")<b>:</b> "; echo nl2br($dados2['mensagem']); $sql3 = "SELECT * FROM comentarios WHERE comentario_pai = " . $id_comentario2 . " ORDER BY data_hora_comentario DESC"; $query3 = mysqli_query($conn, $sql3); $numero_filhos1 = mysqli_num_rows($query3); if($numero_filhos1 > 0){ echo "<ul>"; while($dados3 = mysqli_fetch_assoc($query3)){ echo "<li>"; $id_comentario3 = $dados3['id_comentario']; echo data_hora_br($dados3['data_hora_comentario']) . " - ID <b>" . $id_comentario3 . "</b> - " . $dados3['nome_usuario'] . " (" . $dados3['email_usuario'] . ")<b>:</b> "; echo nl2br($dados3['mensagem']); $sql4 = "SELECT * FROM comentarios WHERE comentario_pai = " . $id_comentario3 . " ORDER BY data_hora_comentario DESC"; $query4 = mysqli_query($conn, $sql4); $numero_filhos2 = mysqli_num_rows($query4); if($numero_filhos2 > 0){ echo "<ul>"; while($dados4 = mysqli_fetch_assoc($query4)){ echo "<li>"; $id_comentario4 = $dados4['id_comentario']; echo data_hora_br($dados4['data_hora_comentario']) . " - ID <b>" . $id_comentario4 . "</b> - " . $dados4['nome_usuario'] . " (" . $dados4['email_usuario'] . ")<b>:</b> "; echo nl2br($dados4['mensagem']); $sql5 = "SELECT * FROM comentarios WHERE comentario_pai = " . $id_comentario4 . " ORDER BY data_hora_comentario DESC"; $query5 = mysqli_query($conn, $sql5); $numero_filhos4 = mysqli_num_rows($query5); if($numero_filhos4 > 0){ echo "<ul>"; while($dados5 = mysqli_fetch_assoc($query5)){ echo "<li>"; $id_comentario5 = $dados5['id_comentario']; echo data_hora_br($dados5['data_hora_comentario']) . " - ID <b>" . $id_comentario5 . "</b> - " . $dados5['nome_usuario'] . " (" . $dados5['email_usuario'] . ")<b>:</b> "; echo nl2br($dados5['mensagem']); $sql6 = "SELECT * FROM comentarios WHERE comentario_pai = " . $id_comentario5 . " ORDER BY data_hora_comentario DESC"; $query6 = mysqli_query($conn, $sql6); $numero_filhos5 = mysqli_num_rows($query6); if($numero_filhos5 > 0){ echo "<ul>"; while($dados6 = mysqli_fetch_assoc($query6)){ echo "<li>"; $id_comentario6 = $dados6['id_comentario']; echo data_hora_br($dados6['data_hora_comentario']) . " - ID <b>" . $id_comentario6 . "</b> - " . $dados6['nome_usuario'] . " (" . $dados6['email_usuario'] . ")<b>:</b> "; echo nl2br($dados6['mensagem']); echo "</li>"; } echo "</ul>"; } echo "</li>"; } echo "</ul>"; } echo "</li>"; } echo "</ul>"; } echo "</li>"; } echo "</ul>"; } echo "</li>"; } echo "</ul>"; echo "<p id=\"escolher_pagina\">P&aacute;gina:</p>"; echo "<p>"; for($i = 1; $i <= $tp; $i++){ if($i == $pc) echo $i; else echo "<a href=\"?pagina_comentarios=" . $i . "&senha_website=" . $_GET['senha_website'] . "\">" . $i . "</a>"; if($i <= $tp - 1) echo " ... | ... "; } echo "</p>"; } ?> </section> <!-- Start of LiveChat (www.livechatinc.com) code <script> window.__lc = window.__lc || {}; window.__lc.license = 13847649; ;(function(n,t,c){function i(n){return e._h?e._h.apply(null,n):e._q.push(n)}var e={_q:[],_h:null,_v:"2.0",on:function(){i(["on",c.call(arguments)])},once:function(){i(["once",c.call(arguments)])},off:function(){i(["off",c.call(arguments)])},get:function(){if(!e._h)throw new Error("[LiveChatWidget] You can't use getters before load.");return i(["get",c.call(arguments)])},call:function(){i(["call",c.call(arguments)])},init:function(){var n=t.createElement("script");n.async=!0,n.type="text/javascript",n.src="https://cdn.livechatinc.com/tracking.js",t.head.appendChild(n)}};!n.__lc.asyncInit&&e.init(),n.LiveChatWidget=n.LiveChatWidget||e}(window,document,[].slice)) </script> <noscript><a href="https://www.livechatinc.com/chat-with/13847649/" rel="nofollow">Chat with us</a>, powered by <a href="https://www.livechatinc.com/?welcome" rel="noopener nofollow" target="_blank">LiveChat</a></noscript> End of LiveChat code --> </section> </body> </html> Como resolver o erro do redirecionamento em excesso?
  14. Meu website está funcionando normalmente, está totalmente criado e já tem certificado SSL. Ele está hospedado no iFastNet com o plano mensal Super Premium, estou forçando WWW e HTTPS na URL via PHP. Mas quando eu tento copiar a URL inteira na barra de URL do Microsoft Edge, só o título da página é copiado. Por que está copiando só o título da página? Como faço para copiar a URL inteira?
  15. Quando faço via HTACCESS, o site diz que está redirecionando em excesso. Quando faço via PHP, o site força normalmente o que eu queria. Por que isso?
  16. <vídeo controls loop> <source type="vídeo/mp4" src="nome_video.mp4"> </vídeo> <audio controls loop> <source type="audio/mpeg" src="nome_audio.mp3"> </audio> Depois da mídia acabar e antes de começar nova e automaticamente, eu quero executar uma função JavaScript, então como se chama o evento?
  17. Eu não uso nem Angular nem JQuery nem TypeScript nem React. Eu só quero ler em JavaScript original.
  18. Uso o JavaScript original.
  19. Encontrei como ler arquivos selecionados pelo input type file, que o valor só é possível com arquivos selecionados pelo usuário. Eu quero ler um arquivo txt que está nos arquivos do meu website. como fazer isso em JavaScript?
  20. Eu quero que, dentro do meu website, o usuário que enviou um comentário possa editar o mesmo comentário do mesmo usuário.
  21. Sei como fazer para excluir. Aqui está para inserir.
  22. Sobre as novidades do Windows 11, o que foi inserido, atualizado e apagado. Recursos que do Windows 10 para o Windows 11 mudou, mas o recurso com a versão do Windows 11 é possível usar no Windows 10. O que mais? No YouTube, na Hotmart e na Udemy não tem nenhum curso de Windows 11 para fazer.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Como se tornar um desenvolvedor full-stack

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!