Tag: oyun


Engellere Çarpmama Oyunu

March 27th, 2008 — 9:58pm

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;
        }
    }
}
}
}
  • Facebook
  • Twitter
  • StumbleUpon
  • del.icio.us
  • Digg

Comment » | Csharp - C#

Kızma Biraderimsi Sponge Bob ve Patrik Oyunu

March 27th, 2008 — 9:24pm

Buda ödev olarak yaptığım bi oyun. Sponge Bob ve Patrik için 2 ayrı düğme var. Basıyosun
gelen rasgele zar sayısını otomatik ilerliyolar. Önce bitiren kazanıyo.

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 ödev_1
{
public partial class Form1 : Form
{
    int i, n, m, a, b, c = 0;
    int[] zarrr = new int[6] { 1, 2, 3, 4, 5, 6 };
 
    public Form1()
    {
        InitializeComponent();
    }
 
    private void button1_Click(object sender, EventArgs e)
    {
        //Rastgele Bir Zar Görüntülemek İçin
        Random zar = new Random();
        int zarr=zar.Next(6);
 
        //zarın koşulları
        if (zarrr[zarr] == 1)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible=true;
            pictureBox4.Visible=false;
            pictureBox6.Visible=false;
            pictureBox7.Visible=false;
            pictureBox8.Visible=false;
            pictureBox9.Visible=false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "1";
            // ilerlenilen toplam kare sayısı
            a = a + 1;
        }
        else if (zarrr[zarr] == 2)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible = true;
            pictureBox6.Visible=false;
            pictureBox7.Visible=false;
            pictureBox8.Visible=false;
            pictureBox9.Visible=false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "2";
            // ilerlenilen toplam kare sayısı
            a = a + 2;
        }
        else if (zarrr[zarr] == 3)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible=false;
            pictureBox6.Visible = false;
            pictureBox7.Visible=false;
            pictureBox8.Visible=false;
            pictureBox9.Visible=true;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "3";
            // ilerlenilen toplam kare sayısı
            a = a + 3;
        }
        else if (zarrr[zarr] == 4)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible=false;
            pictureBox6.Visible=false;
            pictureBox7.Visible =false ;
            pictureBox8.Visible=true;
            pictureBox9.Visible=false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "4";
            // ilerlenilen toplam kare sayısı
            a = a + 4;
        }
        else if (zarrr[zarr] == 5)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible=false;
            pictureBox6.Visible=false;
            pictureBox7.Visible=true;
            pictureBox8.Visible = false;
            pictureBox9.Visible=false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "5";
            // ilerlenilen toplam kare sayısı
            a = a + 5;
        }
        else if (zarrr[zarr] == 6)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible = false;
            pictureBox6.Visible = true;
            pictureBox7.Visible = false;
            pictureBox8.Visible = false;
            pictureBox9.Visible = false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "6";
            // ilerlenilen toplam kare sayısı
            a = a + 6;
        }
 
        //sponge bob'ın kaç kare gittiğini göstermek için
        //skorbord
        label6.Text = a.ToString();
 
        //piyonun ilerlemesini sağlayan koşul
        i = a;
        //oyunun kazanıldığının uyarılması
        if (a >= 80)
        {
            MessageBox.Show("Sponge Bob Kazandı! "
                                + label7.Text + " / " + label6.Text);
            //piyonların ortaya gelmesi
            pictureBox5.Location = new Point(375, 290);
            pictureBox11.Location = new Point(375, 270);
            //zar atma butonlarının kapatılması
            button1.Enabled = false;
            button2.Enabled = false;
            //oyuna başlama butonunun tekrar aktif olması
            button3.Enabled = true;
            // skorboardun sıfırlanması
            a = 0;
            c = 0;
            label6.Text = a.ToString();
            label7.Text = c.ToString();
        }
        else if (i >74)
        {
            n = 30;
            m = 355;
            b = i - 74;
            pictureBox5.Location = new Point(n, m - (b * 50));
        }
        else if (i >61)
        {
            n = 680;
            m = 355;
            b = i - 61;
            pictureBox5.Location = new Point(n - (b * 50), m);
        }
        else if (i >55)
        {
            n = 730;
            m = 55;
            b = i - 55;
            pictureBox5.Location = new Point(n, m + (b * 50));
        }
        else if (i > 40)
        {
            n = 30;
            m = 55;
            b = i - 40;
            pictureBox5.Location = new Point(n + (b * 50), m);
        }
        else if (i>34)
        {
            n = 30;
            m = 355;
            b = i - 34;
            pictureBox5.Location = new Point(n, m - (b * 50));
        }
        else if (i >20)
        {
            n = 680;
            m = 355;
            b = i - 21;
            pictureBox5.Location = new Point(n - (b * 50), m);
        }
        else if(i >14)
        {
            n = 730;
            m = 55;
            b = i - 14;
            pictureBox5.Location = new Point(n, m + (b * 50));
        }
        else
        {
            n = 30;
            m = 55;
            pictureBox5.Location = new Point(n + (i * 50), m);
        }
 
        //zar atma sırası öbür oyuncuda mı?
        if (a == 6 | a == 18 | a == 23 | a == 46 | a == 59 | a == 63)
        {
            MessageBox.Show("dadadada bir kere daha zar at");
        }
        else
        {
            button1.Enabled = false;
            button2.Enabled = true;
        }
    }
 
    private void button3_Click(object sender, EventArgs e)
    {
        pictureBox5.Location = new Point(30, 55);
        pictureBox11.Location = new Point(30, 35);
        //oyuna sponge bob başlar
        button1.Enabled = true;
        //oyuna başla düğmesi deaktif olur
        button3.Enabled = false;
    }
 
    private void button2_Click(object sender, EventArgs e)
    {
        //Rastgele Bir Zar Görüntülemek İçin
        Random zar = new Random();
        int zarr = zar.Next(6);
 
        //zarın koşulları
        if (zarrr[zarr] == 1)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = true;
            pictureBox4.Visible = false;
            pictureBox6.Visible = false;
            pictureBox7.Visible = false;
            pictureBox8.Visible = false;
            pictureBox9.Visible = false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "1";
            // ilerlenilen toplam kare sayısı
            c = c + 1;
        }
        if (zarrr[zarr] == 2)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible = true;
            pictureBox6.Visible = false;
            pictureBox7.Visible = false;
            pictureBox8.Visible = false;
            pictureBox9.Visible = false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "2";
            // ilerlenilen toplam kare sayısı
            c = c+ 2;
        }
        if (zarrr[zarr] == 3)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible = false;
            pictureBox6.Visible = false;
            pictureBox7.Visible = false;
            pictureBox8.Visible = false;
            pictureBox9.Visible = true;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "3";
            // ilerlenilen toplam kare sayısı
            c = c + 3;
        }
        if (zarrr[zarr] == 4)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible = false;
            pictureBox6.Visible = false;
            pictureBox7.Visible = false;
            pictureBox8.Visible = true;
            pictureBox9.Visible = false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "4";
            // ilerlenilen toplam kare sayısı
            c = c + 4;
        }
        if (zarrr[zarr] == 5)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible = false;
            pictureBox6.Visible = false;
            pictureBox7.Visible = true;
            pictureBox8.Visible = false;
            pictureBox9.Visible = false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "5";
            // ilerlenilen toplam kare sayısı
            c = c + 5;
        }
        if (zarrr[zarr] == 6)
        {
            // zar sonucunun resmini görüntülemek için
            pictureBox1.Visible = false;
            pictureBox4.Visible = false;
            pictureBox6.Visible = true;
            pictureBox7.Visible = false;
            pictureBox8.Visible = false;
            pictureBox9.Visible = false;
            // zar resminin altındaki sayıyı yazmak için
            label2.Text = "6";
            // ilerlenilen toplam kare sayısı
            c = c + 6;
        }
 
        //patrik'in kaç kare gittiğini göstermek için
        //skorbord
        label7.Text = c.ToString();
 
        //piyonun ilerlemesini sağlayan koşul
        i = c;
        //oyunun kazanıldığının uyarılması
        if (c >= 80)
        {
            MessageBox.Show("Patrik Kazandı! " + label7.Text
                                               + " / " + label6.Text);
            //piyonların ortaya gelmesi
            pictureBox5.Location = new Point(375, 290);
            pictureBox11.Location = new Point(375, 270);
            //zar atma butonlarının kapatılması
            button1.Enabled = false;
            button2.Enabled = false;
            //oyuna başlama butonunun tekrar aktif olması
            button3.Enabled = true;
            // skorboardun sıfırlanması
            a = 0;
            c = 0;
            label6.Text = a.ToString();
            label7.Text = c.ToString();
        }
        else if (i > 74)
        {
            n = 30;
            m = 335;
            b = i - 74;
            pictureBox11.Location = new Point(n, m - (b * 50));
        }
        else if (i > 61)
        {
            n = 680;
            m = 335;
            b = i - 61;
            pictureBox11.Location = new Point(n - (b * 50), m);
        }
        else if (i > 55)
        {
            n = 730;
            m = 35;
            b = i - 55;
            pictureBox11.Location = new Point(n, m + (b * 50));
        }
        else if (i > 40)
        {
            n = 30;
            m = 35;
            b = i - 40;
            pictureBox11.Location = new Point(n + (b * 50), m);
        }
        else if (i > 34)
        {
            n = 30;
            m = 335;
            b = i - 34;
            pictureBox11.Location = new Point(n, m - (b * 50));
        }
        else if (i > 20)
        {
            n = 680;
            m = 335;
            b = i - 21;
            pictureBox11.Location = new Point(n - (b * 50), m);
        }
        else if (i > 14)
        {
            n = 730;
            m = 35;
            b = i - 14;
            pictureBox11.Location = new Point(n, m + (b * 50));
        }
 
        else
        {
        n = 30;
        m = 35;
        pictureBox11.Location = new Point(n + (i * 50), m);
        } 
 
        //zar atma sırası öbür oyuncuda
        if (c == 6 | c == 18 | c == 23 | c == 46 | c == 59 | c == 63)
        {
            MessageBox.Show("dadadada bir kere daha zar at");
        }
        else
        {
            button1.Enabled = true;
            button2.Enabled = false;
        }
        }
        }
    }
  • Facebook
  • Twitter
  • StumbleUpon
  • del.icio.us
  • Digg

Comment » | Csharp - C#

Eğitsel Oyun Yazılımları

March 25th, 2008 — 10:42pm

İçimizden bir merak uyanmadıkça bize öğretilmek istenenler çok sıkıcı olabilir. Bazen konuyu merak etsekte eğer öğretim ortamı iyi tasarlanmamışsa gene sıkılırız. Eğitsel oyun fikri bu soruna bir çözüm olarak düşünülmüştür. Oyun ve etkinliklerle yapılan öğretim tasarımları öğrencinin sıkılmadan öğrenmesine yöneliktir. BDÖ’de bu konu ile ilgili ilk çalışmalar amerikan ordusunda başlamıştır. Askerlerin eğitimi için geleneksel eğitim modelinde istedikleri başarıya ulaşılamadığını düşünüp askerlerin eğitimi için “Full Spectrum Warrior” gibi eğitsel oyunlar tasarlamışlardır. Denedikleri ilk guruptan itibaren geleneksel eğitim modellerinden daha iyi verim almışlardır.

Dünyadaki bütün büyük buluşlar gibi askeri temelli başlayan eğitsel oyun yazılımları geleceğin eğitim sistemini oluşturacaktır. Geleneksel bir eğitim modeli ile bu güne kadar pek çok kişi için çekici hale getirelememiş olan dersler eğitsel oyun yazılımlarıyla insanlara oyun oynarlarken öğretilebilir.

Eğitsel Oyun Yazılımları

İnsanlar yeni birşeyler öğrendiklerini ve bunu oyun oynayarak ve eylenerek yaptıklarını gördüklerinde okula yönelik olumlu tutumlar kazanacaklardır. Okullarda ilgi, olumlu tutum, olumlu benlik kavramı, akademik özgüven ve diğer olumlu duyguların gelişiminde, öğrenilmesinde klasik koşullanma etkili olmasına rağmen, bu tür öğrenmeler tesadüfen oluşmaktadır.

Oysa bu özelliklerin kazandırılması için klasik koşullanma ilkelerinin etkili bir şekilde işe koşulmasını sağlayacak eğitim programlarının düzenlenmesine ihtiyaç duyulmaktadır. Böylece, tesadüfen değil, bilinçli bir şekilde işe koşulmasını sağlayacak eğitim programlarının düzenlenmesine ihtiyaç duyulmaktadır. Böylece, tesadüfen değil, bilinçli bir şekilde, çocuklarımızın okulu, öğrenmeyi, okumayı seven, olumlu tutumlara sahip, öğrenilmiş çaresizlikten uzak, özgüveni yüksek olan bireyler olarak yetiştirilmelerine yardımcı olabiliriz. (Curzon, 1991, hergerhahn, 1988; Akt. Senemoğlu, 2005, 104)

Eğitsel oyun yazılımları klasik koşullanma ilkeleri düşünülerek okula karşı olumlu tutumlar geliştirilmesine hizmet edebilecek en kolay çözümdür.

P.S. Bu yazıyı talha ile hazırladığım tezden aldım.

  • Facebook
  • Twitter
  • StumbleUpon
  • del.icio.us
  • Digg

1 comment » | E-Learning

Back to top