[ Index ]
 

Code source de PRADO 3.0.6

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/demos/quickstart/protected/pages/Fundamentals/Samples/Hangman/ -> Home.php (source)

   1  <?php
   2  class Home extends TPage
   3  {
   4  	public function onLoad($param)
   5      {
   6          if (!$this->IsPostBack)
   7              $this->GameMultiView->ActiveView=$this->IntroView;
   8      }
   9  
  10  	public function selectLevel($sender,$param)
  11      {
  12          if(($selection=$this->LevelSelection->SelectedValue)==='')
  13          {
  14              $this->LevelError->Visible=true;
  15              return;
  16          }
  17          else
  18              $this->Level=TPropertyValue::ensureInteger($selection);
  19          $this->Word=$this->generateWord();
  20          $this->GuessWord=str_repeat('_',strlen($this->Word));
  21          $this->Misses=0;
  22          $this->GameMultiView->ActiveView=$this->GuessView;
  23      }
  24  
  25  	public function guessWord($sender,$param)
  26      {
  27          $sender->Enabled=false;
  28          $letter=$sender->Text;
  29          $word=$this->Word;
  30          $guessWord=$this->GuessWord;
  31          $pos=0;
  32          $success=false;
  33          while(($pos=strpos($word,$letter,$pos))!==false)
  34          {
  35              $guessWord[$pos]=$letter;
  36              $success=true;
  37              $pos++;
  38          }
  39          if($success)
  40          {
  41              $this->GuessWord=$guessWord;
  42              if($guessWord===$word)
  43                  $this->GameMultiView->ActiveView=$this->WinView;
  44          }
  45          else
  46          {
  47              $this->Misses++;
  48              if($this->Misses>=$this->Level)
  49                  $this->giveUp(null,null);
  50          }
  51      }
  52  
  53  	public function giveUp($sender,$param)
  54      {
  55          $this->GameMultiView->ActiveView=$this->LoseView;
  56      }
  57  
  58  	public function startAgain($sender,$param)
  59      {
  60          $this->GameMultiView->ActiveView=$this->IntroView;
  61          $this->LevelError->Visible=false;
  62          for($letter=65;$letter<=90;++$letter)
  63          {
  64              $guessLetter='Guess'.chr($letter);
  65              $this->$guessLetter->Enabled=true;
  66          }
  67      }
  68  
  69  	protected function generateWord()
  70      {
  71          $wordFile=dirname(__FILE__).'/words.txt';
  72          $words=preg_split("/[\s,]+/",file_get_contents($wordFile));
  73          do
  74          {
  75              $i=rand(0,count($words)-1);
  76              $word=$words[$i];
  77          } while(strlen($word)<5 || !preg_match('/^[a-z]*$/i',$word));
  78          return strtoupper($word);
  79      }
  80  
  81  	public function setLevel($value)
  82      {
  83          $this->setViewState('Level',$value,0);
  84      }
  85  
  86  	public function getLevel()
  87      {
  88          return $this->getViewState('Level',0);
  89      }
  90  
  91  	public function setWord($value)
  92      {
  93          $this->setViewState('Word',$value,'');
  94      }
  95  
  96  	public function getWord()
  97      {
  98          return $this->getViewState('Word','');
  99      }
 100  
 101  	public function getGuessWord()
 102      {
 103          return $this->getViewState('GuessWord','');
 104      }
 105  
 106  	public function setGuessWord($value)
 107      {
 108          $this->setViewState('GuessWord',$value,'');
 109      }
 110  
 111  	public function setMisses($value)
 112      {
 113          $this->setViewState('Misses',$value,0);
 114      }
 115  
 116  	public function getMisses()
 117      {
 118          return $this->getViewState('Misses',0);
 119      }
 120  }
 121  ?>


Généré le : Sun Feb 25 21:07:04 2007 par Balluche grâce à PHPXref 0.7