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.

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;
}
}
}
}
}
Comment » | Csharp - C#
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.

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;
}
}
}
}
Comment » | Csharp - C#
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.

İ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.
1 comment » | E-Learning