Archiv verlassen und diese Seite im Standarddesign anzeigen : CodeWarrior - Programmierspaß für die ganze Familie
Morgen allerseits!
Vor einiger Zeit habe ich mir mit reggaeman (im Suff) ein geniales Spiel für Programmierer ausgedacht. ich erkläre zunächst mal die Regeln:
Jeder Mitspieler bekommt ein Programmieraufgabe zugewiesen, die außer ihm niemand erfahren darf. Diese muss er im Laufe des Spiels umsetzen. Pro Runde erhält jeder Spieler eine vorher bestimmte Anzahl an Zeilen, die er schreiben darf (z.B. 5 oder 10). Wer sein Aufgabe zuerst fertig hat, hat gewonnen. Der Spaß fängt aber erst an. Alle Mitspieler arbeiten nämlich an ein und der selben Datei. Wenn also jemand 'ne ungefähre Ahnung hat, welche Aufgabe ein Gegenspieler zu lösen versucht, kann er versuchen, ihn zu sabotieren, z.B. indem er z.B. Werte seiner Variablen verändert.
Der Code besteht zunächst einmal nur aus ANSI-C, Zielplattform sind alle UNIX-ähnlichen Systeme, d.h. Linux, die BSDs und natürlich UNIX selbst. Wenn ein Spieler Code abliefert, der nicht auf den Rechnern aller Mitspieler kompilierbar ist, erhält dieser Strafpunkte. Außerdem darf der nächste Spieler die Zeilen des Spielers löschen und diese Anzahl der Zeilen für sich mitverwenden.
Nach einigen Testläufen mit den oben genannten Regeln lässt sich das Spiel natürlich auch auf andere Plattformen + Sprachen übertragen. Wichtig ist nur, dass man sich (vor Spielbeginn!) auf Standards einigt, sonst wird das nur 'ne riesige Diskussion.
Z.Z. schreibe ich einen kleinen Server, auf dem sich Mitspieler anmelden können, um den aktuellen Code ihres "Projekts" abzuholen bzw. ihren neuen zu hosten, neue Projekte zu erstellen etc.
Außerdem suchen wir noch gute Aufgaben, die dann vom Server per Zufall an die Mitspieler verteilt werden. Hierbei brauchen wir dann allerdings Hilfe, uns fällt außer "Gib alle Dateien im aktuellen Verzeichnis aus" etc. nichts Gutes ein :(
Bitte schreibt zunächst einmal, was ihr von der Idee haltet. Ich weiß, das ist wohl eher was für die Geeks, aber ich find die Idee einfach nur geil, weil man beim ernsthaften Programmieren einfach nicht so toll mit dem Code "spielen" kann.
Idee für Aufgaben und weitere Regeln sind auch erwünscht.
Bis dann,
euer Lizer.
Die Idee find ich geil *daumen hoch*
Die Idee ist einfach genial. :t
Ich hoffe, dass du oder sonst jemand diese Idee umsetzen wird.
Hatte selbst noch eine Idee. Je nach Schwierigkeitsgrad der Aufgabe (lassen sich kategorisieren) erhält der Gewinner Punkte. Die Stafpunkte werden von diesen abgezogen. Auf diese Weise lässt sich ein Ranking-System aufbauen, entweder für alle Matches allgmein, oder auch kategorisiert.
Weiterin muss ich noch anmerken, dass mit Zeilen natürlich Anweisungen gemeint sind. Außerdem sollte man sich auf einen Style einigen und gegebenenfalls nach jedem Zug einen Beautifier drüber laufen lassen. Andererseits könnte man auch spezielle Spiele erlauben, in denen man mit verhunztem Code Gegenspieler verwirren darf.
Overdrive
20.04.2004, 11:28
Du hast geschrieben dass du dafür einen Server codest.
Heißt das, dass man nach jedem "Spielzug" den kompletten Code auf den Server landen muss und dannach die Mitspieler ihn wieder runterladen müssen? (Umständlich? Zeitaufwendig? Wann und woher weiß man ob der Mitspieler den Code schon schochgeladen hat? Oder braucht man noch einen Chat-Clienten um sich mit den mitspielern zu verständigen?)
Fragen über Fragen :-)
Aber sonst finde ich das Projekt schonmal gut!
Nein, das erledigt der Server. Er guckt auch, wer als nächstes dran ist und verschickt evtl auch ein Mail. Jeder Mitspieler darf sich den aktuellen Code ziehen, aber nur der Spieler der an der Reihe ist darf posten. Ist allerdings noch in Entwicklung. Sollten sich hier einige Leute finden, kann man das auch schon vorher spielen, eben per Mail oder so. Dann baucht man allerdings noch einen Admin, der nicht mitspielt und die Aufgaben verteilt, den Code prüft etc.
Andererseits könnte man auch einfach einen Mail-Verteiler einrichten. Wer mit seinem Code fertig ist, schickt ihn an den Verteiler und der leitet ihn an die anderen weiter. Dann muss sich allerdings jemand darum kümmern, dass die Reihenfolge eingehalten wird. Ein passender Chat wäre daher auch empfehlenswert.
EDIT: Ui, da ist was schief gelaufen. Bitte das kürzere Post löschen, wenn das jemand liest ;)
> Wenn also jemand 'ne ungefähre Ahnung hat, welche Aufgabe ein Gegenspieler zu lösen
> versucht, kann er versuchen, ihn zu sabotieren, z.B. indem er z.B. Werte seiner Variablen
> verändert.
irgendwie passt das nicht zu dem gesamtkonzept, oder ich verstehe es einfach nicht ;)
wann hat der gegenspieler die moeglichkeit einen anderen zu manipulieren?
faende es besser, dass, wenn man eine ahnung hat, was der andere machen soll,
man die moeglichkeit hat, das selber zu schreiben und auch abzugeben und ihm somit
die punkte zu stehlen (evtl auch bonuspunkte?).
was die aufgaben angeht:
es muss auf jeden fall gewaehrleistet sein, dass alle aufgaben die in einer runde sind
(sprich auf einem level) wirklich nicht zu sehr in der schwierigkeit auseinander driften.
unter linux wuerde sich doch u.a. auch /proc anbieten oder?
(z.b. uptime aus /proc/uptime auslesen und gescheit anzeigen, etc.).
vielleicht auch eine formel fuer die berechnung der punkte?
(z_max-z_gebraucht)*level wuerde mir da spontan einfallen, soll heissen:
z_max ist die maximale laenge die man benutzen darf (bsp: 10), z_gebraucht die anzahl
der zeilen die man gebraucht hat (bsp: 7) und level der schwierigkeitsgrad (bsp: 3).
womit wir dann haetten:
(10-7)*3=9
nur so ein gedanke. finde eure idee aber klasse, bleibt dran!
gruesze
Das mit der Manipulation war so gemeint:
Wenn z.B. ein Mitspieler irgendeine Variable hat, die er in der nächsten Runde benötigt, kann man die verändern, um ihn zu sabotieren. Geschickte Saboteure könnten das auch getarnt tun, wie etwa in folgendem Beispiel:
char x;
char y = WICHTIGER_WERT;
*(&x + 1) = ZUFAELLIGER_WERT;
So oder so ähnlich sollte das funktionieren. Muss grad was machen, bis später.
Es sollten einfache Aufaben sein, da bietet es sich doch an Mathematische Probleme zu lösen, wie GGT, oder ein LGS-Lösungsprogramm, eine Kurvendiskussion(vielleicht ein wenig zu lang). Einfach nur ein Taschenrechner, ein Primzahlenfinder/überprüfer, Vigeneréverschlüsselung oder ein Mp3-Katalogisierungsprogramm...
da gibt es doch viele Möglichkeiten oder suchst du spezielle Aufgaben für einen Bereich?
oder suchst du spezielle Aufgaben für einen Bereich?Nee, ich suche keine Aufgaben für einen speziellen Bereich. Aber wenn genug da sind, sollte man sie in spezielle Bereiche aufteilen, evtl. auch nach Schwierigkeitsgrad trennen. Mathezeug ist gut, vor allem weil es bei solcen Sachen einfach ist, portablen Code zu schreiben.
Hab noch mal über den Server nachgedacht und bin zu dem Entschluss gekommen, dass es vielleicht doch sinnvoller wäre, einfach einen Mailverteiler einzurichten. Evtl. kann man das auch so machen, dass man beim Code-Einsenden eine eindeutige Projektbezeichnung als Subject angibt, anhand der der Verteiler dann den Code an die entsprechenden Mitspieler verteilen kann.
Von sowas hab ich allerdings kaum Ahnung, es wäre daher schön, wenn sich jemand damit auskennen würde.
decomplex
11.08.2005, 23:13
[QUOTE=lizer]jo wäre dabei wenn das nicht schon am laufen ist =)QUOTE]
Also ich glaub, dass tod ist, aber wenn es dich interessiert, dann fang doch einfach wieder an ;) vielleicht findest du Leute dir dir Ideen geben oder bei dem Mailverteiler helfen!
Hmm, ein Bisschen tot ist es schon, aber ich hätte schon Lust das wieder aufleben zu lassen, sofern sich einige Leute melden die mithelfen/-spielen wollen. Vielleicht können ja alle die Lust haben mal kurz hier bescheid geben.
Nach wie vor besteht allerdings das Problem, dass es an Programmier-Aufgaben mangelt. Außerdem müsste noch geklärt werden, wie das Verteilen des Codes geregelt werden soll. Mir fallen da bis jetzt 3 Möglichkeiten ein:
1) einen eigenen Server entwickeln, der genau für diese Aufgabe bestimmt ist (hab zwar einen schonmal fast fertig gestellt, hab aber kA wo der abgeblieben ist... :rolleyes:) - man könnte zwar einen neuen schreiben, aber allein habe ich darauf keine Lust, ich bräuchte schon 1-2 Leute die mitmachen.
2) Mailverteiler
3) ist mir grad eingefallen - ein CVS-Server. Da ließen sich dann auch die Änderungen zwischen den einzelnen Runden etc. genau nachverfolgen
Noch jemand Vorschläge?
Nur ne kurze Frage, ob ich das richtig verstanden haben. Es soll ein Programm geben an dem mehrere mitarbeiten und jetzt suchen wir eine möglichkeit mit der jeder seine Aufgabe bekommt ohne das die anderen davon wind bekommen?
Hätte auch Interesse, dabei mitzuspielen. Klingt irgendwie witzig.
Und könnte man das mit der Code Verteilung nicht über ein einfaches Web-Interface machen? Anmelden mit Username, dann sieht man seine Aufgabe, kann die abgegebenen Codes runterladen und wenn man an der Reihe ist, seinen eigenen Code hochladen.
Oder hab ich da Anforderungen übersehen?
Ein Bisschen komplizierter ist es schon. Ich stell hier mal 'ne Liste auf, was der Server bzw. die gewählte Lösung können sollte und etwas "NiceToHave"-Zeug:
1) User-Accounts sollten möglich sein
2) Verwaltung der Projekte bzw. Spiele/Runden/Partien (je nachdem wie man's nenn will)
3) User sollen sich bei einem Projekt "einschreiben" können, d.h. anmelden - es sollte hier ein Frist geben, in der Anmeldungen möglich sind; wenn das Spiel begonnen hat, d.h. der erste Spieler seinen Code abgegeben hat, sollte sich keiner mehr einschreiben können
4) Die Code-Files sollten entweder plain-text angenommen und abgelegt werden oder als gepacktes Archiv, für den Fall dass mehrere Files vorhanden sind.
5) Die Lösung sollte für jedes Projekt Buch darüber führen, wer grad an der Reihe ist - es darf immer nur derjenige den aktuellen Code abholen der an der Reihe ist, für das Einsenden von Code gilt das natürlich auch.
6) Für die Länge eines "Spielzugs" sollte eine Frist festgelegt werden, d.h. ein Spieler hat nur eine vorher festgelegte Zeit. Ist die Zeit abgelaufen sollte der Server irgendwas machen, z.B. den Spieler aus dem Spiel werfen und den nächsten Spieler informieren, dass er am Zug ist. So sollte verhindert werden, dass das ganze Spiel kaputt geht, weil einer keine Lust mehr hat/aussteigt/keine Zeit hat/... ohne die anderen zu informieren.
7) Optional könnte der Server auch zu Beginn des Spiels aus einer Liste eine zufällige Aufgabe auswählen, aber das können auch die Spieler selbst vorher klären.
8) Der Server sollte den Code jedes einzelnen Zugs archivieren, sodass man eine Art History hat.
9) Optimal wäre es, wenn man dem Server ein paar Regeln mitteilen könnte, z.B. dass pro Zug nur $ZAHL Zeilen zu Code hinzugefügt werden dürfen und der Server dann beim Einsenden checkt, ob die Regeln eingehalten wurden. Weiterhin könnte ein diff erstellt und so rausgefunden werden, ob ein Spieler den Code der Vorgänge modifiziert hat (sofern die Regeln dies verbieten). Das ist aber alles vorerst unwichtig, denke ich.
Ich glaub ich hab was wichtiges vergessen. Egal, kann man ja noch einfügen.
Wie gesagt, ich würde gerne so eine Client/Server-Software schreiben, hab aber keine Lust das allein zu machen.
EDIT: @balk0th: Eine webbasierte Lösung ist natürlich auch möglich, fragt sich nur in wie weit das sinnvoller ist als eine Client/Server-Lösung. Aber das kann man ja ausdiskutieren.
EDIT: Da fällt mir ein, dass ich die nächsten 2 Wochen Urlaub hab, d.h. ich könnte mich durchaus mal damit beschäftigen. Wie gesagt, nur mit Gesellschaft.
EDIT: So, jetzt aber das letzte EDIT :) Wollte nur kurz anmerken, dass ich 'ne Client/Server-Lösung preferieren würde, da ich a) in webbasierter Programmierung nicht so fit bin und b) ich einen Server anbieten könnte für die Client/Server-Lösung, aber ein WebServer kommt mir da aus Gründen der persönlichen Abneigung nicht drauf ;)
Grundsätzlich hab ich ab nächster Woche auch richtigen Urlaub, wo ich nur für 2 Freunde kleinere PHP Projekte coden muss.
Also wären da durchaus zeitliche Ressourcen für so ein Client/Server Projekt vorhanden. Was für eine Sprache/Plattform hast Du Dir denn da vorgestellt?
Killswitch
12.08.2005, 11:48
Moin. Also ich hätte generell auch Interesse an dem Spiel teilzunehmen sowie auch an der Umsetzung mitzuarbeiten. Was deine Ansprüche an das Client/Server System angeht, finde ich wäre eigentlich eine Lösung mit PHP + MySQL am geeignetsten. Das ist Betriebssystem unabhängig und man kann von überall darauf zugreifen. Ausserdem ist es schnell realisiert. Vom Server aus können dann auch evtl. Emails verschickt werden die einen Spieler daran erinnern das er wieder am Zug ist usw. Was hälst du davon?
Plattform ist auf jeden Fall Linux, da ich a) kein anderes OS habe (weder installiert noch als CD) und b) auf meinem Server Linux läuft. Was die Sprache angeht würde ich zu C tendieren, da ich da am meisten Erfahrung habe. Tatsächlich habe ich in der letzten Stunde schon mit dem Projekt (in C) angefangen :D
Mir auch noch eingefallen, dass man neben dem normalen Client für das System natürlich auch noch ein WebInterface erstellen könnte. D.h. $SERVERSEITIGE-SCRIPTSPRACHE kennt das Protokoll und kann sich statt des Clients mit dem Server verbinden.
Was das Protokoll angeht hatte ich mir ein etwas POP3/SMTP-änliches vorgestellt, da das simpel zu implementieren und wohl für die Anforderungen vollkommen ausreichend ist. Bsp:
CLIENT: 100 Hello!
SERVER: 100 Was geht ab?!
CLIENT: 110 [USERNAME]
SERVER: 111 Passwort bitte!
CLIENT: 120 [PASSWORT]
SERVER: 121 Geht klar :)
CLIENT: 200 Ich will über Partie XYZ quatschen.
SERVER: 201 Meinetwegen.
CLIENT: 210 Ich will meinen Code einchecken.
SERVER: 211 Her damit!
CLIENT: [CODE]
... mehr Code
CLIENT: .
SERVER: 212 Gespeichert
usw. usw. blabla
Meinungen dazu?
EDIT:
@Killswitch: Joar, wie gesagt halte ich ein WEbInterface auch nicht für unbedingt falsch. Aber das komplette System in PHP zu entwerfen, dazu hab ich ehrlich gesagt keine Lust, zumal wir dann WebSpace bzw. einen Provider bräuchten der PHP & MySQL erlaubt. Natürlich könnte auch der C-Server mit einer MySQL-Datenbank arbeiten, die er sich eigentlich auch mit dem PHP-Interface teilen könnte.
EDIT:
BTW, wenn wir da schon zu dritt sind (balk0th, Killswitch & meine Wenigkeit) könnte daraus ja echt mal ein Projekt werden, das tatsächlich fertig gestellt wird :D
Killswitch
12.08.2005, 12:20
Das könnte man so machen. Das ganze wird natürlich Verdammt aufwendig wenn du ein komplettes Client Server System inkl. Protokoll in C schreiben willst. Aber wenn du das auf dich nehmen willst, werd ich wohl dabei helfen. Zu dritt sollte man das wohl hinbekommen.
Das ganze wird natürlich Verdammt aufwendig wenn du ein komplettes Client Server System inkl. Protokoll in C schreiben willst.Ach, sooo aufwendig ist das gar nicht. Wenn man das halbwegs sauber strukturiert sollte es (gerade da wir schon zu 3. sind, evtl. schließen sich ja noch welche an) durchaus problemfrei machbar sein.
Also, schön dass du schonmal dabei bist. Wie sieht's mit dir aus, balk0th?
Darf ich dann mit meinem kleinen Mac auch mitspielen? :rolleyes:
Killswitch
12.08.2005, 15:14
Was mir gerade noch so spontan eingefallen ist, man könnte das ganze auch nur mit Shellscripten realisieren. Klingt bescheurt, würde ich aber echt mal interessant finden. Es gibt ja unter Linux eigentlich alle programme die man dafür braucht. Ich kann ja grad mal n bischen rumbasteln.
Mh, ich glaub, ich mach einfach mal mit. Jetzt am Wochenende selbst könnts mit meiner Zeit noch etwas eng werden, aber ab Montag sollt ich mich mit vollem Elan ins Coden reinhängen können.
Hier ist schonmal ein kleines Grundgerüst zum Rumspielen. Ich denke ich hab das relativ modular hingekriegt. Weitere Funktionen sollten einfach eingefügt werden können. Dazu muss man:
1) die Funktion schreiben, Prototyp _muss_ so aussehen:
void name_der_funktion(FILE *, struct session *, unsigned, char **);
2) sie möglichst in einer seperaten Datei abspeichern, die nach Möglichkeit $NAME_DER_FUNKTION.c heißt.
3) falls nötig noch eine include/$NAME_DER_FUNKTION.h anlegen
4) die (beiden) Datei(en) entsprechend in das Makefile eintragen
5) die Funktion in den method-Array in proto.c einpflegen:
struct method method[] = {
{ bestehende Funktion },
...,
{ "bezeichnung_der_funktion_wie_sie_vom_client_aufger ufen_werden_soll", name_der_funktion },
{NULL, NULL}
};
EDIT: 5.1 (ich wusste ich hab was vergessen :)):In der proto.c den Prototyp nochmal engeben mit extern:
extern void name_der_funktion(FILE *, struct session *, unsigned, char **);
6) evtl. von verschiedenen Funktionen benötigte Variablen in die Session-Struktur einfügen. Bis jetzt vorhanden: User-ID, Session-Status
Hab ich was vergessen? Ja. Die Messages etc. können noch beliebig erweitert werden, genau wie das Protokoll. Was das Protokoll angeht steht ja noch nichts fest, außer des ungefähre Format der Befehle.
Bis jetzt bestehen die Funktionen "user" und "pass", beide funktionieren genau wie die entsprechenden Befehle bei POP3. Die Passwort-Datei hab ich mal auf "/etc/warrior" festgelegt, kann man aber ändern. Das Format der Datei habe ich in der README beschrieben. Das Passwort ist derzeit noch unverschlüsselt, das sollte man auch noch ändern. Mehr fällt mir ATM auch nicht dazu ein, ihr könnt ja einfach mal reinschauen.
Ich denke mal wir sollte das etwas strukturierter angehen, d.h. erstmal über das Protokoll einig werden, dann 'ne TODO-Liste erstellen und Aufgaben verteilen. Evtl. wäre ein Treffen in #buha angebracht, da können wir dann spontan 'nen Channel aufmachen und das gelassen besprechen.
Narf, hier habt gepostet während ich geschrieben hab :)
Also ein Shell-Script wär zwar interessant, aber ob das wirklich sinnvoll ist wage ich zu bezweifeln :) Es gibt übrigens schon 'nen ZSH-WebServer. Find nur grad den Link nicht.
Killswitch
12.08.2005, 15:47
Dann finde ich sollten wir zuerst mal eine Wer-macht-was-liste machen. Das sich erstmal einer Gedanken über das Protokoll macht und ein anderer kann sich dann ja schonmal um die standard tcp funktionen kümmern.
EDIT: Ich seh grad das mit den TCP Zeugs hast du schon erledigt. Warst ja schon richtig produktiv :)
EDIT: Ich seh grad das mit den TCP Zeugs hast du schon erledigt. Warst ja schon richtig produktiv Ja, so schnell geht das; von wegen großer Aufwand... :)
Also ich fang mal mit dem Protokoll an (wir können das ja erstmal hier zusammentragen und später alles ordentlich in 'ner Textdatei dokumentieren).
Zunächst mal der Login. Ich denke das sollte mit den Befehlen "user" und "pass" schon getan sein, allerdings müsste das PW wie oben schon gesagt verschlüsselt werden. Das SMTP/POP3-ähnliche Format "[Status-Code] [Text-Nachricht]" finde ich ganz gut, da a) der Client mit (Status-)Nummern einfacherer arbeiten kann als wenn er Strings parsen müsste und b) jemand der mal schnell vorbei-telnetten will keine Code-Tabelle braucht, weil die Text-Nachrichten nach dem Code ja relativ verständlich sind. Die Status-Codes kann man denke ich ziemlich beliebig wählen, wobei halt schon ein Bisschen System dahinter stehen sollte. z.B. alle Codes die was mit dem Login zu tun haben ("User gefunden, bitte PW eingeben", "User nicht gefunden, hau ab!", "Access granted", "Access denied", ...) sind im Bereich 100-199, wobei die Zehner den "Unterschritt" darstellen, z.B. 11X für Sachen die den Benutzernamen betreffen, 12X für Passwortzeug usw.
Ich stell' hier einfach mal 'ne Liste von Status-Codes mitsamt Bedeutung/Message auf, die mir spontan einfallen, kann man ja beliebig erweitern. Sofern möglich schreib ich auch noch dazu, was anschließend vom Client erwartet wird, falls man das schon festlegen kann.
Allgemeine Meldungen, die eigentlich immer als Antwort auf alles kommen (können):
000 OK (letzter Befehl wurde verstanden (Syntax) und erfolgreich ausgeführt
010 Internal Server Error (*hrhr*) (irgendwas ist passiert, wofür der Client nichts kann)
011 Bad Sequence of Commands (Befehle in der falschen Reienfolge -
z.B. muss vor "pass" ein "user" kommen etc.)
012 Unknown Command - der Client hat blöden Scheiß geschickt
013 Syntax Error - z.B. falsche Anzahl an Argumenten (z.B. "user asd qwe") usw.
014 Permission denied - z.B. dürfen nur Admins neue Projekte anlegen etc.
015 ...
Login-Zeug:
100 Welcome. Please enter your username.
Client: "user [username]"
Antworten:
000 OK (Name akzeptiert)
101 Name not found
110 Username ok, please enter password.
Client: "pass [password]"
Antworten:
000 OK (Access granted)
111 Access denied
200 Session started (Client kann jetzt beliebige Befehle eingeben)
Befehle:
... (muss weg, Essen :D)
decomplex
12.08.2005, 18:58
hui und nabend die herren
dachte ja gar nicht das doch soviel interesse vorhanden ist ;)
mir ist egal was wir machen hauptsache wir machen irgendetwas und ich lerne dabei hehe
also vollgas (brauche aber bestimmt "erstemal" einsteigerhilfe (jede menge))
würde mich aber freuen
also scheenes weekend
greetz decomplex
Killswitch
12.08.2005, 19:49
Also das mit dem Protokoll sieht ganz gut aus. Auch wenn ich finde das das 000 irgendwie überflüssig ist wenn danach sowieso noch ein Code gesendet wird den der Client auswertet. Damit ich erstmal was zutun habe, werde ich mich erstmal um die Verschlüsselung der Passwörter kümmern. Ich wollte dafür eigentlich MD5 verwenden. Weis nicht ob ich damit heute schon Anfange oder morgen im Verlauf des Tages.
Alles klar, ich mach mir derweil mal Gedanken wie man am besten die Projekte auf der Platte verwaltet usw.
Hast Recht, das 000 ist zumindest bei "user" und "pass" sinnlos, aber bei anderen Befehlen (später) wird man das denk ich brauchen, wenn man nicht für jeden einzelnen Befehl einen extra-OK-Code haben will :) Allerdings sollte man daraus 'ne andere Zahl machen, sonst muss der Client strtol statt atoi verwenden, und was will ich niemandem zumuten :)
Killswitch
12.08.2005, 21:12
So, erstmal als quick & dirty lösung. Kann man vielleicht auch so lassen, muss du mir sagen. Funktioniert jedenfalls. In tools/ hab ich was reingepackt womit du zum testen passwörter erstellen kannst. Ich hab mich die ersten male gewundert warum ich ein Access Denied bekam, bis ich gemerkt habe das alles was übertragen wir in Grossbuchstaben umgewandelt wird.. :)
Oh ja, das hab ich wohl vergessen zu erwähnen :D Ich wandel die Zeile um, damit ich nicht immer str[n]casecmp benutzen muss, aber eigentlich kann man das auch auf das erste Stück des Splits beschränken, damit man case-sensitive (Projekt-)Namen usw. hat.
Deinen Source schau ich mir gleich mal an, schlag mich grad noch mit so'ner dämlichen IDE rum... :)
EDIT: Womit packst du das Zeug? Ist beschädigt, kanns nicht öffnen. bzip2recover bringt auch nichts :(
EDIT: BTW, ich häng grad in #buha rum, schau doch auch mal rein :)
Killswitch
12.08.2005, 21:59
Sorry, jetzt müsste es gehen.