SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 03.10.2003, 02:13:15
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Backgammon

Hallo zusammen,

ich würde gern ein 2-Spieler-Backgammon-Spiel mit PHP/MySQL entwickeln.

Beim Klicken auf ein <input type='image' src='...'> werden die x- und y- Koordinaten übertragen.

Das brachte mich auf folgende Idee:
Ich generiere als Image-Source ein PNG, dass per GD-Funktionen erstellt wird.

Folgender Code demonstriert die Funktionsweise mit einem Spielstein.
PHP-Code:
<?php
    
// index.php
    
if($_POST['kord_x']) // Wo wurde geklickt?
    
{
        
$x $_POST['kord_x'];
        
$y $_POST['kord_y'];
        if(
$y <= 170)
        {
            for(
$i 0$i 210$i += 35)
            {
                if(
$x >= 15 $i && $x <= 45 $i)
                {
                    
$pos 12 $i 35;
                }
                if(
$x >= 255 $i && $x <= 285 $i)
                {
                    
$pos $i 35;
                }
            }
        }
        elseif(
$y >= 230)
        {
            for(
$i 0$i 210$i += 35)
            {
                if(
$x >= 15 $i && $x <= 45 $i)
                {
                    
$pos 13 $i 35;
                }
                if(
$x >= 255 $i && $x <= 285 $i)
                {
                    
$pos 19 $i 35;
                }
            }
        }
    }

    echo 
"<font size='2' face='Verdana'>Zunge Nr.: ".$pos."</font>";
    echo 
"<form action='index.php'method='post'>";
    echo 
"<input type='image' src='brett.php?pos=".$pos."' name='kord'>";
    echo 
"</form>";
?>



<?php
    
// Das Spielbrett:
    // brett.php

    // Spielbrett zeichnen
    
$brett_breite 480;
    
$brett_hoehe  400;
    
$im imagecreate($brett_breite,$brett_hoehe);
    
$brett_farbe imagecolorallocate($im125125125);
    for(
$i 0$i 2$i++)
    {
        for(
$j 0$j 12$j++)
        {
            
$abstand_zunge_x 35;
            
$extra_abstand   0;
            
$j $extra_abstand 30 "";

            
$i == $mess_p = array(15 $extra_abstand $j $abstand_zunge_x,1045 $extra_abstand $j $abstand_zunge_x,1030 $extra_abstand $j $abstand_zunge_x,160) : $mess_p = array(30 $extra_abstand $j $abstand_zunge_x,24045 $extra_abstand $j $abstand_zunge_x,39015 $extra_abstand $j $abstand_zunge_x,390);

            if(
$j == $i)
            {
                
$hell imagecolorallocate($im200200200);
                
imagefilledpolygon($im$mess_p$hell);
            }
            else
            {
                
$dunkel imagecolorallocate($im100100100);
                
imagefilledpolygon($im$mess_p$dunkel);
            }
        }
    }
    
// Spielstein positionieren
       
if($_GET['pos'] > 0)
    {
        if(
$_GET['pos'] <= 12)
        {
            
$pos = (12 $_GET['pos']) * 35;
            
$pos_y 0;
        }
        if(
$_GET['pos'] <= 6)
        {
            
$pos +=  30;
            
$pos_y 0;
        }

        if(
$_GET['pos'] > 12)
        {
            
$pos = ($_GET['pos'] - 13) * 35;
            
$pos_y 350;
        }
        if(
$_GET['pos'] >= 19)
        {
            
$pos += 30;
        }

        
$stein_hell imagecolorallocate($im255255255);
        
imagearc($im30 $pos25 $pos_y30300360$stein_hell);
        
imagefill($im30 $pos25 $pos_y$stein_hell);
    }
    
imagepng($im);
    
imagedestroy($im);
?>
Was haltet Ihr von diesem Ansatz?

Lauf ich da in eine Sackgasse?

Bin für jeden Tipp dankbar.

Grüsse

chris17
Mit Zitat antworten
 


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


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


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt