Wenn ich dich richtig verstanden habe, besteht dein Problem darin, dass sich die class-Datei selbst ersetzen soll. Die Lösung besteht darin, zwei getrennte class-Dateien, eine für den Updater und eine für das eigentliche Spiel, anzulegen.
Beiträge von Adok
-
-
Ich habe mit einem israelischen Mädchen gechattet und sie gefragt, wie es in Israel sei: Worauf stehen die israelischen Mädchen - Liebe, Romantik,...? Sie antwortete: "Vergiss es. Du kannst einem israelischen Mädchen nur imponieren, wenn du entweder mindestens 300 Araber erschossen oder viel Geld hast."
Vielleicht ist diese Einstellung darauf zurückzuführen, dass die israelischen Mädchen zwei Jahre Dienst beim Heer leisten müssen.
-
Nein. Sie wollen, daß er schlecht verdient, die Kinder vernachlässigt und schlägt, unfreundlich soll er sein, im Haushalt am besten keinen Finger rühren und die Frau alle Einkäufe schleppen läßt. Alkoholiker und Kettenraucher sollte er auch noch sein.
Warum stellst Du so blöde Fragen? Ist das ein Trollversuch?
Jensi, du bist zwar ein intelligenter Mensch, aber du verstehst die Frauen nicht. :coolsmile: Die wollen sehr wohl über diese Dinge diskutieren. Für die Männer ist es auch nicht schlecht, wenn sie erfahren, wie Frauen denken.
-
Mich würde interessieren, was die jungen Frauen von heute von ihrem Partner tatsächlich erwarten. Soll er gut verdienen? Soll er sich um die Kinder kümmern und ihnen eine gute Ausbildung ermöglichen? Soll er lieb oder hart sein? Soll er im Haushalt mithelfen und sich um Erledigungen kümmern? Usw.
-
Um die Bit-Darstellung deiner float-Zahl in ein long zu kriegen, kannst du memcpy verwenden.
Könnte man es nicht einfacher lösen? Wäre es nicht möglich, einem long-Pointer die Adresse der float-Variablen zuzuweisen?
-
-
In den letzten Jahren habe ich immer wieder geträumt, dass ich wieder die Schulbank drücken würde und an meinem Gymnasium Post-graduate-Kurse belegt hätte. Diese Kurse wären wie normaler Unterricht, aber ohne Anwesenheitspflicht. Es gäbe Prüfungen, und jedes Jahr müssten wir die Matura wiederholen. Einmal träumte ich, dass wir im Informatikunterricht Turingmaschinen durchnähmen.
-
Lustig wäre es, hätte & eine höhere Präzedenz als >. Dann würde der Ausdruck a > b & b > c so ausgewertet, dass zuerst b & b berechnet würde, dann b > c (= d, true [1] oder false [0]) und zum Schluss a > d. Dann würde a > d in fast allen Fällen stimmen (außer wenn a gleich 0 oder 1 wäre, dann käme es auf den Wert von d an), und es könnte sein, dass auch c > a stimmen würde.
Zum Beispiel:
-
Ich hatte ein ähnliches Problem einmal wegen des CPU-Kühlers, in dem sich bereits so viel Staub und Dreck angesammelt hatte, dass er nicht mehr funktionierte.
-
Das war eine recht misslungene Demonstration dessen, wie man Benutzereingaben richtig verarbeitet. (Nein, ich bin kein Sysprog-Tutor; gets ist von sich aus böse.)
Solange er - in diesem Fall - nicht mehr als 1000 Zeichen eingibt, passiert nichts Böses.
Die Implementierung unnötiger Features mit unportablen Mitteln ist nicht elegant.
getch ist unportabel?
-
ok, aber das brauche ich doch nicht, wenn ich nur kontrollieren will ob die eingabe korrekt ist oder? Das soll ich ja mit der ersten schleife erreichen, dass kontrolliert wird ob die eingabe eine zahl ist...
Dafür verwendet man nicht while, sondern if. Aber streng genommen kannst du auf diese Weise gar nicht kontrollieren, ob die Eingabe eine Zahl ist. Wenn der Benutzer "Hallo" eingibt, ergibt scanf ("%d", &n), dass n der Wert 0 zugewiesen wird. Um wirklich zu checken, ob der Benutzer eine Zahl eingegeben hat, musst du die Eingabe als String einlesen und dann überprüfen, ob sich der String verlustfrei in eine Zahl und dann zurück in einen String konvertieren lässt.
Code
Alles anzeigenchar eingabe [1000], konvert [1000]; int n; gets (eingabe); n = atoi (eingabe); konvert = itoa (n, konvert, 10); if (strcmp (eingabe, konvert)) { printf ("Fehler: Keine Zahl eingegeben!"); return; }
wieso wird denn im moment immer bei system ("pause") ein fehler angezeigt???
Das weiß ich nicht, aber ich würde dir empfehlen, statt dessen getch () zu verwenden. Das ist eleganter. -
Dieser Code wird aus einigen Gründen nicht funktionieren.
1. Die Zeile
ist fehlerhaft. Richtig wäre:2. Was macht der Code? Er liest ganze Zahlen ein, solange sie größer als 0 sind, und speichert sie in der Variablen n ab. Dadurch wird die Variable n immer wieder überschrieben. Somit wird am Ende nur die letzte Zahl gespeichert. Wenn du aber alle Zahlen haben willst, musst du einen Array verwenden. Z.B.:
Damit werden zehn Zahlen eingelesen und gespeichert.
-
Hi, danke erstmal. versuchs mal mit der while-schleife. welche bibliotheks muss ich denn einbinden?
<stdio.h> und noch andere?Für while, do, for brauchst du keine Bibliotheken, weil es sich um Elemente der Sprache C und nicht um Funktionen handelt. Du brauchst stdio.h aber für printf.
-
Du könntest dir anschauen, wie fertige Programme es lösen, z.B. Milkytracker.
-
Interessant(er) ist ja die Frage, wie ein int-zu-char-Cast gehandhabt wird. Ich habe es mal, da ich auf diesem Computer keinen C/C++-Compiler installiert habe, mit Digital Mars D ausprobiert:
Code
Alles anzeigenimport std.stdio; void main () { int i = 100 * 256 + 255; char c = i; writefln ("i: ", i); writefln ("c: ", cast (int) c); }
Das Ergebnis war 255, also wurde das Lo-Byte genommen. Ist es im ANSI-Standard festgelegt, dass immer das Lo-Byte genommen wird, oder ist es von der Implementierung abhängig? (Ich könnte mir vorstellen, dass es von der Architektur - Big Endian vs. Little Endian - abhängig sein könnte.)
-
Willst du wissen, wie eine do-while-Schleife funktioniert?
Z.B.:
Dasselbe könntest du auch mit einer while-Schleife erreichen:
Oder mit einer for-Schleife:
Jede do-while-Schleife lässt sich in ein Konstrukt mit einer while-Schleife umwandeln. In manchen Fällen ist aber eine do-while-Schleife eleganter, z.B.:
In diesem Fall würdest du unter Verwendung einer while-Schleife schreiben:
Codeint i = 1; printf ("%d. Ich bin cool!\n", i); while (i < 1) { printf ("%d. Ich bin cool!\n", i); i++; };
Du müsstest also die printf-Anweisung zweimal in deinen Programmcode einbauen.
Jede while-Schleife lässt sich auch durch eine for-Schleife emulieren und umgekehrt. In C ist die for-Schleife nur "syntactic sugar" für eine while-Schleife plus Initialisierung.
Du könntest auch auf alle Schleifen pfeifen und nur goto verwenden. Davon wird aber im Allgemeinen abgeraten, weil der Programmcode unübersichtlich wird ("Spaghetti-Code").
Noch viel Spaß beim Programmieren!
-
muchisimo gracias a todos! :thumb:
...ist mir zwar komplett neu, dass man so casten kann aber es funktioniert
Da eine int-Variable alle möglichen Werte einer char-Variablen annehmen kann, brauchst du nicht explizit auf int zu casten. Du musst nur, wie Plantschkuh gesagt hat, auf unsigned char casten, damit die char-Variable nicht als vorzeichenbehaftete Zahl interpretiert wird.
-
Wenn der Arbeitgeber aber einen P-Algorithmus will, und du dann einen NP ablieferst, ist dein Algo nicht in einer Teilmenge von P, sondern umgekehrt.
Wenn dein Arbeitgeber einen NP fordert, wird er nix dagegen haben, wenn dein Algo in P läuft.
Wolfibolfi, ein solches Posting hätte ich nicht von dir erwartet
-
Informatikerbeispiel: Wenn der Arbeitgeber dir nen Auftrag gibt einen Algorithmus zu entwickeln unter polynomieller Laufzeit und du weißt, dass er unter die NP-Kategorie fällt, bist auch nicht du Schuld und wirst entlassen...
Da P eine Teilmenge von NP ist, fällt jeder Algorithmus mit polynomieller Laufzeit unter die NP-Kategorie! Du meintest wohl "unter die Kategorie NP-vollständig".
-
bringen wird es leider, wie die meisten Petitionen, nichts.
Würde ich nicht sagen...