From 00286fc77d56f60b67148716722dc874723e8682 Mon Sep 17 00:00:00 2001 From: xue <> Date: Mon, 26 Dec 2005 15:55:46 +0000 Subject: --- .../quickstart/protected/pages/chap3/Hangman.page | 16 --- .../protected/pages/chap3/Hangman/Home.page | 74 ----------- .../protected/pages/chap3/Hangman/Home.php | 135 --------------------- .../protected/pages/chap3/Hangman/config.xml | 5 - .../protected/pages/chap3/Hangman/words.txt | 27 ----- .../protected/pages/chap3/HelloWorld.page | 26 ---- .../protected/pages/chap3/HelloWorld/Home.page | 18 --- .../protected/pages/chap3/HelloWorld/Home.php | 11 -- .../protected/pages/chap3/HelloWorld/config.xml | 5 - .../protected/pages/chap3/HelloWorld/sequence.gif | Bin 5557 -> 0 bytes .../protected/pages/chap3/HelloWorld/sequence.vsd | Bin 143360 -> 0 bytes 11 files changed, 317 deletions(-) delete mode 100644 demos/quickstart/protected/pages/chap3/Hangman.page delete mode 100644 demos/quickstart/protected/pages/chap3/Hangman/Home.page delete mode 100644 demos/quickstart/protected/pages/chap3/Hangman/Home.php delete mode 100644 demos/quickstart/protected/pages/chap3/Hangman/config.xml delete mode 100644 demos/quickstart/protected/pages/chap3/Hangman/words.txt delete mode 100644 demos/quickstart/protected/pages/chap3/HelloWorld.page delete mode 100644 demos/quickstart/protected/pages/chap3/HelloWorld/Home.page delete mode 100644 demos/quickstart/protected/pages/chap3/HelloWorld/Home.php delete mode 100644 demos/quickstart/protected/pages/chap3/HelloWorld/config.xml delete mode 100644 demos/quickstart/protected/pages/chap3/HelloWorld/sequence.gif delete mode 100644 demos/quickstart/protected/pages/chap3/HelloWorld/sequence.vsd (limited to 'demos/quickstart/protected/pages/chap3') diff --git a/demos/quickstart/protected/pages/chap3/Hangman.page b/demos/quickstart/protected/pages/chap3/Hangman.page deleted file mode 100644 index b623bad4..00000000 --- a/demos/quickstart/protected/pages/chap3/Hangman.page +++ /dev/null @@ -1,16 +0,0 @@ - -

Sample: Hangman Game

-

-Having seen the simple "Hello World" application, we now build a more complex application called "Hangman Game". In this game, the player is asked to guess a word, a letter at a time. If he guesses a letter right, the letter will be shown in the word. The player can continue to guess as long as the number of his misses is within a prespecified bound. The player wins the game if he finds out the word within the miss bound, or he loses. -

-

-To facilitate the building of this game, we show the state transition diagram of the gaming process in the following, -

-

-To be continued... -

-
-Run Sample -View Source -
-
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/chap3/Hangman/Home.page b/demos/quickstart/protected/pages/chap3/Hangman/Home.page deleted file mode 100644 index 1cc409d3..00000000 --- a/demos/quickstart/protected/pages/chap3/Hangman/Home.page +++ /dev/null @@ -1,74 +0,0 @@ - - - - - -Hangman Game - - - - -

Hangman Game

- - -

This is the game of Hangman. You must guess a word, a letter at a time. -If you make too many mistakes, you lose the game!

-
-
-
- - -
- - -

Please make a guess

-

<%= $this->Page->GuessWord %>

-

You have made <%=$this->Page->Misses %> bad guesses -out of a maximum of <%= $this->Page->Level %>.

-

Guess: - - - - - - - - - - - - - - - - - - - - - - - - - - -

-

-
- - -

You Win!

-

The word was: <%= $this->Page->Word %>.

-

-
- - -

You Lose!

-

The word was: <%= $this->Page->Word %>.

-

-
-
- - - \ No newline at end of file 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 diff --git a/demos/quickstart/protected/pages/chap3/Hangman/config.xml b/demos/quickstart/protected/pages/chap3/Hangman/config.xml deleted file mode 100644 index 67056f9d..00000000 --- a/demos/quickstart/protected/pages/chap3/Hangman/config.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/demos/quickstart/protected/pages/chap3/Hangman/words.txt b/demos/quickstart/protected/pages/chap3/Hangman/words.txt deleted file mode 100644 index 80814580..00000000 --- a/demos/quickstart/protected/pages/chap3/Hangman/words.txt +++ /dev/null @@ -1,27 +0,0 @@ -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -PRADO is an event-driven and component-based framework -for Web application development in PHP 5. - -Components following the PRADO protocol are highly -configurable and reusable. Properties defining -the basic features of a component can be configured -in specifications, templates or code. -New components can be developed by either inheriting -an existing component class or composing several -components together. The work of using a component -amounts to placing the component tag on the page template, -configuring component properties, and writing handler -functions to respond to component events. - -PRADO shares many similarities with ASP.NET and other -RAD tools for Windows GUI development, such as Borland Delphi. -In particular, it supports event-driven programming, -viewstate maintenance, javascript, template, form validations, etc. \ No newline at end of file diff --git a/demos/quickstart/protected/pages/chap3/HelloWorld.page b/demos/quickstart/protected/pages/chap3/HelloWorld.page deleted file mode 100644 index a39aed33..00000000 --- a/demos/quickstart/protected/pages/chap3/HelloWorld.page +++ /dev/null @@ -1,26 +0,0 @@ - -

Sample: Hello World

-

-"Hello World" is the simplest interactive PRADO application that you can build. It displays to end-users a page with a submit button whose caption is Click Me. When the user clicks on the button, the button changes the caption to Hello World. -

-

-There are many approaches that can achieve the above goal. One can submit the page to the server, examine the POST variable, and generate a new page with the button caption updated. Or one can simply use JavaScript to update the button caption upon its onclick event. -

-

-PRADO promotes component-based and event-driven Web programming. The button is represented by a TButton object. It encapsulates the button caption as the Text property and associates the user button click action with a server-side Click event. Therefore, the "Hello World" task can be handled intuitively and easily. One simply needs to attach a function to the button's Click event. Within the function, the button's Text property is modified as "Hello World". The following diagram shows the above sequence, -

- -

-The code that a developer needs to write is merely the following event handler function, where $sender refers to the button object. -

-
-public function buttonClicked($sender,$param)
-{
-	$sender->Text="Hello World";
-}
-
-
-Run Sample -View Source -
-
\ No newline at end of file diff --git a/demos/quickstart/protected/pages/chap3/HelloWorld/Home.page b/demos/quickstart/protected/pages/chap3/HelloWorld/Home.page deleted file mode 100644 index 158255cb..00000000 --- a/demos/quickstart/protected/pages/chap3/HelloWorld/Home.page +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -Hello World - - - - - - - - - - - \ No newline at end of file diff --git a/demos/quickstart/protected/pages/chap3/HelloWorld/Home.php b/demos/quickstart/protected/pages/chap3/HelloWorld/Home.php deleted file mode 100644 index b1a7f991..00000000 --- a/demos/quickstart/protected/pages/chap3/HelloWorld/Home.php +++ /dev/null @@ -1,11 +0,0 @@ -Text="Hello World"; - } -} - -?> \ No newline at end of file diff --git a/demos/quickstart/protected/pages/chap3/HelloWorld/config.xml b/demos/quickstart/protected/pages/chap3/HelloWorld/config.xml deleted file mode 100644 index 67056f9d..00000000 --- a/demos/quickstart/protected/pages/chap3/HelloWorld/config.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/demos/quickstart/protected/pages/chap3/HelloWorld/sequence.gif b/demos/quickstart/protected/pages/chap3/HelloWorld/sequence.gif deleted file mode 100644 index a1e51200..00000000 Binary files a/demos/quickstart/protected/pages/chap3/HelloWorld/sequence.gif and /dev/null differ diff --git a/demos/quickstart/protected/pages/chap3/HelloWorld/sequence.vsd b/demos/quickstart/protected/pages/chap3/HelloWorld/sequence.vsd deleted file mode 100644 index e8c2f5a7..00000000 Binary files a/demos/quickstart/protected/pages/chap3/HelloWorld/sequence.vsd and /dev/null differ -- cgit v1.2.3