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

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

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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.

 

 

Program pro vás napsal Kit
Avatar
Jak se ti líbí článek?
6 hlasů
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...
Aktivity (1)

 

 

Komentáře

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

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á na Martin Píštěk (Denir)
Šimon Rataj:29.6.2016 19:20

Je definována na řádku 13.

 
Odpovědět 29.6.2016 19:20
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:29.6.2016 21:01

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.6.2016 21:03
 
Odpovědět 29.6.2016 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.