JeuWeb - Crée ton jeu par navigateur
Script de combats en PHP Galère ^^ - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Script de combats en PHP Galère ^^ (/showthread.php?tid=1857)

Pages : 1 2 3 4


Script de combats en PHP Galère ^^ - Cartoristal - 06-10-2007

Bonjours à tous,

Depuis mes derniers posts j'ai pas mal avancé.
J'ai donc mes scripts pour la génération des ressources, création des batiments, des armées.

Le soucis c'est que c'est bien beau de pouvoir créer des armées mais je voudrais me lancer dans l'élaboration de mon script de combat.
J'ai pas mal réfléchit mais j'arrive pas trop à organiser mon truc ni à savoir comment le scripter ( ^^ ).

J'apelle donc à ceux qui auraient déjà fais sa.


Je voudrais que 3 Types de troupes ( ou plus mais 3 pour l'instant ).
Avec des caractéristiques ( Exemple: Attaque / Défense )
Archers : 12 / 10
Cavaliers 15 / 12
Espions 1/1
Gardes 10 / 20

Et donc lorsqu'un attaquant lance ses troupes elles attaquent les troupes adveses ( logique me direz vous )
Et donc comment calculer le nombre de pertes en fonction du nombre de troupes attaquantes et adverses ?
Sachant que pour moi le combats met fin en une fois ( il se déroule sur 2h ) mais à la fin il y aura forcément un gagnant et un perdant.
Le perdant aura troupes = 0
Et le gagnant troupes = Troupes_lancées - Troupes_Perdues.
Comment calculer les troupes perdues

( J'essayerais aussi de faire jouer des technologies et des "options" ( que l'on pourra utiliser une fois toutes les semaines par exemple ).

Voila si quelqu'un à une idée Smile
Je lui en serais gré parsque là je ne sais pas trop par ou commencer.


RE: Script de combats en PHP Galère ^^ - Cartoristal - 06-10-2007

Aaaaah pas bête l'idée de la boucle j'y avais pas pensé.
Bon beh les calculs de variables vont fuser ^^


RE: Script de combats en PHP Galère ^^ - leni - 06-10-2007

j'ai commecner un script, il est peu etre un peu trop compliquer pour une version beta 1, mais je joue avec 34 variables... autant dire que c'est chiant xD

si tu arrive a quoi que se soit, tien nous au courant, sa m'interesse Smile (j'en ferai de même Wink )


RE: Script de combats en PHP Galère ^^ - Cartoristal - 06-10-2007

Code PHP :
<?php 
$nombre_troupes_défense
= ;
$nombre_trouve_attaque = ;

while (
$nombre_troupes_défense>0)
{
while (
$nombre_troupes_attaque>0)
{

echo
"Le combat n'est pas Terminé<br />";





}
}

while (
$nombre_troupes_défense>0)
{
while (
$nombre_troupes_attaque<=0)
{

echo
"Les défenseurs gagent<br />";





}
}

while (
$nombre_troupes_défense>=0)
{
while (
$nombre_troupes_attaque>0)
{

echo
"Les attaquants gagnent<br />";





}
}

Sa va donner un truc dans ce genre la avec tout les calculs que sa demande ^^


RE: Script de combats en PHP Galère ^^ - Kassak - 06-10-2007

Une boucle dans une boucle?

Pas top moumoute a mon avis^^

Je pense que tu confond while et if Wink

Tu fais un truc du genre :

Code PHP :
<?php 
$nombre_troupes_défense
= ;
$nombre_trouve_attaque = ;

if (
$nombre_troupes_défense>0 && $nombre_troupes_attaque>0)
{
echo
"Le combat n'est pas Terminé<br />";
}


if (
$nombre_troupes_défense>0 && $nombre_troupes_attaque<=0)
{
echo
"Le defenseur a gagné<br />";
}


Et avant ceci, tu fais tes boucles, et a chaque tour tu calcul combien de troupes sont mortes dans chaque camp, et ta boucle devra s'effectuer TANT qu'un joueur n'a pas ses troupes a zéro.

Bon courage


RE: Script de combats en PHP Galère ^^ - Cartoristal - 06-10-2007

Code PHP :
<?php
include("mysql_connect.php"); // Faur bien se connecter à la bdd
session_start(); // On lance la session

$id=$_SESSION['Pseudo']; // On rentre une variable pseudo = à la variable de session pseudo


$awser = mysql_query("SELECT * FROM Attaques_en_cours WHERE Joueur='$id'");
while (
$Armées = mysql_fetch_array($awser) )
{
$Joueur_attaqué=$Armées['Joueur_attaqué'];
$Parcelle_attaquée=$Armées['Parcelle_attaquée'];

$def = mysql_query("SELECT Archers_on, Cavaliers_on FROM Parcelles WHERE Parcelle='$Parcelle_attaquée'");
while (
$Defense = mysql_fetch_array($def) ) //
{


$Points_total_attaque= (($Armées['Archers_attaquants']*2) + ($Armées['Cavaliers_attaquants']*4));


$Points_total_défense= (($Defense['Archers_on']*1) + ($Armées['Cavaliers_on']*3));


echo
'Vous avez' ;
echo
$Points_total_attaque ;
echo
'dattaque';
echo
'L\'opposant à';
echo
$Points_total_défense ;
echo
'de défense';

echo
'Vous avez' ;
echo
$Armées['Archers_attaquants'] ;
echo
'dattaque';
echo
'L\'opposant à';
echo
$Armées['Cavaliers_attaquants'] ;
echo
'de défense';


if (
$Points_total_attaque > $Points_total_défense ) {

echo
'L\'attaquant gagne la bataille';

}
else
{
echo
'Le défenseur gagne la bataille';
}
}
}



?>

Pas trop moumout, pas fais les boucles encore pour l'instant c'est le départ^^


RE: Script de combats en PHP Galère ^^ - Cartoristal - 06-10-2007

Les echo bizzards c'était pour m'assurer que le truc fonctionnait ...


RE: Script de combats en PHP Galère ^^ - leni - 06-10-2007

ton code est bien, mais il y a toujorus un petit probleme ...

Si le gas qui attaque perd ? le gas qui deffend, même si il a gagner, il a eu des pertes Wink


RE: Script de combats en PHP Galère ^^ - Zboy74 - 06-10-2007

Salut!

Moi je pense que tu pourrait mettre aussi en place un système d'initiative, basé sur une compétence de chaque unité ( "rapidité" ou même "initiative" par exemple). L'unité avec l'initiative la plus élevée attaque en premier, et ainsi de suite, en sachant que plus son initiative est élevée, mois elle attendra de "tours" de combat avant de ré-attaquer (un peu comme dans FF Tactics). C'est beaucoup plus intéressant que "tout le monde se bourrine en même temps", je trouve.

Du coup, il faudrait faire agir chaque unité (ou chaque groupe d'unités) séparément, et je trouve ça un peu "brut" de comparer les sommes attaque/ défense de chaque armée : par exemple, 10 paysans 1/1 aurait une chance de battre un ogre 12/10, alors qu'un chevalier 10/10 se ferait par exemple tuer du 1er coup (sans consdérer ici des éventuels point de vie, hein).


RE: Script de combats en PHP Galère ^^ - leni - 06-10-2007

va t'amuser a galerer avec sa xD perso, je te conseil de commencer par fair un code simple pour la sersion1 de ton jeu, et puis compliquer au fur et a meusure. entre temp tu aura progresser, par se que sinon, la maintenant, tu va te sucider xD (j'ai, au moment ou je vous parle, commencer a enrouler mon lacet autour de mon coup :p )