| [ Index ] |
|
Code source de PRADO 3.0.6 |
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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Sun Feb 25 21:07:04 2007 | par Balluche grâce à PHPXref 0.7 |