Easy-Micro

LANGAGE TP POO PHP
La classe

TP POO : Mini-jeu de combat

Cahier des charges

Nous allons créer une sorte de jeu. Chaque visiteur pourra créer un personnage (pas de mot de passe requis pour faire simple) avec lequel il pourra frapper d'autres personnages. Le personnage frappé se verra infliger un certain degré de dégâts.

Un personnage est défini selon 2 caractéristiques :
  • Son nom (unique).
  • Ses dégâts.

Les dégâts d'un personnage sont compris entre 0 et 100. Au début, il a bien entendu 0 de dégât. Chaque coup qui lui sera porté lui fera prendre 5 points de dégâts. Une fois arrivé à 100 points de dégâts, le personnage est mort (on le supprimera alors de la BDD).

Notions utilisées

Voici une petite liste vous indiquant les points techniques que l'on va mettre en pratique :

  • Les attributs et méthodes ;
  • l'instanciation de la classe ;
  • les constantes de classe ;
  • et surtout, tout ce qui touche à la manipulation de données stockées.
Création de la table personnages
CREATE TABLE IF NOT EXISTS `personnages` (
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `nom` varchar(50) COLLATE utf8_general_ci NOT NULL,
  `degats` tinyint(3) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `nom` (`nom`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Vous pouvez créer votre table via PhpMyAdmin

Première étape : le personnage

Caractéristiques et fonctionnalités du personnage
<?php
class Personnage {

   // attributs
   private $_id,
           $_degats,
           $_nom;

   // Trois constantes de classe renvoyées par la méthode `frapper`
   // si on se frappe soi-même
   const CEST_MOI = 1;
   // si on a tué le personnage en le frappant
   const PERSONNAGE_TUE = 2;
   // si on a bien frappé le personnage
   const PERSONNAGE_FRAPPE = 3;

   // méthode
   public function frapper(Personnage $perso) {
   // renvoie la constante de classe CEST_MOI
   }

   // méthode
   public function recevoirDegats() {
   // renvoie les constantes de classe PERSONNAGE_TUE ou PERSONNAGE_FRAPPE
   }

}

Les méthodes n'ont en général pas besoin d'être masquées à l'utilisateur, on les met souvent en public


Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]