Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 6 von 6
  1. Beiträge anzeigen #1 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline

    Maximaler Wert, den ein Integer annehmen darf?

    Hallo,

    ich habe bei mir eingebaut, dass man unendlich Erz schürfen kann (das ist trotzdem gebalanced, keine Sorge) und dass man mit diesem Erz eine AIVAR erhöhen kann.

    Nun frage ich mich aber, ob ich dadurch das Spiel zum Absturz bringen könnte. Welche Zahl ist die höchste, die durch einen Integer in Gothic abgebildet werden kann? Ich möchte entsprechende Limitationen einbauen um Crashes zu vermeiden.


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  2. Homepage besuchen Beiträge anzeigen #2 Zitieren
    General Avatar von Dada
    Registriert seit
    Jan 2007
    Ort
    Krefeld
    Beiträge
    3.729
     
    Dada ist offline
    [Keine Garantie!]
    Da wir uns im 32-Bit Umfeld bewegen sollten Werte zwischen 0 und 65.535, bzw. -32.768 und 32.767 möglich sein

  3. #3 Zitieren
    werauchimmer
    Gast
     
    Zitat Zitat von Dada Beitrag anzeigen
    Werte zwischen 0 und 65.535, bzw. -32.768 und 32.767
    Das sind 16-Bit-Werte, die tatsächlichen 32-Bit-Integer gehen von −2.147.483.648 bis 2.147.483.647, dafür muss man lange schürfen

  4. Homepage besuchen Beiträge anzeigen #4 Zitieren
    General Avatar von Dada
    Registriert seit
    Jan 2007
    Ort
    Krefeld
    Beiträge
    3.729
     
    Dada ist offline
    Ich sollte manchmal die Klappe halten.. Ich sag ja, als hätte ich gestern gesoffen

  5. Beiträge anzeigen #5 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Zitat Zitat von werauchimmer Beitrag anzeigen
    Das sind 16-Bit-Werte, die tatsächlichen 32-Bit-Integer gehen von −2.147.483.648 bis 2.147.483.647, dafür muss man lange schürfen
    Und falls dir das nicht genug ist, gibt es in LeGo auch 64bit-Integer Aber ich bezweifle ebenfalls, dass ein Spieler über 2 Milliarden Erz schürfen wird.

  6. Beiträge anzeigen #6 Zitieren
    research Avatar von NicoDE
    Registriert seit
    Dec 2004
    Beiträge
    7.410
     
    NicoDE ist offline
    Der Parser ist bei negativen Integer-Literalen eigenwillig (es wird der Minus-Operator aufgerufen, aber 2147483648 ist kein gültiger Integer), deswegen ist die Verwendung einer Konstante sicherer:
    Code:
    func int saturated_add_int(var int a, var int b)
    {
    	if (a > 0) {
    		if (b > (2147483647 - a)) {
    			return 2147483647;
    		};
    	} else if (a < 0) {
    		// constant to avoid unary minus operation for the integer literal
    		const int INT_MIN = -2147483648;
    		if (b < (INT_MIN - a)) {
    			return (+INT_MIN);  // return the value, not the symbol reference
    		};
    	};
    	return (a + b);
    };
    "Unter diesen schwierigen Umständen bin ich mir sicher, daß diese guten Menschen meinen augenblicklichen Bedarf an deren Gold verstehen werden." -- Connor

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide