Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Tool für Zufallerstellung von BBs
#21
(26.03.2011, 19:33)Liu Bei - Laozi Wrote: WENN BHPtotal > BHPmax, dann {(BHPmax - BHPgebäude) / BHPeinheiten} * BHPeinheiten

Ich kann dir folgen, und die Idee ist gut, aber weisst du, was rauskommt, wenn du diese Zeile da oben ausrechnest?

((BHPmax - BHPgebäude) / BHPeinheiten) * BHPeinheiten = BHPmax - BHPgebäude Big Grin

Das stimmt zwar so, kommt aber ein bisschen komisch rüber ^^
Müsste glaub etwa so aussehen (ich schreib lieber in PHP Wink):

PHP Code:
// $units (ein Array) enthält die Einheiten, die per Zufall ausgewählt wurden
// $BH_blabla sollte klar sein
if($BH_units > ($BH_max $BH_builds))
{
$BH_factor = ($BH_max $BH_builds) / $BH_units;
foreach(
$units as $key => $new_units)
{
$units[$key] *= $BH_factor;
}


LG
Molt
Reply
#22
UUps ^^
Hab ich so noch net gesehn Big Grin

Sieht richtig aus, dein PHP.
Ich kenn mich da nicht so aus, aber muss das nicht in Klammern
--> $BH_factor = ($BH_max - $BH_builds) / $BH_units;
Sonst wird der doch zuerst die builds / units machen und das dann von max abziehn. Und das wäre der falsche Faktor Wink
Reply
#23
ist denke ich nen Tippfehler von Molt im "IF-Clause" ists ja so Big Grin
LG
steffen
Reply
#24
Jap, sorry.
Edited Wink
Reply
#25
Tool Smile
Reply
#26
Ok, ich hab's geblickt & ich werde es mal ausprobieren...
Kann aber für nichts garantieren Big Grin
Manchmal denke ich:
Reply
#27
Dieses Problem ist mir auch schon ins Auge gesprungen!

Variante 1

Wir müssten den Gesamtbauernhofgebrauch von Gebäuden rechnen und den Nutzern des Tools empfehlen, die Mindestausbaustufe des Bauernhofs hoch genug zu setzen, damit alle Gebäude Platz haben.
Bei ersten Berechnungen wären das 4500 BHP-Plätze für Gebäude, weshalb der Bauernhof auf Stufe 20 sein sollte (4900 Plätze).

Da aber der Admin im entpackten htdocs-Ordner die Werte von gebrauchten BHP-Plätzen und vom Bauernhof maximal geschaffenen Plätzen modifizieren kann, müsstest du das in Funktion von diesen Werten schreiben.
Das Tool müsste also in jeder Ds-Lan die maximal mögliche Anzahl an von Gebäuden benötigten BHP-Plätzen zusammenzählen, und die dafür vorgesehene Bauernhofstufe schlussfolgern.

Methode 1Big Grinas Tool müsste dann diese Stufe in die Empfehlung reinschreiben.
Wenn der Benutzer dann einen niedrigeren Wert eingibt, und der Zufall es so will, dass der Bauernhof überschritten wurde, ist das sein eigenes Problem.
Methode 2Big Grinas Tool kuckt, ob die vom Benutzer als Minimalstufe des Bauernhofs gewählte Zahl gleich oder größer als die errechnete Zahl ist.
Wenn ja, dann führt sie die Aktion aus.
Wenn sie aber kleiner war, muss das Tool zu der gewählten Stufe die Zahl x hinzufügen, so dass die Minimalstufe gleich die errechnete Zahl ist. Parallel dazu, muss dann auch die Maximalstufe des Bauernhofs mit dieser Zahl x summiert werden, damit die Maximalstufe nicht kleiner ist als die Minimalstufe. Wenn die neu errechnete Maximalstufe größer ist, als der Bauernhof sein kann, dann wird sie automatisch auf die größt mögliche Stufe des Bauernhofs gesetzt.

Persönlich finde ich die Methode1 besser.


Variante 2

Wir müssten es genau so wie mit den Truppen machen, also so, dass die Gebäude alle mit einem Faktor $BH_builds / $BH_max multipliziert werden und anschließend abgerundet werden.


Meine Meinung

Ich würde die Variante 1 bevorzugen, und zwar mit der Methode 2.
Die ist zwar komplizierter, aber auch besser meiner Meinung nach Wink

Mit der Variante 2 sinkt die Chance, dass ein Gebäude voll ausgebaut sein kann, weil die Stufen ja mit dem Faktor verkleinert werden und noch abgerundet, und das find ich nicht gut.


Was denkt ihr ?
Reply
#28
Das Problem mit den Gebäuden hab ich ganz einfach gelöst:

Ich habe die BH-Plätze, die alle Gebäude benötigen ausgerechnet und dann den Bauernhof (mit noch ein paar zufällig größeren Stufen) abgestimmt.
Mit PHP sieht das ganze dann so aus:
PHP Code:
// $bh_buildings ist die Anzahl der BH-Plätze die alle Gebäude, welche Zufällig ausgewählt wurden, brauchen.
// Das Array $arr_farm kommt von der farm_limits.php, die ich includiert habe (dort stehen alle BH-Plätze pro Bauernhof-Stufe drin).
// $bh_free sind die BH-Plätze, die man mit der Bauernhof-Stufe $stufe haben kann!
foreach($arr_farm as $stufe => $bh_free)
    {
     if(
$bh_free >= $bh_buildings)
        {
         
$bh_stufe $stufe;
         break;
        }
    }
// War nur ein Beispiel von mir -> Es werden zwischen 2 und 5 Stufen zu der Bauernhof-Stufe hinzugefügt (für Truppen...).
$bh_stufe $bh_stufe rand(25);
// Wenn es aber die Maximalstufe überschreitet, wird natürlich die Maximalstufe genommen.
if($cl_builds->get_maxstage("farm") < $bh_stufe)
    {
    
$bh_stufe $cl_builds->get_maxstage("farm");
    } 

Nach deinem obrigen Post ist das also Variante 1 mit einer veränderten Methode 2 Wink

Wie machen wir dann das mit den Truppen? Ich meine: Dann kann man auch nicht mehr das mit dem Min. und Max. machen, weil ein User
nicht gleich ausrechnen kann wie viel Truppen es sein dürfen (wegen BH-Plätzen).

Idee:
Man kann einen Haken bei den Truppen machen, die gebaut werden sollen. Die Anzahl wird dann dem Bauernhof entsprechend zufällig generiert Big Grin
Manchmal denke ich:
Reply
#29
haha Big Grin
so einfach gehts ^^

Ja, mit den Truppen können wir es dann so machen wie du jetzt vorgeschlagen hast Wink

PS: Vergiss nicht, dich für deine Arbeiten vorzubereiten Big Grin
Reply
#30
#Tool ist releast worden#

Das Vorbereiten hab ich vergessen, aber weißt du was?
Mir egal. 10min lernen vor der Schule reicht vollkommen ;D
Manchmal denke ich:
Reply
#31
Ist das normal, dass ich, wenn ich dich bewerten möchte auf deinem Profil und deswegen auf "Bewerte" klicke einfach nichts passiert ??
Reply
#32
ähm, keine Ahnung? Versuchs doch mal mit meinem Link in der Signatur "Klick hier!" ;D
Manchmal denke ich:
Reply




Users browsing this thread: 8 Guest(s)