Onlinehighscore-Tutorial
Übersicht BlitzBasic FAQ und Tutorials
KryanBetreff: Onlinehighscore-Tutorial |
Mi, Mai 17, 2006 20:02 Antworten mit Zitat |
|
---|---|---|
Onlinehighscore
So...mal ein Tutorial meinerseits Nötige Kenntnisse: -BlitzBasic -HTML, PHP -MySQL Die Kenntnisse sind kein Muss!!! Wer wirklich daran interessiert ist, und diese "Fremdsprachen" versucht, zu verstehen, der wird auch erfolg haben 1. Teil - MySQL-Datenbank anlegen So...als erstes muss natürlich eine MySQL-Datenbank her. Die nötigen Felder belaufen sich zunächst auf id (als "Key"), name und punkte. So sieht der MySQL-Code zur Erstellung unserer Datenbank aus: BlitzBasic: [AUSKLAPPEN] Für die, die keine MySQL-Datenbank anlegen können (oder nicht wissen wie es geht): ladet euch apache runter ; oder alternativ biete ich es euch an, eine Datenbank zu erstellen, und euch die Zugriffsmöglichkeiten der PHP-Schnittstelle zu übergeben. 2. Teil - Die PHP-Schnittstelle Nun brauchen wir noch einen Übermittler zwischen MySQL und BlitzBasic (man kann es auch direkt von BlitzBasic aus machen, bin in diesem Gebiet aber nicht so bewandt). Hierbei eignet sich die Sprache PHP vorzüglich. Als Schnittstelle braucht man nun zwei PHP-Dateien: - Load.php - Save.php Load erhält von uns keine Parameter. Er dient lediglich dazu, die MySQL-Daten als eine .HTML-Datei dem BB-User zugänglich zu machen. Save erhält nun zwei Parameter von uns: name und punkte Der Aufruf davon geschieht so: HTTP_GET("cultsoft.cu.ohost.de","example/save.php?name="+name$+"&punkte="+punkte) Die Funktion HTTP_GET wird nachher (Teil 3) näher erläutert. Unsere Load.php sieht dann folgendermaßen aus: BlitzBasic: [AUSKLAPPEN] MySQL_QUERY führt einen MySQL-Befehl aus. Das Limit 18 sorgt dafür, dass nur maximal 18 Einträge zurückgegeben werden. Die Tabelle fängt mit hohen Punktzahlen an und hört mit kleinen Punktzahlen auf (ORDER BY punkte DESC). Zum Schluss wird noch das Zeichen ° eingesetzt. Es dient als Schlusszeichen, falls die Webspaceanbieter da immer noch Haufen an so nutzlosen "Ads" ranhängt Nun kommt Save.php: BlitzBasic: [AUSKLAPPEN] Fast genauso wie vorher, nur dass diesmal zwei Parameter "abgefangen werden: Code: [AUSKLAPPEN] $name = $_GET["name"];
$punkte = $_GET["punkte"]; Nun verschicken wir einen neuen Eintrag an $dbtabelle mit MYSQL_QUERY. So viel zu der PHP-Schnittstelle 3. Teil - Zugriff mit BlitzBasic Wie vorhin schon erwähnt, soll nun erstmal eine Funktion namens HTTP_GET erklärt werden. Erstmal die Funktion selbst: BlitzBasic: [AUSKLAPPEN]
Die drei Parameter werden nun erstmal erläutert: - URL$: Der Servername, in unserem Beispiel "cultsoft.cu.ohost.de" - URLFile$: Der Dateiname mit dem Pfad, bei uns einmal "load.php" und "save.php?save.php?name="+name$+"&punkte="+punkte - InFIle$: Eine temporäre Datei, die als .HTML auf dem Rechner gespeichert wird, und die notwendigen Informationen übergibt. Hier nun ein kleines Spiel, wo es deutlich wird: BlitzBasic: [AUSKLAPPEN] hscs=18 So viel Spaß mit diesem Wissen |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
D2006Administrator |
Mi, Mai 17, 2006 20:29 Antworten mit Zitat |
|
---|---|---|
Dieses Tutorial wirkt auf mich sehr, als hättest du es geschrieben, um mal ein Tutorial geschrieben zu haben. Denn es ist SEHR lückenhaft.
Einige Kritikpunkte die ich habe: Dein MySQL Code ist unsauber. So fehlen die `` und '' Zeichen Du wählst überdimensionierte Variablentypen für die Datenbank Du lässt nur 7 Zeichen als Namen zu Du gehst nicht auf die Gefahr des MySQL Injection ein Du hast keinen Browser Schutz drin. Jeder Klient kann, ohne Spiel, neue Highscore Einträge absetzen Im Header gibst du die aufzurufende Seite als Referrer an und vergisst die Content-length Du gehst kein Stück auf irgendwelche Cheatschutz Varianten ein. Wenigstens einen Lösungsansatz des vor einigen Wochen beredeten Problems, dass man mithilfe illegaler Programme während der Laufzeit die Punktezahl eines Spiel verändern kann, hätte ich mir erwünscht Alles in allem kannst du dich wahrscheinlich auf einige "Cheater Attacken" für dein aktuelles Spiel gefasst machen, wo du doch gar keinen Schutz drin hast. MfG D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Übersicht BlitzBasic FAQ und Tutorials
Powered by phpBB © 2001 - 2006, phpBB Group