23.10. Loptica - skočica: igrica
Completion requirements
Zadatak: Napraviti igricu u kojoj se loptica odbija od reket na dnu, a ako loptica "ispadne" mimo reket, onda je igrica gotova.
Potrebna vam je jedna Forma (Form1), pictureBox ili panel (racket) u nekoj boji koji će izigravati reket, boks sa slikom loptice (ball), tajmer za to da se za svaki tik menja nešto u igrici. Dodajte način da prikažete broj bodova i način za izlaz iz igrice
Pogledajte kako izgleda forma:

Pogledajte kako izgleda programski kod sa časa (23.10.2024)
namespace ping_pong_game
{
public partial class Form3 : Form
{
int korakX = 6; // koliko se pomera u levo ili u desno na svaki tik tajmera
int korakY = 6; // koliko ide na dole na svaki tik tajmera
int smerX = 1, smerY = 1;
int poeni;
public Form3()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
loptica.Left += (korakX * smerX);
loptica.Top += (korakY * smerY);
if (loptica.Bounds.IntersectsWith(reket.Bounds))
{
smerY = -1;
poeni++;
lblPoeni.Text = poeni.ToString();
}
if (loptica.Bottom >= this.Bottom)
{ // ako loptica "ispadne"
timer1.Enabled = false;
DialogResult rezultat = MessageBox.Show("izgubljena partija, hoćete li ponovo", "", MessageBoxButtons.RetryCancel);
if (rezultat == DialogResult.Retry)
{
poeni = 0;
timer1.Enabled = true;
loptica.Left = 15;
loptica.Top = 15;
}
else
{
this.Close();
}
}
reket.Left = Cursor.Position.X;
if (loptica.Right >= this.Width)
{
smerX = -1;
}
if (loptica.Top <= 0)
{
smerY = 1;
}
if (loptica.Left <= 0)
{
smerX = 1;
}
}
private void btnUbrzaj_Click(object sender, EventArgs e)
{
korakX++;
korakY++;
}
private void btnUspori_Click(object sender, EventArgs e)
{
korakY--;
korakX--;
}
}
}
Last modified: Thursday, 11 December 2025, 3:23 PM