Schiffe versenken ist leider auch offline. (bzw. es besteht keine Möglichkeit mehr seine KI hochzuladen.)
ProjektEuler macht aber auf jeden Fall schon mal Spaß. Jetzt fehlt nur noch was, was etwas mehr Richtung Zweikampf geht - sprich KIs verschiedener Spieler gegeneinander antreten lässt.
Die ganze Gesamtberechnung müsste ich auch noch mal mit den Werten von Preis 2 machen.
Ich möchte aber ungerne den ganzen Code doppelt kopieren oder bei jedem Aufruf von Preis1 in gesamtPreisAusrechnen eine if-else-Abfrage machen.
Mit kam folgende Idee, jedoch weiß ich nicht, wie ich das umsetzen kann oder ob man sowas überhaupt in die Richtung umsetzen kann.
Das ganze erinnert mich an Codewars. Allerdings funktioniert Codewars über Sockets mit einem entsprechenden Protokoll. Das Projekt ist richtig Klasse. Man programmiert Bots die man mit bestimmten Fähigkeiten ausstattet und aufeinander loslassen kann. Die Map konnte dabei verschiedene Hindernisse wie Mauern und Wasser enthalten. Im Gegensatz zu Ant! oder deinem Projekt funktioniert CodeWars mit allen Programmiersprachen die Sockets beherrschen. Wer hat da nicht mal Lust den hochnäsigen PHP-Bot in den Boden zu stampfen :D
Leider wird das Projekt nicht mehr richtig weitergeführt :(
Ich finde das ganze sehr interessant, jedoch ist das Projekt nicht mehr aktiv. Kennt zufälligerweise jemand von euch solch ein Projekt, welches noch eine aktive Community hat?
(Besonders interessant finde ich die Programmiersprachen unabhängige Umgebung von Codewars.)
ich möchte eine Reihe an Bildern herunterladen. Bisher habe ich es über einen Webclient und die DownloadFile Methode probiert. Jedoch erhalte ich dort keine Bilder.
Die Bilderlinks liegen in folgendem Format vor.
Im Browser werden Sie korrekt angezeigt, der Webclient lädt aber nicht die Bilder. Sondern nur 1kb große Dateien.
Wie komme ich an die Bilder ran?
Viele Grüße
edit://
Der Inhalt der heruntergeladenen Dateien ist folgender:
<?xml version="1.0" encoding="UTF-8"?><tree ><message type="ERROR">filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for ajxp.fs://0/Uploads/_009.jpg in /usr/www/users/netnbl/stalki/admin/ajax/plugins/hook.openfile/class.HookOpenFile.php (l.56)</message></tree>
Jedoch liegt der Fehelr definitiv bei der "nicht einlesbaren" Datei. Hat da irgendjemand eine Idee? Über den Explorer ist sie erreichbar. Wenn ich unter "AnyCPU" kompiliere klappts auch, nur bei x86 wirft er die Exception, dass die Datei nicht gefunden werden konnte.
Offtopic: Sollte ich dafür einen eigenen Thread aufmachen?
Ok, bin näher dran.
Habe vorher auf AnyCPU debuggt nun auf x86, weil die Zielsysteme x86 sind.
Bei x86 wirft er mir auch auf meinem Entwicklungsrechner eine Exception.
Genauer gesagt beim Einlesen einer Datei mit dem Streamreader.
Er sagte, die Datei xxx konnte nicht gefunden werden.
Wenn ich den Dateipfad aus der Exception kopiere und bei Start>Ausführen einfüge, öffnet er die Datei aber Anstandslos.
Was könnte das sein? Die Datei existiert und der Pfad ist richtig, trotzdem sagt der Streamreader er könnte sie nicht finden.
Kann das daran liegen, dass die Dateiendung der Datei 4-stellig (.conf) ist? Haben x86 Systeme da ein Problem mit?
edit://
Die Datei liegt in sytem32 - kann es sein, dass bei x86 andere/zusätzliche Rechte als bei x64 vergeben werden müssen?
ich habe mal wieder ein kleines Problem. Ich habe eine Anwendung entwickelt, die auf meinem Entwicklungsrechner auch super läuft.
Auf sämtlichen anderen PC's bekomme ich Sie nicht gestartet.
Da auf den anderen PC's auch kein Visualstudio etc. ist, kann ich sie auch nicht vernünftig durchsteppen.
Also hab ich um alle Aktionen, von Form_Load an, try-catch Blöcke geschrieben und wollte die Exception mit Hilfe des Streamwriters in eine Datei schreiben lassen.
Dies funktioniert jedoch auch nicht.
Das Programm scheint vorher schon abzubrechen.
Eine Fehlermeldung zeigt es jedoch auch nicht an. Nur "Das Programm musste geschlossen werden. Es wird nach der Fehlerursache gesucht..."
Ich vermute, dass der Fehler dann in einer der using-Anweisungen liegen muss.
Ich verwende aber abgesehen von den Framework eigenen .dlls nur 2 externe. (AForge Lib) und gebe diese auch der .exe mit.
Denoch denke ich, dass dort irgendwo der Fehler liegt.
Meine Frage nun, wie kann ich Fehler beim starten/um die using-Anwendungen drum herum und auch vorher schon abfangen und visualisieren?
Für ein aktuelles Projekt versuche ich gerade mit der cmd.exe zu interagieren.
Ich habe auf meiner Form zwei Textboxen (Ausgabe & Eingabe) und einen Button, über welche die cmd.exe gesteuert werden soll.
Mein Code sieht so aus:
PSI = new ProcessStartInfo("cmd.exe");
PSI.RedirectStandardInput = true;
PSI.RedirectStandardOutput = true;
PSI.RedirectStandardError = true;
PSI.UseShellExecute = false;
PSI.StandardOutputEncoding = System.Text.Encoding.GetEncoding(437);
PSI.StandardErrorEncoding = System.Text.Encoding.GetEncoding(437);
p = new Process();
p.StartInfo = PSI;
p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
p.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
p.Start();
p.BeginOutputReadLine();
sw = p.StandardInput;
Das klappt so auch alles ganz gut. Seit dem ich folgendes drin habe
werden mir auch wunderbar Sonderzeichen und Umlaute angegeben. Jedoch nur ausgegeben/angezeigt.
Einlesen klappt nicht. Es wird zwar korrekt eingelesen, aber Umlaute, die ich per "sw" in den StandardInput schreibe, werden nicht korrekt angezeigt.
Ich dachte mir, dass ich dort auch irgendwie das richtige Encoding (Codepage 437) angeben muss und habe auch schon extrem viel gesucht. Bei meienr Suche bin ich auf folgenden Post Console als Steuerelement einbinden. gestoßen. Die dort von herbivore angeregte Lösung lässt sich zwar fehlerfrei kompilieren, jedoch kommt nichts, was ich per sw.WriteLine schreibe, an der cmd.exe an.
Zitat
herbi's Lösungansatz
sw = new StreamWriter(p.StandardInput.BaseStream, System.Text.Encoding.GetEncoding(437));
Ich hoffe ihr könnt mir weiterhelfen.
Wie kann ich das Encoding für den StandardInput ändern?
Auf diese Art und Weise, wird auch nur einmal der Quelltext geladen und angezeigt. Wenn du aktiv weitersurfen willst, dann rufe den Quelltext per webBrowser.Navigate Methode auf oder fange die Link-Klicks ab und laden den neuen Quelltext wieder über die GetHtml Methode.
Da ich noch nie ein USB-Gerät und Bilder programmiertechnisch angesprochen und verarbeitet habe, würde ich gerne wissen, welche Bereiche ich mir anschauen sollte.
Aus gegebenem Anlass habe ich eine MessageBox-Komponente entworfen, die vom Design her dem von Facebook angepasst ist und zugleich viele Eigenschaften der .Net-Framework MessageBox-Klasse enthält/nachempfindet.
...denen der "original" MessageBox nachempfunden. Der Entwickler hat lediglich, zusätzlich die Möglichkeit auf Wunsch ein beliebiges Image-Objekt im Dialog anzuzeigen.
Die standard DialogResults beherrscht die FB MessageBox ebenso.
Aufgerufen werden kann die Komponente zum Beispiel wie folgt.
//Beispiel 1
MessageBoxFB.ShowDialog("Testnachricht");
//Beispiel 2
if (MessageBoxFB.ShowDialog("Sind Sie sicher?", "Eine Frage", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
DateiLoeschen();
}
Wie das ganze aussieht, könnt ihr dem angehängten Bild entnehmen.
Denn Download findet ihr im nachfolgenden Post.
Über Anregungen und konstruktive Kritik würde ich mich sehr freuen. (ggf. auch an dieser Stelle: C# – Facebook like MessageBox )
Viele Grüße,
der blutige Anfänger ;)
p.s.: Da wir hier ja nach fairen Regeln spielen, möchte ich noch anmerken, dass mir folgender Artikel bezüglich des Aplhablendigs (siehe transparenter Rahmen der MsgBox) sehr geholfen hat. Per Pixel Alpha Blend in C#
Hast du es über deinen Ansatz hinbekommen? Wenn ja würde ich mich über deine Lösung freuen. (Und leser die über Google hier reinstolpern sicher auch... ;) )
Du kannst doch a und b als Vektoren betrachten. Als Fußpunkte (x) der beiden Vektoren nimmst du jeweils einen Eckpunkt von c. Als Richtung kannst du die Winkelmaße nehmen. Dann berechnest du den Schnittpunkt der beiden Vektoren. Dieser ist dann dein gesuchter Punkt y.
Somit hast du für a, wie b deine Werte für x und y.
ich behaupte, dass das zu 100% klappt. ;) Wenn du uns den entsprechenden Quellcode mal zu kommen lassen würdest, dann könnten die anderen, sowie auch ich mal einen Blick drauf werfen und dir weiter helfen.
Bitte, bitte - sicher ist es nicht super wichtig - aber irgendwie hat es mich vom Applicationflow her verwirrt... (Böses Denglisch - gibt es überhaupt ein Wort wie "Applicationflow"?) ;D
Kenne den Akinator schon etwas länger. Viel spannender finde ich aber die Frsage, wie man so etwas selber umsetzen kann. Hat vielleicht irgendjemand ein paar Papers zu der Thematik zur Hand?