Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <style>
- .tab1 tr td {
- min-width: 20px;
- }
- .viditelne {
- border: 1px solid black;
- text-align: center;
- }
- .tajenka {
- background-color: yellow;
- }
- </style>
- </head>
- <body>
- <?php
- class Krizovka
- {
- private $radky = array();
- public $zobrazuj = true;
- public function pridej($ot,$od,$taj)
- {
- $this->radky[] = new Radek($ot,$od,$taj);
- }
- private function pred()
- {
- $pole = array();
- foreach($this->radky as $r) $pole[] = $r->posun;
- return max($pole);
- }
- private function za()
- {
- $pole = array();
- foreach($this->radky as $r) $pole[] = $r->delka() - $r->posun - 1;
- return max($pole);
- }
- public function tabulka()
- {
- $text = "<table class=\"tab1\">";
- foreach($this->radky as $r) $text .= $r->vypis($this->pred(),$this->za());
- $text .= "</table>";
- return $text;
- }
- }
- class Radek
- {
- public $otazka = "";
- public $odpoved = "";
- public $posun = 0;
- public function delka()
- {
- return strlen($this->odpoved);
- }
- public function __construct($ot, $od, $pos)
- {
- $this->otazka = $ot;
- $this->odpoved = $od;
- $this->posun = $pos;
- }
- public function vypis($pr,$z)
- {
- $text = "<tr><td>";
- $text .= $this->otazka;
- $text .= "</td>";
- // mezery pred
- for($i = 0; $i < $pr - $this->posun; $i++)
- $text .= "<td></td>";
- // odpoved po pismenech
- $slovo = str_split($this->odpoved);
- for($i = 0; $i<count($slovo); $i++) {
- if($i==$this->posun) $text .= "<td class=\"viditelne tajenka\">";
- else $text .= "<td class=\"viditelne\">";
- $text .= $slovo[$i];
- $text .= "</td>";
- }
- // mezery za
- $text .= "</tr>";
- return $text;
- }
- }
- //$r = new Radek("Jaká auta se vyrábí v Mladé Boleslavi?","Škoda",3);
- //echo $r->delka();
- $kriz = new Krizovka();
- $kriz->pridej("Jaká auta se vyrábí v Mladé Boleslavi?","Skoda",3);
- $kriz->pridej("Kde sídlí SPŠSE?","Liberec",0);
- $kriz->pridej("smrdi to","hovno",1);
- echo $kriz->tabulka();
- //var_dump($kriz);
- ?>
- </html>
- </body>
Add Comment
Please, Sign In to add comment