Beiträge von Soulmerge

    Hmm, geb ich dir recht, na gut, dann schreib ich mal rein, was ich mir so vorstelle:

    Multiplayer hab ich noch nicht im Sinn, es soll den Spielleiter vollkommen ersetzen. Bei den Rollenspielen, die ich bisher gespielt habe, fand ich immer das Blödeste, das die Spiele zu linear waren. Ich möchte, dass dem Spieler bei jedem Problem sehr viele Optionen offen bleiben. Ich weiß, dass das Schreiben der Story recht kompliziert wird dadurch, doch wie gesagt geht es mir weniger um das Programm als um die Gute Programmier-Übung. Was ich mit dem Code anstelle überleg ich mir, wenn ich etwas weiter bin. Ich glaub auch nicht, dass es in den nächsten zwei Jahren fertig ist, soll nur ein Hobby sein.

    Zurück zum Thema: Von den Attributen und der bisherigen Geschichte des Charakters soll es abhängen, was für Lösungen dem Charakter auf gewisse Situationen einfallen. Auch der Charakter soll sich mit der Zeit entwickeln (ich möchte keine Level-ups mehr sehen!!)

    Die Story soll wie ein Buch geschrieben sein, mir liegt viel mehr an der Atmosphäre, die das Spiel kreiert als an graphischem Schnick-Schnack (Übersetzung: gute Graphik ist schon cool - aber sekundär)

    Auch Kämpfe möchte ich stark einschränken (Ej mann e, krass mein char haut dein char tsu brai) Ich möchte endlich ein ECHTES ROLLENspiel. Das heißt auch, dass es Fähigkeiten wie Tanzen, Singen, Philosophie oder Tierkunde geben soll.

    Wer die Idee gut findet, sich aber vor dem Umfang fürchtet, dem sei gesagt: Ich habe/mache überhaupt keinen Zeitdruck. Wenns einen freut, soll man halt ein bisschen mitcoden, dann, wenns einen nicht mehr freut sich zurückziehen, und bei der nächsten Laune wieder mitmachen...

    Ok, hoffe mal, das reicht so als kurze Beschreibung (*sehr* viel konkreteres hab ich eigentlich auch nicht)

    Ach ja: Auch Leute, die gerne bei der Geschichte helfen wollen wären willkommen!

    Ich programmier grad in dos, aber der Obige Ausdruck hat mich auf eine andere Idee gebracht (der Ausdruck selber hat leider nicht viel geholfen, da ja der Wert des Ausdrucks ((time()%getpid())*getppid() nur von time() abhängt)

    Code
    for (unsigned int i = 0; i < 10000000; i++)
    {
        srand(clock() * i * i);
        cout << random(6) + 1 << " ";
    }

    Frag mich, wieso ich nicht gleich drafgekommen bin??!?

    Ich möchte mal als (c++)-Programmierübung ein kleines Rollenspiel schreiben (naja, ok, vielleicht ein etwas größeres). Mir geht es weniger um das Spiel, sondern mehr um die Implementierung, da dachte ich, ein Rollenspiel wäre ideal (a. mein favourit b.nicht alzu schwer zum coden)

    Da wollte ich fragen, ob es Rollenspieler gibt, die sich dafür interessieren würden, etwas größeres in c++ zu schreiben (oder vielleicht Programmierer, die Rollenspiele lernen wollen?) Die Ideen, die ich dafür hab kommen aus so ziemlich allen Rollenspielsystemen: Shadowrun, ADND, Star Wars, DSA, etc...

    Wer sich interessieren würde kann mir Mail schreiben:
    soulmerge@gmx.net

    PS.: Jepp, genau deshalb das Würfel-Programm.

    Nochmal ich:

    Hab das Problem folgendermaßen gelöst:

    clock(): Return number of clock ticks since process start.

    Ausgabe hatte aber immer noch zuviele wiederholungen, also hab ich immer etwas verzögert:

    Code
    for (unsigned short i = 0; i < 100000; i++)
    {
        srand(clock());
        treturn = _lrand() % dice + 1;
        clock_t endwait = clock() + 0.1*CLK_TCK;
        while(clock() < endwait);
        cout << treturn << " ";
    }

    Liefert endlich *wirklich* zufällige Zahlen, zwar nur 6-8 pro Sekunde, aber das genügt, glaub ich.

    Bis jetzt hab ich die "zufälligste" Ausgabe mit random(6)+1 erhalten, aber da wechselt die Zahl, die ausgegeben wird auch nur (ca.) sekündlich.

    Wie schauts denn bei den Leuten aus, die das zip runtergeladen haben? Da niemand was dazu gepostet hat, geh ich mal davon aus, dass es bei denen nicht anders war.

    Soweit ich das sehe, erstellt srand(Zahl) die Zufallszahlen, randomize() ist srand(time(NULL)) und man muss immer warten, bis time(NULL) etwas anderes zurückgibt, wenn man mehrere Zufallszahlen will.

    Vielleicht gibt es eine Möglichkeit, srand mit Tausendstelsekunden zu füttern? Das wäre sehr angenehm...

    martin: Auf der Seite steht nur das, was das randomize() selber macht, hilft mir nicht viel, danke.

    Roli: ist mir schon klar, nur frag ich mich, wiese gerade ein Time-Objekt übergeben wird (vor allem wenn wenn der Output immer für eine Zeitspanne der gleiche ist)

    Zentor: Danke, hat auch nix genutzt, Ausgabe trotzdem genauso wie von (rand() % Zahl + 1).


    Nochmal das Problem: Mein Programm hat immer folgende Ausgabe:

    Code
    for (unsigned int i = 0; i < 1000; i++)
        cout << rand()%6+1 << " ";

    2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 und noch uur viele 2er .... 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 dann verdammt viele 5er noch 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 usw...

    in c++ liefert rand() einen Wert zwischen 0 und 32767 (siehe weiter unten)

    Ich habs inzwischen mit random(6) versucht, da schauts aber auch nicht viel besser aus: die Zahlen sind nachher schon zufällig, doch kommt für eine gewisse Zeitspanne immer die gleiche Zahl, auch wenn man randomize() verwendet.

    In der Library hab ich dann die Definitioni von random(int) und rand() gefunden:

    inline int _RTLENTRY random(int __num)
    { return __num ? (int)(_lrand()%(__num)) : 0; }

    /* Maximum value returned by "rand" function */
    #define RAND_MAX 0x7FFFU

    inline void _RTLENTRY randomize(void) { srand((unsigned) time(NULL)); }

    Mich wundert, dass in der Definition von randomize ein time-Objekt übergeben wird. NULL ahnung, wieso...

    Ich versuche gerade einen Würfelwurf zu implementieren mit einem 6-seitigen Würfel. Dazu müsste ich doch zuerst randomize() verwenden, damit rand() eine Zufallszahl liefert. Das komische ist jetzt, das die ausgabe von

    cout << (rand()%6 + 1);

    bei mir zuerst einpaar mal eine 1 liefert, dann einpaar mal eine 2, dann paar 3er, 4er, 5er und dann ein paar 6er. Die genaue Anzahl ist immer unterschiedlich, aber immer in dieser Reihenfolge!

    Weiß jemand, was ich falsch mache?

    Ich hab auch den kleinen Quellcode und das kompilierte Programm upgeloaded, würd mich freuen, wenn sich jemand kurz die Zeit nimmt, es bei sich am PC zu testen, vielleicht liegts auch an meinem Rechner (kann mir sonst nichts vorstellen...)

    Ich würde gern ein bisschen Graphik programmieren, doch fehlt mir leider "graphics.h" Mit dem BIOS-Befehl int86 hat's auch nicht geklappt...
    Weiß irgendjemand, wie ich den Graphikmodus sonst wechseln kann / hat jemand original "graphics.h" von Borland C++?

    Ist mir auch paar mal passiert, aber der "Schwarze Bildschirm" hat keine Bedeutung, der "Grüne Balken" kam bei mir immer *irgendwann* (mit dem dazu passenden Hänger). Jetzt hab ich aber XP, geht zwar manchmal das Internet nicht, aber was solls...