C# - Jogo Ping-Pong


Hoje vou apresentar um programa bem simples feito na linguagem C# que simula um jogo de ping pong com uma única raquete.

Que tal um joguinho para descontrair ???

Não é preciso muitos recursos para se divertir com um simples jogo na linguagem C#.

Vamos usar dois controles PictureBox , um controle Timer e um Formulário.

Pronto !!!

Defina um código bem simples, para não perder muito tempo, e, o jogo esta pronto...

Abra o Visual Studio 2017 Community e no no menu File clique em Add -> New Project;

Escolha Visual C# -> Windows Classic Desktop -> Class Library (.NET Framework);

Informe o nome pingpong e clique em OK;

No formulário Form1.cs do projeto inclua os seguintes controles:

Abaixo vemos o formulário do projeto:

No menu Project clique em Add Windows Forms e inclua um novo formulário com o nome frmMenu.cs.

Inclua 1 Label e 3 Buttons neste formulário conforme a figura abaixo:

Inclua o código abaixo neste formulário:

using System;
using System.Windows.Forms;
namespace game
{
    public partial class frmMenu : Form
    {
        public frmMenu()
        {
            InitializeComponent();
        }
        private void btnIniciante_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form1 frm1 = new Form1(200);
            frm1.Show();
        }
        private void btnIntermediario_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form1 frm1 = new Form1(100);
            frm1.Show();
        }
        private void btnAvançado_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form1 frm1 = new Form1(50);
            frm1.Show();
        }
    }
}

Agora é só implementar o código do formulário Form1.cs :

using System;
using System.Drawing;
using System.Windows.Forms;
namespace game
{
    public partial class Form1 : Form
    {
        public Form1(int valor)
        {
            InitializeComponent();
            if (valor == 0)
            {
                valor = 100;
            }
            else
            {
                picRaquete.Height = valor;
            }
        }

        int velocidade =10;
        int resultado;
        bool topo, esquerda ;
  
        private void Form1_Load(object sender, EventArgs e)
        {
            Random rand = new Random();
            picBola.Location = new Point(0, rand.Next(this.Height));
            topo = esquerda = true;
            timer1.Enabled = true;
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (picBola.Left > picRaquete.Left) 
            { 
                timer1.Enabled = false; MessageBox.Show("Você perdeu :  "+resultado.ToString()); 
                resultado = 0; 
            }
            if (picBola.Left + picBola.Width >= picRaquete.Left &&     picBola.Left + picBola.Width 
                <= picRaquete.Left + picRaquete.Width
                && picBola.Top + picBola.Height >= picRaquete.Top &&  picBola.Top + picBola.Height
                <= picRaquete.Top + picRaquete.Height + picBola.Height)
            {
                esquerda = false;
                resultado += 1;
                this.Text = resultado.ToString();
            }
            if (esquerda) 
                  picBola.Left += velocidade; 
               else 
                picBola.Left -= velocidade;
            if (topo) 
                 picBola.Top += velocidade; 
            else 
                picBola.Top -= velocidade;
            if (picBola.Top >= this.Height - 50) 
                  topo = false;
            if (picBola.Top <= 0) 
                 topo = true;
            if (picBola.Left <= 0) 
                esquerda = true;
        }
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            picRaquete.Top = e.Y;
        }
    }
}

Executando o projeto iremos obter o seguinte resultado :

Pegue o projeto completo aqui : JogoPingPong.zip

Portanto, quer comais quer bebais, ou façais outra qualquer coisa, fazei tudo para glória de Deus.
 1 Coríntios 10:31

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti