Ich möchte ein kleines Programm schreiben, dass für mich ein Memoryspiel ( Ihr wisst schon, immer 2 gleiche Bilder finden ) mit 24 Feldern löst. Und zwar läuft das so ab:
Das Programm deckt per Zufall Felder auf und speichert die Nummer des Bildes das darunter erscheint ( Das habe ich schon gelöst )
Und nun mein Problem:
Wie schaffe ich es, das mein Programm erkennt wenn er zwei gleiche Bilder entdeckt hat und auch weiß welche Bilder das waren? ( Um beide nachher aufzudecken )
Ich hoffe ihr versteht mein Problem und könnt mir helfen,
Wenn ich richtig verstanden habe, hast du es so geschrieben das er die Nummern der Felder liest ? also z.b. Feld 2 : Bild 1 .
Oder hab ich das falsch verstanden ?
Ich kenn mich da nicht so aus.. Also ich kenn die ganzen Codes nicht und soo..
Aber würder dir anraten erstmal zu schauen das der dann auch bei jedem selben bild die selben nummern hat, und das dann immer speichert.
Mehr kann ich dir nicht anraten. =)
Ich würde die Objekte der Karten in Array packen. In's eine Feld kommt die ID der Karte, in's zweite eine ID des "Musters".
Bsp:
Code:
int[] arrCard1 = new int[2]{1, 255} //1 = ID der Karte; 255 = ID des Musters
int[] arrCard2 = new int[2]{2, 255} //selbes Muster wie die Karte mit ID 1
int[] arrCard3 = new int[2]{3, 477} //Anders Muster :P
// [....]
Und das Abfragen wirst wohl selbst hinbekommen :P
Du kannst natürlich auch alle Karten in ein verschachteltes Array oder Mehrdimensionales Array packen, je nachdem was dir besser liegt.
Danke, aber du wirst lachen, genau wegen dem Abfragen habe ich Probleme!
Das Speichern krieg ich schon selbst hin aber ich hab keine Ahnung wie ich überprüfe, ob es schon einen Wert gibt der das selbe "Muster" hat und dann die Nummer(n) der Karte(n) ausgibt, die das selbe Muster haben
man kann auch einfach alle karten in einer liste speichern:
Code:
class MemoryPlayer
{
List<Karte> bekannteKarten;
List<Karte> AlleKarten;
MemoryPlayer()
{
this.bekannteKarten = new List<Karte>();
//Alle Karten füllen(mit einer doppelten for schleife am besten)
}
//Gibt falls zu der karte ein gegenstüch exixstiert dias gegenstueck zurück, ansonsten null
//auzsserdem fügt es die neue karte den bisher bekannten hinzu
public Karte VerarbeteNeueKarte(Karte neue)
{
Karte gegenstueck = null;
try
{
gegenstueck = bekannteKarten.First(karte => karte.MusterId == neue.MusterId );
}
catch(InvalidOperationException)
{
//Es existeirt kein gegenstueck
}
bekannteKarten.Add(neue);
return gegenstueck;
}
//Ermittelt welche karte als nächstes aufgedeckt werden soll
public Karte ErmitleNeueUnbekannte()
{
return AlleKarten.First(karte => bekannteKarten.Count(bk => bk.posX == karte.posX && bk.posY == karte.posY) == 0);
}
}
class Karte
{
public int posX { get; set; }
public int posY { get; set; }
public int MusterId { get; set; }
}
kann aber nicht dafür garantuieren das der code funktioniert hab ihn nicht getetstet. Bin mir aber ziemlich sicher das er funktioniert.
Ich habs jetzt selbst gelöst, mit einer Hashtable!
Hier mein Code:
Code:
Hashtable table = new Hashtable();
table.Add(99, 5); // 1. wert ist die Nummer des Musters, 2. Wert die des Bildes
int erg =Convert.ToInt32(Console.ReadLine());
int bildnummer = Convert.ToInt32(Console.ReadLine());
int nElementCount = table.Count;
bool bValueCont = table.ContainsValue(bildnummer);
if (bValueCont == false)
{
bool bKeyCont = table.ContainsKey(erg);
if (bKeyCont == true)
{
object ergebniss = table[erg];
Console.WriteLine(ergebniss);// Wenn die Nummer des Musters schon vorhanden ist, zeigt er die Nummer des Bildes an das doppelt ist
}
}
else
{
Console.WriteLine("lol");
table.Add(erg, bildnummer);
}
Console.ReadKey();
[Hilfe]Ungelöstes Server Erstell Problem, ausführliche Problem Schilderung 09/15/2011 - Flyff Private Server - 8 Replies Hey Com!
Ich hoffe, dass dieser Thread nicht als Spamthread angesehen wird, da ich ja gestern schon einen zu diesem Thema eröffnet habe.
Sorry wenn ich euch mit dem Thema nerve, aber ich sitze nun schon 4 Tage über dem Problem, und finde einfach keine Lösung.
Nun werde ich hier allerdings eine ausführlichere Beschreibung des Problems geben.
Mein Problem ist, dass ich den Windows Mssql Server 2008/2005 aus Sedrika's TuT nicht installieren kann, da sobald ich ihn immer installiere...
[Problem] Problem with server starting - cannot find quest index for PaxHeader 12/22/2009 - Metin2 Private Server - 1 Replies Hello!
I have this same problem as here when i'm starting my server:
http://www.elitepvpers.com/forum/metin2-pserver-di scussions-questions/307143-metin2-serverfiles-ques t-index-fehler.html
But I didn't know the answer.. how to repair this?
Greetings