From 00286fc77d56f60b67148716722dc874723e8682 Mon Sep 17 00:00:00 2001 From: xue <> Date: Mon, 26 Dec 2005 15:55:46 +0000 Subject: --- .../protected/pages/chap3/Hangman/Home.php | 135 --------------------- 1 file changed, 135 deletions(-) delete mode 100644 demos/quickstart/protected/pages/chap3/Hangman/Home.php (limited to 'demos/quickstart/protected/pages/chap3/Hangman/Home.php') diff --git a/demos/quickstart/protected/pages/chap3/Hangman/Home.php b/demos/quickstart/protected/pages/chap3/Hangman/Home.php deleted file mode 100644 index 93028573..00000000 --- a/demos/quickstart/protected/pages/chap3/Hangman/Home.php +++ /dev/null @@ -1,135 +0,0 @@ -EasyLevel->Checked) - $this->Level=self::EASY_LEVEL; - else if($this->MediumLevel->Checked) - $this->Level=self::MEDIUM_LEVEL; - else if($this->HardLevel->Checked) - $this->Level=self::HARD_LEVEL; - else - { - $this->LevelError->Visible=true; - return; - } - - $this->Word=$this->generateWord(); - $this->GuessWord=str_repeat('_',strlen($this->Word)); - $this->Misses=0; - $this->showPanel('GuessPanel'); - } - - public function guessWord($sender,$param) - { - $sender->Enabled=false; - $letter=$sender->Text; - $word=$this->Word; - $guessWord=$this->GuessWord; - $pos=0; - $success=false; - while(($pos=strpos($word,$letter,$pos))!==false) - { - $guessWord[$pos]=$letter; - $success=true; - $pos++; - } - if($success) - { - $this->GuessWord=$guessWord; - if($guessWord===$word) - $this->showPanel('WinPanel'); - } - else - { - $this->Misses++; - if($this->Misses>=$this->Level) - $this->giveUp(null,null); - } - } - - public function giveUp($sender,$param) - { - $this->showPanel('LosePanel'); - } - - public function startAgain($sender,$param) - { - $this->showPanel('IntroPanel'); - $this->LevelError->Visible=false; - for($letter=65;$letter<=90;++$letter) - { - $guessLetter='Guess'.chr($letter); - $this->$guessLetter->Enabled=true; - } - } - - protected function generateWord() - { - $wordFile=dirname(__FILE__).'/words.txt'; - $words=preg_split("/[\s,]+/",file_get_contents($wordFile)); - do - { - $i=rand(0,count($words)-1); - $word=$words[$i]; - } while(strlen($word)<5 || !preg_match('/^[a-z]*$/i',$word)); - return strtoupper($word); - } - - protected function showPanel($panelID) - { - $this->IntroPanel->Visible=false; - $this->GuessPanel->Visible=false; - $this->WinPanel->Visible=false; - $this->LosePanel->Visible=false; - $this->$panelID->Visible=true; - } - - public function setLevel($value) - { - $this->setViewState('Level',$value,0); - } - - public function getLevel() - { - return $this->getViewState('Level',0); - } - - public function setWord($value) - { - $this->setViewState('Word',$value,''); - } - - public function getWord() - { - return $this->getViewState('Word',''); - } - - public function getGuessWord() - { - return $this->getViewState('GuessWord',''); - } - - public function setGuessWord($value) - { - $this->setViewState('GuessWord',$value,''); - } - - public function setMisses($value) - { - $this->setViewState('Misses',$value,0); - } - - public function getMisses() - { - return $this->getViewState('Misses',0); - } -} - -?> \ No newline at end of file -- cgit v1.2.3