php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-09-2006, 15:05
exsilence
 Newbie
Links : Onlinestatus : exsilence ist offline
Registriert seit: Sep 2006
Beiträge: 21
exsilence ist zur Zeit noch ein unbeschriebenes Blatt
exsilence eine Nachricht über ICQ schicken
Standard Duell-Script BG

Huhu Ihr,

also ich programmiere just4fun ein Mini Browsergame, kam bis jetzt auch ganz gut voran, betonung: bis jetzt

Ich weiß nicht wie ich das Duellscript realisieren soll

an Variablen hab ich:



PHP-Code:
$healthpointplayer = array( "3500",  "1600" );

$dmgplayer1 300;
$dmgplayer2 800;

$runden 1
Jetzt sollen die halt sich schlagen bis einer 0 Healthpoint hat,
jedoch weiß ich nicht wie ich es realiseren soll


Hab gestern schon 3-4 Stunden rumprobiert, einfach keine Lösung rausbekommen, will ja auch nicht wegen jedem sch... fragen,
aber scheinbar gehts nicht anders.

PHP-Code:
while($healthpointplayer 0)
    {
$lebensenergieberechnen1 $healthpointplayer[0] - $dmgplayer2;
$lebensenergieberechnen2 $healthpointplayer[1] - $dmgplayer1;

echo 
"Runde $runden <br> ";
echo 
"Spieler1 wurde getroffen mit $dmgplayer2  Schadenspunkten von Spieler2  und hat noch $lebensenergieberechnen1 HP ";
echo 
"Spieler2 wurde getroffen mit $dmgplayer1  Schadenspunkten von Spieler1  und hat noch $lebensenergieberechnen2 HP ";

$healthpointplayer = array("$lebensenergieberechnen1""lebensenergieberechnen2");

$runden++;

Das ist das Script jetzt extrem vereinfacht, hab noch viel mehr Sachen drin. z.B. der Damage sit nur ein durchschnittswert, es können mal 250 sein und mal 350 (hier hab ich jetzt 300 als durchschnitt). Dann wird die Lebensenergie als % angezeigt.
Uund so weiter

Die echo's hab ich erstmal für mich so dahingeschrieben, dass ich beim aufrufen sehe was alles passiert.


Jedoch wird immer nur die 1. Runde "gespielt".
Die energie geht nie tiefer
Ich denke mal dass ich die Werte nach jeder Runde in die MySQL datenbank speichern muss und dann immer abfragen muss.
(hab ich mir einfach mal so gedacht)

Aber das zieht sicher verdammt viel.

Und wie muss ich das bei dem while machen?
ist das richtig so mit $healthpointsplayer?
Überprüft er da das komplette Array oder nur das erste?


Gruß
Exsilence

Geändert von exsilence (15-09-2006 um 16:02 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 15-09-2006, 15:53
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

also ich seh da erstmal ein syntax-error. Das sollte dir dein php-parser aber auch
"sagen".

PHP-Code:
$healthpointplayer array("$lebensenergieberechnen1""lebensenergieberechnen2"); 
greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #3 (permalink)  
Alt 15-09-2006, 16:00
exsilence
 Newbie
Links : Onlinestatus : exsilence ist offline
Registriert seit: Sep 2006
Beiträge: 21
exsilence ist zur Zeit noch ein unbeschriebenes Blatt
exsilence eine Nachricht über ICQ schicken
Standard

Hehe danke,
dass war aber nicht mein orginal code, hab ganz schnell hier einen hingeschrieben, dass ihr in etwa seht, wie ich es aufgebaut hab.
habs auch nicht getestet, aber ich editiers mal
Mit Zitat antworten
  #4 (permalink)  
Alt 15-09-2006, 16:01
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

da gabs noch mehrere fehler.
was solls, mir war gerade langweilig

PHP-Code:
$healthpointplayer=array(35001600);
$dmgplayer1=300;
$dmgplayer2=800;
$runden=1;


while(
$healthpointplayer[0]>0&&$healthpointplayer[1]>0)
 {
  
$healthpointplayer[0]-=$dmgplayer2;
  
$healthpointplayer[1]-=$dmgplayer1;
  echo 
"Runde $runden <br> ";
  echo 
"Spieler1 wurde getroffen mit $dmgplayer2  Schadenspunkten von Spieler2
    und hat noch $healthpointplayer[0] HP "
;
  echo 
"Spieler2 wurde getroffen mit $dmgplayer1  Schadenspunkten von Spieler1
    und hat noch $healthpointplayer[1] HP "
;
  
$runden++;
 } 
edit überbreite beseitigt

Geändert von 3DMax (15-09-2006 um 16:06 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 15-09-2006, 16:04
exsilence
 Newbie
Links : Onlinestatus : exsilence ist offline
Registriert seit: Sep 2006
Beiträge: 21
exsilence ist zur Zeit noch ein unbeschriebenes Blatt
exsilence eine Nachricht über ICQ schicken
Standard

Danke für die ganzen Tipps
programmier noch nicht so lang.

Das soll einfach ein Projekt werden, wo ich viele neue Sachen kennen lern und aus meinen Fehlern lernen will - und das mache ich gerade! =)
Vielen dank

Aber was bewirkt das - ? subtrahiert der das dann direkt? oder wie darf ich das verstehen?

$healthpointplayer[0]-=$dmgplayer2;
Mit Zitat antworten
  #6 (permalink)  
Alt 15-09-2006, 16:07
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von exsilence
Aber was bewirkt das - ? subtrahiert der das dann direkt? oder wie darf ich das verstehen?
ich denke du möchtest etwas lernen? - probier's aus!
Mit Zitat antworten
  #7 (permalink)  
Alt 15-09-2006, 17:53
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

PHP-Code:
$var -= 5
Ist das gleiche wie

PHP-Code:
$var $var 5
Nur kürzer - Programmierer sind faul
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #8 (permalink)  
Alt 15-09-2006, 17:59
Rolandbar
 Junior Member
Links : Onlinestatus : Rolandbar ist offline
Registriert seit: Mar 2004
Beiträge: 199
Rolandbar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

es hat noch ein Bug, der die logik betrifft:
wenn jetzt spieler 1 beim spieler 2 schaden macht, und der spieler 2 dann keine lebenspunkte mehr hat, schiest er trozdem noch einmal zurück.
Erst wenn dan ein neuer Schleiffendurchgang kommt, wäre es vorbei.
__________________
Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg
Mit Zitat antworten
  #9 (permalink)  
Alt 15-09-2006, 18:33
exsilence
 Newbie
Links : Onlinestatus : exsilence ist offline
Registriert seit: Sep 2006
Beiträge: 21
exsilence ist zur Zeit noch ein unbeschriebenes Blatt
exsilence eine Nachricht über ICQ schicken
Standard

Stimmt danke =)
Sollte man aber leicht mit einer if abfrage lösen können oder? ;-)
Mit Zitat antworten
  #10 (permalink)  
Alt 15-09-2006, 18:38
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von exsilence
Sollte man aber leicht mit einer if abfrage lösen können oder? ;-)
Antwort: Ja!
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #11 (permalink)  
Alt 15-09-2006, 19:34
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Rolandbar
wenn jetzt spieler 1 beim spieler 2 schaden macht, und der spieler 2 dann keine lebenspunkte mehr hat, schiest er trozdem noch einmal zurück.
ne, umgekehrt - spieler 2 schlägt immer zuerst spieler 1.

ist eine ziemlich monotone angelegenheit. vielleicht könnte man für die spieler noch eine "geschwindigkeits-eigenschaft" einbauen. also wer schneller ist, hat eine höhere wahrscheinlichkeit für den erstschlag (zufallsgenerator).

ps: oh gott, jetzt befasse ich mich schon mit bg

Geändert von 3DMax (15-09-2006 um 19:37 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 15-09-2006, 19:46
exsilence
 Newbie
Links : Onlinestatus : exsilence ist offline
Registriert seit: Sep 2006
Beiträge: 21
exsilence ist zur Zeit noch ein unbeschriebenes Blatt
exsilence eine Nachricht über ICQ schicken
Standard

Das sind alles supi Ideen
Vielen Dank!

Aber ich bin ein kleiner programmierer der von nix ne Ahnung hat^^ Umsetzung ist das Problem
Aber gebt ruhig weiter tipps

Setze mich jetzt erstmal dran und versuch mit euren Tipps mal ein vernünftiges Scriptchen zum laufen zu kriegen.


Gruß
Die ehemalige Stille
Mit Zitat antworten
  #13 (permalink)  
Alt 15-09-2006, 20:51
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von exsilence
Aber gebt ruhig weiter tipps
ok, du wolltest es ja nicht anders
bei den spielern bietet sich oop an - jeder spieler hat eigenschaften und methoden.
ich hab's mal grob skizziert:
PHP-Code:
class Player
 
{
  
// Eigenschaften
  
private $name;
  private 
$damage;
  private 
$speed;
        
  public function 
__construct($name$damage$speed)
   {
    
$this->name=$name;
    
$this->damage=$damage;
    
$this->speed=$speed;
   }

  public function 
getName()
   {
    return 
$this->name;
   }

  public function 
getRandomDamage()
   {
    
// todo: Zufallsfunktion implementieren
    
return $this->damage;
   }

  public function 
getRandomSpeed()
   {
    
// todo: Zufallsfunktion implementieren
    
return $this->speed;
   }
 }

// Spieler1 erstellen (Werte kommen aus einer DB)
$p1=new Player('Berserker'50030);

// Eigenschaften ausgeben - Zufallsmechanismus muss noch implementiert werden
echo 'Player: '.$p1->getName().'<br />';
echo 
'Damage: '.$p1->getRandomDamage().'<br />';
echo 
'Speed: '.$p1->getRandomSpeed().'<br />';

echo 
'-----------------------<br />';

// Spieler2 erstellen (Werte kommen aus einer DB)
$p2=new Player('Hummingbird'10750);

// Eigenschaften ausgeben - Zufallsmechanismus muss noch implementiert werden
echo 'Player: '.$p2->getName().'<br />';
echo 
'Damage: '.$p2->getRandomDamage().'<br />';
echo 
'Speed: '.$p2->getRandomSpeed().'<br />'
Mit Zitat antworten
  #14 (permalink)  
Alt 15-09-2006, 21:21
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

achso, "health" habe ich noch vergessen.
das wäre noch eine wichtige eigenschaft und die bräuchte dann noch set- & get-methoden.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:21 Uhr.