Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 00:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Hilfe bei meinem Bot

Discussion on Hilfe bei meinem Bot within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1

 
Bonnyfication's Avatar
 
elite*gold: 157
Join Date: Oct 2010
Posts: 855
Received Thanks: 331
Arrow Hilfe bei meinem Bot

Guten Abend,

Ich arbeite nebenbei an einem kleinem Projekt um mich allgemein mit Bot's zu beschäftigen. C# mag dazu nicht die beste Lösung sein, das ist mir durchaus bewusst, da ich allerdings beruflich mit WPF/C# arbeite fühle ich mich damit recht wohl

So nun zu meinem momentanen Stand der Dinge.

Problem, welches es zu lösen gibt:


Regel:
Wie üblich bei solchen Spielen müssen min. 3 gleiche Bonbons in eine Reihe Horizontal oder Vertikal gebracht werden damit sie verschwinden.

Was mein Bot bis jetzt kann:
- Prüft ob das Gameboard still steht und nicht mehr in bewegung ist
- Erkennt alle Bonbons im Spielfeld und kann ihnen eine Farbe zuweisen
- Ein kleiner verbuggter algo, der versucht 3 Bonbons der gleichen Farbe nebeneinander zu bringen

Mein Problem:
-> Wie organisiere ich die Bonbons in meinem Code, um leicht mit ihnen arbeiten zu können und wie finde ich am schnellsten heraus, welches Bonbon verschoben werden müsste?

Momentan habe ich eine einfache Liste mit den Bonbons (Klasse mit Farbe und Koordinaten). Anhand iherer Position in der Liste kenne ich ihre "position" auf dem Spielfeld. Ich gehe zunächt horizontal Reihe für Reihe druch und suche 2 gleichfarbige Bonbons in einem Bereich von 3. Ist das der Fall so schaue ich ob in der nähe des anderstfarbigen Bonbons nicht ein Bonbon ist, welches zu den anderen beiden passt. Ist das der Fall, so schiebe ich das Bonbon an seine neue Stelle.

Nunja was soll ich sagen durch die ganzen Zählerschleifen und abfragen habe ich mich ganz schön verzettelt und teilweise werden Bonbons am rand ignoriert.

Wäre cool, wenn mir jemand da etwas auf die Sprünge helfen könnte.

Mfg OddN3ss
Bonnyfication is offline  
Old 02/09/2016, 23:01   #2
 
elite*gold: 67
Join Date: Aug 2014
Posts: 1,321
Received Thanks: 927
array [width*height]
dann alle rein damit.

array[X * Width + y] schon hast dein bonbon.


Edit: irgendwie wurde der rest nicht gepostet.


Edit2: Toll, jz is alles weg. Schreibs morgen vlt nochmal, geh jz pennen
Xio. is offline  
Old 02/10/2016, 00:56   #3


 
Moneypulation's Avatar
 
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
Quote:
Originally Posted by Xio. View Post
array[X * Width + y] schon hast dein bonbon.
müsste es nicht array[ x + width * y] sein?

zum algorithmus an sich:



sagen wir du bist grad im grünen feld und möchtest schauen, ob man eine 3er reihe mit ihm bilden kann. die für dich interessanten felder habe ich blau ausgemalt, wobei diese nicht alle existieren müssen (z.B. wenn das grüne feld deine obere linke ecke ist). ich würde jetzt einfach alle potentiellen 3er reihen mit dem grünen feld abfragen. im grundprinzip fragt man ja die farben der felder ab und schaut ob sie der vom feld 13 übereinstimmen. wenn man jetzt z.b. die 12 abfragt und sie nicht die selbe farbe hat, dann kann man die felder 6 und 16 direkt für nutzlos erklären und somit zeit sparen. an deiner stelle würde ich einfach mit einer if abfrage beginnen, und wenn diese fehlschlägt, die kästchen in der zeichnung rot ausmalen, die nicht mehr wichtig sind und dann die nächste if abfrage konstruieren bis man alle möglichkeiten getestet hat.
das würde ich dann einfach in einer schleife durchlaufen lassen, die das mit allen feldern macht
Moneypulation is offline  
Old 02/10/2016, 22:14   #4

 
Bonnyfication's Avatar
 
