![]() |
[PHP] Kämpfe bei Browsergames mit verschiedenen Einheiten
hi leutz!
Ich möcht mit PHP nun ein Spiel anfangen und stehe gleich bei einer Frage: Wie kann ich es machen, dass ich einen Kampf mit verschiedenen Einheiten/Einheitenklassen simuliere/generiere? Also ein Spieler hat halt X EinheitenA, Y EinheitenB und der andere Spieler hat halt Z EinheitenC Wie rechne ich das dann aus? Am besten wäre es natürlich, wenn man das so machen könnte, dass jede Einheit eigene Lebenspunke hat (Meinetwegen kann man sie nach einem Kampf heilen/reparieren) Weiß jemand, wie ich das anstellen könnte? |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Mit php ein Spiel entwickeln...da kommst du nicht weit. PHP wird "server side" ausgeführt. Besser wäre ein Java-Spiel...
|
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Nunja, mir gefällt eben PHP und die Spieleentwicklung :D
Die Community wünscht sich außerdem ein eigenes Spiel ^^ Trotzdem hätte ich gerne eine Antwort zum Thema :( (Dass ich nicht allzu weit komm, ist mir klar ;) ) |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Hi!
Du könntest für jede Einheit Lebenspunkte, Angriffspunkte & Vertedigungspunkte. Dann lässt du die Einheiten angreifen, ziehst von den Angriffspunkten die VP des Opfers ab, und lässt den Rest dann von seinen LP abziehen. Das ist jetzt aber sehr einfach gestrickt! :-D Du kannst noch Trefferwahrscheinlichkeit bzw. Trefferskill/Waffenskill, Verteidigungwarscheinlichkeit bzw. Ausweichen/Parieren hinzufügen usw. Du siehst schon, eine sehr komplexe Sache :) Nun denn, hoffe, konnte dir helfen bzw. dich ein wenig anregen, Cya, Dj_Base |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
![]() Interaktive Singleplayer-Minispiele können i.A. natürlich nicht in PHP geschrieben werden. |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
|
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Stimmt. Blöde Formulierung.
"Echtzeit" passt besser, stimmt aber auch nicht ganz :P |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Generell gilt eig.:
Je mehr Faktoren, desto größer die Streuung der Möglichkeiten. Allerdings sollte es natürlich für Benutzer nich ersichtlich sein. O.g. Punkte wie Stärke, Trefferwahrsch., ... sind ein guter Ansatz, du musst eben nur viel rumtesten, dass man gute Ergebnisse bekommt. Multiplikatoren & Zufall spielen dabei eben eine große Rolle. Kleines Beispiel: Es gibt Krieger mit den Eigenschaften Waffenstärke, Kampfstärke & Treffsicherheit. SpielerA's Einheit besteht aus 10 Kriegern, die von SpielerB aus 11. Nun kannst du einfach die Gesamtstärke eines Kriegers berechnen und als Summe der einzelnen Krieger zusammenfassen:
Code:
(Einheitsstärke = Gesamtstärke der Einheit ; Waffen-/Kampfstärke, Treffsicherheit jeweils vom aktuellen Krieger in der Schleife)
für jeden krieger tu
Einheitsstärke += ((Waffenstärke + (Kampfstärke * Random )) * Treffsicherheit); Dann kannst du z.B. das Verhätlnis SpielerA zu SpielerB ausrechnen und machst einen Zufallsgenerator, bei dem dieses Verhältnis als Chance gilt (damit man als unterlegener Spieler trotzdem eine Chance auf den Sieg hat). Das wäre z.B. eine kleine Grundidee. air |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Nun gut, soweit verstanden :)
Aber wie mache ich das denn überhaupt, dass ich weiß, welche Einheiten drangenommen werden? Also wie soll ich dann den SQL durchführen? Bzw. dann eben die Schleife... |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
Also solltest du dir erstmal einige grundlegende Gedanken darüber machen, wie du z.B. solche Sachen wie die Anzahl der Einheiten, die ein Spieler zum Kampf schickt, in der Datenbank abgelegt werden. (Und überhaupt darüber, was man alles in der Datenbank speichern muss.) Danach kann man auch die entsprechenden SQL-Befehle erstellen. ;) MfG Binärbaum |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Ich hab auch mal eins programmiert und habs so gemacht:
In der Tabelle wo die Ressourcen drinnen stehen, steht auch ein UNIX-Timestamp. Und zwar der, zu dem die Daten das letzte Mal aktualisiert wurden. Dann rechne ich mit die Sekunden aus, die nachzurechnen sind, und fertig. Dann kann man schon rechnen. So kann man das im Prinzip mit jedem Zeitlichbedingten Faktor machen. Grüße Faux |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
k, leutz :D
Also das Ganze soll so aussehen: Es gibt eine eigene Tabelle für Einheiten (hui...) Meinetwegen: id, name, owner, gruppe, ... tja, jetzt wäre es richtig schön, wenn man auf einer seite (meinetwegen auf der man den angriff starten kann) per Haken bei den Einheiten anwählen kann, wer in den Krieg ziehen soll. (Checkbox, weil ich es machen will, dass jede Einheit individuell sein kann :) ) So... meine Probleme: Wie löse ich das mit den Haken - bzw. wie mache ich dazu eine SQL-Abfrage? und wie gehts dann weiter ^^ Ich hätte das gerne so: Ich einer Tabelle wird abgespeichert, welche Kämpfe noch bevorstehen und wie lange es noch dauert, bis die schlacht anfängt. => Im Mittelalter dauerte es auch, bis man zum Schlachtfeld kam ;) So... jetzt wenn ein Spieler meinetwegen eine neue Seite öffnet - oder sich ein Spieler neu einloggt - dann soll überprüft werden, welche Schlachten bereits überfällig sind und diese eben dann simuliert. //EDIT: ------------------------- Zitat:
|
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
|
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Axo, ja :)
Ja, ja, so ein Ressourcensystem hab ich schon gemacht ;) Natürlich noch etwas ausgeschweifter, aber trotzdem danke für den hinweis ;) Bitte zurück zum Thema :) |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Empfehlenswert wäre da nicht feste Werte auf Angriff oder Parade. Hatte mal vor einiger zeit was ähnliches Geplant. In meinen Test haben feste Werte plus modi doch recht wahrscheinliche Ende. Hier wäre ein anderer Modi (aus P&P RP abgeschaut), was das ganze doch unwahrscheinlicher macht, das ein kleiner einen großen umhaut aber trotzdem möglich läßt.
Alle werte sollten irgendwo zwischen 5-20 liegen (nicht zu hoch greifen, da an sonnsten die Rechnerei später fast außerdimensionale Zustände bekommen könnte). Select * from Einheiten where Position=(eine position, falls Weltenbasierend oder Person, falls Personenbezogen) Nu die Einheitenwerte eine aus eigener tabelle auslesen, hier besten jede Einheit eine eigene position (ich empfehle einzelne einheiten, da massen wieder ähm zu plump sind). Zum Kampf: Beispiel: 3 Krieger vs. 2 Monster AT= 6 8 PA= 3 5 LeP= 6 9 TP= 1W3 2w4 RS = 3 1 Attacken: 1 1 Parade 1 1 Ini 3 5 So zu den Werten AT=Attacke PA= Parade LeP = Lebenpunkte, TP 1W3 bedeutet das dieser bei treffer 1x einen Schaden von 1-3 macht, das monster jedoch 2x von 1-4 (effektiv möglich 2-8). Kampfscript würde ungefähr so aussehen (Kampf-Gruppierung aufstellen) 1x 1 Krieger vs 1 Monster 1x 2 Krieger vs 1 Monster oder User-Defined 1x 3 Krieger vs 1 Monster 1x - vs 1 Monster (was bedeutet, das das monster einen der drei monster angreift, aber einfachhalber immer den selben) Jeder Krieger hat 1 Attacke und 1 Parade pro Runde. Allgemeines Kampfscript: Begin: Die Figur mit den höchsten iniwert hat den ersten schlag (Hier kann man noch einen Randomwert von 1W6 einrichten, der jede Runde neu ausgewürfelt wird) Attacken: Random(20) < AT = daneben Ranodm(20) > AT = getroffen Paraden: Random(20) < PA Abgewehrt Random(20) > PA getroffen Treffer: Krieger: LeP - (Random(3) - RS(des Gegners)) Monster: LeP - (2xRandom(4) - RS(des Gegner)) Jeder darf so häufig angreifen wie er Attacken hat pro runde, selbe gilt für die auch Verteidigung, welche jedoch nur bei einer geglücken Attacke verbraucht wird (verfällt dann aber am Ende der Runde). Bei 3K vs 1M bedeutet dies, das, wenn alle treffen, das monster nur den ersten schlag abweren könnte. Nach jeder Runde muß sich jeder Kampfteilnehmer neu Orientieren, um evtl neuen gegner zu bestimmen. 3 vs 1M und - vs 1M 1 Runde Monster1 greift Krieger 2 an. 9 = Daneben. Monster2 greift Krieger 1 an. 12 = Daneben. Krieger1 greift Monster1 an. 10 = Daneben. Krieger2 greift Monster1 an. 2 = Getroffen. Monster1 versucht zu parieren. 2 = Ausgewichen Krieger3 greift Monster1 an. 14 = Daneben. 2 Runde: Monster1 greift Krieger 2 an. 3 Getroffen. Krieger 2 versucht zu parieren. 12 - Nicht pariert Krieger 2 erhält 3 Schadenspunkte. (1w4 = 2 2w4=4 zusammen 6 - RS 3= Schaden 3) Krieger1 greift Monster1 an. 10 = Daneben. Krieger2 greift Monster1 an. 2 = Getroffen. Monster1 erhält 2 Schadenspunkte. (1w3 = 3 - RS 1= Schaden 1) Krieger3 greift Monster1 an. 4 = Getroffen. Monster1 bekommt durch seine starke rüstung keinen schaden (1w3 =1 - rs 1 = schaden 0) usw. Irgrendwann ist einer hin und der Sieger muß sich einen verbleibenen Gegner suchen. Evtl kann man hier neben Gold auch Erfahrungspunkte verteilen und so die Sieger aufsteigen lassen. Wodurch sie in höheren Stufen dann stärker zuschlagen oder besser Parieren, mehr attacken haben usw. Natürlich kann man viel Modifizieren. So kann einer eine andere Waffe tragen (anderer Schaden) oder Kampfreflexe bekommen (höhrer Iniwert) oder besser mit der Waffe umgehen können, per Talent (Höhere AT Wert). Patzer, Kampfmanöver, Zauber usw. können vieles verändern. Wie man das macht. Um in Delphi Worten zu sprechen. Um bei obrigen Beispiel zu bleiben, mußt für jeden Teinnehmer ein eigenes Objekt erstellen. Nicht zu vergessen, das einige werte Statisch sind (AT, PA) andere Varibel (LeP und INI), daher brauchen letzte natürlich zwei zeilen (z.b., max. LEP und akt. LeP) Dann noch eine INI Tabelle (Wann darf Object handeln) und eine Zieltabelle (Welches Object wen angreift). Evtl kommt noch eine Entfernungstabelle hinzu, was alles wieder komplierter machen kann. Dann kann man auch gleich Waffenreichweite usw. hinzufügen (ups ich schweife ab) In einen Browsergame empfehle ich dir, nicht mehr als zwei Spieler einen Kampf machen zu lassen. da dies doch sehr viel (häufig nutzlosen) Skripting zu folge hat (davon abgesehen, das du dafür sogen mußt, das die spieler gleiche chancen haben bis hin zum Con-Verlußt). Für weiteren Ideen stehe ich gern zur verfügung. Gruß dat Tala PS: Bevor du fragst. Außer auf dem Papier existiert mein Spiel mangels Zeit nicht. |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
boah, das ist jettz ein bisschen viel auf einmal :shock:
ich werds mal abspeichern und in ruhe durchgehen... Natürlich werden nur max. 2 Spieler bei einem Kampf teilnehmen ;) Ist aber ne recht coole Idee und so wie ich das sehe aus schön erweiterbar :) Jetzt nur mehr eins: Wie genau lese ich das nun aus der DB aus? Ich hätte das schon gerne mit den Checkboxen bei Einheiten :) Also was ausgelesen werden muss: Checkboxen - welche Einheiten sollen mit? und Wie soll ich auslesen, welche Einheiten in einer Schlacht sind? IDEE: Ich starte einen Angriff: Auswahl per Checkboxen (öh... wie geth das? ^^) Dann werden die ids der Einheiten (auto_increment - id) in eien DB gespeichert. Die DB "schlachten" könnte folgendermaßen aussehen: id int(x) [um per Admin eine Schlacht rauszulöschen] angreifer int(x) [id des Spieler, der angreift] verteidiger int(x) [id des Verteidigers eben] einheiten string(x) [alle ids der angreifenden Einheiten - Bsp.: "1,4,22,24,31,5"] So... wenn nun eine Schlacht stattfindet, wird einfach überprüft, welche Einheiten des Verteidigers grade eben zum Verteidigen bereit sind und die Einheiten des Angreifers werden halt so ausgelesen, dass ´einheiten´ exploded wird, etc... Kann das so klappen oder hat jemand was besseres? //EDIT: Am Rande: Kennt jemand ein Opensource-Spiel, das diesen "Idealen" sntspricht? Wenn ja, kann man ja was rausgucken :stupid: |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
int angriffID int verteidigungID Dann macht man eine zusätzliche Tabelle, nennen wir sie mal "Look-Up-Table", mit zwei Spalten: int angriffID int einheit Der erste Wert entspricht der Spalte angriffID oder verteidigungID aus der Tabelle "schlachten". Der zweite Wert (einheit) ist eine eindeutige Nummer (ID) für eine bestimmte Einheit (die genauen Angriffswerte der Einheit könnten dann z.B. in einer weiteren Tabelle gespeichert sein). Ein Ausschnitt daraus könnte wie folgt aussehen:
Code:
Somit weiß man dann, dass z.B. die Einheiten mit der ID 1,4,22,24,31,5 zum gleichen Angriff/Angriffsziel gehen.
angriffID einheit
1 1 1 4 1 22 1 24 1 31 1 5 2 7 2 9 ... ... Somit bekommt man z.B. über
SQL-Code:
alle Einheiten-IDs für den Angriff mit der Nummer x.
SELECT * FROM look_up_table WHERE angriffID=x
Nehmen wir also an, der obige Tabellenausschnitt stelle alle bisherigen Einträge dar, und ein Beispieldatensatz aus der Tabelle "schlachten" wäre
Code:
Demzufolge hätte der Spieler mit der ID 23 den Spieler 45 angegriffen. Die angreifenden Einheiten sind unter der AngriffsID 1 zusammengefasst, laut zweiter Tabelle sind das also die Einheiten 1,4,22,24,31 und 5. Die verteidigenden Einheiten des anderen Spielers, zusammengefasst unter der verteidigungsID 2, sind die Einheiten 7 und 9.
id angreifer verteidiger angriffID verteidigungID
77 23 45 1 2 Das wär's erstmal dazu. ;) MfG Binärbaum |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Boah, du hast mich genau verstanden :)
Mir selbst hat der Explode auch nit gefallen, abe rich wär zu der Uhrzeit auf nichts anderes gekommen ^^' So... jetzt eigentlich nur mehr die letzten beiden Fragen: 1. Wie finde ich eine einmalige Schlachten-ID, die ich dann auch für die Einheiten in der look_up nehmen kann? 2. Wie führe ich nun dann den Kampf aus? Also wie das thematisch funktioniert, hat ja Taladan schon erklärt, aber wie programmiere ich sowas? :gruebel: Ihr müsst wissen, dass ich zwar schon länger progge (auch Browsergames) aber bisher nur Rollenspiele mit 1v1 Systemen :stupid: Also so ein Strategiespiel ist für mich absolut neues Gelädne :( |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
Zitat:
1. Automatiesiert: Die einfachste ist, es automatisiert machen zu lassen (Der Server bestimmt die Handlung). Bedeutet der Spieler erhält am Schluß nur eine Auswertung des Schlachtenverlaufs (wie bei meinen vorherigen Posting). Dieses kann man über Formeln und Proceduren in PHP lösen. Die anderen Möglichkeiten sind nur möglich, wenn beide Teilnehmer eingeloggt sind. Hier muß man zusätzlich auf evtl Con-Lost achten. 2. Ein Kampfscreen, halbautomatiesiert: Eine Quasigegenüberstellungsanzeige. Hier kann der Spieler den Kampfablauf im vorfeld der Runde bestimmen, was er mit seinen Einheiten macht. Diese werden dann Automatisch im Inizeitraum ausgeführt. Jeder Spieler hat eine bestimmte Zeit seine Befehle für die Runde zu gehen. 3. Ein Kampfscreen, manuell: Eine Art Kampffeld wird beiden Teilnemern angezeigt. Ähnlich einen Schachbrett (wobei hier 6eck-Felder eher die richtige Wahl ist). Abwechselnd darf jeder in seiner Ini-Phase seine Einheitenbefehle bestimmen. (Gehen, Angreifen, Zaubern). Jeder spieler hat eine bestimmte Zeit seine befehle pro Einheit zu geben. Am leichtesten ist natürlich Nr. 1 zu scripten. Hier gäbe es noch eine Abwandlungsmöglichkeit, das jede Einheit eine art Kampfscript vom Spieler bekommt. Magier z.b. erst starke Zauber, dann Schwache, dann Kämpfen. usw. Ein Kampfscript ist aber fast genau so schwer zu scripten wie Nr.2, daher wähle hier lieber Nr.2 Am schwirigsten ist Nr. 3. Was ich rein über PHP eher als nahezu unmöglich ansehe (nicht so ASP.Net, hier sehe ich es eher als Herausforderung). Da mich dieses Thema sehr interessiert, kannst du dich auch gern per ICQ an mich wenden. Gruß Marco PS: Wer P&P RPG spielt, merkt, das sich fast jedes Computer-Spiel (mit Verstand), sei es Rollenspiel, Ego-Shooter oder Strategie, ein wenig nach diesen oder jenen RPG-Schema orientiert. Allein Wertveränderungen und Geschwindigkeiten (und damit die dahinterliegenden Formeln) werden häufig intern ähnlich gehandelt. Im laufe der Zeit haben sich natürlich andere Wege gebildet, aber die Grundzüge sind fast überall halt ans RPG angelehnt. |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Ja, schon klar, wie das aussehen soll, das Kampfscript, nur wie soll das in PHP aussehen? Also dass zwei Einheiten mit drei kloppen, etc? (Variante 1)
So... die Unique-ID per auto_increment ist mir auch klar, nur wie kann ich dann bereits beim Eintragen wissen, wie die lautet? Kann man die irgendwie sogar gleich ebstimmen? |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
Es gibt, glaube ich, sogar eine Funktion, die sowas (oder zumindest etwas ähnliches) macht: ![]() Zitat:
Binärbaum |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
- Schlacht - Members Schlacht ID (autoInc) Agressor Verteidiger Timestamp (wichtig) Hier selectest du nach Timestamp, Agressor udn Verteidiger (die du in eienr Variable zum suchen abspeichern solltest). und ließt dann die ID aus. Memnbers ID (autoInc) Schacht_ID Einheit Zugehörtigkeit Zitat:
1. Mehrdimensionale Arrays: So kann man leicht quasiObjecte erschaffen.
XML-Code:
$array = array ("Angreifer" => array ("AT" => 5, "PA" =>3, "LeP" => 12 usw.)
$array = array ("Verteidiger" => array ("AT" => 5, "PA" =>3, "LeP" => 12 usw.)
Code:
So kannst du Die arrays fast als werte wie objecte verwenden.
while ($array[Angreifer,3] or $array[Verteidiger,3]) >= 0 {
dein kampfscript } Statt arrays kann man auch Classen verwendne und dann OOP programmieren. Weitere infos über Arrays, Classen und php findest du hier ![]() 2. Per DB: Schwachsinn, aber auch möglich. Eine eigene Tabelle erstellen, wo du die werte Schritt für schritt änderst. |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
warum bin ich eigentlich nicht selbst drauf gekommen? :?
Sehr vielen Dank! Ich werds mal genau so probieren, nur noch 1 Problem dazu :-D Wenn ich so alle Einheiten in nem Array hab, wie ändere ich dann dazu die Einträge in der Datenbank? ^^ Also bei mir sollte dann der Array wie folgt aussehen: $angreifende_Einheiten = array("Einheit1" => array(....), "Einheit2"=> array(.....), etc.) Dabei sollte man auch beachten, dass Einheiten sterben können, also dann aus der DB gelöscht werden sollen... Mit dieser Frage sollte dann eigentlich das Thema geklärt sein... |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Kurze Antwort da schon viel zu spät umd zu denken ;-).
Wenn der Kampf beendet, also die eine Seite keine Lebenden mehr hat, dann löscht du die einfach per SQL-Delete Befehl, da ja die meisten DB´s SQL fähig sind.
SQL-Code:
Die ID muß dann auch wieder aus den Array gelesen werden (also ein weiterer Punkt im Array wobei du auch bei PHP >5.0 ein Array of TObject machen kannst). Es gibt ein feines Programm, PhpMyAdmin. Dieses kann dir einen entsprechenden Befehl quasi vordefinieren, den du dann nur noch in dein Programm implementieren und mit den Variablen editieren. Dieses Programm funktioniert nur auf PHP basierende Server mit MySQL als DB. (Was ja die Standartkombie ist)
Delete * from 'Einheiten' where ID = XYZ
Zu finden hier ![]() |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
also gut, ich hab mich mal über den letzten tagen mal wieder dran gesetzt und hab jetzt eigentlich alles bis auf eins:
Wie lege ich nun fest, welche Einheit mit welcher kloppt? Bzw. wenn 5 gegen 4 kämpfen, dass eine Einheit gegen 2 antritt... Hab mir da schon viel ausgedacht, was aber immer schief ging... :( |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Ich würde ungefähr so vorgehen.
Als erstes bestimmen, welche Seite die Größere ist. dann die größere Seite nach und nach einen Gegner geben. Wenn die Kleienere am schluss ist, dann wieder von vorne. Damit werden immer die ersten mehrfach angegriffen. Mal einen beispel mit 3:8 3 < 8 Seite 2 vs Seite 1 1 1 2 2 3 3 4 1 5 2 6 3 7 1 8 2 Oder alternativ mit einen zufallsgenerator verteilen. Das bringt auch mehr ähm Kampfrealität. Gruß |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Gut, natürlich wäre ein Zufallsgenerator am Einfachsten :)
Aber mein Spiel sollte diesmal mit Qualität glänzen ;) Also... Das mit dem "der Reihe nach" mach ich wahrscheinlich mit ner WHILE-Schleifer, oder? :gruebel: Jetzt ist es natürlich so, dass ich ja ein kleines Ekel bin und natürlich das mit dem Zuffi haben will :mrgreen: So... Eigentlich einfach: Einheit[greiftEnheitenIDan] = random(maxGegneranzahl) So... Jetzt überkommt mir, dass es aber ein "unberechenbarer Zufall" ist, also manche Einheit wird nicht angegriffen! Wie sollte ich das verhindern? (So... jetzt wäre mir eine Idee gekommen, was jedoch mit der Spielidee zu tun hat: Durch irgendein bestimmtes Ereignis - Geld, "Ausruhen-Option", etc. - könnte man ja bestimmen, ob es Zufall- oder Reihenkampf ist ;) tut jetzt aber nichts zur Sache ^^) |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Du könntest neben MaxAnzahl auch MinAnzahl machen.
Also statt bla = Random(MaxZahl); -> bla = Random(MaxZahl + MinZahl) - MinZahl; air |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
Beispiel: 5 gegen 5 Die Würfel der angreifenden fünf wie folgt bei Random: 2 3 4 4 2 ==> 5 und 1 werden nicht angegriffen :( |
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Dann setze als erstes 1 vs 1. und erst bei den überzähligen deine Randomschleife
|
Re: [PHP] Kämpfe bei Browsergames mit verschiedenen Einheite
Zitat:
ich schätze auch, dass das aussehen des Einheitenarrays dann so stimmen sollte : $angreifende_Einheiten = array("Einheit1" => array(....), "Einheit2"=> array(.....), etc.) wenn nicht, bitte melden ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz