Nejnovější články z této kategorie

Servis

Mirek 'QWERT' Schneberger - Zábava (1:00 | 17.9.)  Jagg.cz  linkuj.cz

Pohádka na dobrou noc (první opensource pohádka)

Dobrý den Vážení čtenáři,

Každý z nás byl malým možná i roztomilým neposlušným dítkem, které si rádo před spaním přečetlo nějakou tu pohádku. Nu bohužel teď už jsme však ve věku, kdy na některé z nás je ze stran maminek, babiček, tetiček ... vyvíjen tlak na pořízení takové malé instance nás a ty (méně) šťastnější již dokonce takovéto instance žeroucí náš drahocený systémový čas mají.

A tak pro ty méně šťastné a pro ty jenž to jen čeká pojďme vyprávět pohádku po našem:

A tak dle našeho zvyku nejprve...

Zadání projektu:

Základním cílem projektu je vytvoření pohádky pro cílovou skupinu dítě věk 0 – 10. Celým programem prochází pohádkový motiv, proto je možné využívat objekty jako princ, princezna, král, drak apod. Přičemž se předpokládá využití základních metod těchto objektů, a základních vlastností ze standardní knihovny, tj. princezna by měla být krásná, král rozumný, princ nebojácný...

Vývoj pohádky je realizován pomocí speciálního jazyku NTJUHATVR* přičemž využívejme pouze základních konstrukcí if, while, for... Je možné, že pohádku bude svým ratolestem předčítat i jiný spoluautor, který nemusí rozumět jazyku Tvého kmene tak na to mysli.

* Napiš To Jak Umíš Hlavně Ať Tomu Všichni Ruzumí

Nyní přikročme k samotnému vývoji. Jako "svn server" budeme využívat diskuzi pod tímto článkem, přičemž vlastní modifikace kódu stačí napsat jako příspěvek ve formátu:

..... // řádek před předpokládaným vložením, pokud není jasné umístění tak i dva, tři ...

Je možné vytvářet i vlastní knihovny, rozšíření atd.

Je to pohádka určena hlavně dětem, proto funkce, které lze zveřejnit až po 22 hodině, budou volány přes obal po22hod.h (bude provedena kontrola direktivy #VekCtenare, která nevhodné funkce z knihovny po22hod.h nahradí vhodným textem z knihovny pred22hod.h).

Příklad užití:

if ( PocetLidiVokoli == 0 && vecer == TRUE ) { 
  po22hod.DoPostele(princ,princezna)
  pred22hod.HrajPexeso(princ,princezna) // aktualni cas před 22 hod nebo vek ctenare < 18
}

No a poslední pravidlo. Jelikož se jedná víceméně o první opensource pohádku, tak další průběh bude určen vývojem diskuze, takže pište, vyvíjejte, diskutujte...

#define PREJEDRAKOVY 0
#define PREJEPRINCOVY 1
#define STESTENA PREJEPRINCOVY // or PREJEDRAKOVY

drak.pocet = 1;
drak.hlav = 7;
princ = 3;
princezna = 1;
odmena = { princezna, kralostvi }

int headTunning(int princ) {
  return(--princ);
}

int utokNadraka() {
  int ran;
  if ( STESTENA == PREJEDRAKOVY ) princ--;
  else drak.hlav--;

  ran = getRandom(255);
  if (ran > 100 ) STESTENA = !STESTENA;
}

int main { 
  if ( princezna == skareda ) { 
    princ = 0; 
  }
  while ( princ > 0 || drak.hlav > 0 ) { 
    if (( drak.poloha == schoval ) && ( kral == nervozni ))
      princ = headTunning(princ) ;
    else
      utokNadraka();
  }
}

Diskuze