elite*gold: 157
Join Date: Oct 2010
Posts: 855
Received Thanks: 331
Quote:
Originally Posted by Moneypulation View Post
müsste es nicht array[ x + width * y] sein?

zum algorithmus an sich:



sagen wir du bist grad im grünen feld und möchtest schauen, ob man eine 3er reihe mit ihm bilden kann. die für dich interessanten felder habe ich blau ausgemalt, wobei diese nicht alle existieren müssen (z.B. wenn das grüne feld deine obere linke ecke ist). ich würde jetzt einfach alle potentiellen 3er reihen mit dem grünen feld abfragen. im grundprinzip fragt man ja die farben der felder ab und schaut ob sie der vom feld 13 übereinstimmen. wenn man jetzt z.b. die 12 abfragt und sie nicht die selbe farbe hat, dann kann man die felder 6 und 16 direkt für nutzlos erklären und somit zeit sparen. an deiner stelle würde ich einfach mit einer if abfrage beginnen, und wenn diese fehlschlägt, die kästchen in der zeichnung rot ausmalen, die nicht mehr wichtig sind und dann die nächste if abfrage konstruieren bis man alle möglichkeiten getestet hat.
das würde ich dann einfach in einer schleife durchlaufen lassen, die das mit allen feldern macht

BOAAAAAH .... Danke dir. hab ich auf dem Schlauch gestanden. Ich bin die ganze Zeit so vorgegangen, dass ich das Spielfeld durchlaufe und schaue wo 2 gleichfarbige in 3 Feldern sind und habe dann versucht das fehlende auszutauschen. Das kostet Zeit und Ressourcen....

Auf die Idee einfach zu schauen ob durch das verschieben eines Bonbons eine Reihe entsteht wäre ich nicht gekommen Manchmal steht man echt hart aufm Schlauch!

Danke euch beiden.
Bonnyfication is offline  
Reply


Similar Threads Similar Threads
[Hilfe] Brauche Hilfe auf meinem Hamachi Server
01/11/2013 - Metin2 Private Server - 4 Replies
Also Folgendes Problem: Ich hab nen Hamachi Server (zur Beta) für meinen Root gemacht, soweit so gut. Client steht Komme an meinem pc auch rein. Aber auf anderen Pc's ist der Server off... Portmaps sind an etc. Wer kann mir helfen? Skype: icrysed
[S]Brauche Hilfe bei meinem neuem PC [B]Bei Hilfe nettes Elite Gold!
11/10/2012 - elite*gold Trading - 3 Replies
Hallo Leute....... Ich habe mal ne wichtige Frage an die, die sich WIRKLICH damit auskennen... Undzwahr geht es darum, das ich mir nach ca. 7 Jahren mal endlich nen neuen PC anschaffen muss, weil mein momentaner Holzrechner so langsam den Geist aufgibt.. Vorweck gesagt, ich habe hohe Ansprüche :D Ich möchte mit meinem neuem PC BF3 fliesend spielen können, und Black Ops 2 ... Und nun is meine Frage, ob das was ich mir bisher so rausgesucht habe, alles gut zusammen passt, und/oder ob...
[Hilfe] Brauche Hilfe bei meinem Hamachi Server alles Fertig ausser Navicat und co.
08/07/2010 - Metin2 Private Server - 2 Replies
Guten Tag, Also ich habe heute mein Hamachi P-Server erstellt doch habe Paar Fragen. Kann ich nachdem ich Server erstellt habe VPC schließen also da wo Operation timed out steht. Wie kann ich das mit Navicat machen (wäre schön wenn einer alles einzeln beschreiben könnte). Wie funktionert das mit der Datenbank? Und wie erstelle ich Accounts?
[HILFE?]Brauche Hilfe mit meinem Hamachi Server
02/16/2010 - Metin2 Private Server - 12 Replies
Hallo Leute, Ich habe ein Problem. Ich habe mir Heute einen Hamachi Server gebastelt. Mein Problem: Nur ich kann auf den Server rauf, wenn Leute versuchen einzuloggen kommt "Fehler beim Verbinden zum Server". Wenn sie versuchen bei Hamachi den Ping nachzugucken kommt auch nur Zeitüberschreitung. Hatte vllt jemande das gleiche Problem?, muss ich vllt irgendwelche Ports öffnen?



All times are GMT +2. The time now is 00:09.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.