Ir ao conteúdo
  • Cadastre-se

Giacomini

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

1
  1. Ola, meu professor passou um trabalho que a questão é a seguinte: Ele passou um "jogo" e tenho que alterar o fundo, colocar um placar e trocar a bola por uma imagem.Porém JS não é o meu forte, a parte de trocar o fundo eu consegui pois é no CSS ai beleza. O código é: CSS: #canvas-jogo{ background-color: rgb(240,240,240); border: 1px solid black; } body{ text-align:center; } HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>O meu jogo em HTML e Javascript</title> <link href="css/estilo.css" rel="stylesheet" type="text/css" /> </head> <body> <canvas id="canvas-jogo"></canvas> <script type="text/javascript" src="js/jogo.js"></script> </body> </html> JS: //Configurações do canvas e criação do contexto. var canvas = document.getElementById("canvas-jogo"); canvas.width = 480; canvas.height = 320; var contexto = canvas.getContext("2d"); /* VARIÁVEIS GLOBAIS */ //Posição inicial da bola var x = canvas.width/2; var y = canvas.height-30; //Velocidade da bola var dx = 2; var dy = -2; //Raio da bola var raioBola= 20; //Base (controlada pelo jogador) var baseAltura = 10; var baseLargura = 75; var baseX = (canvas.width-baseLargura)/2; //Estado dos controladores do jogo var teclaEsquerdaPressionada = false; var teclaDireitaPressionada = false; /*FUNÇÕES DO JOGO*/ //Função que desenha a bola na posição contida nas variáveis globais x,y function desenhaBola(){ contexto.beginPath(); contexto.arc(x, y, raioBola, 0, Math.PI*2); contexto.fillStyle = "#0095DD"; contexto.fill(); contexto.closePath(); } //Função para desenhar a base controlada pelo jogador function desenhaBase() { contexto.beginPath(); contexto.rect(baseX, canvas.height-baseAltura, baseLargura, baseAltura); contexto.fillStyle = "#0095DD"; contexto.fill(); contexto.closePath(); } //Função que desenha todos os componentes do jogo a cada loop function desenha(){ //Limpa o canvas contexto.clearRect(0, 0, canvas.width, canvas.height); //Desenha a bola desenhaBola(); //Desenha a base desenhaBase(); //Colisão com borda direita e esquerda if(x + dx > canvas.width - raioBola || x + dx < raioBola){ dx = -dx; } //Colisão com borda superior if(y + dy < raioBola){ dy = -dy; } //Colisão com a borda inferior else if(y + dy > canvas.height - raioBola){ //Caso esteja na direção da base, altera o movimento da bola if(x > baseX && x < baseX + baseLargura){ dy = -dy; } //Senão termina o jogo else{ //Imprime mensagem de gameover alert("Fim do Jogo! Perdeu!"); //Recarrega a página document.location.reload(); } } //Atualiza a posição da bola x += dx; y += dy; //Move a base controlada pelo jogador if(teclaDireitaPressionada && baseX < canvas.width - baseLargura){ baseX += 7; }else if(teclaEsquerdaPressionada && baseX > 0){ baseX -= 7; } } //Leitores de eventos do teclado document.addEventListener("keydown", trataTeclaBaixo, false); document.addEventListener("keyup", trataTeclaCima, false); //Funções que tratam os eventos keydown e keyup function trataTeclaBaixo(evento){ //Se o keyCode == Seta para Direita if(evento.keyCode == 39) { teclaDireitaPressionada = true; } //Se o keyCode == Seta para Esquerda else if(evento.keyCode == 37){ teclaEsquerdaPressionada = true; } } function trataTeclaCima(evento){ //Se o keyCode == Seta para Direita if(evento.keyCode == 39){ teclaDireitaPressionada = false; } //Se o keyCode == Seta para Esquerda else if(evento.keyCode == 37){ teclaEsquerdaPressionada = false; } } //Loop do jogo setInterval(desenha, 10);
  2. Quando executo meu código da seguinte questão:Faça um programa que mostre a tabuada dos números de 1 a 10. 11. Uma loja utiliza o código V para transação à vista e P para transação a prazo. Faça um programa que receba o código e o valor de 15 transações. Calcule e mostre: ♦ o valor total das compras à vista; ♦ o valor total das compras a prazo; ♦ o valor total das compras efetuadas; ♦ o valor da primeira prestação das compras a prazo, sabendo-se que essas serão pagas em três vezes. Ele funciona, mas na hora que digito V ou P, o V pega o valor do P e o P o valor do V, não entendo por que. O código que criei é este ai. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> int main() { char cod_trans[3]; int valor, val_tot_vista, val_tot_prazo; int cont = 1; val_tot_vista = 0; val_tot_prazo = 0; while(cont<=3){ printf("\nInforme o Codigo: "); scanf("%s",&cod_trans,cod_trans1); printf("\nInforme o Valor da Transacao: "); scanf("%d",&valor); if(strcmp(cod_trans, "v")){ val_tot_vista = val_tot_vista + valor; }else{ if(strcmp(cod_trans, "p")){ val_tot_prazo = val_tot_prazo + valor; }else{ printf("Codigo inserido invalido"); } } cont++; } printf("\nValor total das compras a vista: %d\n", val_tot_vista); printf("\nValor total das compras a prazo: %d\n", val_tot_prazo); printf("\nValor total das compras efetuadas: %d\n", val_tot_vista + val_tot_prazo); printf("\nValor da primeira prestacao das compras a prazo juntas: %d\n", val_tot_prazo / 3); return 0; } adicionado 3 minutos depois É a questão 11!!

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...