Mein Ziel ist es ein Memory Spiel zu erstellen. Wenn 2 Karten aufgedeckt sind soll eine MessagBox erscheinen.
Momentan bin ich rum am experimentieren... aber ich schaffe es einfach nicht das eine MessageBox erscheint... überlegt habe ich das ich die Variable count hochtzähle... aber irgendwas mahe ich falsch...
Hauptprogramm:
[Zitat]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Würfel_ohneDesigner
{
public partial class Form1 : Form
{
// Spielkarte[] ska = new Spielkarte[3];
Spielkarte[,] ska2 = new Spielkarte[3,3];
Spielkarte[,] ska3 = new Spielkarte[3, 3];
Spielkarte[,] sk2, sk3;
int count = 0;
public Form1()
{
int x, y;
int Spalte = 300;
int Zeile;
int Abstand = 520;
Button bTmp;
Image vTmp, hTmp = Image.FromFile("batman.jpg");
InitializeComponent();
//1.Schleife----------------------------------
for (Zeile = 0; Zeile < ska2.GetLength(1); Zeile++)
{
// Zeilenweise
y = 50 + Zeile * 120;
for (Spalte = 0; Spalte < ska2.GetLength(0); Spalte++)
{
// Spaltenweise
x = 30 + Spalte * 170;
bTmp = new Button();
bTmp.Name = "Button " + Spalte.ToString();
bTmp.Size = new Size(100, 100);
bTmp.Location = new System.Drawing.Point(x, y);
bTmp.Click += new EventHandler(btn_Click);
this.Controls.Add(bTmp);
vTmp = Image.FromFile(Spalte.ToString() + Zeile.ToString() + ".bmp");
ska2[Zeile, Spalte] = new Spielkarte(bTmp, vTmp, hTmp);
bTmp.Name = "Button " + Spalte.ToString() + " " + Zeile.ToString();
x = 30 + Spalte * 170 + Abstand;
bTmp = new Button();
bTmp.Name = "Button " + Spalte.ToString();
bTmp.Size = new Size(100, 100);
bTmp.Location = new System.Drawing.Point(x, y);
bTmp.Click += new EventHandler(btn_Click1);
this.Controls.Add(bTmp);
ska3[Zeile, Spalte] = new Spielkarte(bTmp, vTmp, hTmp);
bTmp.Name = "Button " + Spalte.ToString() + " " + Zeile.ToString();
if (count == 2)
{
MessageBox.Show("Loslos");
}
else
{
}
}
}
//if (sk2.VordergrundBild == sk3.VordergrundBild) ;
// --------------------------------------------
}
private void btn_Click(object sender, EventArgs e)
{
count = count + 1;
Button b = (Button)sender;
string[] Teil = b.Name.Split();
int i = int.Parse(Teil[2]);
int x = int.Parse(Teil[1]);// Teil[0] enthält "Button"
if (count == 2)
{
MessageBox.Show("HALLO");
}
else
{
count = count + 1;
ska2[i, x].aufdecken();
}
}
//------------------------------------------------
private void btn_Click1(object sender, EventArgs e)
{
count = count + 1;
Button b = (Button)sender;
string[] Teil = b.Name.Split();
int i = int.Parse(Teil[2]);
int x = int.Parse(Teil[1]); // Teil[0] enthält "Button"
if (count == 2)
{
MessageBox.Show("HALLO");
Test();
}
else
{
count = count + 1;
ska3[i, x].aufdecken();
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void Test()
{
MessageBox.Show("HALLO");
}
}
}
Klasse:
[Zitat]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace Würfel_ohneDesigner
{
class Spielkarte
{
private Button btn;
public Image VordergrundBild;
public Image HintergrundBild;
public Spielkarte(Button btn, Image VordergrundBild, Image HintergrundBild)
{
this.btn = btn;
this.VordergrundBild = VordergrundBild;
this.HintergrundBild = HintergrundBild;
this.btn.Image = HintergrundBild;
}
public void aufdecken()
{
btn.Image = VordergrundBild;
}
public void zudecken()
{
btn.Image = HintergrundBild;
}
}
}
Ich hoffe ihr könnt mir weiterhelfen...
Mfg Fiasko