Engellere Çarpmama Oyunu

27 Mart 2008 Perşembe


Bu oyunda klavyedeki yön tuşları ile hareket eden cisimlere çarpmadan en yukarı çıkmaya çalışıyoruz. En sona gelirsek yeni açılan formda kazandınız yazıyor. Eğer bir engele çarparsak açılan formda kaybettiniz yazıyor.

Eğitsel Oyun, C#

Visual Studio 2005 ile yapıldı. (c# 2.0 ımsı)
Kodları indirmek için Tıklayınız
Form Nesnesindeki Kodlar

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace _1021042___proje_28_nisan
{
public partial class Form1 : Form
{
int durum1, durum2, durum3, durum4 = 0;
int sol1 = 270;
int sol2 = 100;
int sol3 = 250;
int sol4 = 280;

public Form1()
{
    InitializeComponent();
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (panel1.Top < 80)
{
    Form2 frm2 = new Form2();
    Form1 frm1 = new Form1();
    Label yazi = new Label();
    frm2.Show();
    frm2.Controls.Add(yazi);
    yazi.Text = "Kazandınız";
    yazi.Font = new Font("Microsoft Sans Serif", 15.75F, FontStyle.Regular);
    yazi.Location = new Point(100, 100);
    yazi.AutoSize = true;
}

if (e.KeyCode == Keys.Left)
{
    if (panel1.Left <= 100)
    panel1.Left = 100;
    else if (panel1.Left != 100)
    panel1.Left = panel1.Left - 4;
}

if (e.KeyCode == Keys.Right)
{
    if (panel1.Left >= 400)
    panel1.Left = 400;
    else if (panel1.Left != 400)
    panel1.Left = panel1.Left + 4;
}

if (e.KeyCode == Keys.Up)
{
    if (panel1.Top <= 0)
        panel1.Top = 0;
    else if (panel1.Top != 0)
        panel1.Top = panel1.Top - 4;
}

if (e.KeyCode == Keys.Down)
{
    if (panel1.Top >= 350)
        panel1.Top = 350;
    else if (panel1.Top != 350)
        panel1.Top = panel1.Top + 4;
}
}

private void timer1_Tick(object sender, EventArgs e)
{
    if (durum1 == 1)
        sol1 += 5;
    else
        sol1 -= 3;

    if (sol1 < 100)
        durum1 = 1;

    if (sol1 > 320)
        durum1 = 2;

    panel4.Location = new Point(sol1, 100);

    if (panel1.Left > panel4.Left & panel1.Left < panel4.Left + 80)
    {
        if (panel1.Top < panel4.Top + 20 & panel1.Top > panel4.Top)
        {
            timer1.Enabled = false;
            Form2 frm2 = new Form2();
            Form1 frm1 = new Form1();
            Label yazi = new Label();
            frm2.Show();
            frm2.Controls.Add(yazi);
            yazi.Text = "Kaybettiniz";
            yazi.Font = new Font("Microsoft Sans Serif", 15.75F, FontStyle.Regular);
            yazi.Location = new Point(100, 100);
            yazi.AutoSize = true;
        }
    }
}

private void timer2_Tick(object sender, EventArgs e)
{
    if (durum2 == 1)
        sol2 += 5;
    else
        sol2 -= 5;

    if (sol2 < 100)
        durum2 = 1;

    if (sol2 > 320)
        durum2 = 2;

    panel5.Location = new Point(sol2, 162);

    if (panel1.Left > panel5.Left & panel1.Left < panel5.Left + 80)
    {
        if (panel1.Top < panel5.Top + 20 & panel1.Top > panel5.Top)
        {
            timer2.Enabled = false;
            Form2 frm2 = new Form2();
            Form1 frm1 = new Form1();
            Label yazi = new Label();
            frm2.Show();
            frm2.Controls.Add(yazi);
            yazi.Text = "Kaybettiniz";
            yazi.Font = new Font("Microsoft Sans Serif", 15.75F, FontStyle.Regular);
            yazi.Location = new Point(100, 100);
            yazi.AutoSize = true;
        }
    }
}

private void timer3_Tick(object sender, EventArgs e)
{
    if (durum3 == 1)
        sol3 += 7;
    else
        sol3 -= 7;

    if (sol3 < 100)
        durum3 = 1;

    if (sol3 > 320)
        durum3 = 2;

    panel6.Location = new Point(sol3, 224);

    if (panel1.Left > panel6.Left & panel1.Left < panel6.Left + 80)
    {
        if (panel1.Top < panel6.Top + 20 & panel1.Top > panel6.Top)
        {
            timer3.Enabled = false;
            Form2 frm2 = new Form2();
            Form1 frm1 = new Form1();
            Label yazi = new Label();
            frm2.Show();
            frm2.Controls.Add(yazi);
            yazi.Text = "Kaybettiniz";
            yazi.Font = new Font("Microsoft Sans Serif", 15.75F, FontStyle.Regular);
            yazi.Location = new Point(100, 100);
            yazi.AutoSize = true;
        }
    }
}

private void timer4_Tick(object sender, EventArgs e)
{
    if (durum4 == 1)
        sol4 += 5;
    else
        sol4 -= 5;

    if (sol4 < 100)
        durum4 = 1;

    if (sol4 > 320)
        durum4 = 2;

    panel7.Location = new Point(sol4, 286);

    if (panel1.Left > panel7.Left & panel1.Left < panel7.Left+80)
    {
        if (panel1.Top < panel7.Top + 20 & panel1.Top >panel7.Top)
        {
            timer4.Enabled = false;
            Form2 frm2 = new Form2();
            Form1 frm1 = new Form1();
            Label yazi = new Label();
            frm2.Show();
            frm2.Controls.Add(yazi);
            yazi.Text = "Kaybettiniz";
            yazi.Font = new Font("Microsoft Sans Serif", 15.75F, FontStyle.Regular);
            yazi.Location = new Point(100, 100);
            yazi.AutoSize = true;
        }
    }
}
}
}   
            

Yorumlar


İsim
E-mail
Yorum
Gönder
Arama

   
Ara
Rasgele Yazı
C Sharp ile Rastgele Sayı Üretmek

.Net Random,Mersenne twister, Cryptography sınıfları ile rasgele sayılar üretmek...

Devamını Oku
Excel Videoları

Excel E-Learning