• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fernas

Urgente - Campo de futebol

6 mensagens neste tópico

Preciso de fazer um campo de futebol com 2 jogadores e uma bola. O problema é que não consigo fazer as áreas e as balizas..

#include <graphics.h>

int main() 
{ 
  initwindow(800,600); //open a 400x300 graphics window
  setbkcolor(GREEN);
  int poly[8];
  poly[0] = 20;          
  poly[1] = 100;
  poly[2] = 800 - 20; 
  poly[3] = 100;
  poly[4] = 800-20;     
  poly[5] = 500-20;
  poly[6] = 20;       
  poly[7] = 500-20; 
  setfillstyle(1, GREEN);
  fillpoly(4, poly);
  moveto(400,100);
  lineto(400, 480);        
  circle(400, 300, 50);
  setfillstyle(1, BLUE); 
  fillellipse(200, 150, 10, 10);  //jogador de cima
  fillellipse(200, 400, 10, 10);  //jogador de baixo
  setfillstyle(1, WHITE); //cor da bola
  fillellipse(200, 160, 3, 3); //bola
  while(!kbhit());     //wait for user to press a key
  closegraph();        //close graphics window
  return 0; 
}

Aqui está o que já fiz:

2exufyf.png

P.S: O compilador que estou a usar é o Dev-C++

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não seria mais fácil usares uma livraria que te permitisse carregar uma imagem para o ecrã? de qualquer das maneiras, se já fizestes um meio campo, qual a dificuldade de fazeres 2 rectângulos?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A ideia da imagem é boa.

Fica com um design mto mais agradável. Depois é só fixares as coordenadas das linhas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sou mesmo distraído, postei isto na área de C, o programa tá em C++ lol

Update:

#include <graphics.h>

int main() 
{ int poly[8], det, mod;
    detectgraph(&det, &mod);   // Obtém o driver gráfico e o modo  de acordo com o hardware 
    initgraph(&det, &mod, "");  // inicializa  modo gráfico de acordo com os parâmetros obtidos

  initwindow(800,600); //open a 400x300 graphics window
  setbkcolor(GREEN);

  poly[0] = 20;          
  poly[1] = 100;
  poly[2] = 800 - 20; 
  poly[3] = 100;
  poly[4] = 800-20;     
  poly[5] = 500-20;
  poly[6] = 20;       
  poly[7] = 500-20; 
  setfillstyle(1, GREEN);
  fillpoly(4, poly);
  moveto(400,100); //posiciona cursor na posição
  lineto(400, 480);   //desenha uma linha     
  circle(400, 300, 50);
  rectangle(20, 150, 160, 430);
  rectangle(20, 220, 80, 360);
  rectangle(5, 260, 20, 320);
  rectangle(630, 150, 800-20, 430);
  rectangle(800-20, 220, 720, 360);
  rectangle(800-20, 260, 800-5, 320);
  //-------------//
  setfillstyle(1, BLUE); //cor jogadores porto
  fillellipse(150, 150, 10, 10); //defesa esquerdo porto
  fillellipse(150, 250, 10, 10); //defesa centro porto
  fillellipse(150, 350, 10, 10); //defesa centro2 porto
  fillellipse(150, 450, 10, 10); //defesa direito porto
  fillellipse(250, 150, 10, 10); //médio esquerdo porto
  fillellipse(250, 250, 10, 10); //médio centro porto
  fillellipse(250, 350, 10, 10); //médio centro2 porto
  fillellipse(250, 450, 10, 10); //médio direito porto
  fillellipse(350, 250, 10, 10); //Avançado porto
  fillellipse(350, 350, 10, 10); //Avançado2 porto
  //---------------//
  setfillstyle(1, BLACK); //cor guarda-redes porto
  fillellipse(50, 295, 10, 10); //guarda-redes porto
  //--------------//
  setfillstyle(1, RED); //cor jogadores benfica
  fillellipse(450, 300, 10, 10); //Avançado benfica
  fillellipse(550, 150, 10, 10); //médio direito benfica
  fillellipse(550, 300, 10, 10); //médio centro benfica
  fillellipse(550, 450, 10, 10); //médio esquerdo benfica
  fillellipse(620, 350, 10, 10); //médio defensivo benfica
  fillellipse(620, 250, 10, 10); //médio defensivo2 benfica
  fillellipse(690, 150, 10, 10); //defesa direito benfica
  fillellipse(710, 250, 10, 10); //defesa centro benfica
  fillellipse(710, 350, 10, 10); //defesa centro2 benfica
  fillellipse(690, 450, 10, 10); //defesa esquero benfica
  //-----------//
  setfillstyle(1, YELLOW); //cor guarda-redes benfica
  fillellipse(750, 295, 10, 10); //guarda-redes benfica
  //----------//
  setfillstyle(1, WHITE); //cor da bola
  fillellipse(400, 300, 5, 5); //bola
  //--------//
  while(!kbhit());     //wait for user to press a key
  closegraph();        //close graphics window
  return 0; 
}

wb6kir.png

P.S: Decidi meter mais jogadores.. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora