Hey,
es geht darum bei der Erstellung eines Spielcharakters (inkl. Rasse und Klasse) bestimmte Attribute (Stärke, Leben etc.) in die Datenbank zu schreiben und ich nicht weiß wo man dabei anfängt :-(
In einer Tabelle stehen GRUNDWerte für die Rasse, welche sich im Verlauf des Spieles nicht mehr verändern. Irgendwomit muss man ja starten und es ist schicker, wenn die Werte etwas variieren.
Beispiel `Rasse`:
Mensch, 25 Stärke, 23 Intelligenz
In einer weiteren Tabellen stehen levelbasierte Werte für eine Klasse, welche pro Level erneut den gesamten Charakterwerten gutgeschrieben werden sollen.
Beispiel `Klasse`:
Krieger, 4 Stärke, 0 Intelligenz
Beispiel des gewünschten Endergebnisses:
User erstellt einen menschlichen Krieger, Standardlevel 1.
Programm rechnet nun Grundwerte aus `Rasse` + Werte aus `Klasse` * Charakterlevel 1
In Zahlen:
25 Stärke + 4 Stärke * 1 = 29 Stärke
23 Intelligenz + 0 Intelligenz * 1 = 23 Intelligenz
Charakter steigt eine Stufe:
25 Stärke + 4 Stärke * 2 = 33 Stärke
Intelligenz natürlich auch, obwohl sich nichts ändert... ich denke dieser Teil der "Optimierung" hinsichtlicher unnötiger Rechnerei WEIL multipliziert mal 0 übersteigt meine derzeitigen Fähigkeiten
Wo fange ich an?
Meine grobe Idee wäre folgende:
Frage: Wie ist es möglich die insgesamt 5 Attribute während der Erstellung der Spielfigur zu errechnen und wieder in die Datenbank (andere Tabelle) zu schreiben?
es geht darum bei der Erstellung eines Spielcharakters (inkl. Rasse und Klasse) bestimmte Attribute (Stärke, Leben etc.) in die Datenbank zu schreiben und ich nicht weiß wo man dabei anfängt :-(
In einer Tabelle stehen GRUNDWerte für die Rasse, welche sich im Verlauf des Spieles nicht mehr verändern. Irgendwomit muss man ja starten und es ist schicker, wenn die Werte etwas variieren.
Beispiel `Rasse`:
Mensch, 25 Stärke, 23 Intelligenz
In einer weiteren Tabellen stehen levelbasierte Werte für eine Klasse, welche pro Level erneut den gesamten Charakterwerten gutgeschrieben werden sollen.
Beispiel `Klasse`:
Krieger, 4 Stärke, 0 Intelligenz
Beispiel des gewünschten Endergebnisses:
User erstellt einen menschlichen Krieger, Standardlevel 1.
Programm rechnet nun Grundwerte aus `Rasse` + Werte aus `Klasse` * Charakterlevel 1
In Zahlen:
25 Stärke + 4 Stärke * 1 = 29 Stärke
23 Intelligenz + 0 Intelligenz * 1 = 23 Intelligenz
Charakter steigt eine Stufe:
25 Stärke + 4 Stärke * 2 = 33 Stärke
Intelligenz natürlich auch, obwohl sich nichts ändert... ich denke dieser Teil der "Optimierung" hinsichtlicher unnötiger Rechnerei WEIL multipliziert mal 0 übersteigt meine derzeitigen Fähigkeiten
Wo fange ich an?
Meine grobe Idee wäre folgende:
PHP:
// Grundwert für die Rasse
// Wie die Rasse ($var1) aus dem Formular zum Erstellen eines Spielcharakters übergeben?
// Wie die ganzen (5) AttributIDs ($var2) erhalten?
$sql = "
SELECT
attributAmount
FROM
race_attributes
WHERE
raceID = $var1
AND
attributID = $var2
";
$result = $db->query($sql);
// Levelwert für die Klasse
$sql = "
SELECT
attributAmount
FROM
class_attributes
WHERE
classID = $var1
AND
attributID = $var2
";
$result = $db->query($sql);
/*
hier rechnen...
Für die Erstellung des Characters reicht
Grundwert `race` + Levelwert `class`
aber dafür müssen die richtigen Werte
gefunden werden... :-(
*/
// Erklärung: attributID
// 4 = Stärke
// 5 = Intelligenz
// usw...
$sql = "
INSERT INTO character_attributes
(characterID, attributID, attributAmount)
VALUES
(1, 4, $x),
(1, 5, $x),
(1, 6, $x),
(1, 7, $x),
(1, 8, $x);
"; // muss das Semikolon hinter die letzte VALUE?
$stmt = $db->prepare($sql);
$stmt->bind_param('iiii'); // geht das?
$stmt->execute()
$stmt->close();
Frage: Wie ist es möglich die insgesamt 5 Attribute während der Erstellung der Spielfigur zu errechnen und wieder in die Datenbank (andere Tabelle) zu schreiben?
Zuletzt bearbeitet: