Objektový generátor náhodných vět v PHP

PHP Ostatní Objektový generátor náhodných vět v PHP

Objektový generátor náhodných vět v PHP. Skript generuje náhodné věty podle rozšiřitelné slovní zásoby a je včetně zdrojových kódů.

<?php

class Gvety {
        private $a1 = array("Franta", "Adam", "Jirka");
        private $a2 = array("šel", "jel", "skočil", "plaval");
        private $a3 = array("do kina", "do obchodu", "na koupaliště");
        private $a4 = array("kdy", "jak", "proč");

        private $veta;
        private $tecka;

        function __construct() {
                $this->v = array(
                        array($this->a1, $this->a2, $this->a3, "."),
                        array($this->a2, $this->a1, $this->a3, "?"),
                        array($this->a4, $this->a2, $this->a1, $this->a3, "?"),
                        );
                $this->vyber($this->v[rand(0, sizeof($this->v)-1)]);
        }

        function vyber($typ) {
                $this->veta = array();
                $this->tecka = array_pop($typ);
                foreach ($typ as $slovnik) {
                        $this->veta[] = $slovnik[rand(0, sizeof($slovnik) - 1)];
                }
        }

        function __toString() {
                return implode(' ', $this->veta) . $this->tecka;
        }
}

$veta = new Gvety();
echo $veta;

Galerie

Program byl vytvořen v roce 2013.

 

  Aktivity (1)

Program pro vás napsal Kit
Avatar
Jsem spokojeným uživatelem operačních systémů založených na linuxovém jádře. Zejména openSUSE a Ubuntu. Pro psaní veškerých textů a programů používám vynikající textový editor Vim. Aplikace se snažím psát vždy v tom nejvhodnějším programovacím jazyk...

Jak se ti líbí článek?
Celkem (6 hlasů) :
1.833331.83333 1.833331.833331.83333


 


Miniatura
Všechny články v sekci
Ostatní tutoriály v PHP
Miniatura
Následující článek
Šablonovací systém PHP_JUI - Úvod

 

 

Komentáře

Avatar
Martin Píštěk (Denir):

ahoj, jen se chci zeptat, v konstruktoru máš $this->v ale promennou 'v' nemas nikde deklarovanou, to muze byt? Nebo mi neco uniklo? :-)

 
Odpovědět 28.4.2015 13:51
Avatar
Šimon Rataj
Člen
Avatar
 
Odpovědět 29. června 19:20
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:

Aby fungovala velká písmena na začátku vět, změnil jsem dva řádky:
15:

array(str_replace("š", "Š", $this->a2), $this->a1, $this->a3, "?"),

30:

return ucfirst(implode(' ', $this->veta) . $this->tecka);

Místo 'š' je v druhém typu vět 'Š' a na řádku 37 je první písmeno změněno na velké. To malé a velké š tam mám, protože u mě funkce ucfirst nezná š, takže ho nepřevede na velké.

Editováno 29. června 21:03
 
Odpovědět 29. června 21:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.