Top Module Empty
Úvod arrow Wiki arrow Analýza problému
Analýza problému
Návrh spôsobu zápisu rytmu E-mail
Napísal Oto Vozár   
Monday, 13 November 2006

Zápis rytmu navrhujem reprezentovať pomocou nasledujúceho objektového modelu.

            Základnou triedou je trieda Rhythm, ktorá obsahuje počet taktov a taktové označenie. Tu sú možné dva spôsoby :

1.      Dvomi číslami (počet rytmických jednotiek na takt a hodnota rytmickej jednotky)

2.      Enumerácia možných taktových predznamenaní

Označenia, ktoré budeme podporovať budú

·         2 / 2

·         2 / 4

·         3 / 4

·         4 / 4

·         4 / 8

·         6 / 8

·         8 / 8

·         5 / 4

·         7 / 8

Tieto bohato pokryjú naše požiadavky, aj keď možných taktov je ešte oveľa viac. V prípade, že by sme to chceli absolútne uľahčiť, najdôležitejšie sú 3 / 4, a 4 / 4.

 

            Ďalej sa v triede nachádza pole nôt. Bázová trieda pre ne je RhytmNote, ktorá obsahuje údaje

·         Length - dĺžka : celá, polovica, štvrtina, osmina, šestnástina

 

Z nej dedia triedy SingleNoteNoteGroup.

 

SingleNote obsahuje

·         IsRest - true ak je pomlčka, inak false

·         Dot – či je za notou bodka (bodka predlžuje hodnotu noty o polovicu)

 

NoteGroup obsahuje

·         NoteCount – počet nôt, na ktoré sa rozdelí daná dĺžka

·         IsRest[] – pre každú notu v skupine, či je pomlčka

 

NoteGroup sa v návrhu nachádza kvôli tzv. nepravidelným rozdeleniam, kedy sa napríklad štvrťová nota rozdelí napríklad na tri alebo päť hodnôt (trioly, kvintoly) a nie je to možné zapísať pomocou klasických dĺžkových hodnôt. Táto oblasť predstavuje veľkú časť troška pokročilejšej látky a myslím, že keby sme ju nezaviedli, prišli by sme o veľa možností.

  

Obmedzenia

 

Aby zápis nebol komplikovaný, sú v ňom určité obmedzenia, teda nedajú sa v ňom zapísať všetky rytmy. Na druhej strane nie je predpoklad, že by ich niekto používal, najmä nie učiace sa deti.

            Konkrétne sa jedna o 

·         Nie je možné viazať noty – je to ale možné obísť pomlčkou (len v prípade rytmu, pri prípadnom rozšírení o zápis melódie to treba riešiť iným spôsobom)

·         Nie je možné deliť noty skupiny (napríklad prostrednú notu trioly nie je možné rozdeliť na kvintolu)

Poznámky

 

·         Pri ukladaní do súboru navrhujem binárnu serializáciu, prípadne XML serializáciu, keby bola potrebná interoperabilita

·         Nebolo možné použiť formát MIDI, ktorý má zápis len kedy nota začína a kedy končí, ťažšie by sa totiž hľadala jej hodnota. V navrhovanom formáte je explicitne zapísaná.

·         Sú dve možnosti vizualizácie

 

1.      Krížikmi

 x—x-x-|xxx-x-x               3 Tri x a pod nimi trojka predstavujú triolu.  

      2. Hodnotami dĺžok nôt (prázdne hlavičky, nožičky, pomlčky). Osobne sa mi pozdáva druhý spôsob, nakoľko sa deti zároveň učia aj zápis dĺžok nôt a aj to lepšie esteticky vyzerá.

 

·         Bude treba kontrolovať, či nie je nejaká nota rozdelená taktom (teda, nevojde sa do taktu v ktorom začala). V prípade zápisu rytmu stačí notu zapísať len do konca taktu a zvyšok realizovať v novom takte ako pomlčku. Všeobecnejšie sa však noty presahujúce takt viažu špeciálnou značkou – ligtúrou, ktorý ma tvar oblúčika spájajúceho časti noty.

·         Možno by bolo vhodné tento model rozšíriť na zápis melódie hneď na začiatku a používať ho aj na zápis rytmu.

Posledná úprava ( Wednesday, 01 January 2003 )
 
Rámcová špecifikácia herného sveta E-mail
Napísal Andrej Frlička   
Sunday, 12 November 2006
Dokument popisuje herný svet z použivateľského hľadiska, a snaží sa vytvoriť o ňom rámcovú predstavu.

Špecifikácia herného sveta


Posledná úprava ( Wednesday, 01 January 2003 )
 
Špecifikácia projektu E-mail
Napísal Andrej Frlička   
Monday, 30 October 2006

Dokument obsahuje rámcovú špecifikáciu systému .

 

Posledná úprava ( Wednesday, 01 January 2003 )
 
Hudobný quest E-mail
Napísal Andrej Frlička   
Monday, 30 October 2006

Dokument popisuje popis hudobného questu a niektorých úloh s ním súvisiacich

 Hudobný quest

Posledná úprava ( Wednesday, 01 January 2003 )
 
Návrhy názvu projektu E-mail
Napísal Marek Tomša   
Wednesday, 25 October 2006

Uvádzam mierne pretriedený zoznam názvov vzniknúci pri príležitosti brainstormovania 23.10.2006

Ak sú tam 3 použiteľné tak je to asi veľa, ale možno to niekoho inšpiruje.

 

smartgames
mindworld
mindputer
mindcast
mindbox
mindfall
mindshine
the mentor
tutor
the crazy machine
mašina krajzivna
the mind academy
sprite
icWhy
pupil
teach-me
englightmentor
englightment
lite
enlite
knOWLedge
capability enhancer
be capable
be mature
maturitor
capabilitor
memorizer
adviser
advizor
memorizor
stormind
twinworlds
playground
iSpace
mySchool
virtualSchool
eSchool
iSchool
noSchool
iScool
isCool
itsCool
icCoul
iceCool
itsCool
mind odyssey 2007
iLearn
uKnow
roxor
rockford
iDementor
iGames
iChild
theWorld
megaSchool
iNable
kidUniverzity
kiduni
focus
foogli
mite
iMite
iMiteLike
smoothLearning
the ultimate smooth learning adaptive system for enabling hypermedial education for all children
fanster
game
theGame
gloss
iGloss
banta
iHall
iVote
iSlim
i
dreamShard
V
P
I
O
U
envyOfMind
envil of mind
anvil of mind
age of learning
mindforge
childforge
geforge
gforge
iForge
mindFork
mindHaste
mindee
mindy
ariel
mono
monomate
world of knowledge
worlds of knowledge
owl for everyone
maze
theMaze
the Maze
it
toytage
toyteach
mindshine
teach me
fopa
mind colors
colors of the mind
mind school
mind\'s cool
iCluster
childCluster
mindCluster
lilput
unizune
kidzone
kidzune
kidzoone
iKidZone
luster
hearbeat
city
sity
si to ty?
playground zero
mindblast
bookQorm
bookworm
Meebelibo
equal
a echo
ian
echo
eCo
iCon
iCo
iSo
iSay
iSaySo
iTeamSo
tWorld
tSo
tLife
eTime
twinTime
twinLife
personal rejuvenating system
adaptive personal hypersystem
saySpace
tSpace
teach space
minddrive
pool of sight
omninext
teant
mindway
highlands
visual teacher
education magic
visual apprentice
sim school
mind coctail
wisdom runner
caparunner
Wisdom giver.
viswisi.

Posledná úprava ( Wednesday, 01 January 2003 )
 
© 2010 Resharpers (Imagine cup team)
Joomla! is Free Software released under the GNU/GPL License.