Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorflavio <fdanesse@gmail.com>2013-03-13 21:50:29 (GMT)
committer flavio <fdanesse@gmail.com>2013-03-13 21:50:29 (GMT)
commit6d79836fe1bb76965a80447cc18bdb837f431b20 (patch)
tree81045cb936cc99bc2bd60ac9bfb4e51e6ebfda4e
-rw-r--r--.gitignore2
-rw-r--r--Activities/Level1/1Colors/1Sort/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/data.txt1
-rw-r--r--Activities/Level1/1Colors/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/cajaamarilla.pngbin0 -> 25066 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/cajaazul.pngbin0 -> 23894 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/cajaroja.pngbin0 -> 23379 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/cajaverde.pngbin0 -> 24672 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/crayolaamarilla.pngbin0 -> 9866 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/crayolaazul.pngbin0 -> 9504 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/crayolaroja.pngbin0 -> 9151 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/resources/crayolaverde.pngbin0 -> 9718 bytes
-rw-r--r--Activities/Level1/1Colors/1Sort/screens.txt59
-rw-r--r--Activities/Level1/1Colors/1Sort/settings.txt13
-rw-r--r--Activities/Level1/1Colors/2Sort/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/data.txt1
-rw-r--r--Activities/Level1/1Colors/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/cajablanca.pngbin0 -> 25441 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/cajanaranja.pngbin0 -> 24151 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/cajanegra.pngbin0 -> 20686 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/cajavioleta.pngbin0 -> 24282 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/crayolablanca.pngbin0 -> 9996 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/crayolanaranja.pngbin0 -> 9730 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/crayolanegra.pngbin0 -> 9014 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/resources/crayolavioleta.pngbin0 -> 9789 bytes
-rw-r--r--Activities/Level1/1Colors/2Sort/screens.txt60
-rw-r--r--Activities/Level1/1Colors/2Sort/settings.txt13
-rw-r--r--Activities/Level1/1Colors/3Match/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/data.txt1
-rw-r--r--Activities/Level1/1Colors/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/automovil_naranja.pngbin0 -> 11382 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/circulo_azul.pngbin0 -> 4693 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/crayon_amarillo.pngbin0 -> 4085 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/crayon_azul.pngbin0 -> 3894 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/crayon_naranja.pngbin0 -> 4649 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/crayon_rojo.pngbin0 -> 3840 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/crayon_verde.pngbin0 -> 3989 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/cuadrado_rojo.pngbin0 -> 3056 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/pajaro_amarillo.pngbin0 -> 11737 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/pajaro_verde.pngbin0 -> 10442 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/resources/pajaro_verdeold.pngbin0 -> 10880 bytes
-rw-r--r--Activities/Level1/1Colors/3Match/screens.txt5
-rw-r--r--Activities/Level1/1Colors/3Match/settings.txt8
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/data.txt1
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/resources/_automovil.pngbin0 -> 29239 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/resources/_guitarra.pngbin0 -> 36629 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/resources/_lapiz.pngbin0 -> 14316 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/resources/_pajaro.pngbin0 -> 33925 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/resources/_reptil.pngbin0 -> 28813 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/resources/_taza.pngbin0 -> 24194 bytes
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/screens.txt22
-rw-r--r--Activities/Level1/1Colors/4ColorPaint/settings.txt11
-rw-r--r--Activities/Level1/1Colors/5MultipleC/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/data.txt1
-rw-r--r--Activities/Level1/1Colors/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/banana.pngbin0 -> 11301 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/bicicleta_roja.pngbin0 -> 75087 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/caja_roja.pngbin0 -> 14333 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 28130 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/cara_triste_anim.pngbin0 -> 18955 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/casa_azul.pngbin0 -> 53933 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/estrella_amarilla.pngbin0 -> 8980 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/estrella_azul.pngbin0 -> 9116 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/oso_polar.pngbin0 -> 28331 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/resources/pez_verde.pngbin0 -> 20932 bytes
-rw-r--r--Activities/Level1/1Colors/5MultipleC/screens.txt47
-rw-r--r--Activities/Level1/1Colors/5MultipleC/settings.txt9
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/data.txt1
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/resources/bicicleta_verde.pngbin0 -> 18283 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/resources/luna_amarilla.pngbin0 -> 7428 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/resources/pajaro_naranja.pngbin0 -> 11526 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/resources/pez_rojo.pngbin0 -> 15929 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/resources/taza_azul.pngbin0 -> 7576 bytes
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/screens.txt15
-rw-r--r--Activities/Level1/1Colors/6DragnDrop/settings.txt13
-rw-r--r--Activities/Level1/1Colors/7Concentrate/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/data.txt1
-rw-r--r--Activities/Level1/1Colors/7Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/_BackFace.pngbin0 -> 15531 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/autovioleta.pngbin0 -> 4602 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/bicicletaroja.pngbin0 -> 4871 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/casaazul.pngbin0 -> 4527 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/circulonegro.pngbin0 -> 3963 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/circulorojo.pngbin0 -> 3057 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/cometanaranja.pngbin0 -> 4205 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/conc_01_color.jpgbin0 -> 146016 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/conc_01_mono.jpgbin0 -> 133259 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/diamanteverde.pngbin0 -> 4825 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/diamanteverde2.pngbin0 -> 4825 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/estrellaverde.pngbin0 -> 3863 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/gallinaamarilla.pngbin0 -> 4372 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/globonaranja.pngbin0 -> 4556 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/libroazul.pngbin0 -> 4203 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/limonamarillo.pngbin0 -> 3995 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/lunablanca.pngbin0 -> 4591 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/osoblanco.pngbin0 -> 5027 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/sombreronegro.pngbin0 -> 4543 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/resources/zapatillavioleta.pngbin0 -> 3825 bytes
-rw-r--r--Activities/Level1/1Colors/7Concentrate/screen.txt10
-rw-r--r--Activities/Level1/1Colors/7Concentrate/settings.txt8
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/data.txt1
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/automovil.pngbin0 -> 31511 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/bandera.pngbin0 -> 14455 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/caballo.pngbin0 -> 40507 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/flor.pngbin0 -> 21654 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/libro.pngbin0 -> 15171 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/remera.pngbin0 -> 17481 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/telefono.pngbin0 -> 34221 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/resources/vaso_de_jugo.pngbin0 -> 13932 bytes
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/screens.txt24
-rw-r--r--Activities/Level1/1Colors/8ColorPaint/settings.txt11
-rw-r--r--Activities/Level1/1Colors/9MultipleC/Thumbs.dbbin0 -> 5632 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/data.txt1
-rw-r--r--Activities/Level1/1Colors/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/autoblanco.pngbin0 -> 28945 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/ballenaazul.pngbin0 -> 24689 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/camionamarillo.pngbin0 -> 42315 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 30612 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/cara_triste_anim.pngbin0 -> 21799 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/conejoblanco.pngbin0 -> 24455 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/limaverde.pngbin0 -> 14555 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/pajarorojo.pngbin0 -> 30984 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/tractornaranja.pngbin0 -> 36597 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/resources/zapatillaazul.pngbin0 -> 18064 bytes
-rw-r--r--Activities/Level1/1Colors/9MultipleC/screens.txt47
-rw-r--r--Activities/Level1/1Colors/9MultipleC/settings.txt9
-rw-r--r--Activities/Level1/1Colors/btn_act.pngbin0 -> 3802 bytes
-rw-r--r--Activities/Level1/1Colors/ico.pngbin0 -> 6714 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/black.oggbin0 -> 12541 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/blue.oggbin0 -> 11815 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/green.oggbin0 -> 12668 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/orange.oggbin0 -> 13466 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/purple.oggbin0 -> 12506 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/red.oggbin0 -> 12110 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/unitSound.oggbin0 -> 70972 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/white.oggbin0 -> 11586 bytes
-rw-r--r--Activities/Level1/1Colors/sounds/yellow.oggbin0 -> 11762 bytes
-rw-r--r--Activities/Level1/1Colors/unitMarker.pngbin0 -> 11745 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/data.txt1
-rw-r--r--Activities/Level1/2Food/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/apple.pngbin0 -> 9732 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/appleSIL.pngbin0 -> 24482 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/banana.pngbin0 -> 7342 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/bananaSIL.pngbin0 -> 22335 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/hamburger.pngbin0 -> 14435 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/hamburgerSIL.pngbin0 -> 32553 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/icecream.pngbin0 -> 13559 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/resources/icecreamSIL.pngbin0 -> 32536 bytes
-rw-r--r--Activities/Level1/2Food/1Sort/screens.txt23
-rw-r--r--Activities/Level1/2Food/1Sort/settings.txt17
-rw-r--r--Activities/Level1/2Food/2Sort/data.txt1
-rw-r--r--Activities/Level1/2Food/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/chicken.pngbin0 -> 16539 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/chickenSIL.pngbin0 -> 31896 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/corn.pngbin0 -> 14989 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/cornSIL.pngbin0 -> 30406 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/milk2.pngbin0 -> 11487 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/milk2SIL.pngbin0 -> 21606 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/pizza.pngbin0 -> 14863 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/resources/pizzaSIL.pngbin0 -> 28344 bytes
-rw-r--r--Activities/Level1/2Food/2Sort/screens.txt23
-rw-r--r--Activities/Level1/2Food/2Sort/settings.txt17
-rw-r--r--Activities/Level1/2Food/3Match/data.txt1
-rw-r--r--Activities/Level1/2Food/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/apple.pngbin0 -> 9480 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/appleTXT.pngbin0 -> 3469 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/banana.pngbin0 -> 7801 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/bananaTXT.pngbin0 -> 3443 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/chicken.pngbin0 -> 12304 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/chickenTXT.pngbin0 -> 3580 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/corn.pngbin0 -> 10733 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/cornTXT.pngbin0 -> 3419 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/pizza.pngbin0 -> 14753 bytes
-rw-r--r--Activities/Level1/2Food/3Match/resources/pizzaTXT.pngbin0 -> 3454 bytes
-rw-r--r--Activities/Level1/2Food/3Match/screens.txt5
-rw-r--r--Activities/Level1/2Food/3Match/settings.txt8
-rw-r--r--Activities/Level1/2Food/4Paint/data.txt1
-rw-r--r--Activities/Level1/2Food/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/apple.pngbin0 -> 14166 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/banana.pngbin0 -> 11317 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/chicken.pngbin0 -> 18791 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/corn.pngbin0 -> 18214 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/hamburguer.pngbin0 -> 19457 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/icecream.pngbin0 -> 18373 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/milk.pngbin0 -> 14176 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/resources/pizza.pngbin0 -> 26125 bytes
-rw-r--r--Activities/Level1/2Food/4Paint/screens.txt23
-rw-r--r--Activities/Level1/2Food/4Paint/settings.txt11
-rw-r--r--Activities/Level1/2Food/5MultipleC/data.txt1
-rw-r--r--Activities/Level1/2Food/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/apple.pngbin0 -> 28299 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/banana.pngbin0 -> 19999 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 33936 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/cara_triste_anim.pngbin0 -> 24842 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/chicken.pngbin0 -> 38892 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/corn.pngbin0 -> 34560 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/hamburger.pngbin0 -> 42388 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/icecream.pngbin0 -> 34635 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/milk.pngbin0 -> 27713 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/resources/pizza.pngbin0 -> 47242 bytes
-rw-r--r--Activities/Level1/2Food/5MultipleC/screens.txt47
-rw-r--r--Activities/Level1/2Food/5MultipleC/settings.txt9
-rw-r--r--Activities/Level1/2Food/6Concentrate/data.txt1
-rw-r--r--Activities/Level1/2Food/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/_BackFace.pngbin0 -> 18279 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/apple1.pngbin0 -> 10499 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/apple2.pngbin0 -> 13110 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/banana1.pngbin0 -> 9107 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/banana2.pngbin0 -> 12419 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/chicken1.pngbin0 -> 12784 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/chicken2.pngbin0 -> 10301 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/conc_02_color.jpgbin0 -> 159279 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/conc_02_mono.jpgbin0 -> 132022 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/corn1.pngbin0 -> 11781 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/corn2.pngbin0 -> 13010 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/hamburger1.pngbin0 -> 12814 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/hamburger2.pngbin0 -> 13358 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/icecream1.pngbin0 -> 9601 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/icecream2.pngbin0 -> 12571 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/milk1.pngbin0 -> 9577 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/milk2.pngbin0 -> 10388 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/pizza1.pngbin0 -> 14504 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/resources/pizza2.pngbin0 -> 11469 bytes
-rw-r--r--Activities/Level1/2Food/6Concentrate/screen.txt10
-rw-r--r--Activities/Level1/2Food/6Concentrate/settings.txt8
-rw-r--r--Activities/Level1/2Food/7DragnDrop/data.txt1
-rw-r--r--Activities/Level1/2Food/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/resources/banana.pngbin0 -> 9855 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/resources/corn.pngbin0 -> 14989 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/resources/hamburger.pngbin0 -> 16929 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/resources/milk.pngbin0 -> 11487 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/resources/pizza.pngbin0 -> 14863 bytes
-rw-r--r--Activities/Level1/2Food/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level1/2Food/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level1/2Food/8Match/data.txt1
-rw-r--r--Activities/Level1/2Food/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/banana.pngbin0 -> 7690 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/bananaTXT.pngbin0 -> 3443 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/hamburger.pngbin0 -> 11557 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/hamburgerTXT.pngbin0 -> 3907 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/icecream.pngbin0 -> 10926 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/icecreamTXT.pngbin0 -> 3669 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/milk.pngbin0 -> 9396 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/milkTXT.pngbin0 -> 3297 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/pizza.pngbin0 -> 13252 bytes
-rw-r--r--Activities/Level1/2Food/8Match/resources/pizzaTXT.pngbin0 -> 3454 bytes
-rw-r--r--Activities/Level1/2Food/8Match/screens.txt5
-rw-r--r--Activities/Level1/2Food/8Match/settings.txt8
-rw-r--r--Activities/Level1/2Food/9MultipleC/data.txt1
-rw-r--r--Activities/Level1/2Food/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/apple.pngbin0 -> 28299 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/banana.pngbin0 -> 19999 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 34518 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/cara_triste_anim.pngbin0 -> 24732 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/chicken.pngbin0 -> 38892 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/corn.pngbin0 -> 34560 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/hamburger.pngbin0 -> 42388 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/icecream.pngbin0 -> 34635 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/milk.pngbin0 -> 27713 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/resources/pizza.pngbin0 -> 47242 bytes
-rw-r--r--Activities/Level1/2Food/9MultipleC/screens.txt47
-rw-r--r--Activities/Level1/2Food/9MultipleC/settings.txt9
-rw-r--r--Activities/Level1/2Food/btn_act.pngbin0 -> 3802 bytes
-rw-r--r--Activities/Level1/2Food/ico.pngbin0 -> 5690 bytes
-rw-r--r--Activities/Level1/2Food/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level1/2Food/sounds/apple.oggbin0 -> 12525 bytes
-rw-r--r--Activities/Level1/2Food/sounds/banana.oggbin0 -> 14244 bytes
-rw-r--r--Activities/Level1/2Food/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level1/2Food/sounds/black.oggbin0 -> 12448 bytes
-rw-r--r--Activities/Level1/2Food/sounds/blue.oggbin0 -> 19623 bytes
-rw-r--r--Activities/Level1/2Food/sounds/chicken.oggbin0 -> 12157 bytes
-rw-r--r--Activities/Level1/2Food/sounds/chorange.oggbin0 -> 24551 bytes
-rw-r--r--Activities/Level1/2Food/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level1/2Food/sounds/corn.oggbin0 -> 11508 bytes
-rw-r--r--Activities/Level1/2Food/sounds/cornblue.oggbin0 -> 20465 bytes
-rw-r--r--Activities/Level1/2Food/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level1/2Food/sounds/green.oggbin0 -> 21704 bytes
-rw-r--r--Activities/Level1/2Food/sounds/hamburger.oggbin0 -> 13479 bytes
-rw-r--r--Activities/Level1/2Food/sounds/hamburguer.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level1/2Food/sounds/icecream.oggbin0 -> 13725 bytes
-rw-r--r--Activities/Level1/2Food/sounds/milk.oggbin0 -> 11095 bytes
-rw-r--r--Activities/Level1/2Food/sounds/orange.oggbin0 -> 22468 bytes
-rw-r--r--Activities/Level1/2Food/sounds/pizza.oggbin0 -> 11336 bytes
-rw-r--r--Activities/Level1/2Food/sounds/purple.oggbin0 -> 23411 bytes
-rw-r--r--Activities/Level1/2Food/sounds/red.oggbin0 -> 22295 bytes
-rw-r--r--Activities/Level1/2Food/sounds/unitSound.oggbin0 -> 138999 bytes
-rw-r--r--Activities/Level1/2Food/sounds/white.oggbin0 -> 21458 bytes
-rw-r--r--Activities/Level1/2Food/sounds/yellow.oggbin0 -> 23161 bytes
-rw-r--r--Activities/Level1/2Food/unitMarker.pngbin0 -> 6954 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/data.txt1
-rw-r--r--Activities/Level1/3Body/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/arm.pngbin0 -> 15012 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/armSIL.pngbin0 -> 24560 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/foot.pngbin0 -> 6985 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/footSIL.pngbin0 -> 10727 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/hand.pngbin0 -> 7023 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/handSIL.pngbin0 -> 11619 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/kid.pngbin0 -> 56206 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/leg.pngbin0 -> 9144 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/resources/legSIL.pngbin0 -> 22169 bytes
-rw-r--r--Activities/Level1/3Body/1Sort/screens.txt25
-rw-r--r--Activities/Level1/3Body/1Sort/settings.txt17
-rw-r--r--Activities/Level1/3Body/2Sort/data.txt1
-rw-r--r--Activities/Level1/3Body/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/eye.pngbin0 -> 7194 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/eyeSIL.pngbin0 -> 42056 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/head.pngbin0 -> 110475 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/headSIL.pngbin0 -> 46597 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/head_bck.pngbin0 -> 88899 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/mouth.pngbin0 -> 7097 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/mouthSIL.pngbin0 -> 14452 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/nose.pngbin0 -> 6556 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/resources/noseSIL.pngbin0 -> 11870 bytes
-rw-r--r--Activities/Level1/3Body/2Sort/screens.txt26
-rw-r--r--Activities/Level1/3Body/2Sort/settings.txt17
-rw-r--r--Activities/Level1/3Body/3Match/data.txt1
-rw-r--r--Activities/Level1/3Body/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/arm.pngbin0 -> 6951 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/armTXT.pngbin0 -> 3358 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/foot.pngbin0 -> 11917 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/footTXT.pngbin0 -> 3435 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/hand.pngbin0 -> 11145 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/handTXT.pngbin0 -> 3442 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/head.pngbin0 -> 11759 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/headTXT.pngbin0 -> 3577 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/mouth.pngbin0 -> 9719 bytes
-rw-r--r--Activities/Level1/3Body/3Match/resources/mouthTXT.pngbin0 -> 3563 bytes
-rw-r--r--Activities/Level1/3Body/3Match/screens.txt5
-rw-r--r--Activities/Level1/3Body/3Match/settings.txt8
-rw-r--r--Activities/Level1/3Body/4Paint/data.txt1
-rw-r--r--Activities/Level1/3Body/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/arms.pngbin0 -> 9811 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/back.pngbin0 -> 37695 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/eyes.pngbin0 -> 7694 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/foot.pngbin0 -> 9780 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/hands.pngbin0 -> 11777 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/head.pngbin0 -> 20743 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/legs.pngbin0 -> 7241 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/mouth.pngbin0 -> 4574 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/nose.pngbin0 -> 5694 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/resources/old.rarbin0 -> 163658 bytes
-rw-r--r--Activities/Level1/3Body/4Paint/screens.txt24
-rw-r--r--Activities/Level1/3Body/4Paint/settings.txt11
-rw-r--r--Activities/Level1/3Body/5MultipleC/data.txt1
-rw-r--r--Activities/Level1/3Body/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/1.pngbin0 -> 40063 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/2.pngbin0 -> 48606 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/3.pngbin0 -> 46136 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/4.pngbin0 -> 44604 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/5.pngbin0 -> 46180 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/6.pngbin0 -> 43955 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/7.pngbin0 -> 45304 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/8.pngbin0 -> 54646 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 34828 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/resources/cara_triste_anim.pngbin0 -> 24955 bytes
-rw-r--r--Activities/Level1/3Body/5MultipleC/screens.txt47
-rw-r--r--Activities/Level1/3Body/5MultipleC/settings.txt9
-rw-r--r--Activities/Level1/3Body/6Concentrate/data.txt1
-rw-r--r--Activities/Level1/3Body/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/_BackFace.pngbin0 -> 18388 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/arm1.pngbin0 -> 7666 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/arm2.pngbin0 -> 9028 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/conc_03_color.jpgbin0 -> 146088 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/conc_03_mono.jpgbin0 -> 116945 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/eye1.pngbin0 -> 6942 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/eye2.pngbin0 -> 6574 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/foot1.pngbin0 -> 9147 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/foot2.pngbin0 -> 8789 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/hand1.pngbin0 -> 8969 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/hand2.pngbin0 -> 9402 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/head1.pngbin0 -> 13696 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/head2.pngbin0 -> 13093 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/leg1.pngbin0 -> 6955 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/leg2.pngbin0 -> 7812 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/mouth1.pngbin0 -> 9490 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/mouth2.pngbin0 -> 7148 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/nose1.pngbin0 -> 8891 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/resources/nose2.pngbin0 -> 6476 bytes
-rw-r--r--Activities/Level1/3Body/6Concentrate/screen.txt10
-rw-r--r--Activities/Level1/3Body/6Concentrate/settings.txt8
-rw-r--r--Activities/Level1/3Body/7DragnDrop/data.txt1
-rw-r--r--Activities/Level1/3Body/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/resources/arm.pngbin0 -> 9947 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/resources/eye.pngbin0 -> 8783 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/resources/head.pngbin0 -> 23250 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/resources/leg.pngbin0 -> 11007 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/resources/mouth.pngbin0 -> 9183 bytes
-rw-r--r--Activities/Level1/3Body/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level1/3Body/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level1/3Body/8Match/data.txt1
-rw-r--r--Activities/Level1/3Body/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/eye.pngbin0 -> 6081 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/eyeTXT.pngbin0 -> 3399 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/foot.pngbin0 -> 5847 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/footTXT.pngbin0 -> 3377 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/hands.pngbin0 -> 8770 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/handsTXT.pngbin0 -> 3571 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/legs.pngbin0 -> 9002 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/legsTXT.pngbin0 -> 3514 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/nose.pngbin0 -> 6698 bytes
-rw-r--r--Activities/Level1/3Body/8Match/resources/noseTXT.pngbin0 -> 3531 bytes
-rw-r--r--Activities/Level1/3Body/8Match/screens.txt5
-rw-r--r--Activities/Level1/3Body/8Match/settings.txt8
-rw-r--r--Activities/Level1/3Body/9MultipleC/data.txt1
-rw-r--r--Activities/Level1/3Body/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/arm.pngbin0 -> 17642 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/arms.pngbin0 -> 39493 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35108 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/cara_triste_anim.pngbin0 -> 24795 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/eyes.pngbin0 -> 18934 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/foot.pngbin0 -> 24623 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/hands.pngbin0 -> 31112 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/legs.pngbin0 -> 29459 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/mouth.pngbin0 -> 16280 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/resources/nose.pngbin0 -> 14174 bytes
-rw-r--r--Activities/Level1/3Body/9MultipleC/screens.txt47
-rw-r--r--Activities/Level1/3Body/9MultipleC/settings.txt9
-rw-r--r--Activities/Level1/3Body/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level1/3Body/btn_act.pngbin0 -> 3802 bytes
-rw-r--r--Activities/Level1/3Body/ico.pngbin0 -> 5540 bytes
-rw-r--r--Activities/Level1/3Body/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level1/3Body/sounds/arm.oggbin0 -> 11996 bytes
-rw-r--r--Activities/Level1/3Body/sounds/arms.oggbin0 -> 12639 bytes
-rw-r--r--Activities/Level1/3Body/sounds/armyellow.oggbin0 -> 20700 bytes
-rw-r--r--Activities/Level1/3Body/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level1/3Body/sounds/black.oggbin0 -> 11530 bytes
-rw-r--r--Activities/Level1/3Body/sounds/blue.oggbin0 -> 11681 bytes
-rw-r--r--Activities/Level1/3Body/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level1/3Body/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level1/3Body/sounds/eye.oggbin0 -> 11439 bytes
-rw-r--r--Activities/Level1/3Body/sounds/eyegreen.oggbin0 -> 20512 bytes
-rw-r--r--Activities/Level1/3Body/sounds/eyes.oggbin0 -> 13010 bytes
-rw-r--r--Activities/Level1/3Body/sounds/foot.oggbin0 -> 11099 bytes
-rw-r--r--Activities/Level1/3Body/sounds/footblue.oggbin0 -> 21035 bytes
-rw-r--r--Activities/Level1/3Body/sounds/green.oggbin0 -> 12555 bytes
-rw-r--r--Activities/Level1/3Body/sounds/hand.oggbin0 -> 11687 bytes
-rw-r--r--Activities/Level1/3Body/sounds/handpurple.oggbin0 -> 21253 bytes
-rw-r--r--Activities/Level1/3Body/sounds/hands.oggbin0 -> 13168 bytes
-rw-r--r--Activities/Level1/3Body/sounds/head.oggbin0 -> 11004 bytes
-rw-r--r--Activities/Level1/3Body/sounds/headwhite.oggbin0 -> 19760 bytes
-rw-r--r--Activities/Level1/3Body/sounds/leg.oggbin0 -> 11592 bytes
-rw-r--r--Activities/Level1/3Body/sounds/legs.oggbin0 -> 13464 bytes
-rw-r--r--Activities/Level1/3Body/sounds/legyellow.oggbin0 -> 20900 bytes
-rw-r--r--Activities/Level1/3Body/sounds/mouth.oggbin0 -> 12172 bytes
-rw-r--r--Activities/Level1/3Body/sounds/mouthred.oggbin0 -> 20652 bytes
-rw-r--r--Activities/Level1/3Body/sounds/nose.oggbin0 -> 13178 bytes
-rw-r--r--Activities/Level1/3Body/sounds/noseorange.oggbin0 -> 22352 bytes
-rw-r--r--Activities/Level1/3Body/sounds/orange.oggbin0 -> 13179 bytes
-rw-r--r--Activities/Level1/3Body/sounds/purple.oggbin0 -> 12122 bytes
-rw-r--r--Activities/Level1/3Body/sounds/red.oggbin0 -> 11659 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/bike.oggbin0 -> 11778 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/bikered.oggbin0 -> 20369 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/boat.oggbin0 -> 11332 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/boatwhite.oggbin0 -> 19925 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/bus.oggbin0 -> 11669 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/busyellow.oggbin0 -> 20656 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/car.oggbin0 -> 11101 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/carblack.oggbin0 -> 20851 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisabike.oggbin0 -> 16268 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisaboat.oggbin0 -> 14797 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisabus.oggbin0 -> 16145 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisacar.oggbin0 -> 15567 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisamotorcycle.oggbin0 -> 19447 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisaplane.oggbin0 -> 16637 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisatrain.oggbin0 -> 16562 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/itisatruck.oggbin0 -> 15381 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/motorcycle.oggbin0 -> 16481 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/motorcycleorange.oggbin0 -> 26283 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/plane.oggbin0 -> 12198 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/planegreen.oggbin0 -> 21987 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/train.oggbin0 -> 12977 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/traingreen.oggbin0 -> 22651 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/truck.oggbin0 -> 10913 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/truckpurple.oggbin0 -> 23045 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/unitSound.oggbin0 -> 138507 bytes
-rw-r--r--Activities/Level1/3Body/sounds/sounds/whatisit.oggbin0 -> 14263 bytes
-rw-r--r--Activities/Level1/3Body/sounds/unitSound.oggbin0 -> 138507 bytes
-rw-r--r--Activities/Level1/3Body/sounds/white.oggbin0 -> 11756 bytes
-rw-r--r--Activities/Level1/3Body/sounds/yellow.oggbin0 -> 12333 bytes
-rw-r--r--Activities/Level1/3Body/unitMarker.pngbin0 -> 6083 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/data.txt1
-rw-r--r--Activities/Level1/4Clothes/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/boy.pngbin0 -> 52287 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/pants.pngbin0 -> 11574 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/pantsSIL.pngbin0 -> 26139 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/shirt.pngbin0 -> 14125 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/shirtSIL.pngbin0 -> 26554 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/shoes.pngbin0 -> 7191 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/shoesSIL.pngbin0 -> 16366 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/socks.pngbin0 -> 8386 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/resources/socksSIL.pngbin0 -> 20205 bytes
-rw-r--r--Activities/Level1/4Clothes/1Sort/screens.txt25
-rw-r--r--Activities/Level1/4Clothes/1Sort/settings.txt17
-rw-r--r--Activities/Level1/4Clothes/2Sort/data.txt1
-rw-r--r--Activities/Level1/4Clothes/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/blouse.pngbin0 -> 22740 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/blouseSIL.pngbin0 -> 38902 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/girl.pngbin0 -> 57471 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/hat.pngbin0 -> 17693 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/hatSIL.pngbin0 -> 28109 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/skirt.pngbin0 -> 9038 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/skirtSIL.pngbin0 -> 20077 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/sweater.pngbin0 -> 20565 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/resources/sweaterSIL.pngbin0 -> 35088 bytes
-rw-r--r--Activities/Level1/4Clothes/2Sort/screens.txt25
-rw-r--r--Activities/Level1/4Clothes/2Sort/settings.txt17
-rw-r--r--Activities/Level1/4Clothes/3Match/data.txt1
-rw-r--r--Activities/Level1/4Clothes/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/blouse.pngbin0 -> 9347 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/blouseTXT.pngbin0 -> 3655 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/hat.pngbin0 -> 6309 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/hatTXT.pngbin0 -> 3300 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/pants.pngbin0 -> 10260 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/pantsTXT.pngbin0 -> 3593 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/shoe.pngbin0 -> 10494 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/shoeTXT.pngbin0 -> 3558 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/sweater.pngbin0 -> 7132 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/resources/sweaterTXT.pngbin0 -> 3792 bytes
-rw-r--r--Activities/Level1/4Clothes/3Match/screens.txt5
-rw-r--r--Activities/Level1/4Clothes/3Match/settings.txt8
-rw-r--r--Activities/Level1/4Clothes/4Paint/data.txt1
-rw-r--r--Activities/Level1/4Clothes/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/blouse.pngbin0 -> 8491 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/boygirl.pngbin0 -> 54022 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/hat.pngbin0 -> 14622 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/pants.pngbin0 -> 10720 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/shirt.pngbin0 -> 9920 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/shoes.pngbin0 -> 9288 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/skirt.pngbin0 -> 7704 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/socks.pngbin0 -> 4237 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/resources/sweater.pngbin0 -> 14276 bytes
-rw-r--r--Activities/Level1/4Clothes/4Paint/screens.txt24
-rw-r--r--Activities/Level1/4Clothes/4Paint/settings.txt11
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/data.txt1
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/boypants.pngbin0 -> 27918 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/boyshirt.pngbin0 -> 28618 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/boysocks.pngbin0 -> 24375 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 33797 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/cara_triste_anim.pngbin0 -> 24775 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/girlblouse.pngbin0 -> 29195 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/girlshoes.pngbin0 -> 27529 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/resources/girlskirt.pngbin0 -> 28363 bytes
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/screens.txt47
-rw-r--r--Activities/Level1/4Clothes/5MultipleC/settings.txt9
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/data.txt1
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/_BackFace.pngbin0 -> 18442 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/blouse1.pngbin0 -> 11574 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/blouse2.pngbin0 -> 14550 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/conc_04_color.jpgbin0 -> 143535 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/conc_04_mono.jpgbin0 -> 119696 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/hat1.pngbin0 -> 10888 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/hat2.pngbin0 -> 12014 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/pants1.pngbin0 -> 13610 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/pants2.pngbin0 -> 12300 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/shirt1.pngbin0 -> 16014 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/shirt2.pngbin0 -> 10758 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/shoe1.pngbin0 -> 12720 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/shoe2.pngbin0 -> 9259 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/skirt1.pngbin0 -> 9585 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/skirt2.pngbin0 -> 9866 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/sock1.pngbin0 -> 11662 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/sock2.pngbin0 -> 11657 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/sweater1.pngbin0 -> 12189 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/resources/sweater2.pngbin0 -> 8965 bytes
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/screen.txt10
-rw-r--r--Activities/Level1/4Clothes/6Concentrate/settings.txt8
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/data.txt1
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/resources/hat.pngbin0 -> 14016 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/resources/shirt.pngbin0 -> 23878 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/resources/shoe.pngbin0 -> 10621 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/resources/skirt.pngbin0 -> 10916 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/resources/sock.pngbin0 -> 11534 bytes
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level1/4Clothes/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level1/4Clothes/8Match/data.txt1
-rw-r--r--Activities/Level1/4Clothes/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/pants.pngbin0 -> 11506 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/pantsTXT.pngbin0 -> 3593 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/shirt.pngbin0 -> 12178 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/shirtTXT.pngbin0 -> 3381 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/shoes.pngbin0 -> 10126 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/shoesTXT.pngbin0 -> 3586 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/skirt.pngbin0 -> 7204 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/skirtTXT.pngbin0 -> 3438 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/socks.pngbin0 -> 11654 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/resources/socksTXT.pngbin0 -> 3544 bytes
-rw-r--r--Activities/Level1/4Clothes/8Match/screens.txt5
-rw-r--r--Activities/Level1/4Clothes/8Match/settings.txt8
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/data.txt1
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/blouse.pngbin0 -> 36368 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35431 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25082 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/hat.pngbin0 -> 32309 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/pants.pngbin0 -> 54176 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/shirt.pngbin0 -> 60740 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/shoes.pngbin0 -> 43174 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/skirt.pngbin0 -> 25288 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/socks.pngbin0 -> 55220 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/resources/sweater.pngbin0 -> 38173 bytes
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/screens.txt47
-rw-r--r--Activities/Level1/4Clothes/9MultipleC/settings.txt9
-rw-r--r--Activities/Level1/4Clothes/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level1/4Clothes/btn_act.pngbin0 -> 3802 bytes
-rw-r--r--Activities/Level1/4Clothes/ico.pngbin0 -> 5130 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/black.oggbin0 -> 12235 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/blouse.oggbin0 -> 12447 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/blouseorange.oggbin0 -> 23126 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/blue.oggbin0 -> 11949 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/green.oggbin0 -> 12786 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/hat.oggbin0 -> 10973 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/hatred.oggbin0 -> 20152 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/orange.oggbin0 -> 13134 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/pants.oggbin0 -> 12421 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/pantspurple.oggbin0 -> 21234 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/purple.oggbin0 -> 12313 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/red.oggbin0 -> 11560 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/shirt.oggbin0 -> 11676 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/shirtblue.oggbin0 -> 21915 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/shoe.oggbin0 -> 12485 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/shoes.oggbin0 -> 13037 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/shoesblack.oggbin0 -> 22997 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/skirt.oggbin0 -> 12090 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/skirtgreen.oggbin0 -> 23422 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/skirts.oggbin0 -> 13720 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/sock.oggbin0 -> 11942 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/socks.oggbin0 -> 12790 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/socksyellow.oggbin0 -> 23445 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/sweater.oggbin0 -> 12127 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/sweaterwhite.oggbin0 -> 21697 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/unitSound.oggbin0 -> 86682 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/white.oggbin0 -> 10874 bytes
-rw-r--r--Activities/Level1/4Clothes/sounds/yellow.oggbin0 -> 12451 bytes
-rw-r--r--Activities/Level1/4Clothes/unitMarker.pngbin0 -> 5312 bytes
-rw-r--r--Activities/Level1/btn_unit.pngbin0 -> 3728 bytes
-rw-r--r--Activities/Level1/ico.pngbin0 -> 5155 bytes
-rw-r--r--Activities/Level1/ico_grande.pngbin0 -> 9918 bytes
-rw-r--r--Activities/Level1/menu_fdo_act.pngbin0 -> 4101 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/data.txt1
-rw-r--r--Activities/Level2/1Animals/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/bear.pngbin0 -> 22778 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/bearSIL.pngbin0 -> 46593 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/cat.pngbin0 -> 24643 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/catSIL.pngbin0 -> 53947 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/dog.pngbin0 -> 19650 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/dogSIL.pngbin0 -> 42927 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/horse.pngbin0 -> 26311 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/resources/horseSIL.pngbin0 -> 50807 bytes
-rw-r--r--Activities/Level2/1Animals/1Sort/screens.txt23
-rw-r--r--Activities/Level2/1Animals/1Sort/settings.txt17
-rw-r--r--Activities/Level2/1Animals/2Sort/data.txt1
-rw-r--r--Activities/Level2/1Animals/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/bird.pngbin0 -> 15599 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/birdSIL.pngbin0 -> 34732 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/fish.pngbin0 -> 13902 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/fishSIL.pngbin0 -> 29371 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/frog.pngbin0 -> 14904 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/frogSIL.pngbin0 -> 30785 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/lizard.pngbin0 -> 13883 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/resources/lizardSIL.pngbin0 -> 29259 bytes
-rw-r--r--Activities/Level2/1Animals/2Sort/screens.txt23
-rw-r--r--Activities/Level2/1Animals/2Sort/settings.txt17
-rw-r--r--Activities/Level2/1Animals/3Match/data.txt1
-rw-r--r--Activities/Level2/1Animals/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/bird.pngbin0 -> 9036 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/birdTXT.pngbin0 -> 3335 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/dog.pngbin0 -> 12083 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/dogTXT.pngbin0 -> 3464 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/fish.pngbin0 -> 10341 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/fishTXT.pngbin0 -> 3371 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/frog.pngbin0 -> 10474 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/frogTXT.pngbin0 -> 3488 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/horse.pngbin0 -> 14191 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/resources/horseTXT.pngbin0 -> 3597 bytes
-rw-r--r--Activities/Level2/1Animals/3Match/screens.txt5
-rw-r--r--Activities/Level2/1Animals/3Match/settings.txt8
-rw-r--r--Activities/Level2/1Animals/4Paint/data.txt1
-rw-r--r--Activities/Level2/1Animals/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/bear.pngbin0 -> 30515 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/bird.pngbin0 -> 21867 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/cat.pngbin0 -> 24560 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/dog.pngbin0 -> 34652 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/fish.pngbin0 -> 23175 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/frog.pngbin0 -> 24060 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/horse.pngbin0 -> 26903 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/resources/lizard.pngbin0 -> 20724 bytes
-rw-r--r--Activities/Level2/1Animals/4Paint/screens.txt23
-rw-r--r--Activities/Level2/1Animals/4Paint/settings.txt11
-rw-r--r--Activities/Level2/1Animals/5MultipleC/data.txt1
-rw-r--r--Activities/Level2/1Animals/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/bear.pngbin0 -> 56197 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 34659 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/cara_triste_anim.pngbin0 -> 24918 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/cat.pngbin0 -> 64283 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/dog.pngbin0 -> 46979 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/fish.pngbin0 -> 30299 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/frog.pngbin0 -> 37944 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/horse.pngbin0 -> 65238 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/lizard.pngbin0 -> 32181 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/resources/racehorse.pngbin0 -> 48133 bytes
-rw-r--r--Activities/Level2/1Animals/5MultipleC/screens.txt47
-rw-r--r--Activities/Level2/1Animals/5MultipleC/settings.txt9
-rw-r--r--Activities/Level2/1Animals/6Concentrate/data.txt1
-rw-r--r--Activities/Level2/1Animals/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/_BackFace.pngbin0 -> 18357 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/bear1.pngbin0 -> 12341 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/bear2.pngbin0 -> 17314 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/bird1.pngbin0 -> 8755 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/bird2.pngbin0 -> 11600 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/cat1.pngbin0 -> 18916 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/cat2.pngbin0 -> 11785 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/conc_05_color.jpgbin0 -> 144114 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/conc_05_mono.jpgbin0 -> 117264 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/dog1.pngbin0 -> 14039 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/dog2.pngbin0 -> 15474 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/fish1.pngbin0 -> 12087 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/fish2.pngbin0 -> 12965 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/frog1.pngbin0 -> 14601 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/frog2.pngbin0 -> 13683 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/horse1.pngbin0 -> 14011 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/horse2.pngbin0 -> 17037 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/lizard1.pngbin0 -> 11421 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/resources/lizard2.pngbin0 -> 13611 bytes
-rw-r--r--Activities/Level2/1Animals/6Concentrate/screen.txt10
-rw-r--r--Activities/Level2/1Animals/6Concentrate/settings.txt8
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/data.txt1
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/resources/bear.pngbin0 -> 22778 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/resources/cat.pngbin0 -> 15592 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/resources/dog.pngbin0 -> 20172 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/resources/fish.pngbin0 -> 15722 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/resources/lizard.pngbin0 -> 13883 bytes
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level2/1Animals/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level2/1Animals/8Match/data.txt1
-rw-r--r--Activities/Level2/1Animals/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/bear.pngbin0 -> 12154 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/bearTXT.pngbin0 -> 3466 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/cat.pngbin0 -> 14187 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/catTXT.pngbin0 -> 3360 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/dog.pngbin0 -> 10696 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/dogTXT.pngbin0 -> 3464 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/frog.pngbin0 -> 9318 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/frogTXT.pngbin0 -> 3488 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/lizard.pngbin0 -> 7884 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/resources/lizardTXT.pngbin0 -> 3453 bytes
-rw-r--r--Activities/Level2/1Animals/8Match/screens.txt5
-rw-r--r--Activities/Level2/1Animals/8Match/settings.txt8
-rw-r--r--Activities/Level2/1Animals/9MultipleC/data.txt1
-rw-r--r--Activities/Level2/1Animals/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/bear1.pngbin0 -> 56197 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/bear2.pngbin0 -> 43253 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/bird.pngbin0 -> 36464 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 34426 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25041 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/cat.pngbin0 -> 64283 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/dog.pngbin0 -> 46979 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/fish.pngbin0 -> 30299 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/frog1.pngbin0 -> 37944 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/frog2.pngbin0 -> 34744 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/horse1.pngbin0 -> 65238 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/horse2.pngbin0 -> 48133 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/resources/lizard.pngbin0 -> 32181 bytes
-rw-r--r--Activities/Level2/1Animals/9MultipleC/screens.txt47
-rw-r--r--Activities/Level2/1Animals/9MultipleC/settings.txt9
-rw-r--r--Activities/Level2/1Animals/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level2/1Animals/btn_act.pngbin0 -> 3809 bytes
-rw-r--r--Activities/Level2/1Animals/ico.pngbin0 -> 6988 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/bear.oggbin0 -> 12400 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/bearwhite.oggbin0 -> 19904 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/bird.oggbin0 -> 11983 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/birdred.oggbin0 -> 21072 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/cat.oggbin0 -> 10678 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/catorange.oggbin0 -> 22728 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/dog.oggbin0 -> 12413 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/dogyellow.oggbin0 -> 22285 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/fish.oggbin0 -> 11298 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/fishpurple.oggbin0 -> 21710 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/frog.oggbin0 -> 12869 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/froggreen.oggbin0 -> 23117 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/horse.oggbin0 -> 11742 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/horseblack.oggbin0 -> 22295 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisabear.oggbin0 -> 15649 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisabird.oggbin0 -> 17439 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisacat.oggbin0 -> 15812 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisadog.oggbin0 -> 17247 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisafish.oggbin0 -> 16546 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisafrog.oggbin0 -> 17441 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisahorse.oggbin0 -> 16243 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/itisalizard.oggbin0 -> 17404 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/lizard.oggbin0 -> 12864 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/lizardblue.oggbin0 -> 21313 bytes
-rw-r--r--Activities/Level2/1Animals/sounds/unitSound.oggbin0 -> 70972 bytes
-rw-r--r--Activities/Level2/1Animals/unitMarker.pngbin0 -> 11043 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/data.txt1
-rw-r--r--Activities/Level2/2Actions/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/boyjump.pngbin0 -> 16515 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/boyjumpSIL.pngbin0 -> 32979 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/boywalk.pngbin0 -> 15347 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/boywalkSIL.pngbin0 -> 35551 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/girlrun.pngbin0 -> 15754 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/girlrunSIL.pngbin0 -> 38876 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/girlstand.pngbin0 -> 14728 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/resources/girlstandSIL.pngbin0 -> 33234 bytes
-rw-r--r--Activities/Level2/2Actions/1Sort/screens.txt23
-rw-r--r--Activities/Level2/2Actions/1Sort/settings.txt18
-rw-r--r--Activities/Level2/2Actions/2Sort/data.txt1
-rw-r--r--Activities/Level2/2Actions/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/boyeat.pngbin0 -> 16780 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/boyeatSIL.pngbin0 -> 34691 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/boyplay.pngbin0 -> 19587 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/boyplaySIL.pngbin0 -> 40990 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/girlride.pngbin0 -> 28642 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/girlrideSIL.pngbin0 -> 43249 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/girlsleep.pngbin0 -> 17183 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/resources/girlsleepSIL.pngbin0 -> 33781 bytes
-rw-r--r--Activities/Level2/2Actions/2Sort/screens.txt23
-rw-r--r--Activities/Level2/2Actions/2Sort/settings.txt18
-rw-r--r--Activities/Level2/2Actions/3Match/data.txt1
-rw-r--r--Activities/Level2/2Actions/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/boyrun.pngbin0 -> 9442 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/boysleep.pngbin0 -> 10521 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/eatTXT.pngbin0 -> 3378 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/girleat.pngbin0 -> 10738 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/girljump.pngbin0 -> 10619 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/girlride.pngbin0 -> 14519 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/jumpTXT.pngbin0 -> 3391 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/rideTXT.pngbin0 -> 3355 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/runTXT.pngbin0 -> 3160 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/resources/sleepTXT.pngbin0 -> 3496 bytes
-rw-r--r--Activities/Level2/2Actions/3Match/screens.txt5
-rw-r--r--Activities/Level2/2Actions/3Match/settings.txt8
-rw-r--r--Activities/Level2/2Actions/4Paint/data.txt1
-rw-r--r--Activities/Level2/2Actions/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/eat.pngbin0 -> 22068 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/jump.pngbin0 -> 23270 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/play.pngbin0 -> 28411 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/ride.pngbin0 -> 35917 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/run.pngbin0 -> 22552 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/sleep.pngbin0 -> 22316 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/stand.pngbin0 -> 20931 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/resources/walk.pngbin0 -> 20863 bytes
-rw-r--r--Activities/Level2/2Actions/4Paint/screens.txt23
-rw-r--r--Activities/Level2/2Actions/4Paint/settings.txt11
-rw-r--r--Activities/Level2/2Actions/5MultipleC/data.txt1
-rw-r--r--Activities/Level2/2Actions/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/boyjump.pngbin0 -> 37451 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/boyplay.pngbin0 -> 48366 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/boyride.pngbin0 -> 59602 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/boyrun.pngbin0 -> 40277 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35080 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/cara_triste_anim.pngbin0 -> 25195 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/girleat.pngbin0 -> 43434 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/girlplay.pngbin0 -> 50548 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/resources/girlstand.pngbin0 -> 34826 bytes
-rw-r--r--Activities/Level2/2Actions/5MultipleC/screens.txt47
-rw-r--r--Activities/Level2/2Actions/5MultipleC/settings.txt9
-rw-r--r--Activities/Level2/2Actions/6Concentrate/data.txt1
-rw-r--r--Activities/Level2/2Actions/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/_BackFace.pngbin0 -> 18395 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/conc_06_color.jpgbin0 -> 159425 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/conc_06_mono.jpgbin0 -> 129458 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/eat1.pngbin0 -> 16442 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/eat2.pngbin0 -> 14622 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/jump1.pngbin0 -> 15153 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/jump2.pngbin0 -> 15521 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/play1.pngbin0 -> 14998 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/play2.pngbin0 -> 14097 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/ride1.pngbin0 -> 17977 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/ride2.pngbin0 -> 15879 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/run1.pngbin0 -> 14091 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/run2.pngbin0 -> 14477 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/sleep1.pngbin0 -> 15332 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/sleep2.pngbin0 -> 15018 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/stand1.pngbin0 -> 12045 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/stand2.pngbin0 -> 11896 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/walk1.pngbin0 -> 11519 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/resources/walk2.pngbin0 -> 11730 bytes
-rw-r--r--Activities/Level2/2Actions/6Concentrate/screen.txt10
-rw-r--r--Activities/Level2/2Actions/6Concentrate/settings.txt8
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/data.txt1
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/resources/girleat.pngbin0 -> 18349 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/resources/girlrun.pngbin0 -> 15927 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/resources/girlsleep.pngbin0 -> 17386 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/resources/girlstand.pngbin0 -> 15111 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/resources/manride.pngbin0 -> 25964 bytes
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level2/2Actions/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level2/2Actions/8Match/data.txt1
-rw-r--r--Activities/Level2/2Actions/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/boyeat.pngbin0 -> 9780 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/boyplay.pngbin0 -> 11669 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/boystand.pngbin0 -> 8663 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/eatTXT.pngbin0 -> 3378 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/girlrun.pngbin0 -> 9846 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/girlwalk.pngbin0 -> 9783 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/playTXT.pngbin0 -> 3458 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/runTXT.pngbin0 -> 3160 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/standTXT.pngbin0 -> 3567 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/resources/walkTXT.pngbin0 -> 3567 bytes
-rw-r--r--Activities/Level2/2Actions/8Match/screens.txt5
-rw-r--r--Activities/Level2/2Actions/8Match/settings.txt8
-rw-r--r--Activities/Level2/2Actions/9MultipleC/data.txt1
-rw-r--r--Activities/Level2/2Actions/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/boyeat.pngbin0 -> 37577 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/boyride.pngbin0 -> 72641 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/boyrun.pngbin0 -> 40277 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/boysleep.pngbin0 -> 43499 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 36147 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25331 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/girleat.pngbin0 -> 43434 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/girljump.pngbin0 -> 41298 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/girlrun.pngbin0 -> 36340 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/resources/girlsleep.pngbin0 -> 38789 bytes
-rw-r--r--Activities/Level2/2Actions/9MultipleC/screens.txt47
-rw-r--r--Activities/Level2/2Actions/9MultipleC/settings.txt9
-rw-r--r--Activities/Level2/2Actions/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level2/2Actions/btn_act.pngbin0 -> 3809 bytes
-rw-r--r--Activities/Level2/2Actions/ico.pngbin0 -> 6402 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorherblack.oggbin0 -> 31838 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorherblue.oggbin0 -> 16949 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhergreen.oggbin0 -> 33183 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorherorange.oggbin0 -> 30993 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorherpurple.oggbin0 -> 16756 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorherred.oggbin0 -> 16851 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorherwhite.oggbin0 -> 29441 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorheryellow.oggbin0 -> 16513 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimblack.oggbin0 -> 16809 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimblue.oggbin0 -> 27624 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimgreen.oggbin0 -> 17787 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimorange.oggbin0 -> 18189 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimpurple.oggbin0 -> 30098 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimred.oggbin0 -> 26597 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimwhite.oggbin0 -> 15648 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/colorhimyellow.oggbin0 -> 26776 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/eat.oggbin0 -> 9862 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/heeats.oggbin0 -> 13801 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/hejumps.oggbin0 -> 14010 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/heplays.oggbin0 -> 15087 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/herides.oggbin0 -> 14930 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/heruns.oggbin0 -> 14488 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/hesleeps.oggbin0 -> 14643 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/hestands.oggbin0 -> 16057 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/hewalks.oggbin0 -> 14991 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/jump.oggbin0 -> 11196 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/play.oggbin0 -> 11179 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/ride.oggbin0 -> 12391 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/run.oggbin0 -> 11349 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/sheeats.oggbin0 -> 15258 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/shejumps.oggbin0 -> 16960 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/sheplays.oggbin0 -> 19597 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/sherides.oggbin0 -> 18994 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/sheruns.oggbin0 -> 19055 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/shesleeps.oggbin0 -> 19124 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/shestands.oggbin0 -> 15958 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/shewalks.oggbin0 -> 15870 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/sleep.oggbin0 -> 11889 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/stand.oggbin0 -> 13551 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/unitSound.oggbin0 -> 138999 bytes
-rw-r--r--Activities/Level2/2Actions/sounds/walk.oggbin0 -> 11979 bytes
-rw-r--r--Activities/Level2/2Actions/unitMarker.pngbin0 -> 9325 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/data.txt1
-rw-r--r--Activities/Level2/3Transport/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/car.pngbin0 -> 18965 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/carSIL.pngbin0 -> 35693 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/plane.pngbin0 -> 14300 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/planeSIL.pngbin0 -> 31916 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/train.pngbin0 -> 18504 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/trainSIL.pngbin0 -> 34068 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/truck.pngbin0 -> 16373 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/resources/truckSIL.pngbin0 -> 31864 bytes
-rw-r--r--Activities/Level2/3Transport/1Sort/screens.txt23
-rw-r--r--Activities/Level2/3Transport/1Sort/settings.txt18
-rw-r--r--Activities/Level2/3Transport/2Sort/data.txt1
-rw-r--r--Activities/Level2/3Transport/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/bike.pngbin0 -> 20158 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/bikeSIL.pngbin0 -> 54325 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/boat.pngbin0 -> 13775 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/boatSIL.pngbin0 -> 26063 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/bus.pngbin0 -> 20447 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/busSIL.pngbin0 -> 37934 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/motorcycle.pngbin0 -> 19576 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/resources/motorcycleSIL.pngbin0 -> 38300 bytes
-rw-r--r--Activities/Level2/3Transport/2Sort/screens.txt23
-rw-r--r--Activities/Level2/3Transport/2Sort/settings.txt18
-rw-r--r--Activities/Level2/3Transport/3Match/data.txt1
-rw-r--r--Activities/Level2/3Transport/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/boat.pngbin0 -> 8656 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/boatTXT.pngbin0 -> 3478 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/bus.pngbin0 -> 12455 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/busTXT.pngbin0 -> 3382 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/car.pngbin0 -> 11723 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/carTXT.pngbin0 -> 3330 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/train.pngbin0 -> 11431 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/trainTXT.pngbin0 -> 3345 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/truck.pngbin0 -> 10214 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/resources/truckTXT.pngbin0 -> 3454 bytes
-rw-r--r--Activities/Level2/3Transport/3Match/screens.txt5
-rw-r--r--Activities/Level2/3Transport/3Match/settings.txt8
-rw-r--r--Activities/Level2/3Transport/4Paint/data.txt1
-rw-r--r--Activities/Level2/3Transport/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/bike.pngbin0 -> 28892 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/boat.pngbin0 -> 18664 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/bus.pngbin0 -> 27910 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/car.pngbin0 -> 20942 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/motorcycle.pngbin0 -> 27928 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/plane.pngbin0 -> 21464 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/train.pngbin0 -> 25728 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/resources/truck.pngbin0 -> 27087 bytes
-rw-r--r--Activities/Level2/3Transport/4Paint/screens.txt27
-rw-r--r--Activities/Level2/3Transport/4Paint/settings.txt11
-rw-r--r--Activities/Level2/3Transport/5MultipleC/data.txt1
-rw-r--r--Activities/Level2/3Transport/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/bike.pngbin0 -> 40409 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/boat.pngbin0 -> 27657 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/bus.pngbin0 -> 45835 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/car.pngbin0 -> 39853 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35035 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/cara_triste_anim.pngbin0 -> 25116 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/motorcycle.pngbin0 -> 41385 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/train.pngbin0 -> 39223 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/truck1.pngbin0 -> 45883 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/resources/truck2.pngbin0 -> 33326 bytes
-rw-r--r--Activities/Level2/3Transport/5MultipleC/screens.txt47
-rw-r--r--Activities/Level2/3Transport/5MultipleC/settings.txt9
-rw-r--r--Activities/Level2/3Transport/6Concentrate/data.txt1
-rw-r--r--Activities/Level2/3Transport/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/_BackFace.pngbin0 -> 18681 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/bike1.pngbin0 -> 16435 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/bike2.pngbin0 -> 15760 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/boat1.pngbin0 -> 10857 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/boat2.pngbin0 -> 13819 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/bus1.pngbin0 -> 15557 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/bus2.pngbin0 -> 16204 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/car1.pngbin0 -> 14281 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/car2.pngbin0 -> 14047 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/conc_07_color.jpgbin0 -> 166153 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/conc_07_mono.jpgbin0 -> 137671 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/motorcycle1.pngbin0 -> 14721 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/motorcycle2.pngbin0 -> 13789 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/plane1.pngbin0 -> 11412 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/plane2.pngbin0 -> 10481 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/train1.pngbin0 -> 13658 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/train2.pngbin0 -> 16160 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/truck1.pngbin0 -> 12534 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/resources/truck2.pngbin0 -> 14453 bytes
-rw-r--r--Activities/Level2/3Transport/6Concentrate/screen.txt10
-rw-r--r--Activities/Level2/3Transport/6Concentrate/settings.txt8
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/data.txt1
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/resources/bike.pngbin0 -> 17883 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/resources/car.pngbin0 -> 18751 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/resources/motorcycle.pngbin0 -> 19576 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/resources/train.pngbin0 -> 23857 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/resources/truck.pngbin0 -> 16373 bytes
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level2/3Transport/7DragnDrop/settings.txt17
-rw-r--r--Activities/Level2/3Transport/8Match/data.txt1
-rw-r--r--Activities/Level2/3Transport/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/bike.pngbin0 -> 9430 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/bikeTXT.pngbin0 -> 3440 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/boat.pngbin0 -> 8512 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/boatTXT.pngbin0 -> 3478 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/bus.pngbin0 -> 10206 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/busTXT.pngbin0 -> 3382 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/motorcycle.pngbin0 -> 11648 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/motorcycleTXT.pngbin0 -> 3915 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/plane.pngbin0 -> 9055 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/resources/planeTXT.pngbin0 -> 3522 bytes
-rw-r--r--Activities/Level2/3Transport/8Match/screens.txt5
-rw-r--r--Activities/Level2/3Transport/8Match/settings.txt8
-rw-r--r--Activities/Level2/3Transport/9MultipleC/data.txt1
-rw-r--r--Activities/Level2/3Transport/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/bike.pngbin0 -> 41266 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/bus1.pngbin0 -> 45835 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/bus2.pngbin0 -> 44188 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35899 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25194 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/motorcycle.pngbin0 -> 41385 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/train.pngbin0 -> 39223 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/truck1.pngbin0 -> 33326 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/resources/truck2.pngbin0 -> 45883 bytes
-rw-r--r--Activities/Level2/3Transport/9MultipleC/screens.txt47
-rw-r--r--Activities/Level2/3Transport/9MultipleC/settings.txt9
-rw-r--r--Activities/Level2/3Transport/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level2/3Transport/btn_act.pngbin0 -> 3809 bytes
-rw-r--r--Activities/Level2/3Transport/ico.pngbin0 -> 6945 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/bike.oggbin0 -> 11778 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/bikered.oggbin0 -> 20369 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/boat.oggbin0 -> 11332 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/boatwhite.oggbin0 -> 19925 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/bus.oggbin0 -> 11669 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/busyellow.oggbin0 -> 20656 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/car.oggbin0 -> 11101 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/carblack.oggbin0 -> 20851 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisabike.oggbin0 -> 16268 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisaboat.oggbin0 -> 14797 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisabus.oggbin0 -> 16145 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisacar.oggbin0 -> 15567 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisamotorcycle.oggbin0 -> 19447 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisaplane.oggbin0 -> 16637 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisatrain.oggbin0 -> 16562 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/itisatruck.oggbin0 -> 15381 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/motorcycle.oggbin0 -> 16481 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/motorcycleorange.oggbin0 -> 26283 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/plane.oggbin0 -> 12198 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/planegreen.oggbin0 -> 21987 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/train.oggbin0 -> 12977 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/traingreen.oggbin0 -> 22651 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/truck.oggbin0 -> 10913 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/truckpurple.oggbin0 -> 23045 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/unitSound.oggbin0 -> 138507 bytes
-rw-r--r--Activities/Level2/3Transport/sounds/whatisit.oggbin0 -> 14263 bytes
-rw-r--r--Activities/Level2/3Transport/unitMarker.pngbin0 -> 12135 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/data.txt1
-rw-r--r--Activities/Level2/4Weather/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/moon.pngbin0 -> 23734 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/moonSIL.pngbin0 -> 34836 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/rainbow.pngbin0 -> 24129 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/rainbowSIL.pngbin0 -> 44743 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/stars.pngbin0 -> 22136 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/starsSIL.pngbin0 -> 34896 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/sun.pngbin0 -> 24306 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/resources/sunSIL.pngbin0 -> 41573 bytes
-rw-r--r--Activities/Level2/4Weather/1Sort/screens.txt23
-rw-r--r--Activities/Level2/4Weather/1Sort/settings.txt18
-rw-r--r--Activities/Level2/4Weather/2Sort/data.txt1
-rw-r--r--Activities/Level2/4Weather/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/cloud.pngbin0 -> 18954 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/cloudSIL.pngbin0 -> 30285 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/lightning.pngbin0 -> 29006 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/lightningSIL.pngbin0 -> 46632 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/rain.pngbin0 -> 61569 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/rainSIL.pngbin0 -> 130774 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/snow.pngbin0 -> 22404 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/resources/snowSIL.pngbin0 -> 42925 bytes
-rw-r--r--Activities/Level2/4Weather/2Sort/screens.txt25
-rw-r--r--Activities/Level2/4Weather/2Sort/settings.txt18
-rw-r--r--Activities/Level2/4Weather/3Match/data.txt1
-rw-r--r--Activities/Level2/4Weather/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/cloud.pngbin0 -> 8975 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/cloudTXT.pngbin0 -> 3500 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/rainbow.pngbin0 -> 10873 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/rainbowTXT.pngbin0 -> 3801 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/snow.pngbin0 -> 11570 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/snowTXT.pngbin0 -> 3627 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/stars.pngbin0 -> 12518 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/starsTXT.pngbin0 -> 3477 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/sun.pngbin0 -> 11484 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/resources/sunTXT.pngbin0 -> 3323 bytes
-rw-r--r--Activities/Level2/4Weather/3Match/screens.txt5
-rw-r--r--Activities/Level2/4Weather/3Match/settings.txt8
-rw-r--r--Activities/Level2/4Weather/4Paint/data.txt1
-rw-r--r--Activities/Level2/4Weather/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/cloud.pngbin0 -> 22407 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/lightning.pngbin0 -> 23754 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/moon.pngbin0 -> 24434 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/rain.pngbin0 -> 69187 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/rainbow.pngbin0 -> 30279 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/snow.pngbin0 -> 23804 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/stars.pngbin0 -> 19752 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/resources/sun.pngbin0 -> 18366 bytes
-rw-r--r--Activities/Level2/4Weather/4Paint/screens.txt27
-rw-r--r--Activities/Level2/4Weather/4Paint/settings.txt11
-rw-r--r--Activities/Level2/4Weather/5MultipleC/data.txt1
-rw-r--r--Activities/Level2/4Weather/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 32486 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/cara_triste_anim.pngbin0 -> 23877 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/cloud1.pngbin0 -> 51280 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/cloud2.pngbin0 -> 46668 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/lightning.pngbin0 -> 68866 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/rain.pngbin0 -> 98019 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/stars1.pngbin0 -> 65702 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/stars2.pngbin0 -> 54066 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/resources/sun.pngbin0 -> 55448 bytes
-rw-r--r--Activities/Level2/4Weather/5MultipleC/screens.txt47
-rw-r--r--Activities/Level2/4Weather/5MultipleC/settings.txt9
-rw-r--r--Activities/Level2/4Weather/6Concentrate/data.txt1
-rw-r--r--Activities/Level2/4Weather/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/_BackFace.pngbin0 -> 18626 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/cloud1.pngbin0 -> 10599 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/cloud2.pngbin0 -> 11832 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/conc_08_color.jpgbin0 -> 150050 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/conc_08_mono.jpgbin0 -> 129846 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/lightning1.pngbin0 -> 14086 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/lightning2.pngbin0 -> 17380 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/moon1.pngbin0 -> 11589 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/moon2.pngbin0 -> 13550 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/rain1.pngbin0 -> 30174 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/rain2.pngbin0 -> 22378 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/rainbow1.pngbin0 -> 12738 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/rainbow2.pngbin0 -> 14148 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/snow1.pngbin0 -> 16016 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/snow2.pngbin0 -> 12240 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/stars1.pngbin0 -> 6279 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/stars2.pngbin0 -> 7837 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/sun1.pngbin0 -> 8725 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/resources/sun2.pngbin0 -> 12299 bytes
-rw-r--r--Activities/Level2/4Weather/6Concentrate/screen.txt10
-rw-r--r--Activities/Level2/4Weather/6Concentrate/settings.txt8
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/data.txt1
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/resources/lightning.pngbin0 -> 29006 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/resources/moon.pngbin0 -> 23734 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/resources/rain.pngbin0 -> 61569 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/resources/snow.pngbin0 -> 32379 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/resources/sun.pngbin0 -> 24306 bytes
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level2/4Weather/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level2/4Weather/8Match/data.txt1
-rw-r--r--Activities/Level2/4Weather/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/cloud.pngbin0 -> 8688 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/cloudTXT.pngbin0 -> 3500 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/lightning.pngbin0 -> 12480 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/lightningTXT.pngbin0 -> 3468 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/moon.pngbin0 -> 9713 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/moonTXT.pngbin0 -> 3385 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/rain.pngbin0 -> 18872 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/rainTXT.pngbin0 -> 3269 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/stars.pngbin0 -> 10022 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/resources/starsTXT.pngbin0 -> 3477 bytes
-rw-r--r--Activities/Level2/4Weather/8Match/screens.txt5
-rw-r--r--Activities/Level2/4Weather/8Match/settings.txt8
-rw-r--r--Activities/Level2/4Weather/9MultipleC/data.txt1
-rw-r--r--Activities/Level2/4Weather/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35341 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/cara_triste_anim.pngbin0 -> 24954 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/cloud.pngbin0 -> 46124 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/lightning1.pngbin0 -> 64923 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/lightning2.pngbin0 -> 65208 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/moon.pngbin0 -> 50091 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/rain1.pngbin0 -> 90585 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/rain2.pngbin0 -> 135344 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/resources/rainbow.pngbin0 -> 52713 bytes
-rw-r--r--Activities/Level2/4Weather/9MultipleC/screens.txt47
-rw-r--r--Activities/Level2/4Weather/9MultipleC/settings.txt9
-rw-r--r--Activities/Level2/4Weather/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level2/4Weather/btn_act.pngbin0 -> 3809 bytes
-rw-r--r--Activities/Level2/4Weather/ico.pngbin0 -> 6958 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/cloud.oggbin0 -> 12563 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/cloudpurple.oggbin0 -> 22138 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itisacloud.oggbin0 -> 15937 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itisarainbow.oggbin0 -> 16866 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itislightning.oggbin0 -> 15515 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itisrain.oggbin0 -> 14764 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itissnow.oggbin0 -> 15651 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itisthemoon.oggbin0 -> 16309 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itistherain.oggbin0 -> 16718 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/itisthesun.oggbin0 -> 16566 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/lightning.oggbin0 -> 13453 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/lightningyellow.oggbin0 -> 21375 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/moon.oggbin0 -> 13642 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/moonblue.oggbin0 -> 20319 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/rain.oggbin0 -> 12537 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/rainbow.oggbin0 -> 14137 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/rainbowblack.oggbin0 -> 21732 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/raingreen.oggbin0 -> 21448 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/rainpurple.oggbin0 -> 21129 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/snow.oggbin0 -> 13106 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/snowwhite.oggbin0 -> 21418 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/stars.oggbin0 -> 14027 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/starsred.oggbin0 -> 22180 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/sun.oggbin0 -> 13778 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/sunorange.oggbin0 -> 23057 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/theyarestars.oggbin0 -> 17655 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/unitSound.oggbin0 -> 86682 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/whatarethey.oggbin0 -> 26328 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/whatisit.oggbin0 -> 13516 bytes
-rw-r--r--Activities/Level2/4Weather/sounds/whatisit_f.oggbin0 -> 14263 bytes
-rw-r--r--Activities/Level2/4Weather/unitMarker.pngbin0 -> 12856 bytes
-rw-r--r--Activities/Level2/btn_unit.pngbin0 -> 3674 bytes
-rw-r--r--Activities/Level2/ico.pngbin0 -> 5429 bytes
-rw-r--r--Activities/Level2/ico_grande.pngbin0 -> 10415 bytes
-rw-r--r--Activities/Level2/menu_fdo_act.pngbin0 -> 4090 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/data.txt1
-rw-r--r--Activities/Level3/1Things/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/chair.pngbin0 -> 12454 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/chairSIL.pngbin0 -> 27294 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/computer.pngbin0 -> 14329 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/computerSIL.pngbin0 -> 28554 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/phone.pngbin0 -> 16602 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/phoneSIL.pngbin0 -> 29127 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/table.pngbin0 -> 8021 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/resources/tableSIL.pngbin0 -> 18841 bytes
-rw-r--r--Activities/Level3/1Things/1Sort/screens.txt26
-rw-r--r--Activities/Level3/1Things/1Sort/settings.txt18
-rw-r--r--Activities/Level3/1Things/2Sort/data.txt1
-rw-r--r--Activities/Level3/1Things/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/ball.pngbin0 -> 12078 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/ballSIL.pngbin0 -> 23562 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/book.pngbin0 -> 14975 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/bookSIL.pngbin0 -> 29067 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/cup.pngbin0 -> 14391 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/cupSIL.pngbin0 -> 27877 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/pencil.pngbin0 -> 6783 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/resources/pencilSIL.pngbin0 -> 13214 bytes
-rw-r--r--Activities/Level3/1Things/2Sort/screens.txt25
-rw-r--r--Activities/Level3/1Things/2Sort/settings.txt18
-rw-r--r--Activities/Level3/1Things/3Match/data.txt1
-rw-r--r--Activities/Level3/1Things/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/book.pngbin0 -> 8610 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/bookTXT.pngbin0 -> 3447 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/chair.pngbin0 -> 6376 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/chairTXT.pngbin0 -> 3427 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/computer.pngbin0 -> 12326 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/computerTXT.pngbin0 -> 3885 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/phone.pngbin0 -> 8077 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/phoneTXT.pngbin0 -> 3542 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/table.pngbin0 -> 6909 bytes
-rw-r--r--Activities/Level3/1Things/3Match/resources/tableTXT.pngbin0 -> 3496 bytes
-rw-r--r--Activities/Level3/1Things/3Match/screens.txt5
-rw-r--r--Activities/Level3/1Things/3Match/settings.txt8
-rw-r--r--Activities/Level3/1Things/4Paint/data.txt1
-rw-r--r--Activities/Level3/1Things/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/ball.pngbin0 -> 15958 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/book.pngbin0 -> 18704 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/chair.pngbin0 -> 13835 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/computer.pngbin0 -> 20635 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/cup.pngbin0 -> 27350 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/pencil.pngbin0 -> 7846 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/phone.pngbin0 -> 17799 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/resources/table.pngbin0 -> 12436 bytes
-rw-r--r--Activities/Level3/1Things/4Paint/screens.txt32
-rw-r--r--Activities/Level3/1Things/4Paint/settings.txt11
-rw-r--r--Activities/Level3/1Things/5MultipleC/data.txt1
-rw-r--r--Activities/Level3/1Things/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/book1.pngbin0 -> 39861 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/book2.pngbin0 -> 35157 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 32847 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/cara_triste_anim.pngbin0 -> 23966 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/computer.pngbin0 -> 48458 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/cup.pngbin0 -> 35526 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/pencil.pngbin0 -> 17940 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/phone.pngbin0 -> 50549 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/table1.pngbin0 -> 17880 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/resources/table2.pngbin0 -> 25855 bytes
-rw-r--r--Activities/Level3/1Things/5MultipleC/screens.txt47
-rw-r--r--Activities/Level3/1Things/5MultipleC/settings.txt9
-rw-r--r--Activities/Level3/1Things/6Concentrate/data.txt1
-rw-r--r--Activities/Level3/1Things/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/_BackFace.pngbin0 -> 18626 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/ball1.pngbin0 -> 8695 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/ball2.pngbin0 -> 12207 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/book1.pngbin0 -> 12992 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/book2.pngbin0 -> 13141 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/chair1.pngbin0 -> 10394 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/chair2.pngbin0 -> 9738 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/computer1.pngbin0 -> 14364 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/computer2.pngbin0 -> 15195 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/conc_09_color.jpgbin0 -> 142218 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/conc_09_mono.jpgbin0 -> 108498 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/cup1.pngbin0 -> 9791 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/cup2.pngbin0 -> 10685 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/pencil1.pngbin0 -> 8482 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/pencil2.pngbin0 -> 9127 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/phone1.pngbin0 -> 12449 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/phone2.pngbin0 -> 15317 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/table1.pngbin0 -> 10352 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/resources/table2.pngbin0 -> 9402 bytes
-rw-r--r--Activities/Level3/1Things/6Concentrate/screen.txt10
-rw-r--r--Activities/Level3/1Things/6Concentrate/settings.txt8
-rw-r--r--Activities/Level3/1Things/7DragnDrop/data.txt1
-rw-r--r--Activities/Level3/1Things/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/resources/book.pngbin0 -> 19314 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/resources/computer.pngbin0 -> 20652 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/resources/pencil.pngbin0 -> 8282 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/resources/phone.pngbin0 -> 20776 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/resources/table.pngbin0 -> 12278 bytes
-rw-r--r--Activities/Level3/1Things/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level3/1Things/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level3/1Things/8Match/data.txt1
-rw-r--r--Activities/Level3/1Things/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/ball.pngbin0 -> 8111 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/ballTXT.pngbin0 -> 3285 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/book.pngbin0 -> 8541 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/bookTXT.pngbin0 -> 3447 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/chair.pngbin0 -> 6686 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/chairTXT.pngbin0 -> 3427 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/cup.pngbin0 -> 9212 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/cupTXT.pngbin0 -> 3375 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/pencil.pngbin0 -> 5019 bytes
-rw-r--r--Activities/Level3/1Things/8Match/resources/pencilTXT.pngbin0 -> 3509 bytes
-rw-r--r--Activities/Level3/1Things/8Match/screens.txt5
-rw-r--r--Activities/Level3/1Things/8Match/settings.txt8
-rw-r--r--Activities/Level3/1Things/9MultipleC/data.txt1
-rw-r--r--Activities/Level3/1Things/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/ball.pngbin0 -> 25804 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/book.pngbin0 -> 41021 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35714 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25329 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/chair.pngbin0 -> 22344 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/cup.pngbin0 -> 35526 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/pencil.pngbin0 -> 15137 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/phone1.pngbin0 -> 30872 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/phone2.pngbin0 -> 48671 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/resources/table.pngbin0 -> 17385 bytes
-rw-r--r--Activities/Level3/1Things/9MultipleC/screens.txt47
-rw-r--r--Activities/Level3/1Things/9MultipleC/settings.txt9
-rw-r--r--Activities/Level3/1Things/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level3/1Things/btn_act.pngbin0 -> 3812 bytes
-rw-r--r--Activities/Level3/1Things/ico.pngbin0 -> 3321 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisaball.oggbin0 -> 28973 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisabook.oggbin0 -> 27188 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisachair.oggbin0 -> 28423 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisacomputer.oggbin0 -> 30251 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisacup.oggbin0 -> 27477 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisapencil.oggbin0 -> 30001 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisaphone.oggbin0 -> 28798 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Q-itisatable.oggbin0 -> 27900 bytes
-rw-r--r--Activities/Level3/1Things/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level3/1Things/sounds/ball.oggbin0 -> 12721 bytes
-rw-r--r--Activities/Level3/1Things/sounds/ballorange.oggbin0 -> 22351 bytes
-rw-r--r--Activities/Level3/1Things/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level3/1Things/sounds/book.oggbin0 -> 11106 bytes
-rw-r--r--Activities/Level3/1Things/sounds/bookblack.oggbin0 -> 22358 bytes
-rw-r--r--Activities/Level3/1Things/sounds/chair.oggbin0 -> 12249 bytes
-rw-r--r--Activities/Level3/1Things/sounds/chairred.oggbin0 -> 21674 bytes
-rw-r--r--Activities/Level3/1Things/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level3/1Things/sounds/computer.oggbin0 -> 13431 bytes
-rw-r--r--Activities/Level3/1Things/sounds/computergreen.oggbin0 -> 22972 bytes
-rw-r--r--Activities/Level3/1Things/sounds/cup.oggbin0 -> 10731 bytes
-rw-r--r--Activities/Level3/1Things/sounds/cuppurple.oggbin0 -> 21654 bytes
-rw-r--r--Activities/Level3/1Things/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisaball.oggbin0 -> 16080 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisabook.oggbin0 -> 15906 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisachair.oggbin0 -> 16335 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisacomputer.oggbin0 -> 16848 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisacup.oggbin0 -> 15089 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisapencil.oggbin0 -> 15766 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisaphone.oggbin0 -> 15988 bytes
-rw-r--r--Activities/Level3/1Things/sounds/itisatable.oggbin0 -> 16031 bytes
-rw-r--r--Activities/Level3/1Things/sounds/pencil.oggbin0 -> 12266 bytes
-rw-r--r--Activities/Level3/1Things/sounds/pencilyellow.oggbin0 -> 21153 bytes
-rw-r--r--Activities/Level3/1Things/sounds/phone.oggbin0 -> 12341 bytes
-rw-r--r--Activities/Level3/1Things/sounds/phoneblue.oggbin0 -> 20517 bytes
-rw-r--r--Activities/Level3/1Things/sounds/table.oggbin0 -> 11288 bytes
-rw-r--r--Activities/Level3/1Things/sounds/tablewhite.oggbin0 -> 20793 bytes
-rw-r--r--Activities/Level3/1Things/sounds/unitSound.oggbin0 -> 70972 bytes
-rw-r--r--Activities/Level3/1Things/sounds/whatisit.oggbin0 -> 13469 bytes
-rw-r--r--Activities/Level3/1Things/unitMarker.pngbin0 -> 9185 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/data.txt1
-rw-r--r--Activities/Level3/2Sports/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/baseball.pngbin0 -> 16171 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/baseballSIL.pngbin0 -> 36321 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/basketball.pngbin0 -> 16757 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/basketballSIL.pngbin0 -> 41095 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/football.pngbin0 -> 16372 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/footballSIL.pngbin0 -> 34708 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/swim.pngbin0 -> 21989 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/resources/swimSIL.pngbin0 -> 41497 bytes
-rw-r--r--Activities/Level3/2Sports/1Sort/screens.txt23
-rw-r--r--Activities/Level3/2Sports/1Sort/settings.txt18
-rw-r--r--Activities/Level3/2Sports/2Sort/data.txt1
-rw-r--r--Activities/Level3/2Sports/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/bike.pngbin0 -> 29021 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/bikeSIL.pngbin0 -> 43258 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/hike.pngbin0 -> 14607 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/hikeSIL.pngbin0 -> 32242 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/tennis.pngbin0 -> 16111 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/tennisSIL.pngbin0 -> 37526 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/volleyball.pngbin0 -> 15826 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/resources/volleyballSIL.pngbin0 -> 36712 bytes
-rw-r--r--Activities/Level3/2Sports/2Sort/screens.txt23
-rw-r--r--Activities/Level3/2Sports/2Sort/settings.txt18
-rw-r--r--Activities/Level3/2Sports/3Match/data.txt1
-rw-r--r--Activities/Level3/2Sports/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/basketball.pngbin0 -> 8263 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/basketballTXT.pngbin0 -> 3767 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/bikingTXT.pngbin0 -> 3464 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/football.pngbin0 -> 9770 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/footballTXT.pngbin0 -> 3616 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/hike.pngbin0 -> 8051 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/hikingTXT.pngbin0 -> 3441 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/ride.pngbin0 -> 9615 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/swim.pngbin0 -> 9993 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/resources/swimmingTXT.pngbin0 -> 3745 bytes
-rw-r--r--Activities/Level3/2Sports/3Match/screens.txt5
-rw-r--r--Activities/Level3/2Sports/3Match/settings.txt8
-rw-r--r--Activities/Level3/2Sports/4Paint/data.txt1
-rw-r--r--Activities/Level3/2Sports/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/baseball.pngbin0 -> 22553 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/basketball.pngbin0 -> 24460 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/bike.pngbin0 -> 25847 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/football.pngbin0 -> 24253 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/hike.pngbin0 -> 21420 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/swim.pngbin0 -> 25082 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/tennis.pngbin0 -> 33397 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/resources/volleyball.pngbin0 -> 24910 bytes
-rw-r--r--Activities/Level3/2Sports/4Paint/screens.txt29
-rw-r--r--Activities/Level3/2Sports/4Paint/settings.txt11
-rw-r--r--Activities/Level3/2Sports/5MultipleC/data.txt1
-rw-r--r--Activities/Level3/2Sports/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/boyhiking.pngbin0 -> 38049 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/boyswimming.pngbin0 -> 36941 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/boyswimming2.pngbin0 -> 37848 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/boytennis.pngbin0 -> 41056 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35624 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/cara_triste_anim.pngbin0 -> 25384 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/girlbaseball.pngbin0 -> 39401 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/girlbasketball.pngbin0 -> 35075 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/girlhiking.pngbin0 -> 38430 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/resources/girlvolleyball.pngbin0 -> 44122 bytes
-rw-r--r--Activities/Level3/2Sports/5MultipleC/screens.txt47
-rw-r--r--Activities/Level3/2Sports/5MultipleC/settings.txt9
-rw-r--r--Activities/Level3/2Sports/6Concentrate/data.txt1
-rw-r--r--Activities/Level3/2Sports/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/_BackFace.pngbin0 -> 18645 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/baseball1.pngbin0 -> 14936 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/baseball2.pngbin0 -> 12040 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/basketball1.pngbin0 -> 11828 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/basketball2.pngbin0 -> 14374 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/biking1.pngbin0 -> 17923 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/biking2.pngbin0 -> 14791 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/conc_10_color.jpgbin0 -> 160994 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/conc_10_mono.jpgbin0 -> 125105 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/football1.pngbin0 -> 15056 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/football2.pngbin0 -> 12230 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/hiking1.pngbin0 -> 12778 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/hiking2.pngbin0 -> 11041 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/swim1.pngbin0 -> 15657 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/swim2.pngbin0 -> 12446 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/tennis1.pngbin0 -> 15388 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/tennis2.pngbin0 -> 13926 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/volleyball1.pngbin0 -> 13193 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/resources/volleyball2.pngbin0 -> 14103 bytes
-rw-r--r--Activities/Level3/2Sports/6Concentrate/screen.txt10
-rw-r--r--Activities/Level3/2Sports/6Concentrate/settings.txt8
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/data.txt1
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/resources/boybiking.pngbin0 -> 18863 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/resources/boyhiking.pngbin0 -> 14874 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/resources/boyswimming.pngbin0 -> 16279 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/resources/girlbasketball.pngbin0 -> 13934 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/resources/girlvolleyball.pngbin0 -> 16947 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level3/2Sports/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level3/2Sports/8Match/data.txt1
-rw-r--r--Activities/Level3/2Sports/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/baseballTXT.pngbin0 -> 3623 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/bikingTXT.pngbin0 -> 3452 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/boybaseball.pngbin0 -> 9451 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/boyswimming.pngbin0 -> 9431 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/boytennis.pngbin0 -> 9003 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/girlbiking.pngbin0 -> 13904 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/girlvolleyball.pngbin0 -> 9326 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/swimmingTXT.pngbin0 -> 3765 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/tennisTXT.pngbin0 -> 3510 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/resources/volleyballTXT.pngbin0 -> 3843 bytes
-rw-r--r--Activities/Level3/2Sports/8Match/screens.txt5
-rw-r--r--Activities/Level3/2Sports/8Match/settings.txt8
-rw-r--r--Activities/Level3/2Sports/9MultipleC/data.txt1
-rw-r--r--Activities/Level3/2Sports/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/boybasketball.pngbin0 -> 40749 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/boybike.pngbin0 -> 44658 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/boyhike.pngbin0 -> 30094 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/boytennis.pngbin0 -> 38412 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 36165 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25288 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/girlbaseball.pngbin0 -> 36429 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/girlfootball.pngbin0 -> 39932 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/girlswim.pngbin0 -> 42752 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/resources/girlvolleyball.pngbin0 -> 37208 bytes
-rw-r--r--Activities/Level3/2Sports/9MultipleC/screens.txt47
-rw-r--r--Activities/Level3/2Sports/9MultipleC/settings.txt9
-rw-r--r--Activities/Level3/2Sports/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level3/2Sports/btn_act.pngbin0 -> 3812 bytes
-rw-r--r--Activities/Level3/2Sports/ico.pngbin0 -> 7425 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-hebikes.oggbin0 -> 33255 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-hehikes.oggbin0 -> 28503 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-heplaysbaseball.oggbin0 -> 33397 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-heplaysbasketball.oggbin0 -> 34761 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-heplaystennis.oggbin0 -> 31469 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-heplaysvolleyball.oggbin0 -> 34629 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-heswims.oggbin0 -> 28206 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-shebikes.oggbin0 -> 32843 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-shehikes.oggbin0 -> 29350 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-sheplaysbaseball.oggbin0 -> 32938 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-sheplaysbasketball.oggbin0 -> 36597 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-sheplaysfootball.oggbin0 -> 33465 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-sheplaystennis.oggbin0 -> 34681 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-sheplaysvolleyball.oggbin0 -> 35536 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Q-sheswims.oggbin0 -> 29638 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/baseball.oggbin0 -> 14240 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/baseballyellow.oggbin0 -> 37771 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/basketball.oggbin0 -> 15567 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/basketballorange.oggbin0 -> 38124 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/bike_f.oggbin0 -> 11619 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/bike_m.oggbin0 -> 11075 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/bikeblack.oggbin0 -> 32399 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/biking.oggbin0 -> 16108 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/football.oggbin0 -> 12660 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/footballblue.oggbin0 -> 33160 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/hebikes.oggbin0 -> 18590 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/hehikes.oggbin0 -> 15132 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/heplaysbaseball.oggbin0 -> 20173 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/heplaysbasketball.oggbin0 -> 24198 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/heplaysfootball.oggbin0 -> 20018 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/heplaystennis.oggbin0 -> 19007 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/heplaysvolleyball.oggbin0 -> 21360 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/heswims.oggbin0 -> 15587 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/hikegreen.oggbin0 -> 30793 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/hiking.oggbin0 -> 12422 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/shebikes.oggbin0 -> 19494 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/shehikes.oggbin0 -> 15702 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/sheplaysbaseball.oggbin0 -> 20752 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/sheplaysbasketball.oggbin0 -> 22205 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/sheplaysfootball.oggbin0 -> 21184 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/sheplaysvolleyball.oggbin0 -> 21501 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/sheridesabike.oggbin0 -> 19469 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/sheswims.oggbin0 -> 16112 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/swimming.oggbin0 -> 13249 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/swimred.oggbin0 -> 35159 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/tennis.oggbin0 -> 11945 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/tenniswhite.oggbin0 -> 38479 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/unitSound.oggbin0 -> 138999 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/volleyball.oggbin0 -> 14031 bytes
-rw-r--r--Activities/Level3/2Sports/sounds/volleyballpurple.oggbin0 -> 35310 bytes
-rw-r--r--Activities/Level3/2Sports/unitMarker.pngbin0 -> 12778 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/data.txt1
-rw-r--r--Activities/Level3/3Family/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/father.pngbin0 -> 18388 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/fatherSIL.pngbin0 -> 31219 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/mother.pngbin0 -> 14298 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/motherSIL.pngbin0 -> 27423 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/pablo.pngbin0 -> 10296 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/pabloSIL.pngbin0 -> 15649 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/sister.pngbin0 -> 12414 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/resources/sisterSIL.pngbin0 -> 26244 bytes
-rw-r--r--Activities/Level3/3Family/1Sort/screens.txt27
-rw-r--r--Activities/Level3/3Family/1Sort/settings.txt18
-rw-r--r--Activities/Level3/3Family/2Sort/data.txt1
-rw-r--r--Activities/Level3/3Family/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/brother.pngbin0 -> 15313 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/brotherSIL.pngbin0 -> 32862 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/grandfather.pngbin0 -> 22700 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/grandfatherSIL.pngbin0 -> 40049 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/grandmother.pngbin0 -> 18232 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/grandmotherSIL.pngbin0 -> 35990 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/rosa.pngbin0 -> 18270 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/resources/rosaSIL.pngbin0 -> 24956 bytes
-rw-r--r--Activities/Level3/3Family/2Sort/screens.txt26
-rw-r--r--Activities/Level3/3Family/2Sort/settings.txt18
-rw-r--r--Activities/Level3/3Family/3Match/data.txt1
-rw-r--r--Activities/Level3/3Family/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/brother.pngbin0 -> 6526 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/brotherTXT.pngbin0 -> 3622 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/father.pngbin0 -> 10348 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/fatherTXT.pngbin0 -> 3551 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/grandfather.pngbin0 -> 9927 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/grandfatherTXT.pngbin0 -> 3924 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/rosa.pngbin0 -> 7722 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/rosaTXT.pngbin0 -> 3622 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/sister.pngbin0 -> 6705 bytes
-rw-r--r--Activities/Level3/3Family/3Match/resources/sisterTXT.pngbin0 -> 3482 bytes
-rw-r--r--Activities/Level3/3Family/3Match/screens.txt5
-rw-r--r--Activities/Level3/3Family/3Match/settings.txt8
-rw-r--r--Activities/Level3/3Family/4Paint/data.txt1
-rw-r--r--Activities/Level3/3Family/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/brother.pngbin0 -> 17216 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/father.pngbin0 -> 25438 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/grandfather.pngbin0 -> 25999 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/grandmother.pngbin0 -> 22462 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/mother.pngbin0 -> 22241 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/pablo.pngbin0 -> 11726 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/rosa.pngbin0 -> 20681 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/resources/sister.pngbin0 -> 15089 bytes
-rw-r--r--Activities/Level3/3Family/4Paint/screens.txt32
-rw-r--r--Activities/Level3/3Family/4Paint/settings.txt11
-rw-r--r--Activities/Level3/3Family/5MultipleC/data.txt1
-rw-r--r--Activities/Level3/3Family/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/brother.pngbin0 -> 36639 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 32833 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/cara_triste_anim.pngbin0 -> 23881 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/father.pngbin0 -> 61328 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/grandfather.pngbin0 -> 56508 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/grandmother.pngbin0 -> 46447 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/mother.pngbin0 -> 47025 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/resources/pablo.pngbin0 -> 24617 bytes
-rw-r--r--Activities/Level3/3Family/5MultipleC/screens.txt47
-rw-r--r--Activities/Level3/3Family/5MultipleC/settings.txt9
-rw-r--r--Activities/Level3/3Family/6Concentrate/data.txt1
-rw-r--r--Activities/Level3/3Family/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/_BackFace.pngbin0 -> 18626 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/brother.pngbin0 -> 11392 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/conc_11_color.jpgbin0 -> 157083 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/conc_11_mono.jpgbin0 -> 122736 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/father.pngbin0 -> 12707 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/grandfather.pngbin0 -> 15328 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/grandmother.pngbin0 -> 12584 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/mother.pngbin0 -> 10470 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/pablo.pngbin0 -> 10021 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/rosa.pngbin0 -> 9967 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/resources/sister.pngbin0 -> 9794 bytes
-rw-r--r--Activities/Level3/3Family/6Concentrate/screen.txt10
-rw-r--r--Activities/Level3/3Family/6Concentrate/settings.txt8
-rw-r--r--Activities/Level3/3Family/7DragnDrop/data.txt1
-rw-r--r--Activities/Level3/3Family/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/resources/brother.pngbin0 -> 14175 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/resources/father.pngbin0 -> 15614 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/resources/grandmother.pngbin0 -> 18561 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/resources/mother.pngbin0 -> 12915 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/resources/sister.pngbin0 -> 12833 bytes
-rw-r--r--Activities/Level3/3Family/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level3/3Family/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level3/3Family/8Match/data.txt1
-rw-r--r--Activities/Level3/3Family/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/father.pngbin0 -> 9358 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/fatherTXT.pngbin0 -> 3551 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/grandmother.pngbin0 -> 9771 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/grandmotherTXT.pngbin0 -> 3996 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/mother.pngbin0 -> 7696 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/motherTXT.pngbin0 -> 3612 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/pablo.pngbin0 -> 6214 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/pabloTXT.pngbin0 -> 3565 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/sister.pngbin0 -> 6676 bytes
-rw-r--r--Activities/Level3/3Family/8Match/resources/sisterTXT.pngbin0 -> 3482 bytes
-rw-r--r--Activities/Level3/3Family/8Match/screens.txt5
-rw-r--r--Activities/Level3/3Family/8Match/settings.txt8
-rw-r--r--Activities/Level3/3Family/9MultipleC/data.txt1
-rw-r--r--Activities/Level3/3Family/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/brother.pngbin0 -> 30649 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35886 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25410 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/father.pngbin0 -> 44150 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/mother.pngbin0 -> 31360 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/pablo.pngbin0 -> 22456 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/rosa.pngbin0 -> 32626 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/resources/sister.pngbin0 -> 25792 bytes
-rw-r--r--Activities/Level3/3Family/9MultipleC/screens.txt47
-rw-r--r--Activities/Level3/3Family/9MultipleC/settings.txt9
-rw-r--r--Activities/Level3/3Family/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level3/3Family/btn_act.pngbin0 -> 3812 bytes
-rw-r--r--Activities/Level3/3Family/ico.pngbin0 -> 4146 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-mynameispablo.oggbin0 -> 29997 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-mynameisrosa.oggbin0 -> 27681 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-thisismybrother.oggbin0 -> 30525 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-thisismyfather.oggbin0 -> 33943 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-thisismygrandfather.oggbin0 -> 34763 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-thisismygrandmother.oggbin0 -> 30911 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-thisismymother.oggbin0 -> 29797 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Q-thisismysister.oggbin0 -> 32787 bytes
-rw-r--r--Activities/Level3/3Family/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level3/3Family/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level3/3Family/sounds/brother.oggbin0 -> 12279 bytes
-rw-r--r--Activities/Level3/3Family/sounds/brotherblack.oggbin0 -> 26511 bytes
-rw-r--r--Activities/Level3/3Family/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level3/3Family/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level3/3Family/sounds/father.oggbin0 -> 12453 bytes
-rw-r--r--Activities/Level3/3Family/sounds/fathergreen.oggbin0 -> 25406 bytes
-rw-r--r--Activities/Level3/3Family/sounds/grandfather.oggbin0 -> 15564 bytes
-rw-r--r--Activities/Level3/3Family/sounds/grandfatherwhite.oggbin0 -> 28136 bytes
-rw-r--r--Activities/Level3/3Family/sounds/grandmother.oggbin0 -> 14366 bytes
-rw-r--r--Activities/Level3/3Family/sounds/grandmotherpurple.oggbin0 -> 28632 bytes
-rw-r--r--Activities/Level3/3Family/sounds/mother.oggbin0 -> 11778 bytes
-rw-r--r--Activities/Level3/3Family/sounds/motherblue.oggbin0 -> 24315 bytes
-rw-r--r--Activities/Level3/3Family/sounds/mynameispablo.oggbin0 -> 18683 bytes
-rw-r--r--Activities/Level3/3Family/sounds/mynameisrosa.oggbin0 -> 19490 bytes
-rw-r--r--Activities/Level3/3Family/sounds/pablo.oggbin0 -> 12631 bytes
-rw-r--r--Activities/Level3/3Family/sounds/pablored.oggbin0 -> 19337 bytes
-rw-r--r--Activities/Level3/3Family/sounds/rosa.oggbin0 -> 11172 bytes
-rw-r--r--Activities/Level3/3Family/sounds/rosayellow.oggbin0 -> 19623 bytes
-rw-r--r--Activities/Level3/3Family/sounds/sister.oggbin0 -> 13012 bytes
-rw-r--r--Activities/Level3/3Family/sounds/sisterorange.oggbin0 -> 27151 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismybrother.oggbin0 -> 20493 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismybrother_m.oggbin0 -> 18325 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismyfather.oggbin0 -> 18415 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismyfather_f.oggbin0 -> 19941 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismygrandfather.oggbin0 -> 24925 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismygrandmother.oggbin0 -> 20824 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismymother.oggbin0 -> 18209 bytes
-rw-r--r--Activities/Level3/3Family/sounds/thisismysister.oggbin0 -> 18476 bytes
-rw-r--r--Activities/Level3/3Family/sounds/unitSound.oggbin0 -> 138507 bytes
-rw-r--r--Activities/Level3/3Family/sounds/whoareyou.oggbin0 -> 12957 bytes
-rw-r--r--Activities/Level3/3Family/sounds/whoareyou_F.oggbin0 -> 15664 bytes
-rw-r--r--Activities/Level3/3Family/sounds/whoisthis.oggbin0 -> 14768 bytes
-rw-r--r--Activities/Level3/3Family/sounds/whoisthis_M.oggbin0 -> 16214 bytes
-rw-r--r--Activities/Level3/3Family/unitMarker.pngbin0 -> 11609 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/data.txt1
-rw-r--r--Activities/Level3/4Jobs/1Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/driver.pngbin0 -> 20214 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/driverSIL.pngbin0 -> 37909 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/farmer.pngbin0 -> 24417 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/farmerSIL.pngbin0 -> 53761 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/police.pngbin0 -> 18050 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/policeSIL.pngbin0 -> 41694 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/teacher.pngbin0 -> 20871 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/resources/teacherSIL.pngbin0 -> 43261 bytes
-rw-r--r--Activities/Level3/4Jobs/1Sort/screens.txt25
-rw-r--r--Activities/Level3/4Jobs/1Sort/settings.txt18
-rw-r--r--Activities/Level3/4Jobs/2Sort/data.txt1
-rw-r--r--Activities/Level3/4Jobs/2Sort/ico.pngbin0 -> 8432 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/builder.pngbin0 -> 16962 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/builderSIL.pngbin0 -> 35923 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/cook.pngbin0 -> 15842 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/cookSIL.pngbin0 -> 35735 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/doctor.pngbin0 -> 16218 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/doctorSIL.pngbin0 -> 34765 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/mechanic.pngbin0 -> 19533 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/resources/mechanicSIL.pngbin0 -> 44378 bytes
-rw-r--r--Activities/Level3/4Jobs/2Sort/screens.txt25
-rw-r--r--Activities/Level3/4Jobs/2Sort/settings.txt18
-rw-r--r--Activities/Level3/4Jobs/3Match/data.txt1
-rw-r--r--Activities/Level3/4Jobs/3Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/cook.pngbin0 -> 9377 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/cookTXT.pngbin0 -> 3447 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/doctor.pngbin0 -> 8709 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/doctorTXT.pngbin0 -> 3545 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/driver.pngbin0 -> 9962 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/driverTXT.pngbin0 -> 3541 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/farmer.pngbin0 -> 11773 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/farmerTXT.pngbin0 -> 3555 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/police.pngbin0 -> 8567 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/resources/policeTXT.pngbin0 -> 4054 bytes
-rw-r--r--Activities/Level3/4Jobs/3Match/screens.txt5
-rw-r--r--Activities/Level3/4Jobs/3Match/settings.txt8
-rw-r--r--Activities/Level3/4Jobs/4Paint/data.txt1
-rw-r--r--Activities/Level3/4Jobs/4Paint/ico.pngbin0 -> 6785 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/builder.pngbin0 -> 24202 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/cook.pngbin0 -> 22444 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/doctor.pngbin0 -> 22277 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/driver.pngbin0 -> 23494 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/farmer.pngbin0 -> 25402 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/mechanic.pngbin0 -> 33700 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/police.pngbin0 -> 21712 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/resources/teacher.pngbin0 -> 25044 bytes
-rw-r--r--Activities/Level3/4Jobs/4Paint/screens.txt23
-rw-r--r--Activities/Level3/4Jobs/4Paint/settings.txt11
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/data.txt1
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/builder.pngbin0 -> 41009 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/cara_sonriente_anim.pngbin0 -> 32620 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/cara_triste_anim.pngbin0 -> 23913 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/cook.pngbin0 -> 42479 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/doctor.pngbin0 -> 39242 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/driver.pngbin0 -> 40539 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/farmer.pngbin0 -> 65898 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/mechanic.pngbin0 -> 38996 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/resources/teacher.pngbin0 -> 43374 bytes
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/screens.txt47
-rw-r--r--Activities/Level3/4Jobs/5MultipleC/settings.txt9
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/data.txt1
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/ico.pngbin0 -> 5741 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/_BackFace.pngbin0 -> 18656 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/builder1.pngbin0 -> 15009 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/builder2.pngbin0 -> 14200 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/conc_12_color.jpgbin0 -> 142981 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/conc_12_mono.jpgbin0 -> 112848 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/cook1.pngbin0 -> 14487 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/cook2.pngbin0 -> 12859 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/doctor1.pngbin0 -> 13488 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/doctor2.pngbin0 -> 13668 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/driver1.pngbin0 -> 16881 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/driver2.pngbin0 -> 14783 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/farmer1.pngbin0 -> 15291 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/farmer2.pngbin0 -> 14108 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/mechanic1.pngbin0 -> 15709 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/mechanic2.pngbin0 -> 13936 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/police1.pngbin0 -> 12694 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/police2.pngbin0 -> 14772 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/teacher1.pngbin0 -> 15999 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/resources/teacher2.pngbin0 -> 14990 bytes
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/screen.txt10
-rw-r--r--Activities/Level3/4Jobs/6Concentrate/settings.txt8
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/data.txt1
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/ico.pngbin0 -> 5716 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/resources/builder.pngbin0 -> 16962 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/resources/cook.pngbin0 -> 15842 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/resources/driver.pngbin0 -> 20214 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/resources/icono_play.pngbin0 -> 5399 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/resources/mechanic.pngbin0 -> 16309 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/resources/teacher.pngbin0 -> 20871 bytes
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/screens.txt15
-rw-r--r--Activities/Level3/4Jobs/7DragnDrop/settings.txt15
-rw-r--r--Activities/Level3/4Jobs/8Match/data.txt1
-rw-r--r--Activities/Level3/4Jobs/8Match/ico.pngbin0 -> 8113 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/builder.pngbin0 -> 9003 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/builderTXT.pngbin0 -> 3532 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/cook.pngbin0 -> 8377 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/cookTXT.pngbin0 -> 3447 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/driver.pngbin0 -> 9838 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/driverTXT.pngbin0 -> 3541 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/mechanic.pngbin0 -> 9357 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/mechanicTXT.pngbin0 -> 3681 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/teacher.pngbin0 -> 8504 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/resources/teacherTXT.pngbin0 -> 3643 bytes
-rw-r--r--Activities/Level3/4Jobs/8Match/screens.txt5
-rw-r--r--Activities/Level3/4Jobs/8Match/settings.txt8
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/data.txt1
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/ico.pngbin0 -> 6927 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/builder1.pngbin0 -> 39824 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/builder2.pngbin0 -> 41009 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/cara_sonriente_anim.pngbin0 -> 35964 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/cara_triste_anim.pngbin0 -> 25469 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/cook.pngbin0 -> 42479 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/driver.pngbin0 -> 51047 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/farmer.pngbin0 -> 65898 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/mechanic.pngbin0 -> 47624 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/police.pngbin0 -> 42583 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/resources/teacher.pngbin0 -> 43374 bytes
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/screens.txt47
-rw-r--r--Activities/Level3/4Jobs/9MultipleC/settings.txt9
-rw-r--r--Activities/Level3/4Jobs/btn_act.bmpbin0 -> 39474 bytes
-rw-r--r--Activities/Level3/4Jobs/btn_act.pngbin0 -> 3812 bytes
-rw-r--r--Activities/Level3/4Jobs/ico.pngbin0 -> 7243 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-heisabuilder.oggbin0 -> 30614 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-heisacook.oggbin0 -> 27166 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-heisadriver.oggbin0 -> 28501 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-heisafarmer.oggbin0 -> 28646 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-heisamechanic.oggbin0 -> 29555 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-heisateacher.oggbin0 -> 29280 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisabuilder.oggbin0 -> 29528 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisacook.oggbin0 -> 28064 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisadoctor.oggbin0 -> 30760 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisadriver.oggbin0 -> 30372 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisafarmer.oggbin0 -> 30099 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisamechanic.oggbin0 -> 32039 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisapoliceofficer.oggbin0 -> 34630 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Q-sheisateacher.oggbin0 -> 30554 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/Twinkle.oggbin0 -> 9887 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/bing.oggbin0 -> 5265 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/builder.oggbin0 -> 12993 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/builderyellow.oggbin0 -> 21879 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/chord.oggbin0 -> 8966 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/cook.oggbin0 -> 10686 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/cookpurple.oggbin0 -> 21439 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/ding.oggbin0 -> 5269 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/doctor.oggbin0 -> 12439 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/doctorred.oggbin0 -> 21240 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/driver.oggbin0 -> 12587 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/drivergreen.oggbin0 -> 22072 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/farmer.oggbin0 -> 11930 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/farmerblack.oggbin0 -> 22642 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/heisabuilder.oggbin0 -> 16216 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/heisacook.oggbin0 -> 15539 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/heisadoctor.oggbin0 -> 15518 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/heisadriver.oggbin0 -> 17173 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/heisamechanic.oggbin0 -> 16143 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/heisapoliceofficer.oggbin0 -> 21629 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/heisateacher.oggbin0 -> 15942 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/mechanic.oggbin0 -> 14194 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/mechanicwhite.oggbin0 -> 23204 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/policeofficer.oggbin0 -> 15984 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/policeofficerblue.oggbin0 -> 24123 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisabuilder.oggbin0 -> 17203 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisacook.oggbin0 -> 16296 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisadoctor.oggbin0 -> 18041 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisadriver.oggbin0 -> 17757 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisafarmer.oggbin0 -> 16802 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisamechanic.oggbin0 -> 18428 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisapoliceofficer.oggbin0 -> 19622 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/sheisateacher.oggbin0 -> 17595 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/teacher.oggbin0 -> 12014 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/teacherorange.oggbin0 -> 23096 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/unitSound.oggbin0 -> 86682 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/whatdoeshedo.oggbin0 -> 16747 bytes
-rw-r--r--Activities/Level3/4Jobs/sounds/whatdoesshedo.oggbin0 -> 16381 bytes
-rw-r--r--Activities/Level3/4Jobs/unitMarker.pngbin0 -> 11741 bytes
-rw-r--r--Activities/Level3/btn_unit.pngbin0 -> 3789 bytes
-rw-r--r--Activities/Level3/ico.pngbin0 -> 5479 bytes
-rw-r--r--Activities/Level3/ico_grande.pngbin0 -> 10726 bytes
-rw-r--r--Activities/Level3/menu_fdo_act.pngbin0 -> 4088 bytes
-rw-r--r--ColorPaint.py223
-rw-r--r--Concentrate.py223
-rw-r--r--DragnDrop.py263
-rw-r--r--Games.py534
-rw-r--r--GamesHelpers.py701
-rw-r--r--Help.py220
-rw-r--r--Help/ColorPaintHelp/data.txt1
-rw-r--r--Help/ColorPaintHelp/demoscript.txt13
-rw-r--r--Help/ColorPaintHelp/resources/_acuarelas.pngbin0 -> 51584 bytes
-rw-r--r--Help/ColorPaintHelp/resources/_sandwich.pngbin0 -> 31714 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel.pngbin0 -> 1744 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_black.pngbin0 -> 1672 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_blue.pngbin0 -> 1692 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_green.pngbin0 -> 1728 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_orange.pngbin0 -> 1719 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_purple.pngbin0 -> 1739 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_red.pngbin0 -> 1654 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_white.pngbin0 -> 1714 bytes
-rw-r--r--Help/ColorPaintHelp/resources/pincel_yellow.pngbin0 -> 1619 bytes
-rw-r--r--Help/ColorPaintHelp/resources/sound.pngbin0 -> 14327 bytes
-rw-r--r--Help/ColorPaintHelp/screens.txt16
-rw-r--r--Help/ColorPaintHelp/settings.txt12
-rw-r--r--Help/ConcentrationHelp/data.txt1
-rw-r--r--Help/ConcentrationHelp/demoscript.txt18
-rw-r--r--Help/ConcentrationHelp/screen.txt3
-rw-r--r--Help/ConcentrationHelp/settings.txt10
-rw-r--r--Help/DragnDropHelp/data.txt1
-rw-r--r--Help/DragnDropHelp/demoscript.txt17
-rw-r--r--Help/DragnDropHelp/screens.txt9
-rw-r--r--Help/DragnDropHelp/settings.txt15
-rw-r--r--Help/MainHelp/demoscript.txt6
-rw-r--r--Help/MainHelp/settings.txt3
-rw-r--r--Help/MatchHelp/data.txt1
-rw-r--r--Help/MatchHelp/demoscript.txt10
-rw-r--r--Help/MatchHelp/resources/carrot.pngbin0 -> 6673 bytes
-rw-r--r--Help/MatchHelp/resources/carrotSil.pngbin0 -> 6360 bytes
-rw-r--r--Help/MatchHelp/resources/repollo.pngbin0 -> 11309 bytes
-rw-r--r--Help/MatchHelp/resources/repolloSil.pngbin0 -> 6345 bytes
-rw-r--r--Help/MatchHelp/screens.txt2
-rw-r--r--Help/MatchHelp/settings.txt9
-rw-r--r--Help/MultipleCHelp/data.txt1
-rw-r--r--Help/MultipleCHelp/demoscript.txt9
-rw-r--r--Help/MultipleCHelp/resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--Help/MultipleCHelp/resources/cara_sonriente_anim.pngbin0 -> 30612 bytes
-rw-r--r--Help/MultipleCHelp/resources/cara_triste_anim.pngbin0 -> 21799 bytes
-rw-r--r--Help/MultipleCHelp/resources/pera.pngbin0 -> 12887 bytes
-rw-r--r--Help/MultipleCHelp/resources/sandwich.pngbin0 -> 17281 bytes
-rw-r--r--Help/MultipleCHelp/resources/sound.pngbin0 -> 8608 bytes
-rw-r--r--Help/MultipleCHelp/screens.txt11
-rw-r--r--Help/MultipleCHelp/settings.txt11
-rw-r--r--Help/PaintHelp/data.txt1
-rw-r--r--Help/PaintHelp/demoscript.txt13
-rw-r--r--Help/PaintHelp/resources/_acuarelas.pngbin0 -> 51584 bytes
-rw-r--r--Help/PaintHelp/resources/hamburguer.pngbin0 -> 19457 bytes
-rw-r--r--Help/PaintHelp/resources/pincel.pngbin0 -> 1744 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_black.pngbin0 -> 1672 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_blue.pngbin0 -> 1692 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_green.pngbin0 -> 1728 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_orange.pngbin0 -> 1719 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_purple.pngbin0 -> 1739 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_red.pngbin0 -> 1654 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_white.pngbin0 -> 1714 bytes
-rw-r--r--Help/PaintHelp/resources/pincel_yellow.pngbin0 -> 1619 bytes
-rw-r--r--Help/PaintHelp/resources/sound.pngbin0 -> 14327 bytes
-rw-r--r--Help/PaintHelp/screens.txt16
-rw-r--r--Help/PaintHelp/settings.txt12
-rw-r--r--Help/SortHelp/data.txt1
-rw-r--r--Help/SortHelp/demoscript.txt29
-rw-r--r--Help/SortHelp/screens.txt11
-rw-r--r--Help/SortHelp/settings.txt15
-rw-r--r--Help/click.wavbin0 -> 22760 bytes
-rw-r--r--Help/mousePointer.pngbin0 -> 936 bytes
-rw-r--r--Help/mousePointerDrag.pngbin0 -> 564 bytes
-rw-r--r--Help/mousePointerS.pngbin0 -> 580 bytes
-rw-r--r--Help/mousePointerSmall.pngbin0 -> 294 bytes
-rw-r--r--Match.py213
-rw-r--r--MultipleChoice.py173
-rw-r--r--Paint.py363
-rw-r--r--Sort.py360
-rw-r--r--SortHelp.py146
-rw-r--r--activity.py14
-rw-r--r--activity/activity.info7
-rw-r--r--activity/activity.svg59
-rw-r--r--eduGames.py1190
-rw-r--r--introPlayerWin.py60
-rw-r--r--introPlayerXO.py108
-rw-r--r--manifest2390
-rw-r--r--news0
-rw-r--r--olpcgames/__init__.py102
-rw-r--r--olpcgames/_cairoimage.py135
-rw-r--r--olpcgames/_gtkmain.py70
-rw-r--r--olpcgames/_version.py2
-rw-r--r--olpcgames/activity.py241
-rw-r--r--olpcgames/buildmanifest.py33
-rw-r--r--olpcgames/camera.py221
-rw-r--r--olpcgames/canvas.py171
-rw-r--r--olpcgames/data/__init__.py36
-rw-r--r--olpcgames/data/sleeping_svg.py61
-rw-r--r--olpcgames/dbusproxy.py93
-rw-r--r--olpcgames/eventwrap.py388
-rw-r--r--olpcgames/gtkEvent.py289
-rw-r--r--olpcgames/mesh.py583
-rw-r--r--olpcgames/pangofont.py346
-rw-r--r--olpcgames/pausescreen.py116
-rw-r--r--olpcgames/svgsprite.py84
-rw-r--r--olpcgames/textsprite.py40
-rw-r--r--olpcgames/util.py79
-rw-r--r--olpcgames/video.py178
-rw-r--r--resources/Barra_base.pngbin0 -> 1374 bytes
-rw-r--r--resources/Btn_WELCOME_ok.pngbin0 -> 7914 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_000.pngbin0 -> 28138 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_001.pngbin0 -> 28055 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_002.pngbin0 -> 28053 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_003.pngbin0 -> 27799 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_004.pngbin0 -> 27615 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_005.pngbin0 -> 28062 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_006.pngbin0 -> 28146 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_007.pngbin0 -> 27823 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_008.pngbin0 -> 27849 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_009.pngbin0 -> 27840 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_010.pngbin0 -> 26523 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_011.pngbin0 -> 25778 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_012.pngbin0 -> 25694 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_013.pngbin0 -> 25550 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_014.pngbin0 -> 26686 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_015.pngbin0 -> 27274 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_016.pngbin0 -> 27303 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_017.pngbin0 -> 27227 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_018.pngbin0 -> 27237 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_019.pngbin0 -> 27703 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_020.pngbin0 -> 27694 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_021.pngbin0 -> 28104 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_022.pngbin0 -> 28312 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_023.pngbin0 -> 28455 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_024.pngbin0 -> 27993 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_025.pngbin0 -> 27448 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_026.pngbin0 -> 27601 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_027.pngbin0 -> 27170 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_028.pngbin0 -> 27577 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_029.pngbin0 -> 27885 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_030.pngbin0 -> 28367 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_031.pngbin0 -> 28513 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_032.pngbin0 -> 28755 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_033.pngbin0 -> 29336 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_034.pngbin0 -> 29294 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_035.pngbin0 -> 29009 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_036.pngbin0 -> 28591 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_037.pngbin0 -> 28501 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_038.pngbin0 -> 28219 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_039.pngbin0 -> 27226 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_040.pngbin0 -> 26837 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_041.pngbin0 -> 27170 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_042.pngbin0 -> 26426 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_043.pngbin0 -> 27055 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_044.pngbin0 -> 28016 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_045.pngbin0 -> 27425 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_046.pngbin0 -> 27720 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_047.pngbin0 -> 28148 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_048.pngbin0 -> 28410 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_049.pngbin0 -> 28638 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_050.pngbin0 -> 28884 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_051.pngbin0 -> 29027 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_052.pngbin0 -> 28894 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_053.pngbin0 -> 28067 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_054.pngbin0 -> 26881 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_055.pngbin0 -> 26147 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_056.pngbin0 -> 25997 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_057.pngbin0 -> 26330 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_058.pngbin0 -> 27182 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_059.pngbin0 -> 28025 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_060.pngbin0 -> 28945 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_061.pngbin0 -> 29139 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_062.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_063.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_064.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_065.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_066.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_067.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_068.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_069.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_070.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Longman_kid_071.pngbin0 -> 29200 bytes
-rw-r--r--resources/CongratsAnim/Thumbs.dbbin0 -> 343552 bytes
-rw-r--r--resources/Congratulations.oggbin0 -> 24736 bytes
-rw-r--r--resources/Correct.oggbin0 -> 15335 bytes
-rw-r--r--resources/EFF_credits.pngbin0 -> 154900 bytes
-rw-r--r--resources/Excellent.oggbin0 -> 15922 bytes
-rw-r--r--resources/Good.oggbin0 -> 13136 bytes
-rw-r--r--resources/Great.oggbin0 -> 15626 bytes
-rw-r--r--resources/Helvetica LT Condensed Black.ttfbin0 -> 68668 bytes
-rw-r--r--resources/MarcoBarra_base.pngbin0 -> 1428 bytes
-rw-r--r--resources/Pant_WELCOME.pngbin0 -> 49678 bytes
-rw-r--r--resources/_acuarelas.pngbin0 -> 51584 bytes
-rw-r--r--resources/activity.svg59
-rw-r--r--resources/arrow-mask.xbm20
-rw-r--r--resources/arrow.xbm20
-rw-r--r--resources/background1.pngbin0 -> 17434 bytes
-rw-r--r--resources/background10.pngbin0 -> 18372 bytes
-rw-r--r--resources/background11.pngbin0 -> 17999 bytes
-rw-r--r--resources/background12.pngbin0 -> 17581 bytes
-rw-r--r--resources/background2.pngbin0 -> 17784 bytes
-rw-r--r--resources/background3.pngbin0 -> 17653 bytes
-rw-r--r--resources/background4.pngbin0 -> 17794 bytes
-rw-r--r--resources/background5.pngbin0 -> 18296 bytes
-rw-r--r--resources/background6.pngbin0 -> 18132 bytes
-rw-r--r--resources/background7.pngbin0 -> 18139 bytes
-rw-r--r--resources/background8.pngbin0 -> 18027 bytes
-rw-r--r--resources/background9.pngbin0 -> 17965 bytes
-rw-r--r--resources/btn_archivero.pngbin0 -> 39140 bytes
-rw-r--r--resources/btn_help.pngbin0 -> 13118 bytes
-rw-r--r--resources/btn_lvl.pngbin0 -> 3682 bytes
-rw-r--r--resources/btn_next.pngbin0 -> 12552 bytes
-rw-r--r--resources/btn_previous.pngbin0 -> 12384 bytes
-rw-r--r--resources/btn_quit.pngbin0 -> 10345 bytes
-rw-r--r--resources/cabezal_base.pngbin0 -> 27582 bytes
-rw-r--r--resources/congrats_backg.pngbin0 -> 16509 bytes
-rw-r--r--resources/congrats_btn_next.pngbin0 -> 10272 bytes
-rw-r--r--resources/eduGames.icobin0 -> 17406 bytes
-rw-r--r--resources/intro.avibin0 -> 2261302 bytes
-rw-r--r--resources/intro.ogvbin0 -> 704838 bytes
-rw-r--r--resources/kid_welcome/Thumbs.dbbin0 -> 252928 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0001.pngbin0 -> 13076 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0002.pngbin0 -> 13010 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0003.pngbin0 -> 13078 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0004.pngbin0 -> 13074 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0005.pngbin0 -> 13095 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0006.pngbin0 -> 12598 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0007.pngbin0 -> 12045 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0008.pngbin0 -> 11825 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0009.pngbin0 -> 11707 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0010.pngbin0 -> 12180 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0011.pngbin0 -> 12505 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0012.pngbin0 -> 12473 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0013.pngbin0 -> 12551 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0014.pngbin0 -> 12454 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0015.pngbin0 -> 12760 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0016.pngbin0 -> 13060 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0017.pngbin0 -> 13146 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0018.pngbin0 -> 13349 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0019.pngbin0 -> 13534 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0020.pngbin0 -> 13806 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0021.pngbin0 -> 13887 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0022.pngbin0 -> 13986 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0023.pngbin0 -> 13940 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0024.pngbin0 -> 13889 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0025.pngbin0 -> 13784 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0026.pngbin0 -> 13657 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0027.pngbin0 -> 13626 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0028.pngbin0 -> 12865 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0029.pngbin0 -> 12531 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0030.pngbin0 -> 12385 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0031.pngbin0 -> 12321 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0032.pngbin0 -> 12614 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0033.pngbin0 -> 13320 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0034.pngbin0 -> 13430 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0035.pngbin0 -> 13540 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0036.pngbin0 -> 13649 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0037.pngbin0 -> 13990 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0038.pngbin0 -> 14028 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0039.pngbin0 -> 14008 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0040.pngbin0 -> 14041 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0041.pngbin0 -> 14002 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0042.pngbin0 -> 14034 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0043.pngbin0 -> 13916 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0044.pngbin0 -> 13949 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0045.pngbin0 -> 13976 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0046.pngbin0 -> 13999 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0047.pngbin0 -> 14059 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0048.pngbin0 -> 13990 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0049.pngbin0 -> 13421 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0050.pngbin0 -> 13064 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0051.pngbin0 -> 13037 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0052.pngbin0 -> 12930 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0053.pngbin0 -> 13374 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0054.pngbin0 -> 13989 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0055.pngbin0 -> 14120 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0056.pngbin0 -> 14136 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0057.pngbin0 -> 14141 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0058.pngbin0 -> 14134 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0059.pngbin0 -> 14119 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0060.pngbin0 -> 14035 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0061.pngbin0 -> 13963 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0062.pngbin0 -> 13971 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0063.pngbin0 -> 13966 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0064.pngbin0 -> 13959 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0065.pngbin0 -> 13968 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0066.pngbin0 -> 13968 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0067.pngbin0 -> 13968 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0068.pngbin0 -> 13968 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0069.pngbin0 -> 13968 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0070.pngbin0 -> 13968 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0071.pngbin0 -> 13968 bytes
-rw-r--r--resources/kid_welcome/welcome_anim0072.pngbin0 -> 13968 bytes
-rw-r--r--resources/logo.pngbin0 -> 59156 bytes
-rw-r--r--resources/lvl_marker_1.pngbin0 -> 23020 bytes
-rw-r--r--resources/lvl_marker_2.pngbin0 -> 23446 bytes
-rw-r--r--resources/lvl_marker_3.pngbin0 -> 23262 bytes
-rw-r--r--resources/menu_fdo_lvl.pngbin0 -> 14829 bytes
-rw-r--r--resources/menu_fdo_unit.pngbin0 -> 3837 bytes
-rw-r--r--resources/mouseCursorTest.py16
-rw-r--r--resources/niobbl_.ttfbin0 -> 23948 bytes
-rw-r--r--resources/niobrg_.ttfbin0 -> 24284 bytes
-rw-r--r--resources/pincel.pngbin0 -> 4080 bytes
-rw-r--r--resources/pincel_black.pngbin0 -> 3834 bytes
-rw-r--r--resources/pincel_blue.pngbin0 -> 4119 bytes
-rw-r--r--resources/pincel_green.pngbin0 -> 4103 bytes
-rw-r--r--resources/pincel_orange.pngbin0 -> 4077 bytes
-rw-r--r--resources/pincel_purple.pngbin0 -> 4110 bytes
-rw-r--r--resources/pincel_red.pngbin0 -> 4130 bytes
-rw-r--r--resources/pincel_white.pngbin0 -> 3992 bytes
-rw-r--r--resources/pincel_yellow.pngbin0 -> 4018 bytes
-rw-r--r--resources/sound.pngbin0 -> 14327 bytes
-rw-r--r--resources/success.oggbin0 -> 70410 bytes
-rw-r--r--resources/tick.pngbin0 -> 2040 bytes
-rw-r--r--resources/welcome.oggbin0 -> 87146 bytes
-rw-r--r--run.py41
-rw-r--r--settings.txt33
-rw-r--r--setup.py4
2392 files changed, 14856 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4842d8c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.py[co]
+*.bak
diff --git a/Activities/Level1/1Colors/1Sort/Thumbs.db b/Activities/Level1/1Colors/1Sort/Thumbs.db
new file mode 100644
index 0000000..2c90d6c
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/data.txt b/Activities/Level1/1Colors/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/1Sort/ico.png b/Activities/Level1/1Colors/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/1Colors/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/cajaamarilla.png b/Activities/Level1/1Colors/1Sort/resources/cajaamarilla.png
new file mode 100644
index 0000000..fcdfb02
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/cajaamarilla.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/cajaazul.png b/Activities/Level1/1Colors/1Sort/resources/cajaazul.png
new file mode 100644
index 0000000..069681f
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/cajaazul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/cajaroja.png b/Activities/Level1/1Colors/1Sort/resources/cajaroja.png
new file mode 100644
index 0000000..383e9b8
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/cajaroja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/cajaverde.png b/Activities/Level1/1Colors/1Sort/resources/cajaverde.png
new file mode 100644
index 0000000..c3c2eef
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/cajaverde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/crayolaamarilla.png b/Activities/Level1/1Colors/1Sort/resources/crayolaamarilla.png
new file mode 100644
index 0000000..f94c96b
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/crayolaamarilla.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/crayolaazul.png b/Activities/Level1/1Colors/1Sort/resources/crayolaazul.png
new file mode 100644
index 0000000..deaabfd
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/crayolaazul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/crayolaroja.png b/Activities/Level1/1Colors/1Sort/resources/crayolaroja.png
new file mode 100644
index 0000000..aa35d43
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/crayolaroja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/resources/crayolaverde.png b/Activities/Level1/1Colors/1Sort/resources/crayolaverde.png
new file mode 100644
index 0000000..d19d8f5
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/resources/crayolaverde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/1Sort/screens.txt b/Activities/Level1/1Colors/1Sort/screens.txt
new file mode 100644
index 0000000..8df2142
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/screens.txt
@@ -0,0 +1,59 @@
+screen1:
+BINS:
+blue:cajaazul.png
+red:cajaroja.png
+yellow:cajaamarilla.png
+green:cajaverde.png
+CRAYONS:
+crayolaroja.png red.ogg red red
+crayolaazul.png blue.ogg blue blue
+crayolaroja.png red.ogg red red
+crayolaazul.png blue.ogg blue blue
+
+screen2:
+BINS:keepstate
+blue:cajaazul.png
+red:cajaroja.png
+yellow:cajaamarilla.png
+green:cajaverde.png
+CRAYONS:
+crayolaazul.png blue.ogg blue blue
+crayolaamarilla.png yellow.ogg yellow yellow
+crayolaazul.png blue.ogg blue blue
+crayolaamarilla.png yellow.ogg yellow yellow
+
+screen3:
+BINS:keepstate
+blue:cajaazul.png
+red:cajaroja.png
+yellow:cajaamarilla.png
+green:cajaverde.png
+CRAYONS:
+crayolaamarilla.png yellow.ogg yellow yellow
+crayolaverde.png green.ogg green green
+crayolaamarilla.png yellow.ogg yellow yellow
+crayolaverde.png green.ogg green green
+
+screen4:
+BINS:keepstate
+blue:cajaazul.png
+red:cajaroja.png
+yellow:cajaamarilla.png
+green:cajaverde.png
+CRAYONS:
+crayolaverde.png green.ogg green green
+crayolaroja.png red.ogg red red
+crayolaverde.png green.ogg green green
+crayolaroja.png red.ogg red red
+
+screen5:
+BINS:keepstate
+blue:cajaazul.png
+red:cajaroja.png
+yellow:cajaamarilla.png
+green:cajaverde.png
+CRAYONS:
+crayolaroja.png red.ogg red red
+crayolaazul.png blue.ogg blue blue
+crayolaamarilla.png yellow.ogg yellow yellow
+crayolaverde.png green.ogg green green \ No newline at end of file
diff --git a/Activities/Level1/1Colors/1Sort/settings.txt b/Activities/Level1/1Colors/1Sort/settings.txt
new file mode 100644
index 0000000..e6fb8e1
--- /dev/null
+++ b/Activities/Level1/1Colors/1Sort/settings.txt
@@ -0,0 +1,13 @@
+spaceBetweenBins = 10
+leftMargin = 310
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 100
+yOddBins = 420
+yEvenBins = 430
+yOddCrayons = 250
+yEvenCrayons = 260
+helpDir = "SortHelp"
+binImageDivisions = 6
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/2Sort/Thumbs.db b/Activities/Level1/1Colors/2Sort/Thumbs.db
new file mode 100644
index 0000000..6a52ae3
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/data.txt b/Activities/Level1/1Colors/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/2Sort/ico.png b/Activities/Level1/1Colors/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/1Colors/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/cajablanca.png b/Activities/Level1/1Colors/2Sort/resources/cajablanca.png
new file mode 100644
index 0000000..4d26b82
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/cajablanca.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/cajanaranja.png b/Activities/Level1/1Colors/2Sort/resources/cajanaranja.png
new file mode 100644
index 0000000..6379464
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/cajanaranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/cajanegra.png b/Activities/Level1/1Colors/2Sort/resources/cajanegra.png
new file mode 100644
index 0000000..95ccad3
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/cajanegra.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/cajavioleta.png b/Activities/Level1/1Colors/2Sort/resources/cajavioleta.png
new file mode 100644
index 0000000..f28db25
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/cajavioleta.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/crayolablanca.png b/Activities/Level1/1Colors/2Sort/resources/crayolablanca.png
new file mode 100644
index 0000000..34984ef
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/crayolablanca.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/crayolanaranja.png b/Activities/Level1/1Colors/2Sort/resources/crayolanaranja.png
new file mode 100644
index 0000000..e901f98
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/crayolanaranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/crayolanegra.png b/Activities/Level1/1Colors/2Sort/resources/crayolanegra.png
new file mode 100644
index 0000000..1296b62
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/crayolanegra.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/resources/crayolavioleta.png b/Activities/Level1/1Colors/2Sort/resources/crayolavioleta.png
new file mode 100644
index 0000000..e5d32b4
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/resources/crayolavioleta.png
Binary files differ
diff --git a/Activities/Level1/1Colors/2Sort/screens.txt b/Activities/Level1/1Colors/2Sort/screens.txt
new file mode 100644
index 0000000..4b587c7
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/screens.txt
@@ -0,0 +1,60 @@
+screen1:
+bins:keepstate
+black:cajanegra.png
+white:cajablanca.png
+orange:cajanaranja.png
+purple:cajavioleta.png
+crayons:
+crayolanegra.png black.ogg black black
+crayolablanca.png white.ogg white white
+crayolanegra.png black.ogg black black
+crayolablanca.png white.ogg white white
+
+screen2:
+bins:keepstate
+black:cajanegra.png
+white:cajablanca.png
+orange:cajanaranja.png
+purple:cajavioleta.png
+crayons:
+crayolablanca.png white.ogg white white
+crayolanaranja.png orange.ogg orange orange
+crayolablanca.png white.ogg white white
+crayolanaranja.png orange.ogg orange orange
+
+screen3:
+bins:keepstate
+black:cajanegra.png
+white:cajablanca.png
+orange:cajanaranja.png
+purple:cajavioleta.png
+crayons:
+crayolanaranja.png orange.ogg orange orange
+crayolavioleta.png purple.ogg purple purple
+crayolanaranja.png orange.ogg orange orange
+crayolavioleta.png purple.ogg purple purple
+
+screen4:
+bins:keepstate
+black:cajanegra.png
+white:cajablanca.png
+orange:cajanaranja.png
+purple:cajavioleta.png
+crayons:
+crayolavioleta.png purple.ogg purple purple
+crayolanegra.png black.ogg black black
+crayolavioleta.png purple.ogg purple purple
+crayolanegra.png black.ogg black black
+
+screen5:
+bins:keepstate
+black:cajanegra.png
+white:cajablanca.png
+orange:cajanaranja.png
+purple:cajavioleta.png
+crayons:
+crayolanegra.png black.ogg black black
+crayolablanca.png white.ogg white white
+crayolanaranja.png orange.ogg orange orange
+crayolavioleta.png purple.ogg purple purple
+
diff --git a/Activities/Level1/1Colors/2Sort/settings.txt b/Activities/Level1/1Colors/2Sort/settings.txt
new file mode 100644
index 0000000..e6fb8e1
--- /dev/null
+++ b/Activities/Level1/1Colors/2Sort/settings.txt
@@ -0,0 +1,13 @@
+spaceBetweenBins = 10
+leftMargin = 310
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 100
+yOddBins = 420
+yEvenBins = 430
+yOddCrayons = 250
+yEvenCrayons = 260
+helpDir = "SortHelp"
+binImageDivisions = 6
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/3Match/Thumbs.db b/Activities/Level1/1Colors/3Match/Thumbs.db
new file mode 100644
index 0000000..38d664c
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/data.txt b/Activities/Level1/1Colors/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/3Match/ico.png b/Activities/Level1/1Colors/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/automovil_naranja.png b/Activities/Level1/1Colors/3Match/resources/automovil_naranja.png
new file mode 100644
index 0000000..cf01a79
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/automovil_naranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/circulo_azul.png b/Activities/Level1/1Colors/3Match/resources/circulo_azul.png
new file mode 100644
index 0000000..fb875fd
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/circulo_azul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/crayon_amarillo.png b/Activities/Level1/1Colors/3Match/resources/crayon_amarillo.png
new file mode 100644
index 0000000..312b20e
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/crayon_amarillo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/crayon_azul.png b/Activities/Level1/1Colors/3Match/resources/crayon_azul.png
new file mode 100644
index 0000000..d06fcb9
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/crayon_azul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/crayon_naranja.png b/Activities/Level1/1Colors/3Match/resources/crayon_naranja.png
new file mode 100644
index 0000000..e6b7b16
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/crayon_naranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/crayon_rojo.png b/Activities/Level1/1Colors/3Match/resources/crayon_rojo.png
new file mode 100644
index 0000000..a6562a5
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/crayon_rojo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/crayon_verde.png b/Activities/Level1/1Colors/3Match/resources/crayon_verde.png
new file mode 100644
index 0000000..8396f4d
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/crayon_verde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/cuadrado_rojo.png b/Activities/Level1/1Colors/3Match/resources/cuadrado_rojo.png
new file mode 100644
index 0000000..82dfad1
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/cuadrado_rojo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/pajaro_amarillo.png b/Activities/Level1/1Colors/3Match/resources/pajaro_amarillo.png
new file mode 100644
index 0000000..0ea4062
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/pajaro_amarillo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/pajaro_verde.png b/Activities/Level1/1Colors/3Match/resources/pajaro_verde.png
new file mode 100644
index 0000000..65e77c4
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/pajaro_verde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/resources/pajaro_verdeold.png b/Activities/Level1/1Colors/3Match/resources/pajaro_verdeold.png
new file mode 100644
index 0000000..fcfcdc0
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/resources/pajaro_verdeold.png
Binary files differ
diff --git a/Activities/Level1/1Colors/3Match/screens.txt b/Activities/Level1/1Colors/3Match/screens.txt
new file mode 100644
index 0000000..08a4029
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/screens.txt
@@ -0,0 +1,5 @@
+crayon_rojo.png red.ogg cuadrado_rojo.png
+crayon_amarillo.png yellow.ogg pajaro_amarillo.png
+crayon_verde.png green.ogg pajaro_verde.png
+crayon_naranja.png orange.ogg automovil_naranja.png
+crayon_azul.png blue.ogg circulo_azul.png \ No newline at end of file
diff --git a/Activities/Level1/1Colors/3Match/settings.txt b/Activities/Level1/1Colors/3Match/settings.txt
new file mode 100644
index 0000000..9a2c6e2
--- /dev/null
+++ b/Activities/Level1/1Colors/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 310
+leftMargin = 400
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 20 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/4ColorPaint/Thumbs.db b/Activities/Level1/1Colors/4ColorPaint/Thumbs.db
new file mode 100644
index 0000000..f26dc87
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/data.txt b/Activities/Level1/1Colors/4ColorPaint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/4ColorPaint/ico.png b/Activities/Level1/1Colors/4ColorPaint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/resources/_automovil.png b/Activities/Level1/1Colors/4ColorPaint/resources/_automovil.png
new file mode 100644
index 0000000..1a5cf52
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/resources/_automovil.png
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/resources/_guitarra.png b/Activities/Level1/1Colors/4ColorPaint/resources/_guitarra.png
new file mode 100644
index 0000000..a6835e7
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/resources/_guitarra.png
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/resources/_lapiz.png b/Activities/Level1/1Colors/4ColorPaint/resources/_lapiz.png
new file mode 100644
index 0000000..acd1f9f
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/resources/_lapiz.png
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/resources/_pajaro.png b/Activities/Level1/1Colors/4ColorPaint/resources/_pajaro.png
new file mode 100644
index 0000000..d697bbe
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/resources/_pajaro.png
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/resources/_reptil.png b/Activities/Level1/1Colors/4ColorPaint/resources/_reptil.png
new file mode 100644
index 0000000..858f341
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/resources/_reptil.png
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/resources/_taza.png b/Activities/Level1/1Colors/4ColorPaint/resources/_taza.png
new file mode 100644
index 0000000..72a8473
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/resources/_taza.png
Binary files differ
diff --git a/Activities/Level1/1Colors/4ColorPaint/screens.txt b/Activities/Level1/1Colors/4ColorPaint/screens.txt
new file mode 100644
index 0000000..250f849
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/screens.txt
@@ -0,0 +1,22 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+_lapiz.png yellow.ogg yellow
+_taza.png blue.ogg blue
+_pajaro.png red.ogg red
+_guitarra.png orange.ogg orange
+_reptil.png green.ogg green
+_automovil.png black.ogg black
+
diff --git a/Activities/Level1/1Colors/4ColorPaint/settings.txt b/Activities/Level1/1Colors/4ColorPaint/settings.txt
new file mode 100644
index 0000000..e829aac
--- /dev/null
+++ b/Activities/Level1/1Colors/4ColorPaint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 550
+soundIconY = 400
+xFirstElement = 200
+yFirstElement = 230
+elementsPerRow = 6
+spaceBetweenRows = 100
+xFirstElementLastRow = 150
+helpDir = "ColorPaintHelp"
+paintBoxesX = 300
+paintBoxesY = 470 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/5MultipleC/Thumbs.db b/Activities/Level1/1Colors/5MultipleC/Thumbs.db
new file mode 100644
index 0000000..d86c68c
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/data.txt b/Activities/Level1/1Colors/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/5MultipleC/ico.png b/Activities/Level1/1Colors/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/1Colors/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/banana.png b/Activities/Level1/1Colors/5MultipleC/resources/banana.png
new file mode 100644
index 0000000..a3b5c36
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/bicicleta_roja.png b/Activities/Level1/1Colors/5MultipleC/resources/bicicleta_roja.png
new file mode 100644
index 0000000..1e791d9
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/bicicleta_roja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/caja_roja.png b/Activities/Level1/1Colors/5MultipleC/resources/caja_roja.png
new file mode 100644
index 0000000..87e5942
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/caja_roja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/1Colors/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..4619df7
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/cara_triste_anim.png b/Activities/Level1/1Colors/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..653f62d
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/casa_azul.png b/Activities/Level1/1Colors/5MultipleC/resources/casa_azul.png
new file mode 100644
index 0000000..1db0f97
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/casa_azul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/estrella_amarilla.png b/Activities/Level1/1Colors/5MultipleC/resources/estrella_amarilla.png
new file mode 100644
index 0000000..e527ab3
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/estrella_amarilla.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/estrella_azul.png b/Activities/Level1/1Colors/5MultipleC/resources/estrella_azul.png
new file mode 100644
index 0000000..41a61f0
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/estrella_azul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/oso_polar.png b/Activities/Level1/1Colors/5MultipleC/resources/oso_polar.png
new file mode 100644
index 0000000..5924594
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/oso_polar.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/resources/pez_verde.png b/Activities/Level1/1Colors/5MultipleC/resources/pez_verde.png
new file mode 100644
index 0000000..e8273fa
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/resources/pez_verde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/5MultipleC/screens.txt b/Activities/Level1/1Colors/5MultipleC/screens.txt
new file mode 100644
index 0000000..7600702
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+pez_verde.png green.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+estrella_azul.png orange.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bicicleta_roja.png red.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+casa_azul.png blue.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+estrella_amarilla.png black.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+oso_polar.png white.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+caja_roja.png yellow.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+banana.png yellow.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level1/1Colors/5MultipleC/settings.txt b/Activities/Level1/1Colors/5MultipleC/settings.txt
new file mode 100644
index 0000000..005f364
--- /dev/null
+++ b/Activities/Level1/1Colors/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 520
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/6DragnDrop/Thumbs.db b/Activities/Level1/1Colors/6DragnDrop/Thumbs.db
new file mode 100644
index 0000000..ac19ebc
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/data.txt b/Activities/Level1/1Colors/6DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/6DragnDrop/ico.png b/Activities/Level1/1Colors/6DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/1Colors/6DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/resources/bicicleta_verde.png b/Activities/Level1/1Colors/6DragnDrop/resources/bicicleta_verde.png
new file mode 100644
index 0000000..2e3f6b3
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/resources/bicicleta_verde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/resources/icono_play.png b/Activities/Level1/1Colors/6DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/resources/luna_amarilla.png b/Activities/Level1/1Colors/6DragnDrop/resources/luna_amarilla.png
new file mode 100644
index 0000000..40dde93
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/resources/luna_amarilla.png
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/resources/pajaro_naranja.png b/Activities/Level1/1Colors/6DragnDrop/resources/pajaro_naranja.png
new file mode 100644
index 0000000..4629db9
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/resources/pajaro_naranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/resources/pez_rojo.png b/Activities/Level1/1Colors/6DragnDrop/resources/pez_rojo.png
new file mode 100644
index 0000000..a120b05
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/resources/pez_rojo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/resources/taza_azul.png b/Activities/Level1/1Colors/6DragnDrop/resources/taza_azul.png
new file mode 100644
index 0000000..fd9f44b
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/resources/taza_azul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/6DragnDrop/screens.txt b/Activities/Level1/1Colors/6DragnDrop/screens.txt
new file mode 100644
index 0000000..154c2e9
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+blue:taza_azul.png
+red:pez_rojo.png
+yellow:luna_amarilla.png
+orange:pajaro_naranja.png
+green:bicicleta_verde.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png red.ogg red red
+icono_play.png green.ogg green green
+icono_play.png yellow.ogg yellow yellow
+icono_play.png blue.ogg blue blue
+icono_play.png orange.ogg orange orange \ No newline at end of file
diff --git a/Activities/Level1/1Colors/6DragnDrop/settings.txt b/Activities/Level1/1Colors/6DragnDrop/settings.txt
new file mode 100644
index 0000000..ac0882b
--- /dev/null
+++ b/Activities/Level1/1Colors/6DragnDrop/settings.txt
@@ -0,0 +1,13 @@
+spaceBetweenBins = 0
+leftMargin = 220
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 270
+yEvenCrayons = 210
+yOddBins = 420
+yEvenBins = 430
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/7Concentrate/Thumbs.db b/Activities/Level1/1Colors/7Concentrate/Thumbs.db
new file mode 100644
index 0000000..3a608bc
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/data.txt b/Activities/Level1/1Colors/7Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/7Concentrate/ico.png b/Activities/Level1/1Colors/7Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/_BackFace.png b/Activities/Level1/1Colors/7Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..b36cee1
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/autovioleta.png b/Activities/Level1/1Colors/7Concentrate/resources/autovioleta.png
new file mode 100644
index 0000000..d7b6255
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/autovioleta.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/bicicletaroja.png b/Activities/Level1/1Colors/7Concentrate/resources/bicicletaroja.png
new file mode 100644
index 0000000..98a9803
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/bicicletaroja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/casaazul.png b/Activities/Level1/1Colors/7Concentrate/resources/casaazul.png
new file mode 100644
index 0000000..06186df
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/casaazul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/circulonegro.png b/Activities/Level1/1Colors/7Concentrate/resources/circulonegro.png
new file mode 100644
index 0000000..793cdc7
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/circulonegro.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/circulorojo.png b/Activities/Level1/1Colors/7Concentrate/resources/circulorojo.png
new file mode 100644
index 0000000..de59d3b
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/circulorojo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/cometanaranja.png b/Activities/Level1/1Colors/7Concentrate/resources/cometanaranja.png
new file mode 100644
index 0000000..dfe4dbb
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/cometanaranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/conc_01_color.jpg b/Activities/Level1/1Colors/7Concentrate/resources/conc_01_color.jpg
new file mode 100644
index 0000000..f8b4e91
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/conc_01_color.jpg
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/conc_01_mono.jpg b/Activities/Level1/1Colors/7Concentrate/resources/conc_01_mono.jpg
new file mode 100644
index 0000000..924c280
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/conc_01_mono.jpg
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/diamanteverde.png b/Activities/Level1/1Colors/7Concentrate/resources/diamanteverde.png
new file mode 100644
index 0000000..e1b2030
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/diamanteverde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/diamanteverde2.png b/Activities/Level1/1Colors/7Concentrate/resources/diamanteverde2.png
new file mode 100644
index 0000000..7000d2d
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/diamanteverde2.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/estrellaverde.png b/Activities/Level1/1Colors/7Concentrate/resources/estrellaverde.png
new file mode 100644
index 0000000..47f1e7c
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/estrellaverde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/gallinaamarilla.png b/Activities/Level1/1Colors/7Concentrate/resources/gallinaamarilla.png
new file mode 100644
index 0000000..d08da08
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/gallinaamarilla.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/globonaranja.png b/Activities/Level1/1Colors/7Concentrate/resources/globonaranja.png
new file mode 100644
index 0000000..63c75fe
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/globonaranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/libroazul.png b/Activities/Level1/1Colors/7Concentrate/resources/libroazul.png
new file mode 100644
index 0000000..9ae7cc8
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/libroazul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/limonamarillo.png b/Activities/Level1/1Colors/7Concentrate/resources/limonamarillo.png
new file mode 100644
index 0000000..ac497e2
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/limonamarillo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/lunablanca.png b/Activities/Level1/1Colors/7Concentrate/resources/lunablanca.png
new file mode 100644
index 0000000..da5e8c2
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/lunablanca.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/osoblanco.png b/Activities/Level1/1Colors/7Concentrate/resources/osoblanco.png
new file mode 100644
index 0000000..4d4ea49
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/osoblanco.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/sombreronegro.png b/Activities/Level1/1Colors/7Concentrate/resources/sombreronegro.png
new file mode 100644
index 0000000..f00aa61
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/sombreronegro.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/resources/zapatillavioleta.png b/Activities/Level1/1Colors/7Concentrate/resources/zapatillavioleta.png
new file mode 100644
index 0000000..54549e4
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/resources/zapatillavioleta.png
Binary files differ
diff --git a/Activities/Level1/1Colors/7Concentrate/screen.txt b/Activities/Level1/1Colors/7Concentrate/screen.txt
new file mode 100644
index 0000000..41f0e55
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_01_mono.jpg:conc_01_color.jpg
+bicicletaroja.png circulorojo.png red.ogg red
+estrellaverde.png diamanteverde.png green.ogg green
+globonaranja.png cometanaranja.png orange.ogg orange
+sombreronegro.png circulonegro.png black.ogg black
+zapatillavioleta.png autovioleta.png purple.ogg purple
+lunablanca.png osoblanco.png white.ogg white
+limonamarillo.png gallinaamarilla.png yellow.ogg yellow
+libroazul.png casaazul.png blue.ogg blue \ No newline at end of file
diff --git a/Activities/Level1/1Colors/7Concentrate/settings.txt b/Activities/Level1/1Colors/7Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level1/1Colors/7Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/8ColorPaint/Thumbs.db b/Activities/Level1/1Colors/8ColorPaint/Thumbs.db
new file mode 100644
index 0000000..2ff78c6
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/data.txt b/Activities/Level1/1Colors/8ColorPaint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/8ColorPaint/ico.png b/Activities/Level1/1Colors/8ColorPaint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/automovil.png b/Activities/Level1/1Colors/8ColorPaint/resources/automovil.png
new file mode 100644
index 0000000..db64b4d
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/automovil.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/bandera.png b/Activities/Level1/1Colors/8ColorPaint/resources/bandera.png
new file mode 100644
index 0000000..5a6beac
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/bandera.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/caballo.png b/Activities/Level1/1Colors/8ColorPaint/resources/caballo.png
new file mode 100644
index 0000000..b5322de
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/caballo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/flor.png b/Activities/Level1/1Colors/8ColorPaint/resources/flor.png
new file mode 100644
index 0000000..5737996
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/flor.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/libro.png b/Activities/Level1/1Colors/8ColorPaint/resources/libro.png
new file mode 100644
index 0000000..76f0a9e
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/libro.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/remera.png b/Activities/Level1/1Colors/8ColorPaint/resources/remera.png
new file mode 100644
index 0000000..239abf7
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/remera.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/telefono.png b/Activities/Level1/1Colors/8ColorPaint/resources/telefono.png
new file mode 100644
index 0000000..23f0ef7
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/telefono.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/resources/vaso_de_jugo.png b/Activities/Level1/1Colors/8ColorPaint/resources/vaso_de_jugo.png
new file mode 100644
index 0000000..4c57ef8
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/resources/vaso_de_jugo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/8ColorPaint/screens.txt b/Activities/Level1/1Colors/8ColorPaint/screens.txt
new file mode 100644
index 0000000..d7732f5
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/screens.txt
@@ -0,0 +1,24 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+libro.png purple.ogg purple
+flor.png yellow.ogg yellow
+caballo.png white.ogg white
+vaso_de_jugo.png orange.ogg orange
+automovil.png blue.ogg blue
+telefono.png black.ogg black
+remera.png red.ogg red
+bandera.png green.ogg green
+
diff --git a/Activities/Level1/1Colors/8ColorPaint/settings.txt b/Activities/Level1/1Colors/8ColorPaint/settings.txt
new file mode 100644
index 0000000..abd45a6
--- /dev/null
+++ b/Activities/Level1/1Colors/8ColorPaint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 180
+elementsPerRow = 5
+spaceBetweenRows = 150
+xFirstElementLastRow = 330
+helpDir = "ColorPaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/9MultipleC/Thumbs.db b/Activities/Level1/1Colors/9MultipleC/Thumbs.db
new file mode 100644
index 0000000..1f01c40
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/Thumbs.db
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/data.txt b/Activities/Level1/1Colors/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/1Colors/9MultipleC/ico.png b/Activities/Level1/1Colors/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/1Colors/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/autoblanco.png b/Activities/Level1/1Colors/9MultipleC/resources/autoblanco.png
new file mode 100644
index 0000000..1e24155
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/autoblanco.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/ballenaazul.png b/Activities/Level1/1Colors/9MultipleC/resources/ballenaazul.png
new file mode 100644
index 0000000..96a24d0
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/ballenaazul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/camionamarillo.png b/Activities/Level1/1Colors/9MultipleC/resources/camionamarillo.png
new file mode 100644
index 0000000..526cefe
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/camionamarillo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/1Colors/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..7e07aac
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/cara_triste_anim.png b/Activities/Level1/1Colors/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..d69ef8d
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/conejoblanco.png b/Activities/Level1/1Colors/9MultipleC/resources/conejoblanco.png
new file mode 100644
index 0000000..ba2d4ff
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/conejoblanco.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/limaverde.png b/Activities/Level1/1Colors/9MultipleC/resources/limaverde.png
new file mode 100644
index 0000000..e13b01c
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/limaverde.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/pajarorojo.png b/Activities/Level1/1Colors/9MultipleC/resources/pajarorojo.png
new file mode 100644
index 0000000..ff889a2
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/pajarorojo.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/tractornaranja.png b/Activities/Level1/1Colors/9MultipleC/resources/tractornaranja.png
new file mode 100644
index 0000000..4aa5c40
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/tractornaranja.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/resources/zapatillaazul.png b/Activities/Level1/1Colors/9MultipleC/resources/zapatillaazul.png
new file mode 100644
index 0000000..ff601c8
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/resources/zapatillaazul.png
Binary files differ
diff --git a/Activities/Level1/1Colors/9MultipleC/screens.txt b/Activities/Level1/1Colors/9MultipleC/screens.txt
new file mode 100644
index 0000000..c3e055d
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+tractornaranja.png orange.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+ballenaazul.png black.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+autoblanco.png red.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+camionamarillo.png red.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+conejoblanco.png white.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+zapatillaazul.png blue.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pajarorojo.png black.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+limaverde.png orange.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level1/1Colors/9MultipleC/settings.txt b/Activities/Level1/1Colors/9MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level1/1Colors/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/1Colors/btn_act.png b/Activities/Level1/1Colors/btn_act.png
new file mode 100644
index 0000000..54436ce
--- /dev/null
+++ b/Activities/Level1/1Colors/btn_act.png
Binary files differ
diff --git a/Activities/Level1/1Colors/ico.png b/Activities/Level1/1Colors/ico.png
new file mode 100644
index 0000000..3ef4f71
--- /dev/null
+++ b/Activities/Level1/1Colors/ico.png
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/Twinkle.ogg b/Activities/Level1/1Colors/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/bing.ogg b/Activities/Level1/1Colors/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/black.ogg b/Activities/Level1/1Colors/sounds/black.ogg
new file mode 100644
index 0000000..53b83e2
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/black.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/blue.ogg b/Activities/Level1/1Colors/sounds/blue.ogg
new file mode 100644
index 0000000..d7c33b8
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/blue.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/chord.ogg b/Activities/Level1/1Colors/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/ding.ogg b/Activities/Level1/1Colors/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/green.ogg b/Activities/Level1/1Colors/sounds/green.ogg
new file mode 100644
index 0000000..b4a0b1e
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/green.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/orange.ogg b/Activities/Level1/1Colors/sounds/orange.ogg
new file mode 100644
index 0000000..ef35142
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/orange.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/purple.ogg b/Activities/Level1/1Colors/sounds/purple.ogg
new file mode 100644
index 0000000..acff592
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/purple.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/red.ogg b/Activities/Level1/1Colors/sounds/red.ogg
new file mode 100644
index 0000000..c302413
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/red.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/unitSound.ogg b/Activities/Level1/1Colors/sounds/unitSound.ogg
new file mode 100644
index 0000000..d05d0ce
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/white.ogg b/Activities/Level1/1Colors/sounds/white.ogg
new file mode 100644
index 0000000..915c9ad
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/white.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/sounds/yellow.ogg b/Activities/Level1/1Colors/sounds/yellow.ogg
new file mode 100644
index 0000000..259e2c3
--- /dev/null
+++ b/Activities/Level1/1Colors/sounds/yellow.ogg
Binary files differ
diff --git a/Activities/Level1/1Colors/unitMarker.png b/Activities/Level1/1Colors/unitMarker.png
new file mode 100644
index 0000000..711a5be
--- /dev/null
+++ b/Activities/Level1/1Colors/unitMarker.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/data.txt b/Activities/Level1/2Food/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/1Sort/ico.png b/Activities/Level1/2Food/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/2Food/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/apple.png b/Activities/Level1/2Food/1Sort/resources/apple.png
new file mode 100644
index 0000000..013cacb
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/apple.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/appleSIL.png b/Activities/Level1/2Food/1Sort/resources/appleSIL.png
new file mode 100644
index 0000000..fce58c3
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/appleSIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/banana.png b/Activities/Level1/2Food/1Sort/resources/banana.png
new file mode 100644
index 0000000..c003297
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/bananaSIL.png b/Activities/Level1/2Food/1Sort/resources/bananaSIL.png
new file mode 100644
index 0000000..17a3908
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/bananaSIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/hamburger.png b/Activities/Level1/2Food/1Sort/resources/hamburger.png
new file mode 100644
index 0000000..da09fc2
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/hamburger.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/hamburgerSIL.png b/Activities/Level1/2Food/1Sort/resources/hamburgerSIL.png
new file mode 100644
index 0000000..72e6f4b
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/hamburgerSIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/icecream.png b/Activities/Level1/2Food/1Sort/resources/icecream.png
new file mode 100644
index 0000000..d3d94e5
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/icecream.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/resources/icecreamSIL.png b/Activities/Level1/2Food/1Sort/resources/icecreamSIL.png
new file mode 100644
index 0000000..7587e54
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/resources/icecreamSIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/1Sort/screens.txt b/Activities/Level1/2Food/1Sort/screens.txt
new file mode 100644
index 0000000..7684a9d
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+apple:appleSIL.png
+banana:bananaSIL.png
+hamburger:hamburgerSIL.png
+icecream:icecreamSIL.png
+CRAYONS:
+apple.png apple.ogg - apple
+hamburger.png hamburger.ogg - hamburger
+banana.png banana.ogg - banana
+icecream.png icecream.ogg - icecream
+
+screen2:
+BINS:keepstate
+apple:appleSIL.png
+banana:bananaSIL.png
+hamburger:hamburgerSIL.png
+icecream:icecreamSIL.png
+CRAYONS:
+banana.png banana.ogg - banana
+icecream.png icecream.ogg - icecream
+apple.png apple.ogg - apple
+hamburger.png hamburger.ogg - hamburger \ No newline at end of file
diff --git a/Activities/Level1/2Food/1Sort/settings.txt b/Activities/Level1/2Food/1Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level1/2Food/1Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level1/2Food/2Sort/data.txt b/Activities/Level1/2Food/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/2Sort/ico.png b/Activities/Level1/2Food/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/2Food/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/chicken.png b/Activities/Level1/2Food/2Sort/resources/chicken.png
new file mode 100644
index 0000000..564c773
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/chicken.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/chickenSIL.png b/Activities/Level1/2Food/2Sort/resources/chickenSIL.png
new file mode 100644
index 0000000..a296042
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/chickenSIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/corn.png b/Activities/Level1/2Food/2Sort/resources/corn.png
new file mode 100644
index 0000000..481bee8
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/corn.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/cornSIL.png b/Activities/Level1/2Food/2Sort/resources/cornSIL.png
new file mode 100644
index 0000000..167bdf6
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/cornSIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/milk2.png b/Activities/Level1/2Food/2Sort/resources/milk2.png
new file mode 100644
index 0000000..2414a3f
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/milk2.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/milk2SIL.png b/Activities/Level1/2Food/2Sort/resources/milk2SIL.png
new file mode 100644
index 0000000..55a53ab
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/milk2SIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/pizza.png b/Activities/Level1/2Food/2Sort/resources/pizza.png
new file mode 100644
index 0000000..815a918
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/pizza.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/resources/pizzaSIL.png b/Activities/Level1/2Food/2Sort/resources/pizzaSIL.png
new file mode 100644
index 0000000..19aa6c0
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/resources/pizzaSIL.png
Binary files differ
diff --git a/Activities/Level1/2Food/2Sort/screens.txt b/Activities/Level1/2Food/2Sort/screens.txt
new file mode 100644
index 0000000..d2d7d0d
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+milk2:milk2SIL.png
+corn:cornSIL.png
+chicken:chickenSIL.png
+pizza:pizzaSIL.png
+CRAYONS:
+corn.png corn.ogg - corn
+milk2.png milk.ogg - milk2
+pizza.png pizza.ogg - pizza
+chicken.png chicken.ogg - chicken
+
+screen2:
+BINS:keepstate
+milk2:milk2SIL.png
+corn:cornSIL.png
+chicken:chickenSIL.png
+pizza:pizzaSIL.png
+CRAYONS:
+milk2.png milk.ogg - milk2
+pizza.png pizza.ogg - pizza
+chicken.png chicken.ogg - chicken
+corn.png corn.ogg - corn \ No newline at end of file
diff --git a/Activities/Level1/2Food/2Sort/settings.txt b/Activities/Level1/2Food/2Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level1/2Food/2Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level1/2Food/3Match/data.txt b/Activities/Level1/2Food/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/3Match/ico.png b/Activities/Level1/2Food/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/apple.png b/Activities/Level1/2Food/3Match/resources/apple.png
new file mode 100644
index 0000000..7e0f9a4
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/apple.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/appleTXT.png b/Activities/Level1/2Food/3Match/resources/appleTXT.png
new file mode 100644
index 0000000..e80a87c
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/appleTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/banana.png b/Activities/Level1/2Food/3Match/resources/banana.png
new file mode 100644
index 0000000..4386ee5
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/bananaTXT.png b/Activities/Level1/2Food/3Match/resources/bananaTXT.png
new file mode 100644
index 0000000..9b20cc2
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/bananaTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/chicken.png b/Activities/Level1/2Food/3Match/resources/chicken.png
new file mode 100644
index 0000000..3d1f50c
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/chicken.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/chickenTXT.png b/Activities/Level1/2Food/3Match/resources/chickenTXT.png
new file mode 100644
index 0000000..3156026
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/chickenTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/corn.png b/Activities/Level1/2Food/3Match/resources/corn.png
new file mode 100644
index 0000000..6001a05
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/corn.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/cornTXT.png b/Activities/Level1/2Food/3Match/resources/cornTXT.png
new file mode 100644
index 0000000..5cb22df
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/cornTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/pizza.png b/Activities/Level1/2Food/3Match/resources/pizza.png
new file mode 100644
index 0000000..06218c8
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/pizza.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/resources/pizzaTXT.png b/Activities/Level1/2Food/3Match/resources/pizzaTXT.png
new file mode 100644
index 0000000..0277b3b
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/resources/pizzaTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/3Match/screens.txt b/Activities/Level1/2Food/3Match/screens.txt
new file mode 100644
index 0000000..c9c3df1
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/screens.txt
@@ -0,0 +1,5 @@
+cornTXT.png corn.ogg corn.png
+bananaTXT.png banana.ogg banana.png
+chickenTXT.png chicken.ogg chicken.png
+appleTXT.png apple.ogg apple.png
+pizzaTXT.png pizza.ogg pizza.png \ No newline at end of file
diff --git a/Activities/Level1/2Food/3Match/settings.txt b/Activities/Level1/2Food/3Match/settings.txt
new file mode 100644
index 0000000..76bdc50
--- /dev/null
+++ b/Activities/Level1/2Food/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 40 \ No newline at end of file
diff --git a/Activities/Level1/2Food/4Paint/data.txt b/Activities/Level1/2Food/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/4Paint/ico.png b/Activities/Level1/2Food/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/apple.png b/Activities/Level1/2Food/4Paint/resources/apple.png
new file mode 100644
index 0000000..06fb447
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/apple.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/banana.png b/Activities/Level1/2Food/4Paint/resources/banana.png
new file mode 100644
index 0000000..90a254d
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/chicken.png b/Activities/Level1/2Food/4Paint/resources/chicken.png
new file mode 100644
index 0000000..3b3ad74
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/chicken.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/corn.png b/Activities/Level1/2Food/4Paint/resources/corn.png
new file mode 100644
index 0000000..152920f
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/corn.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/hamburguer.png b/Activities/Level1/2Food/4Paint/resources/hamburguer.png
new file mode 100644
index 0000000..82d5591
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/hamburguer.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/icecream.png b/Activities/Level1/2Food/4Paint/resources/icecream.png
new file mode 100644
index 0000000..1427a5d
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/icecream.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/milk.png b/Activities/Level1/2Food/4Paint/resources/milk.png
new file mode 100644
index 0000000..a6d0218
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/milk.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/resources/pizza.png b/Activities/Level1/2Food/4Paint/resources/pizza.png
new file mode 100644
index 0000000..1187685
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/resources/pizza.png
Binary files differ
diff --git a/Activities/Level1/2Food/4Paint/screens.txt b/Activities/Level1/2Food/4Paint/screens.txt
new file mode 100644
index 0000000..6a6033f
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/screens.txt
@@ -0,0 +1,23 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+banana.png yellow.ogg yellow
+pizza.png orange.ogg orange
+corn.png blue.ogg blue
+milk.png white.ogg white
+chicken.png chorange.ogg orange
+icecream.png red.ogg red
+apple.png green.ogg green
+hamburguer.png purple.ogg purple
diff --git a/Activities/Level1/2Food/4Paint/settings.txt b/Activities/Level1/2Food/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level1/2Food/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level1/2Food/5MultipleC/data.txt b/Activities/Level1/2Food/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/5MultipleC/ico.png b/Activities/Level1/2Food/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/2Food/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/apple.png b/Activities/Level1/2Food/5MultipleC/resources/apple.png
new file mode 100644
index 0000000..cd32be0
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/apple.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/banana.png b/Activities/Level1/2Food/5MultipleC/resources/banana.png
new file mode 100644
index 0000000..e4dafa5
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/2Food/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..18dc904
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/cara_triste_anim.png b/Activities/Level1/2Food/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..6c74d54
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/chicken.png b/Activities/Level1/2Food/5MultipleC/resources/chicken.png
new file mode 100644
index 0000000..92af393
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/chicken.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/corn.png b/Activities/Level1/2Food/5MultipleC/resources/corn.png
new file mode 100644
index 0000000..d64b6e6
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/corn.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/hamburger.png b/Activities/Level1/2Food/5MultipleC/resources/hamburger.png
new file mode 100644
index 0000000..90f8032
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/hamburger.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/icecream.png b/Activities/Level1/2Food/5MultipleC/resources/icecream.png
new file mode 100644
index 0000000..662ae6d
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/icecream.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/milk.png b/Activities/Level1/2Food/5MultipleC/resources/milk.png
new file mode 100644
index 0000000..70fb0da
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/milk.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/resources/pizza.png b/Activities/Level1/2Food/5MultipleC/resources/pizza.png
new file mode 100644
index 0000000..1f53442
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/resources/pizza.png
Binary files differ
diff --git a/Activities/Level1/2Food/5MultipleC/screens.txt b/Activities/Level1/2Food/5MultipleC/screens.txt
new file mode 100644
index 0000000..57fce43
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+apple.png apple.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+chicken.png pizza.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+milk.png icecream.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+banana.png banana.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+corn.png corn.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pizza.png hamburger.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+icecream.png icecream.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+hamburger.png chicken.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level1/2Food/5MultipleC/settings.txt b/Activities/Level1/2Food/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level1/2Food/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/2Food/6Concentrate/data.txt b/Activities/Level1/2Food/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/6Concentrate/ico.png b/Activities/Level1/2Food/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/_BackFace.png b/Activities/Level1/2Food/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..9cab198
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/apple1.png b/Activities/Level1/2Food/6Concentrate/resources/apple1.png
new file mode 100644
index 0000000..caff59a
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/apple1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/apple2.png b/Activities/Level1/2Food/6Concentrate/resources/apple2.png
new file mode 100644
index 0000000..1b48f00
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/apple2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/banana1.png b/Activities/Level1/2Food/6Concentrate/resources/banana1.png
new file mode 100644
index 0000000..a6d7ae8
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/banana1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/banana2.png b/Activities/Level1/2Food/6Concentrate/resources/banana2.png
new file mode 100644
index 0000000..3f1be0e
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/banana2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/chicken1.png b/Activities/Level1/2Food/6Concentrate/resources/chicken1.png
new file mode 100644
index 0000000..e461cf6
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/chicken1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/chicken2.png b/Activities/Level1/2Food/6Concentrate/resources/chicken2.png
new file mode 100644
index 0000000..190582c
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/chicken2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/conc_02_color.jpg b/Activities/Level1/2Food/6Concentrate/resources/conc_02_color.jpg
new file mode 100644
index 0000000..0b9384c
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/conc_02_color.jpg
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/conc_02_mono.jpg b/Activities/Level1/2Food/6Concentrate/resources/conc_02_mono.jpg
new file mode 100644
index 0000000..f92a628
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/conc_02_mono.jpg
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/corn1.png b/Activities/Level1/2Food/6Concentrate/resources/corn1.png
new file mode 100644
index 0000000..0354342
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/corn1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/corn2.png b/Activities/Level1/2Food/6Concentrate/resources/corn2.png
new file mode 100644
index 0000000..97897b8
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/corn2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/hamburger1.png b/Activities/Level1/2Food/6Concentrate/resources/hamburger1.png
new file mode 100644
index 0000000..0143047
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/hamburger1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/hamburger2.png b/Activities/Level1/2Food/6Concentrate/resources/hamburger2.png
new file mode 100644
index 0000000..8f41d07
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/hamburger2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/icecream1.png b/Activities/Level1/2Food/6Concentrate/resources/icecream1.png
new file mode 100644
index 0000000..935cc6a
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/icecream1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/icecream2.png b/Activities/Level1/2Food/6Concentrate/resources/icecream2.png
new file mode 100644
index 0000000..e4e9867
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/icecream2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/milk1.png b/Activities/Level1/2Food/6Concentrate/resources/milk1.png
new file mode 100644
index 0000000..c126701
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/milk1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/milk2.png b/Activities/Level1/2Food/6Concentrate/resources/milk2.png
new file mode 100644
index 0000000..662bb04
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/milk2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/pizza1.png b/Activities/Level1/2Food/6Concentrate/resources/pizza1.png
new file mode 100644
index 0000000..ce5e805
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/pizza1.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/resources/pizza2.png b/Activities/Level1/2Food/6Concentrate/resources/pizza2.png
new file mode 100644
index 0000000..4730964
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/resources/pizza2.png
Binary files differ
diff --git a/Activities/Level1/2Food/6Concentrate/screen.txt b/Activities/Level1/2Food/6Concentrate/screen.txt
new file mode 100644
index 0000000..3cdb412
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_02_mono.jpg:conc_02_color.jpg
+pizza1.png pizza2.png pizza.ogg pizza
+icecream1.png icecream2.png icecream.ogg icecream
+banana1.png banana2.png banana.ogg banana
+chicken1.png chicken2.png chicken.ogg chicken
+milk1.png milk2.png milk.ogg milk
+apple1.png apple2.png apple.ogg apple
+hamburger1.png hamburger2.png hamburger.ogg hamburger
+corn1.png corn2.png corn.ogg corn
diff --git a/Activities/Level1/2Food/6Concentrate/settings.txt b/Activities/Level1/2Food/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level1/2Food/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level1/2Food/7DragnDrop/data.txt b/Activities/Level1/2Food/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/7DragnDrop/ico.png b/Activities/Level1/2Food/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/2Food/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/resources/banana.png b/Activities/Level1/2Food/7DragnDrop/resources/banana.png
new file mode 100644
index 0000000..fabb56f
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/resources/corn.png b/Activities/Level1/2Food/7DragnDrop/resources/corn.png
new file mode 100644
index 0000000..481bee8
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/resources/corn.png
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/resources/hamburger.png b/Activities/Level1/2Food/7DragnDrop/resources/hamburger.png
new file mode 100644
index 0000000..d940ea4
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/resources/hamburger.png
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/resources/icono_play.png b/Activities/Level1/2Food/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/resources/milk.png b/Activities/Level1/2Food/7DragnDrop/resources/milk.png
new file mode 100644
index 0000000..2414a3f
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/resources/milk.png
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/resources/pizza.png b/Activities/Level1/2Food/7DragnDrop/resources/pizza.png
new file mode 100644
index 0000000..815a918
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/resources/pizza.png
Binary files differ
diff --git a/Activities/Level1/2Food/7DragnDrop/screens.txt b/Activities/Level1/2Food/7DragnDrop/screens.txt
new file mode 100644
index 0000000..062d4b3
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+milk:milk.png
+hamburger:hamburger.png
+pizza:pizza.png
+corn:corn.png
+banana:banana.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png corn.ogg corn corn
+icono_play.png pizza.ogg pizza pizza
+icono_play.png banana.ogg banana banana
+icono_play.png milk.ogg milk milk
+icono_play.png hamburger.ogg hamburger hamburger \ No newline at end of file
diff --git a/Activities/Level1/2Food/7DragnDrop/settings.txt b/Activities/Level1/2Food/7DragnDrop/settings.txt
new file mode 100644
index 0000000..a90ddf9
--- /dev/null
+++ b/Activities/Level1/2Food/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 420
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level1/2Food/8Match/data.txt b/Activities/Level1/2Food/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/8Match/ico.png b/Activities/Level1/2Food/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/banana.png b/Activities/Level1/2Food/8Match/resources/banana.png
new file mode 100644
index 0000000..29e3bdc
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/bananaTXT.png b/Activities/Level1/2Food/8Match/resources/bananaTXT.png
new file mode 100644
index 0000000..9b20cc2
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/bananaTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/hamburger.png b/Activities/Level1/2Food/8Match/resources/hamburger.png
new file mode 100644
index 0000000..2af4772
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/hamburger.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/hamburgerTXT.png b/Activities/Level1/2Food/8Match/resources/hamburgerTXT.png
new file mode 100644
index 0000000..e549c1b
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/hamburgerTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/icecream.png b/Activities/Level1/2Food/8Match/resources/icecream.png
new file mode 100644
index 0000000..27d07c4
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/icecream.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/icecreamTXT.png b/Activities/Level1/2Food/8Match/resources/icecreamTXT.png
new file mode 100644
index 0000000..cffe4bb
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/icecreamTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/milk.png b/Activities/Level1/2Food/8Match/resources/milk.png
new file mode 100644
index 0000000..c8c0b3d
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/milk.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/milkTXT.png b/Activities/Level1/2Food/8Match/resources/milkTXT.png
new file mode 100644
index 0000000..5f17508
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/milkTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/pizza.png b/Activities/Level1/2Food/8Match/resources/pizza.png
new file mode 100644
index 0000000..373f129
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/pizza.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/resources/pizzaTXT.png b/Activities/Level1/2Food/8Match/resources/pizzaTXT.png
new file mode 100644
index 0000000..0277b3b
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/resources/pizzaTXT.png
Binary files differ
diff --git a/Activities/Level1/2Food/8Match/screens.txt b/Activities/Level1/2Food/8Match/screens.txt
new file mode 100644
index 0000000..d188d0b
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/screens.txt
@@ -0,0 +1,5 @@
+hamburgerTXT.png hamburger.ogg hamburger.png
+milkTXT.png milk.ogg milk.png
+icecreamTXT.png icecream.ogg icecream.png
+pizzaTXT.png pizza.ogg pizza.png
+bananaTXT.png banana.ogg banana.png \ No newline at end of file
diff --git a/Activities/Level1/2Food/8Match/settings.txt b/Activities/Level1/2Food/8Match/settings.txt
new file mode 100644
index 0000000..c06ca6f
--- /dev/null
+++ b/Activities/Level1/2Food/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 210
+leftMargin = 350
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 50 \ No newline at end of file
diff --git a/Activities/Level1/2Food/9MultipleC/data.txt b/Activities/Level1/2Food/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/2Food/9MultipleC/ico.png b/Activities/Level1/2Food/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/2Food/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/apple.png b/Activities/Level1/2Food/9MultipleC/resources/apple.png
new file mode 100644
index 0000000..cd32be0
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/apple.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/banana.png b/Activities/Level1/2Food/9MultipleC/resources/banana.png
new file mode 100644
index 0000000..e4dafa5
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/banana.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/2Food/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..764cf5c
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/cara_triste_anim.png b/Activities/Level1/2Food/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..87069fe
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/chicken.png b/Activities/Level1/2Food/9MultipleC/resources/chicken.png
new file mode 100644
index 0000000..92af393
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/chicken.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/corn.png b/Activities/Level1/2Food/9MultipleC/resources/corn.png
new file mode 100644
index 0000000..d64b6e6
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/corn.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/hamburger.png b/Activities/Level1/2Food/9MultipleC/resources/hamburger.png
new file mode 100644
index 0000000..90f8032
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/hamburger.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/icecream.png b/Activities/Level1/2Food/9MultipleC/resources/icecream.png
new file mode 100644
index 0000000..662ae6d
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/icecream.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/milk.png b/Activities/Level1/2Food/9MultipleC/resources/milk.png
new file mode 100644
index 0000000..70fb0da
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/milk.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/resources/pizza.png b/Activities/Level1/2Food/9MultipleC/resources/pizza.png
new file mode 100644
index 0000000..1f53442
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/resources/pizza.png
Binary files differ
diff --git a/Activities/Level1/2Food/9MultipleC/screens.txt b/Activities/Level1/2Food/9MultipleC/screens.txt
new file mode 100644
index 0000000..aabb314
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+banana.png pizza.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+hamburger.png hamburger.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+apple.png milk.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+chicken.png chicken.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+banana.png banana.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+icecream.png pizza.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+milk.png apple.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+corn.png corn.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
diff --git a/Activities/Level1/2Food/9MultipleC/settings.txt b/Activities/Level1/2Food/9MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level1/2Food/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/2Food/btn_act.png b/Activities/Level1/2Food/btn_act.png
new file mode 100644
index 0000000..54436ce
--- /dev/null
+++ b/Activities/Level1/2Food/btn_act.png
Binary files differ
diff --git a/Activities/Level1/2Food/ico.png b/Activities/Level1/2Food/ico.png
new file mode 100644
index 0000000..1b07942
--- /dev/null
+++ b/Activities/Level1/2Food/ico.png
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/Twinkle.ogg b/Activities/Level1/2Food/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/apple.ogg b/Activities/Level1/2Food/sounds/apple.ogg
new file mode 100644
index 0000000..58f0bd2
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/apple.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/banana.ogg b/Activities/Level1/2Food/sounds/banana.ogg
new file mode 100644
index 0000000..4cb5d55
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/banana.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/bing.ogg b/Activities/Level1/2Food/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/black.ogg b/Activities/Level1/2Food/sounds/black.ogg
new file mode 100644
index 0000000..c77e569
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/black.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/blue.ogg b/Activities/Level1/2Food/sounds/blue.ogg
new file mode 100644
index 0000000..e8a5488
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/blue.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/chicken.ogg b/Activities/Level1/2Food/sounds/chicken.ogg
new file mode 100644
index 0000000..0abc225
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/chicken.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/chorange.ogg b/Activities/Level1/2Food/sounds/chorange.ogg
new file mode 100644
index 0000000..f965824
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/chorange.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/chord.ogg b/Activities/Level1/2Food/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/corn.ogg b/Activities/Level1/2Food/sounds/corn.ogg
new file mode 100644
index 0000000..c62384b
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/corn.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/cornblue.ogg b/Activities/Level1/2Food/sounds/cornblue.ogg
new file mode 100644
index 0000000..0c83ca2
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/cornblue.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/ding.ogg b/Activities/Level1/2Food/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/green.ogg b/Activities/Level1/2Food/sounds/green.ogg
new file mode 100644
index 0000000..6d4721e
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/green.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/hamburger.ogg b/Activities/Level1/2Food/sounds/hamburger.ogg
new file mode 100644
index 0000000..7357d49
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/hamburger.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/hamburguer.ogg b/Activities/Level1/2Food/sounds/hamburguer.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/hamburguer.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/icecream.ogg b/Activities/Level1/2Food/sounds/icecream.ogg
new file mode 100644
index 0000000..9d8715f
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/icecream.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/milk.ogg b/Activities/Level1/2Food/sounds/milk.ogg
new file mode 100644
index 0000000..318d3f7
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/milk.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/orange.ogg b/Activities/Level1/2Food/sounds/orange.ogg
new file mode 100644
index 0000000..69d4092
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/orange.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/pizza.ogg b/Activities/Level1/2Food/sounds/pizza.ogg
new file mode 100644
index 0000000..0347d5c
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/pizza.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/purple.ogg b/Activities/Level1/2Food/sounds/purple.ogg
new file mode 100644
index 0000000..fe4416a
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/purple.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/red.ogg b/Activities/Level1/2Food/sounds/red.ogg
new file mode 100644
index 0000000..6759b4d
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/red.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/unitSound.ogg b/Activities/Level1/2Food/sounds/unitSound.ogg
new file mode 100644
index 0000000..5be6963
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/white.ogg b/Activities/Level1/2Food/sounds/white.ogg
new file mode 100644
index 0000000..377d75b
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/white.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/sounds/yellow.ogg b/Activities/Level1/2Food/sounds/yellow.ogg
new file mode 100644
index 0000000..4109351
--- /dev/null
+++ b/Activities/Level1/2Food/sounds/yellow.ogg
Binary files differ
diff --git a/Activities/Level1/2Food/unitMarker.png b/Activities/Level1/2Food/unitMarker.png
new file mode 100644
index 0000000..20f0420
--- /dev/null
+++ b/Activities/Level1/2Food/unitMarker.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/data.txt b/Activities/Level1/3Body/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/1Sort/ico.png b/Activities/Level1/3Body/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/3Body/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/arm.png b/Activities/Level1/3Body/1Sort/resources/arm.png
new file mode 100644
index 0000000..f5a8057
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/arm.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/armSIL.png b/Activities/Level1/3Body/1Sort/resources/armSIL.png
new file mode 100644
index 0000000..502ce78
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/armSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/foot.png b/Activities/Level1/3Body/1Sort/resources/foot.png
new file mode 100644
index 0000000..e9b4624
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/foot.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/footSIL.png b/Activities/Level1/3Body/1Sort/resources/footSIL.png
new file mode 100644
index 0000000..5362cf3
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/footSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/hand.png b/Activities/Level1/3Body/1Sort/resources/hand.png
new file mode 100644
index 0000000..a46a9cc
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/hand.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/handSIL.png b/Activities/Level1/3Body/1Sort/resources/handSIL.png
new file mode 100644
index 0000000..a6e4684
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/handSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/kid.png b/Activities/Level1/3Body/1Sort/resources/kid.png
new file mode 100644
index 0000000..ea2e33c
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/kid.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/leg.png b/Activities/Level1/3Body/1Sort/resources/leg.png
new file mode 100644
index 0000000..61d9adf
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/leg.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/resources/legSIL.png b/Activities/Level1/3Body/1Sort/resources/legSIL.png
new file mode 100644
index 0000000..7d0e3c3
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/resources/legSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/1Sort/screens.txt b/Activities/Level1/3Body/1Sort/screens.txt
new file mode 100644
index 0000000..f1036dc
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/screens.txt
@@ -0,0 +1,25 @@
+screen1:
+BACKGROUND:kid.png 200 170 9
+BINS:
+arm:armSIL.png 600 250 5
+foot:footSIL.png 770 250 5
+leg:legSIL.png 600 430 5
+hand:handSIL.png 770 430 5
+CRAYONS:
+arm.png arm.ogg - arm 239 362 4
+foot.png foot.ogg - foot 327 607 4
+leg.png leg.ogg - leg 407 542 4
+hand.png hand.ogg - hand 257 451 4
+
+screen2:
+BACKGROUND:kid.png 200 170 9
+BINS:keepstate
+arm:armSIL.png 600 430 5
+foot:footSIL.png 770 430 5
+leg:legSIL.png 600 250 5
+hand:handSIL.png 770 250 5
+CRAYONS:
+leg.png leg.ogg - leg 407 542 4
+arm.png arm.ogg - arm 239 362 4
+foot.png foot.ogg - foot 327 607 4
+hand.png hand.ogg - hand 257 451 4 \ No newline at end of file
diff --git a/Activities/Level1/3Body/1Sort/settings.txt b/Activities/Level1/3Body/1Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level1/3Body/1Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level1/3Body/2Sort/data.txt b/Activities/Level1/3Body/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/2Sort/ico.png b/Activities/Level1/3Body/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/3Body/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/eye.png b/Activities/Level1/3Body/2Sort/resources/eye.png
new file mode 100644
index 0000000..dfe2af0
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/eye.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/eyeSIL.png b/Activities/Level1/3Body/2Sort/resources/eyeSIL.png
new file mode 100644
index 0000000..15d36c8
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/eyeSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/head.png b/Activities/Level1/3Body/2Sort/resources/head.png
new file mode 100644
index 0000000..aa640f0
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/head.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/headSIL.png b/Activities/Level1/3Body/2Sort/resources/headSIL.png
new file mode 100644
index 0000000..a233c00
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/headSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/head_bck.png b/Activities/Level1/3Body/2Sort/resources/head_bck.png
new file mode 100644
index 0000000..ce1ffdb
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/head_bck.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/mouth.png b/Activities/Level1/3Body/2Sort/resources/mouth.png
new file mode 100644
index 0000000..c3881fa
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/mouth.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/mouthSIL.png b/Activities/Level1/3Body/2Sort/resources/mouthSIL.png
new file mode 100644
index 0000000..c1b2c6b
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/mouthSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/nose.png b/Activities/Level1/3Body/2Sort/resources/nose.png
new file mode 100644
index 0000000..cdf1514
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/nose.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/resources/noseSIL.png b/Activities/Level1/3Body/2Sort/resources/noseSIL.png
new file mode 100644
index 0000000..135e39b
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/resources/noseSIL.png
Binary files differ
diff --git a/Activities/Level1/3Body/2Sort/screens.txt b/Activities/Level1/3Body/2Sort/screens.txt
new file mode 100644
index 0000000..817854a
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/screens.txt
@@ -0,0 +1,26 @@
+screen1:
+BACKGROUND:head_bck.png 120 170 9
+BINS:
+eye:eyeSIL.png 600 250 5
+mouth:mouthSIL.png 770 250 5
+nose:noseSIL.png 600 430 5
+head:headSIL.png 770 430 5
+CRAYONS:
+eye.png eye.ogg - eye 408 362 4
+mouth.png mouth.ogg - mouth 352 439 5
+nose.png nose.ogg - nose 400 355 6
+head.png head.ogg - head 140 217 7
+
+screen2:
+
+BACKGROUND:head_bck.png 120 170 9
+BINS:keepstate
+eye:eyeSIL.png 600 250 5
+mouth:mouthSIL.png 770 250 5
+nose:noseSIL.png 600 430 5
+head:headSIL.png 770 430 5
+CRAYONS:
+eye.png eye.ogg - eye 408 362 4
+mouth.png mouth.ogg - mouth 352 439 5
+nose.png nose.ogg - nose 400 355 6
+head.png head.ogg - head 140 217 8 \ No newline at end of file
diff --git a/Activities/Level1/3Body/2Sort/settings.txt b/Activities/Level1/3Body/2Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level1/3Body/2Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level1/3Body/3Match/data.txt b/Activities/Level1/3Body/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/3Match/ico.png b/Activities/Level1/3Body/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/arm.png b/Activities/Level1/3Body/3Match/resources/arm.png
new file mode 100644
index 0000000..ad6ed94
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/arm.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/armTXT.png b/Activities/Level1/3Body/3Match/resources/armTXT.png
new file mode 100644
index 0000000..358697b
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/armTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/foot.png b/Activities/Level1/3Body/3Match/resources/foot.png
new file mode 100644
index 0000000..e8c7d37
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/foot.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/footTXT.png b/Activities/Level1/3Body/3Match/resources/footTXT.png
new file mode 100644
index 0000000..f8a2bcc
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/footTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/hand.png b/Activities/Level1/3Body/3Match/resources/hand.png
new file mode 100644
index 0000000..e859f18
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/hand.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/handTXT.png b/Activities/Level1/3Body/3Match/resources/handTXT.png
new file mode 100644
index 0000000..c1b2859
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/handTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/head.png b/Activities/Level1/3Body/3Match/resources/head.png
new file mode 100644
index 0000000..a4b19d6
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/head.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/headTXT.png b/Activities/Level1/3Body/3Match/resources/headTXT.png
new file mode 100644
index 0000000..c1ba0fd
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/headTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/mouth.png b/Activities/Level1/3Body/3Match/resources/mouth.png
new file mode 100644
index 0000000..528268e
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/mouth.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/resources/mouthTXT.png b/Activities/Level1/3Body/3Match/resources/mouthTXT.png
new file mode 100644
index 0000000..5512e34
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/resources/mouthTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/3Match/screens.txt b/Activities/Level1/3Body/3Match/screens.txt
new file mode 100644
index 0000000..306e0d0
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/screens.txt
@@ -0,0 +1,5 @@
+headTXT.png head.ogg head.png
+armTXT.png arm.ogg arm.png
+handTXT.png hand.ogg hand.png
+footTXT.png foot.ogg foot.png
+mouthTXT.png mouth.ogg mouth.png \ No newline at end of file
diff --git a/Activities/Level1/3Body/3Match/settings.txt b/Activities/Level1/3Body/3Match/settings.txt
new file mode 100644
index 0000000..08eb6de
--- /dev/null
+++ b/Activities/Level1/3Body/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 260
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 40 \ No newline at end of file
diff --git a/Activities/Level1/3Body/4Paint/data.txt b/Activities/Level1/3Body/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/4Paint/ico.png b/Activities/Level1/3Body/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/arms.png b/Activities/Level1/3Body/4Paint/resources/arms.png
new file mode 100644
index 0000000..496d6c5
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/arms.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/back.png b/Activities/Level1/3Body/4Paint/resources/back.png
new file mode 100644
index 0000000..04b9813
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/back.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/eyes.png b/Activities/Level1/3Body/4Paint/resources/eyes.png
new file mode 100644
index 0000000..f666cf5
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/eyes.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/foot.png b/Activities/Level1/3Body/4Paint/resources/foot.png
new file mode 100644
index 0000000..98245bf
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/foot.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/hands.png b/Activities/Level1/3Body/4Paint/resources/hands.png
new file mode 100644
index 0000000..756c56e
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/hands.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/head.png b/Activities/Level1/3Body/4Paint/resources/head.png
new file mode 100644
index 0000000..a4f73e2
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/head.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/legs.png b/Activities/Level1/3Body/4Paint/resources/legs.png
new file mode 100644
index 0000000..ec160bf
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/legs.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/mouth.png b/Activities/Level1/3Body/4Paint/resources/mouth.png
new file mode 100644
index 0000000..f9cb38d
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/mouth.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/nose.png b/Activities/Level1/3Body/4Paint/resources/nose.png
new file mode 100644
index 0000000..8d423cb
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/nose.png
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/resources/old.rar b/Activities/Level1/3Body/4Paint/resources/old.rar
new file mode 100644
index 0000000..e02caa4
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/resources/old.rar
Binary files differ
diff --git a/Activities/Level1/3Body/4Paint/screens.txt b/Activities/Level1/3Body/4Paint/screens.txt
new file mode 100644
index 0000000..d37fbbb
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/screens.txt
@@ -0,0 +1,24 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+foot.png footblue.ogg blue 482 431
+arms.png armyellow.ogg yellow 488 310
+legs.png legyellow.ogg yellow 509 399
+head.png headwhite.ogg white 500 201
+hands.png handpurple.ogg purple 481 361
+eyes.png eyegreen.ogg green 669 304
+mouth.png mouthred.ogg red 692 350
+nose.png noseorange.ogg orange 704 301
+
+background: back.png 480 200
diff --git a/Activities/Level1/3Body/4Paint/settings.txt b/Activities/Level1/3Body/4Paint/settings.txt
new file mode 100644
index 0000000..60874ae
--- /dev/null
+++ b/Activities/Level1/3Body/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 400
+yFirstElement = 190
+elementsPerRow = 4
+spaceBetweenRows = 150
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level1/3Body/5MultipleC/data.txt b/Activities/Level1/3Body/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/5MultipleC/ico.png b/Activities/Level1/3Body/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/1.png b/Activities/Level1/3Body/5MultipleC/resources/1.png
new file mode 100644
index 0000000..16577e5
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/1.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/2.png b/Activities/Level1/3Body/5MultipleC/resources/2.png
new file mode 100644
index 0000000..3d9f7a5
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/2.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/3.png b/Activities/Level1/3Body/5MultipleC/resources/3.png
new file mode 100644
index 0000000..6c0ed57
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/3.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/4.png b/Activities/Level1/3Body/5MultipleC/resources/4.png
new file mode 100644
index 0000000..7a4442a
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/4.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/5.png b/Activities/Level1/3Body/5MultipleC/resources/5.png
new file mode 100644
index 0000000..7e7de74
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/5.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/6.png b/Activities/Level1/3Body/5MultipleC/resources/6.png
new file mode 100644
index 0000000..1dcaf09
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/6.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/7.png b/Activities/Level1/3Body/5MultipleC/resources/7.png
new file mode 100644
index 0000000..7625982
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/7.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/8.png b/Activities/Level1/3Body/5MultipleC/resources/8.png
new file mode 100644
index 0000000..da86b44
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/8.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/3Body/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/3Body/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..f48244d
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/resources/cara_triste_anim.png b/Activities/Level1/3Body/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..c9f8ce9
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/3Body/5MultipleC/screens.txt b/Activities/Level1/3Body/5MultipleC/screens.txt
new file mode 100644
index 0000000..2cfed34
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+1.png leg.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+2.png arms.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+3.png nose.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+4.png mouth.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+5.png foot.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+6.png eyes.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+7.png legs.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+8.png hands.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level1/3Body/5MultipleC/settings.txt b/Activities/Level1/3Body/5MultipleC/settings.txt
new file mode 100644
index 0000000..d82ee76
--- /dev/null
+++ b/Activities/Level1/3Body/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 280
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 560
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/3Body/6Concentrate/data.txt b/Activities/Level1/3Body/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/6Concentrate/ico.png b/Activities/Level1/3Body/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/_BackFace.png b/Activities/Level1/3Body/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..0fa08ac
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/arm1.png b/Activities/Level1/3Body/6Concentrate/resources/arm1.png
new file mode 100644
index 0000000..b040ce5
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/arm1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/arm2.png b/Activities/Level1/3Body/6Concentrate/resources/arm2.png
new file mode 100644
index 0000000..d4a6643
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/arm2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/conc_03_color.jpg b/Activities/Level1/3Body/6Concentrate/resources/conc_03_color.jpg
new file mode 100644
index 0000000..76d7e57
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/conc_03_color.jpg
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/conc_03_mono.jpg b/Activities/Level1/3Body/6Concentrate/resources/conc_03_mono.jpg
new file mode 100644
index 0000000..87cbbb2
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/conc_03_mono.jpg
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/eye1.png b/Activities/Level1/3Body/6Concentrate/resources/eye1.png
new file mode 100644
index 0000000..b2e8adf
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/eye1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/eye2.png b/Activities/Level1/3Body/6Concentrate/resources/eye2.png
new file mode 100644
index 0000000..f6aced4
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/eye2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/foot1.png b/Activities/Level1/3Body/6Concentrate/resources/foot1.png
new file mode 100644
index 0000000..4b41521
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/foot1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/foot2.png b/Activities/Level1/3Body/6Concentrate/resources/foot2.png
new file mode 100644
index 0000000..2c7fa6a
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/foot2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/hand1.png b/Activities/Level1/3Body/6Concentrate/resources/hand1.png
new file mode 100644
index 0000000..fca803c
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/hand1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/hand2.png b/Activities/Level1/3Body/6Concentrate/resources/hand2.png
new file mode 100644
index 0000000..c14b50d
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/hand2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/head1.png b/Activities/Level1/3Body/6Concentrate/resources/head1.png
new file mode 100644
index 0000000..af83a83
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/head1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/head2.png b/Activities/Level1/3Body/6Concentrate/resources/head2.png
new file mode 100644
index 0000000..df7deb3
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/head2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/leg1.png b/Activities/Level1/3Body/6Concentrate/resources/leg1.png
new file mode 100644
index 0000000..e2caec2
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/leg1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/leg2.png b/Activities/Level1/3Body/6Concentrate/resources/leg2.png
new file mode 100644
index 0000000..622fd7e
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/leg2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/mouth1.png b/Activities/Level1/3Body/6Concentrate/resources/mouth1.png
new file mode 100644
index 0000000..3a11384
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/mouth1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/mouth2.png b/Activities/Level1/3Body/6Concentrate/resources/mouth2.png
new file mode 100644
index 0000000..bfaabb0
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/mouth2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/nose1.png b/Activities/Level1/3Body/6Concentrate/resources/nose1.png
new file mode 100644
index 0000000..209da77
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/nose1.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/resources/nose2.png b/Activities/Level1/3Body/6Concentrate/resources/nose2.png
new file mode 100644
index 0000000..41b2246
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/resources/nose2.png
Binary files differ
diff --git a/Activities/Level1/3Body/6Concentrate/screen.txt b/Activities/Level1/3Body/6Concentrate/screen.txt
new file mode 100644
index 0000000..bc969f3
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_03_mono.jpg:conc_03_color.jpg
+arm1.png arm2.png arm.ogg arm
+eye1.png eye2.png eye.ogg eye
+foot1.png foot2.png foot.ogg foot
+hand1.png hand2.png hand.ogg hand
+head1.png head2.png head.ogg head
+leg1.png leg2.png leg.ogg leg
+mouth1.png mouth2.png mouth.ogg mouth
+nose1.png nose2.png nose.ogg nose
diff --git a/Activities/Level1/3Body/6Concentrate/settings.txt b/Activities/Level1/3Body/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level1/3Body/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level1/3Body/7DragnDrop/data.txt b/Activities/Level1/3Body/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/7DragnDrop/ico.png b/Activities/Level1/3Body/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/3Body/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/resources/arm.png b/Activities/Level1/3Body/7DragnDrop/resources/arm.png
new file mode 100644
index 0000000..4c6236f
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/resources/arm.png
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/resources/eye.png b/Activities/Level1/3Body/7DragnDrop/resources/eye.png
new file mode 100644
index 0000000..34e79eb
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/resources/eye.png
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/resources/head.png b/Activities/Level1/3Body/7DragnDrop/resources/head.png
new file mode 100644
index 0000000..6909f25
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/resources/head.png
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/resources/icono_play.png b/Activities/Level1/3Body/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/resources/leg.png b/Activities/Level1/3Body/7DragnDrop/resources/leg.png
new file mode 100644
index 0000000..05ae48f
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/resources/leg.png
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/resources/mouth.png b/Activities/Level1/3Body/7DragnDrop/resources/mouth.png
new file mode 100644
index 0000000..89bed97
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/resources/mouth.png
Binary files differ
diff --git a/Activities/Level1/3Body/7DragnDrop/screens.txt b/Activities/Level1/3Body/7DragnDrop/screens.txt
new file mode 100644
index 0000000..e6d7b9b
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+leg:leg.png
+arm:arm.png
+head:head.png
+eye:eye.png
+mouth:mouth.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png mouth.ogg mouth mouth
+icono_play.png arm.ogg arm arm
+icono_play.png head.ogg head head
+icono_play.png eye.ogg eye eye
+icono_play.png leg.ogg leg leg \ No newline at end of file
diff --git a/Activities/Level1/3Body/7DragnDrop/settings.txt b/Activities/Level1/3Body/7DragnDrop/settings.txt
new file mode 100644
index 0000000..a90ddf9
--- /dev/null
+++ b/Activities/Level1/3Body/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 420
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level1/3Body/8Match/data.txt b/Activities/Level1/3Body/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/8Match/ico.png b/Activities/Level1/3Body/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/eye.png b/Activities/Level1/3Body/8Match/resources/eye.png
new file mode 100644
index 0000000..db84c70
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/eye.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/eyeTXT.png b/Activities/Level1/3Body/8Match/resources/eyeTXT.png
new file mode 100644
index 0000000..6bdae0c
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/eyeTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/foot.png b/Activities/Level1/3Body/8Match/resources/foot.png
new file mode 100644
index 0000000..23a192d
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/foot.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/footTXT.png b/Activities/Level1/3Body/8Match/resources/footTXT.png
new file mode 100644
index 0000000..b57aa5a
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/footTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/hands.png b/Activities/Level1/3Body/8Match/resources/hands.png
new file mode 100644
index 0000000..6107d31
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/hands.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/handsTXT.png b/Activities/Level1/3Body/8Match/resources/handsTXT.png
new file mode 100644
index 0000000..afc28aa
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/handsTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/legs.png b/Activities/Level1/3Body/8Match/resources/legs.png
new file mode 100644
index 0000000..25d9415
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/legs.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/legsTXT.png b/Activities/Level1/3Body/8Match/resources/legsTXT.png
new file mode 100644
index 0000000..9313c9c
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/legsTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/nose.png b/Activities/Level1/3Body/8Match/resources/nose.png
new file mode 100644
index 0000000..8f9d134
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/nose.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/resources/noseTXT.png b/Activities/Level1/3Body/8Match/resources/noseTXT.png
new file mode 100644
index 0000000..c4351fd
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/resources/noseTXT.png
Binary files differ
diff --git a/Activities/Level1/3Body/8Match/screens.txt b/Activities/Level1/3Body/8Match/screens.txt
new file mode 100644
index 0000000..1585fcb
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/screens.txt
@@ -0,0 +1,5 @@
+noseTXT.png nose.ogg nose.png
+handsTXT.png hands.ogg hands.png
+footTXT.png foot.ogg foot.png
+legsTXT.png legs.ogg legs.png
+eyeTXT.png eye.ogg eye.png \ No newline at end of file
diff --git a/Activities/Level1/3Body/8Match/settings.txt b/Activities/Level1/3Body/8Match/settings.txt
new file mode 100644
index 0000000..c06ca6f
--- /dev/null
+++ b/Activities/Level1/3Body/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 210
+leftMargin = 350
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 50 \ No newline at end of file
diff --git a/Activities/Level1/3Body/9MultipleC/data.txt b/Activities/Level1/3Body/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/3Body/9MultipleC/ico.png b/Activities/Level1/3Body/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/3Body/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/arm.png b/Activities/Level1/3Body/9MultipleC/resources/arm.png
new file mode 100644
index 0000000..893aafe
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/arm.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/arms.png b/Activities/Level1/3Body/9MultipleC/resources/arms.png
new file mode 100644
index 0000000..f84b4d5
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/arms.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/3Body/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..a4599d7
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/cara_triste_anim.png b/Activities/Level1/3Body/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..db94090
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/eyes.png b/Activities/Level1/3Body/9MultipleC/resources/eyes.png
new file mode 100644
index 0000000..ffd2cab
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/eyes.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/foot.png b/Activities/Level1/3Body/9MultipleC/resources/foot.png
new file mode 100644
index 0000000..f76288f
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/foot.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/hands.png b/Activities/Level1/3Body/9MultipleC/resources/hands.png
new file mode 100644
index 0000000..2aa728f
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/hands.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/legs.png b/Activities/Level1/3Body/9MultipleC/resources/legs.png
new file mode 100644
index 0000000..a36920d
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/legs.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/mouth.png b/Activities/Level1/3Body/9MultipleC/resources/mouth.png
new file mode 100644
index 0000000..d2de7fb
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/mouth.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/resources/nose.png b/Activities/Level1/3Body/9MultipleC/resources/nose.png
new file mode 100644
index 0000000..6e88bf9
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/resources/nose.png
Binary files differ
diff --git a/Activities/Level1/3Body/9MultipleC/screens.txt b/Activities/Level1/3Body/9MultipleC/screens.txt
new file mode 100644
index 0000000..9cd9104
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+eyes.png eyes.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+foot.png foot.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+arm.png legs.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+nose.png mouth.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+hands.png hands.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+legs.png nose.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mouth.png mouth.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+arms.png arms.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
diff --git a/Activities/Level1/3Body/9MultipleC/settings.txt b/Activities/Level1/3Body/9MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level1/3Body/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/3Body/btn_act.bmp b/Activities/Level1/3Body/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level1/3Body/btn_act.bmp
Binary files differ
diff --git a/Activities/Level1/3Body/btn_act.png b/Activities/Level1/3Body/btn_act.png
new file mode 100644
index 0000000..54436ce
--- /dev/null
+++ b/Activities/Level1/3Body/btn_act.png
Binary files differ
diff --git a/Activities/Level1/3Body/ico.png b/Activities/Level1/3Body/ico.png
new file mode 100644
index 0000000..efe5b8f
--- /dev/null
+++ b/Activities/Level1/3Body/ico.png
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/Twinkle.ogg b/Activities/Level1/3Body/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/arm.ogg b/Activities/Level1/3Body/sounds/arm.ogg
new file mode 100644
index 0000000..84d0fde
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/arm.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/arms.ogg b/Activities/Level1/3Body/sounds/arms.ogg
new file mode 100644
index 0000000..45e0a97
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/arms.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/armyellow.ogg b/Activities/Level1/3Body/sounds/armyellow.ogg
new file mode 100644
index 0000000..2a37da6
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/armyellow.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/bing.ogg b/Activities/Level1/3Body/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/black.ogg b/Activities/Level1/3Body/sounds/black.ogg
new file mode 100644
index 0000000..5699972
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/black.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/blue.ogg b/Activities/Level1/3Body/sounds/blue.ogg
new file mode 100644
index 0000000..1de7025
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/blue.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/chord.ogg b/Activities/Level1/3Body/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/ding.ogg b/Activities/Level1/3Body/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/eye.ogg b/Activities/Level1/3Body/sounds/eye.ogg
new file mode 100644
index 0000000..cd0199a
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/eye.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/eyegreen.ogg b/Activities/Level1/3Body/sounds/eyegreen.ogg
new file mode 100644
index 0000000..4ac0430
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/eyegreen.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/eyes.ogg b/Activities/Level1/3Body/sounds/eyes.ogg
new file mode 100644
index 0000000..a23a38f
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/eyes.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/foot.ogg b/Activities/Level1/3Body/sounds/foot.ogg
new file mode 100644
index 0000000..65531f9
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/foot.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/footblue.ogg b/Activities/Level1/3Body/sounds/footblue.ogg
new file mode 100644
index 0000000..d093fa1
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/footblue.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/green.ogg b/Activities/Level1/3Body/sounds/green.ogg
new file mode 100644
index 0000000..250e09a
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/green.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/hand.ogg b/Activities/Level1/3Body/sounds/hand.ogg
new file mode 100644
index 0000000..3ba9cab
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/hand.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/handpurple.ogg b/Activities/Level1/3Body/sounds/handpurple.ogg
new file mode 100644
index 0000000..eba08f9
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/handpurple.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/hands.ogg b/Activities/Level1/3Body/sounds/hands.ogg
new file mode 100644
index 0000000..3552746
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/hands.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/head.ogg b/Activities/Level1/3Body/sounds/head.ogg
new file mode 100644
index 0000000..60960a0
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/head.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/headwhite.ogg b/Activities/Level1/3Body/sounds/headwhite.ogg
new file mode 100644
index 0000000..c614a78
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/headwhite.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/leg.ogg b/Activities/Level1/3Body/sounds/leg.ogg
new file mode 100644
index 0000000..ff23e37
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/leg.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/legs.ogg b/Activities/Level1/3Body/sounds/legs.ogg
new file mode 100644
index 0000000..9fc8b96
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/legs.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/legyellow.ogg b/Activities/Level1/3Body/sounds/legyellow.ogg
new file mode 100644
index 0000000..b1ea394
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/legyellow.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/mouth.ogg b/Activities/Level1/3Body/sounds/mouth.ogg
new file mode 100644
index 0000000..416ff5d
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/mouth.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/mouthred.ogg b/Activities/Level1/3Body/sounds/mouthred.ogg
new file mode 100644
index 0000000..c83e903
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/mouthred.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/nose.ogg b/Activities/Level1/3Body/sounds/nose.ogg
new file mode 100644
index 0000000..ecb9af8
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/nose.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/noseorange.ogg b/Activities/Level1/3Body/sounds/noseorange.ogg
new file mode 100644
index 0000000..d9243b5
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/noseorange.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/orange.ogg b/Activities/Level1/3Body/sounds/orange.ogg
new file mode 100644
index 0000000..fa1c5bc
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/orange.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/purple.ogg b/Activities/Level1/3Body/sounds/purple.ogg
new file mode 100644
index 0000000..39cfcf0
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/purple.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/red.ogg b/Activities/Level1/3Body/sounds/red.ogg
new file mode 100644
index 0000000..f428bb1
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/red.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/Twinkle.ogg b/Activities/Level1/3Body/sounds/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/bike.ogg b/Activities/Level1/3Body/sounds/sounds/bike.ogg
new file mode 100644
index 0000000..0242948
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/bike.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/bikered.ogg b/Activities/Level1/3Body/sounds/sounds/bikered.ogg
new file mode 100644
index 0000000..3eab09d
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/bikered.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/bing.ogg b/Activities/Level1/3Body/sounds/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/boat.ogg b/Activities/Level1/3Body/sounds/sounds/boat.ogg
new file mode 100644
index 0000000..b49e370
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/boat.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/boatwhite.ogg b/Activities/Level1/3Body/sounds/sounds/boatwhite.ogg
new file mode 100644
index 0000000..025825e
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/boatwhite.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/bus.ogg b/Activities/Level1/3Body/sounds/sounds/bus.ogg
new file mode 100644
index 0000000..6559da6
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/bus.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/busyellow.ogg b/Activities/Level1/3Body/sounds/sounds/busyellow.ogg
new file mode 100644
index 0000000..2c85ae3
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/busyellow.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/car.ogg b/Activities/Level1/3Body/sounds/sounds/car.ogg
new file mode 100644
index 0000000..b355d72
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/car.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/carblack.ogg b/Activities/Level1/3Body/sounds/sounds/carblack.ogg
new file mode 100644
index 0000000..0855e7a
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/carblack.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/chord.ogg b/Activities/Level1/3Body/sounds/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/ding.ogg b/Activities/Level1/3Body/sounds/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisabike.ogg b/Activities/Level1/3Body/sounds/sounds/itisabike.ogg
new file mode 100644
index 0000000..69b90da
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisabike.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisaboat.ogg b/Activities/Level1/3Body/sounds/sounds/itisaboat.ogg
new file mode 100644
index 0000000..b5bd4fa
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisaboat.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisabus.ogg b/Activities/Level1/3Body/sounds/sounds/itisabus.ogg
new file mode 100644
index 0000000..2a168a2
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisabus.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisacar.ogg b/Activities/Level1/3Body/sounds/sounds/itisacar.ogg
new file mode 100644
index 0000000..3577934
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisacar.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisamotorcycle.ogg b/Activities/Level1/3Body/sounds/sounds/itisamotorcycle.ogg
new file mode 100644
index 0000000..7d898f6
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisamotorcycle.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisaplane.ogg b/Activities/Level1/3Body/sounds/sounds/itisaplane.ogg
new file mode 100644
index 0000000..6154426
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisaplane.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisatrain.ogg b/Activities/Level1/3Body/sounds/sounds/itisatrain.ogg
new file mode 100644
index 0000000..1ca587c
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisatrain.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/itisatruck.ogg b/Activities/Level1/3Body/sounds/sounds/itisatruck.ogg
new file mode 100644
index 0000000..4bede2d
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/itisatruck.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/motorcycle.ogg b/Activities/Level1/3Body/sounds/sounds/motorcycle.ogg
new file mode 100644
index 0000000..8cfdf90
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/motorcycle.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/motorcycleorange.ogg b/Activities/Level1/3Body/sounds/sounds/motorcycleorange.ogg
new file mode 100644
index 0000000..971b31a
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/motorcycleorange.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/plane.ogg b/Activities/Level1/3Body/sounds/sounds/plane.ogg
new file mode 100644
index 0000000..47d2a1f
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/plane.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/planegreen.ogg b/Activities/Level1/3Body/sounds/sounds/planegreen.ogg
new file mode 100644
index 0000000..0de3818
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/planegreen.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/train.ogg b/Activities/Level1/3Body/sounds/sounds/train.ogg
new file mode 100644
index 0000000..ecb13cd
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/train.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/traingreen.ogg b/Activities/Level1/3Body/sounds/sounds/traingreen.ogg
new file mode 100644
index 0000000..37fdafe
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/traingreen.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/truck.ogg b/Activities/Level1/3Body/sounds/sounds/truck.ogg
new file mode 100644
index 0000000..66aa035
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/truck.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/truckpurple.ogg b/Activities/Level1/3Body/sounds/sounds/truckpurple.ogg
new file mode 100644
index 0000000..c6d783a
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/truckpurple.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/unitSound.ogg b/Activities/Level1/3Body/sounds/sounds/unitSound.ogg
new file mode 100644
index 0000000..ff0e563
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/sounds/whatisit.ogg b/Activities/Level1/3Body/sounds/sounds/whatisit.ogg
new file mode 100644
index 0000000..38ab2a4
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/sounds/whatisit.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/unitSound.ogg b/Activities/Level1/3Body/sounds/unitSound.ogg
new file mode 100644
index 0000000..ff0e563
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/white.ogg b/Activities/Level1/3Body/sounds/white.ogg
new file mode 100644
index 0000000..23edbc3
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/white.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/sounds/yellow.ogg b/Activities/Level1/3Body/sounds/yellow.ogg
new file mode 100644
index 0000000..ce365cd
--- /dev/null
+++ b/Activities/Level1/3Body/sounds/yellow.ogg
Binary files differ
diff --git a/Activities/Level1/3Body/unitMarker.png b/Activities/Level1/3Body/unitMarker.png
new file mode 100644
index 0000000..170860f
--- /dev/null
+++ b/Activities/Level1/3Body/unitMarker.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/data.txt b/Activities/Level1/4Clothes/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/1Sort/ico.png b/Activities/Level1/4Clothes/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/4Clothes/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/boy.png b/Activities/Level1/4Clothes/1Sort/resources/boy.png
new file mode 100644
index 0000000..c2563a9
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/boy.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/pants.png b/Activities/Level1/4Clothes/1Sort/resources/pants.png
new file mode 100644
index 0000000..e0fd954
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/pants.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/pantsSIL.png b/Activities/Level1/4Clothes/1Sort/resources/pantsSIL.png
new file mode 100644
index 0000000..03b0dc2
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/pantsSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/shirt.png b/Activities/Level1/4Clothes/1Sort/resources/shirt.png
new file mode 100644
index 0000000..5d7ada8
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/shirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/shirtSIL.png b/Activities/Level1/4Clothes/1Sort/resources/shirtSIL.png
new file mode 100644
index 0000000..83eb394
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/shirtSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/shoes.png b/Activities/Level1/4Clothes/1Sort/resources/shoes.png
new file mode 100644
index 0000000..bc23118
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/shoes.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/shoesSIL.png b/Activities/Level1/4Clothes/1Sort/resources/shoesSIL.png
new file mode 100644
index 0000000..7fcd238
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/shoesSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/socks.png b/Activities/Level1/4Clothes/1Sort/resources/socks.png
new file mode 100644
index 0000000..c04590c
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/socks.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/resources/socksSIL.png b/Activities/Level1/4Clothes/1Sort/resources/socksSIL.png
new file mode 100644
index 0000000..652639a
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/resources/socksSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/1Sort/screens.txt b/Activities/Level1/4Clothes/1Sort/screens.txt
new file mode 100644
index 0000000..3983f3b
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/screens.txt
@@ -0,0 +1,25 @@
+screen1:
+BACKGROUND:boy.png 200 170 9
+BINS:
+shirt:shirtSIL.png 600 250 5
+socks:socksSIL.png 770 250 5
+pants:pantsSIL.png 600 430 5
+shoes:shoesSIL.png 770 430 5
+CRAYONS:
+shirt.png shirt.ogg - shirt 298 345 4
+socks.png socks.ogg - socks 313 540 4
+shoes.png shoes.ogg - shoes 310 562 8
+pants.png pants.ogg - pants 307 445 4
+
+screen2:
+BACKGROUND:boy.png 200 170 9
+BINS:keepstate
+shoes:shoesSIL.png 770 430 5
+shirt:shirtSIL.png 600 250 5
+socks:socksSIL.png 770 250 5
+pants:pantsSIL.png 600 430 5
+CRAYONS:
+pants.png pants.ogg - pants 307 445 4
+socks.png socks.ogg - socks 313 540 4
+shoes.png shoes.ogg - shoes 310 562 8
+shirt.png shirt.ogg - shirt 298 345 4
diff --git a/Activities/Level1/4Clothes/1Sort/settings.txt b/Activities/Level1/4Clothes/1Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level1/4Clothes/1Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/2Sort/data.txt b/Activities/Level1/4Clothes/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/2Sort/ico.png b/Activities/Level1/4Clothes/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/4Clothes/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/blouse.png b/Activities/Level1/4Clothes/2Sort/resources/blouse.png
new file mode 100644
index 0000000..355571f
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/blouse.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/blouseSIL.png b/Activities/Level1/4Clothes/2Sort/resources/blouseSIL.png
new file mode 100644
index 0000000..02332b5
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/blouseSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/girl.png b/Activities/Level1/4Clothes/2Sort/resources/girl.png
new file mode 100644
index 0000000..bb3c2b0
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/girl.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/hat.png b/Activities/Level1/4Clothes/2Sort/resources/hat.png
new file mode 100644
index 0000000..894198b
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/hat.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/hatSIL.png b/Activities/Level1/4Clothes/2Sort/resources/hatSIL.png
new file mode 100644
index 0000000..f7b597f
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/hatSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/skirt.png b/Activities/Level1/4Clothes/2Sort/resources/skirt.png
new file mode 100644
index 0000000..d4b1385
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/skirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/skirtSIL.png b/Activities/Level1/4Clothes/2Sort/resources/skirtSIL.png
new file mode 100644
index 0000000..89ad73e
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/skirtSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/sweater.png b/Activities/Level1/4Clothes/2Sort/resources/sweater.png
new file mode 100644
index 0000000..cbd08ab
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/sweater.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/resources/sweaterSIL.png b/Activities/Level1/4Clothes/2Sort/resources/sweaterSIL.png
new file mode 100644
index 0000000..8d0ab32
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/resources/sweaterSIL.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/2Sort/screens.txt b/Activities/Level1/4Clothes/2Sort/screens.txt
new file mode 100644
index 0000000..cd981ef
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/screens.txt
@@ -0,0 +1,25 @@
+screen1:
+BACKGROUND:girl.png 200 170 9
+BINS:
+hat:hatSIL.png 600 250 5
+sweater:sweaterSIL.png 770 250 5
+skirt:skirtSIL.png 600 430 5
+blouse:blouseSIL.png 770 430 5
+CRAYONS:
+sweater.png sweater.ogg - sweater 283 324 4
+blouse.png blouse.ogg - blouse 286 327 4
+hat.png hat.ogg - hat 269 185 8
+skirt.png skirt.ogg - skirt 313 441 4
+
+screen2:
+BACKGROUND:girl.png 200 170 9
+BINS:keepstate
+hat:hatSIL.png 600 250 5
+sweater:sweaterSIL.png 770 250 5
+skirt:skirtSIL.png 600 430 5
+blouse:blouseSIL.png 770 430 5
+CRAYONS:
+skirt.png skirt.ogg - skirt 313 441 4
+blouse.png blouse.ogg - blouse 286 327 4
+sweater.png sweater.ogg - sweater 283 324 4
+hat.png hat.ogg - hat 269 185 8 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/2Sort/settings.txt b/Activities/Level1/4Clothes/2Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level1/4Clothes/2Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/3Match/data.txt b/Activities/Level1/4Clothes/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/3Match/ico.png b/Activities/Level1/4Clothes/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/blouse.png b/Activities/Level1/4Clothes/3Match/resources/blouse.png
new file mode 100644
index 0000000..80466be
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/blouse.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/blouseTXT.png b/Activities/Level1/4Clothes/3Match/resources/blouseTXT.png
new file mode 100644
index 0000000..fa5dbbe
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/blouseTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/hat.png b/Activities/Level1/4Clothes/3Match/resources/hat.png
new file mode 100644
index 0000000..371612d
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/hat.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/hatTXT.png b/Activities/Level1/4Clothes/3Match/resources/hatTXT.png
new file mode 100644
index 0000000..f510f94
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/hatTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/pants.png b/Activities/Level1/4Clothes/3Match/resources/pants.png
new file mode 100644
index 0000000..73839bd
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/pants.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/pantsTXT.png b/Activities/Level1/4Clothes/3Match/resources/pantsTXT.png
new file mode 100644
index 0000000..73d77f2
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/pantsTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/shoe.png b/Activities/Level1/4Clothes/3Match/resources/shoe.png
new file mode 100644
index 0000000..f43d0f2
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/shoe.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/shoeTXT.png b/Activities/Level1/4Clothes/3Match/resources/shoeTXT.png
new file mode 100644
index 0000000..bc99a7f
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/shoeTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/sweater.png b/Activities/Level1/4Clothes/3Match/resources/sweater.png
new file mode 100644
index 0000000..dec2654
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/sweater.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/resources/sweaterTXT.png b/Activities/Level1/4Clothes/3Match/resources/sweaterTXT.png
new file mode 100644
index 0000000..1cb7b5b
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/resources/sweaterTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/3Match/screens.txt b/Activities/Level1/4Clothes/3Match/screens.txt
new file mode 100644
index 0000000..1c84e42
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/screens.txt
@@ -0,0 +1,5 @@
+hatTXT.png hat.ogg hat.png
+blouseTXT.png blouse.ogg blouse.png
+pantsTXT.png pants.ogg pants.png
+sweaterTXT.png sweater.ogg sweater.png
+shoeTXT.png shoe.ogg shoe.png \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/3Match/settings.txt b/Activities/Level1/4Clothes/3Match/settings.txt
new file mode 100644
index 0000000..eb9253c
--- /dev/null
+++ b/Activities/Level1/4Clothes/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 260
+leftMargin = 350
+speed = 15
+infoFile = "screens.txt"
+topMargin = 220
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 40 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/4Paint/data.txt b/Activities/Level1/4Clothes/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/4Paint/ico.png b/Activities/Level1/4Clothes/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/blouse.png b/Activities/Level1/4Clothes/4Paint/resources/blouse.png
new file mode 100644
index 0000000..d730f3d
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/blouse.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/boygirl.png b/Activities/Level1/4Clothes/4Paint/resources/boygirl.png
new file mode 100644
index 0000000..a3a969c
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/boygirl.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/hat.png b/Activities/Level1/4Clothes/4Paint/resources/hat.png
new file mode 100644
index 0000000..edf8f4c
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/hat.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/pants.png b/Activities/Level1/4Clothes/4Paint/resources/pants.png
new file mode 100644
index 0000000..e29149b
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/pants.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/shirt.png b/Activities/Level1/4Clothes/4Paint/resources/shirt.png
new file mode 100644
index 0000000..b791b94
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/shirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/shoes.png b/Activities/Level1/4Clothes/4Paint/resources/shoes.png
new file mode 100644
index 0000000..b6be462
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/shoes.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/skirt.png b/Activities/Level1/4Clothes/4Paint/resources/skirt.png
new file mode 100644
index 0000000..ec4c081
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/skirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/socks.png b/Activities/Level1/4Clothes/4Paint/resources/socks.png
new file mode 100644
index 0000000..0ebbd62
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/socks.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/resources/sweater.png b/Activities/Level1/4Clothes/4Paint/resources/sweater.png
new file mode 100644
index 0000000..d308f1a
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/resources/sweater.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/4Paint/screens.txt b/Activities/Level1/4Clothes/4Paint/screens.txt
new file mode 100644
index 0000000..d09e259
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/screens.txt
@@ -0,0 +1,24 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+shoes.png shoesblack.ogg black 500 450
+shirt.png shirtblue.ogg blue 493 297
+hat.png hatred.ogg red 623 179
+skirt.png skirtgreen.ogg green 655 370
+pants.png pantspurple.ogg purple 495 371
+socks.png socksyellow.ogg yellow 503 430
+sweater.png sweaterwhite.ogg white 634 281
+blouse.png blouseorange.ogg orange 657 300
+
+background:boygirl.png 456 171 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/4Paint/settings.txt b/Activities/Level1/4Clothes/4Paint/settings.txt
new file mode 100644
index 0000000..54784f5
--- /dev/null
+++ b/Activities/Level1/4Clothes/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 480
+yFirstElement = 230
+elementsPerRow = 2
+spaceBetweenRows = 200
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/5MultipleC/data.txt b/Activities/Level1/4Clothes/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/5MultipleC/ico.png b/Activities/Level1/4Clothes/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/4Clothes/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/boypants.png b/Activities/Level1/4Clothes/5MultipleC/resources/boypants.png
new file mode 100644
index 0000000..f9d2fa7
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/boypants.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/boyshirt.png b/Activities/Level1/4Clothes/5MultipleC/resources/boyshirt.png
new file mode 100644
index 0000000..de3ab3d
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/boyshirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/boysocks.png b/Activities/Level1/4Clothes/5MultipleC/resources/boysocks.png
new file mode 100644
index 0000000..e7e4b4e
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/boysocks.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/4Clothes/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..bf0cd09
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/cara_triste_anim.png b/Activities/Level1/4Clothes/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..85336aa
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/girlblouse.png b/Activities/Level1/4Clothes/5MultipleC/resources/girlblouse.png
new file mode 100644
index 0000000..28a8140
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/girlblouse.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/girlshoes.png b/Activities/Level1/4Clothes/5MultipleC/resources/girlshoes.png
new file mode 100644
index 0000000..03ad129
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/girlshoes.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/resources/girlskirt.png b/Activities/Level1/4Clothes/5MultipleC/resources/girlskirt.png
new file mode 100644
index 0000000..f3ec746
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/resources/girlskirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/5MultipleC/screens.txt b/Activities/Level1/4Clothes/5MultipleC/screens.txt
new file mode 100644
index 0000000..7a556c8
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+boypants.png pants.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlblouse.png blouse.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyshirt.png sweater.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boysocks.png hat.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boypants.png skirt.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlshoes.png socks.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlskirt.png skirt.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlshoes.png shoes.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/5MultipleC/settings.txt b/Activities/Level1/4Clothes/5MultipleC/settings.txt
new file mode 100644
index 0000000..0a9c7d7
--- /dev/null
+++ b/Activities/Level1/4Clothes/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 280
+infoFile = "screens.txt"
+topMargin = 260
+soundIconX = 560
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/6Concentrate/data.txt b/Activities/Level1/4Clothes/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/6Concentrate/ico.png b/Activities/Level1/4Clothes/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/_BackFace.png b/Activities/Level1/4Clothes/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..79377b0
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/blouse1.png b/Activities/Level1/4Clothes/6Concentrate/resources/blouse1.png
new file mode 100644
index 0000000..efd7868
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/blouse1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/blouse2.png b/Activities/Level1/4Clothes/6Concentrate/resources/blouse2.png
new file mode 100644
index 0000000..7196db0
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/blouse2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/conc_04_color.jpg b/Activities/Level1/4Clothes/6Concentrate/resources/conc_04_color.jpg
new file mode 100644
index 0000000..a6d0a66
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/conc_04_color.jpg
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/conc_04_mono.jpg b/Activities/Level1/4Clothes/6Concentrate/resources/conc_04_mono.jpg
new file mode 100644
index 0000000..234d3f1
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/conc_04_mono.jpg
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/hat1.png b/Activities/Level1/4Clothes/6Concentrate/resources/hat1.png
new file mode 100644
index 0000000..5807871
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/hat1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/hat2.png b/Activities/Level1/4Clothes/6Concentrate/resources/hat2.png
new file mode 100644
index 0000000..b66bb58
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/hat2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/pants1.png b/Activities/Level1/4Clothes/6Concentrate/resources/pants1.png
new file mode 100644
index 0000000..3371d9d
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/pants1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/pants2.png b/Activities/Level1/4Clothes/6Concentrate/resources/pants2.png
new file mode 100644
index 0000000..3c7c627
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/pants2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/shirt1.png b/Activities/Level1/4Clothes/6Concentrate/resources/shirt1.png
new file mode 100644
index 0000000..2bc4464
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/shirt1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/shirt2.png b/Activities/Level1/4Clothes/6Concentrate/resources/shirt2.png
new file mode 100644
index 0000000..0f5ea17
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/shirt2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/shoe1.png b/Activities/Level1/4Clothes/6Concentrate/resources/shoe1.png
new file mode 100644
index 0000000..74c1ca9
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/shoe1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/shoe2.png b/Activities/Level1/4Clothes/6Concentrate/resources/shoe2.png
new file mode 100644
index 0000000..05aab40
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/shoe2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/skirt1.png b/Activities/Level1/4Clothes/6Concentrate/resources/skirt1.png
new file mode 100644
index 0000000..459a2e2
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/skirt1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/skirt2.png b/Activities/Level1/4Clothes/6Concentrate/resources/skirt2.png
new file mode 100644
index 0000000..1b43572
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/skirt2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/sock1.png b/Activities/Level1/4Clothes/6Concentrate/resources/sock1.png
new file mode 100644
index 0000000..e9f56e1
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/sock1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/sock2.png b/Activities/Level1/4Clothes/6Concentrate/resources/sock2.png
new file mode 100644
index 0000000..1a612ed
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/sock2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/sweater1.png b/Activities/Level1/4Clothes/6Concentrate/resources/sweater1.png
new file mode 100644
index 0000000..0c0aed0
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/sweater1.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/resources/sweater2.png b/Activities/Level1/4Clothes/6Concentrate/resources/sweater2.png
new file mode 100644
index 0000000..89f2bae
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/resources/sweater2.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/6Concentrate/screen.txt b/Activities/Level1/4Clothes/6Concentrate/screen.txt
new file mode 100644
index 0000000..2dcf99f
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_04_mono.jpg:conc_04_color.jpg
+hat1.png hat2.png hat.ogg hat
+sock1.png sock2.png sock.ogg sock
+pants1.png pants2.png pants.ogg pants
+skirt1.png skirt2.png skirt.ogg skirt
+sweater1.png sweater2.png sweater.ogg sweater
+shirt1.png shirt2.png shirt.ogg shirt
+blouse1.png blouse2.png blouse.ogg blouse
+shoe1.png shoe2.png shoe.ogg shoe
diff --git a/Activities/Level1/4Clothes/6Concentrate/settings.txt b/Activities/Level1/4Clothes/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level1/4Clothes/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/7DragnDrop/data.txt b/Activities/Level1/4Clothes/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/7DragnDrop/ico.png b/Activities/Level1/4Clothes/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/4Clothes/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/resources/hat.png b/Activities/Level1/4Clothes/7DragnDrop/resources/hat.png
new file mode 100644
index 0000000..3927507
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/resources/hat.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/resources/icono_play.png b/Activities/Level1/4Clothes/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/resources/shirt.png b/Activities/Level1/4Clothes/7DragnDrop/resources/shirt.png
new file mode 100644
index 0000000..ded5236
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/resources/shirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/resources/shoe.png b/Activities/Level1/4Clothes/7DragnDrop/resources/shoe.png
new file mode 100644
index 0000000..4c0ae1b
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/resources/shoe.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/resources/skirt.png b/Activities/Level1/4Clothes/7DragnDrop/resources/skirt.png
new file mode 100644
index 0000000..8d23631
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/resources/skirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/resources/sock.png b/Activities/Level1/4Clothes/7DragnDrop/resources/sock.png
new file mode 100644
index 0000000..e310f23
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/resources/sock.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/7DragnDrop/screens.txt b/Activities/Level1/4Clothes/7DragnDrop/screens.txt
new file mode 100644
index 0000000..3a3a969
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+shoe:shoe.png
+hat:hat.png
+shirt:shirt.png
+skirt:skirt.png
+sock:sock.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png skirt.ogg skirt skirt
+icono_play.png shirt.ogg shirt shirt
+icono_play.png hat.ogg hat hat
+icono_play.png shoe.ogg shoe shoe
+icono_play.png sock.ogg sock sock \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/7DragnDrop/settings.txt b/Activities/Level1/4Clothes/7DragnDrop/settings.txt
new file mode 100644
index 0000000..a90ddf9
--- /dev/null
+++ b/Activities/Level1/4Clothes/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 420
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/8Match/data.txt b/Activities/Level1/4Clothes/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/8Match/ico.png b/Activities/Level1/4Clothes/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/pants.png b/Activities/Level1/4Clothes/8Match/resources/pants.png
new file mode 100644
index 0000000..9fd6e93
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/pants.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/pantsTXT.png b/Activities/Level1/4Clothes/8Match/resources/pantsTXT.png
new file mode 100644
index 0000000..73d77f2
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/pantsTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/shirt.png b/Activities/Level1/4Clothes/8Match/resources/shirt.png
new file mode 100644
index 0000000..fa7c3a9
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/shirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/shirtTXT.png b/Activities/Level1/4Clothes/8Match/resources/shirtTXT.png
new file mode 100644
index 0000000..448f6d7
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/shirtTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/shoes.png b/Activities/Level1/4Clothes/8Match/resources/shoes.png
new file mode 100644
index 0000000..580b56b
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/shoes.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/shoesTXT.png b/Activities/Level1/4Clothes/8Match/resources/shoesTXT.png
new file mode 100644
index 0000000..35abfeb
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/shoesTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/skirt.png b/Activities/Level1/4Clothes/8Match/resources/skirt.png
new file mode 100644
index 0000000..c83ce99
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/skirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/skirtTXT.png b/Activities/Level1/4Clothes/8Match/resources/skirtTXT.png
new file mode 100644
index 0000000..b9a2c20
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/skirtTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/socks.png b/Activities/Level1/4Clothes/8Match/resources/socks.png
new file mode 100644
index 0000000..01383c1
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/socks.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/resources/socksTXT.png b/Activities/Level1/4Clothes/8Match/resources/socksTXT.png
new file mode 100644
index 0000000..a65f8b8
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/resources/socksTXT.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/8Match/screens.txt b/Activities/Level1/4Clothes/8Match/screens.txt
new file mode 100644
index 0000000..c5eee54
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/screens.txt
@@ -0,0 +1,5 @@
+shirtTXT.png shirt.ogg shirt.png
+pantsTXT.png pants.ogg pants.png
+shoesTXT.png shoes.ogg shoes.png
+skirtTXT.png skirt.ogg skirt.png
+socksTXT.png socks.ogg socks.png \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/8Match/settings.txt b/Activities/Level1/4Clothes/8Match/settings.txt
new file mode 100644
index 0000000..69c1179
--- /dev/null
+++ b/Activities/Level1/4Clothes/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 240
+leftMargin = 350
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 50 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/9MultipleC/data.txt b/Activities/Level1/4Clothes/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level1/4Clothes/9MultipleC/ico.png b/Activities/Level1/4Clothes/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level1/4Clothes/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/blouse.png b/Activities/Level1/4Clothes/9MultipleC/resources/blouse.png
new file mode 100644
index 0000000..5a71fe0
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/blouse.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level1/4Clothes/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..8fc2715
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/cara_triste_anim.png b/Activities/Level1/4Clothes/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..a1200bb
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/hat.png b/Activities/Level1/4Clothes/9MultipleC/resources/hat.png
new file mode 100644
index 0000000..38fe228
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/hat.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/pants.png b/Activities/Level1/4Clothes/9MultipleC/resources/pants.png
new file mode 100644
index 0000000..0f9abb3
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/pants.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/shirt.png b/Activities/Level1/4Clothes/9MultipleC/resources/shirt.png
new file mode 100644
index 0000000..98722ba
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/shirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/shoes.png b/Activities/Level1/4Clothes/9MultipleC/resources/shoes.png
new file mode 100644
index 0000000..7f6a430
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/shoes.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/skirt.png b/Activities/Level1/4Clothes/9MultipleC/resources/skirt.png
new file mode 100644
index 0000000..dd4903f
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/skirt.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/socks.png b/Activities/Level1/4Clothes/9MultipleC/resources/socks.png
new file mode 100644
index 0000000..1222149
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/socks.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/resources/sweater.png b/Activities/Level1/4Clothes/9MultipleC/resources/sweater.png
new file mode 100644
index 0000000..e67edbe
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/resources/sweater.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/9MultipleC/screens.txt b/Activities/Level1/4Clothes/9MultipleC/screens.txt
new file mode 100644
index 0000000..245ffe5
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+hat.png hat.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+shirt.png skirt.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+skirt.png shirt.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pants.png pants.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+shoes.png socks.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+blouse.png blouse.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+sweater.png shoes.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+socks.png socks.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
diff --git a/Activities/Level1/4Clothes/9MultipleC/settings.txt b/Activities/Level1/4Clothes/9MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level1/4Clothes/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level1/4Clothes/btn_act.bmp b/Activities/Level1/4Clothes/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level1/4Clothes/btn_act.bmp
Binary files differ
diff --git a/Activities/Level1/4Clothes/btn_act.png b/Activities/Level1/4Clothes/btn_act.png
new file mode 100644
index 0000000..54436ce
--- /dev/null
+++ b/Activities/Level1/4Clothes/btn_act.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/ico.png b/Activities/Level1/4Clothes/ico.png
new file mode 100644
index 0000000..7239006
--- /dev/null
+++ b/Activities/Level1/4Clothes/ico.png
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/Twinkle.ogg b/Activities/Level1/4Clothes/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/bing.ogg b/Activities/Level1/4Clothes/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/black.ogg b/Activities/Level1/4Clothes/sounds/black.ogg
new file mode 100644
index 0000000..4f3c92a
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/black.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/blouse.ogg b/Activities/Level1/4Clothes/sounds/blouse.ogg
new file mode 100644
index 0000000..33d837f
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/blouse.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/blouseorange.ogg b/Activities/Level1/4Clothes/sounds/blouseorange.ogg
new file mode 100644
index 0000000..2810553
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/blouseorange.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/blue.ogg b/Activities/Level1/4Clothes/sounds/blue.ogg
new file mode 100644
index 0000000..47ec0c3
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/blue.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/chord.ogg b/Activities/Level1/4Clothes/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/ding.ogg b/Activities/Level1/4Clothes/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/green.ogg b/Activities/Level1/4Clothes/sounds/green.ogg
new file mode 100644
index 0000000..a54c841
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/green.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/hat.ogg b/Activities/Level1/4Clothes/sounds/hat.ogg
new file mode 100644
index 0000000..315ac67
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/hat.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/hatred.ogg b/Activities/Level1/4Clothes/sounds/hatred.ogg
new file mode 100644
index 0000000..bace364
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/hatred.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/orange.ogg b/Activities/Level1/4Clothes/sounds/orange.ogg
new file mode 100644
index 0000000..79772d6
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/orange.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/pants.ogg b/Activities/Level1/4Clothes/sounds/pants.ogg
new file mode 100644
index 0000000..0befbfe
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/pants.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/pantspurple.ogg b/Activities/Level1/4Clothes/sounds/pantspurple.ogg
new file mode 100644
index 0000000..4380289
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/pantspurple.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/purple.ogg b/Activities/Level1/4Clothes/sounds/purple.ogg
new file mode 100644
index 0000000..dc41de2
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/purple.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/red.ogg b/Activities/Level1/4Clothes/sounds/red.ogg
new file mode 100644
index 0000000..498fee0
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/red.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/shirt.ogg b/Activities/Level1/4Clothes/sounds/shirt.ogg
new file mode 100644
index 0000000..d078b16
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/shirt.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/shirtblue.ogg b/Activities/Level1/4Clothes/sounds/shirtblue.ogg
new file mode 100644
index 0000000..936309e
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/shirtblue.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/shoe.ogg b/Activities/Level1/4Clothes/sounds/shoe.ogg
new file mode 100644
index 0000000..7bc7181
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/shoe.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/shoes.ogg b/Activities/Level1/4Clothes/sounds/shoes.ogg
new file mode 100644
index 0000000..b139a6f
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/shoes.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/shoesblack.ogg b/Activities/Level1/4Clothes/sounds/shoesblack.ogg
new file mode 100644
index 0000000..7a57169
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/shoesblack.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/skirt.ogg b/Activities/Level1/4Clothes/sounds/skirt.ogg
new file mode 100644
index 0000000..7cb7002
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/skirt.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/skirtgreen.ogg b/Activities/Level1/4Clothes/sounds/skirtgreen.ogg
new file mode 100644
index 0000000..28ce90d
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/skirtgreen.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/skirts.ogg b/Activities/Level1/4Clothes/sounds/skirts.ogg
new file mode 100644
index 0000000..9e4d0dc
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/skirts.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/sock.ogg b/Activities/Level1/4Clothes/sounds/sock.ogg
new file mode 100644
index 0000000..2cc9c74
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/sock.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/socks.ogg b/Activities/Level1/4Clothes/sounds/socks.ogg
new file mode 100644
index 0000000..d545127
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/socks.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/socksyellow.ogg b/Activities/Level1/4Clothes/sounds/socksyellow.ogg
new file mode 100644
index 0000000..b492137
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/socksyellow.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/sweater.ogg b/Activities/Level1/4Clothes/sounds/sweater.ogg
new file mode 100644
index 0000000..86d53d9
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/sweater.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/sweaterwhite.ogg b/Activities/Level1/4Clothes/sounds/sweaterwhite.ogg
new file mode 100644
index 0000000..cb1b403
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/sweaterwhite.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/unitSound.ogg b/Activities/Level1/4Clothes/sounds/unitSound.ogg
new file mode 100644
index 0000000..308b139
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/white.ogg b/Activities/Level1/4Clothes/sounds/white.ogg
new file mode 100644
index 0000000..e74f33b
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/white.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/sounds/yellow.ogg b/Activities/Level1/4Clothes/sounds/yellow.ogg
new file mode 100644
index 0000000..a321e84
--- /dev/null
+++ b/Activities/Level1/4Clothes/sounds/yellow.ogg
Binary files differ
diff --git a/Activities/Level1/4Clothes/unitMarker.png b/Activities/Level1/4Clothes/unitMarker.png
new file mode 100644
index 0000000..60fb87d
--- /dev/null
+++ b/Activities/Level1/4Clothes/unitMarker.png
Binary files differ
diff --git a/Activities/Level1/btn_unit.png b/Activities/Level1/btn_unit.png
new file mode 100644
index 0000000..bbb1ee4
--- /dev/null
+++ b/Activities/Level1/btn_unit.png
Binary files differ
diff --git a/Activities/Level1/ico.png b/Activities/Level1/ico.png
new file mode 100644
index 0000000..91a3e5f
--- /dev/null
+++ b/Activities/Level1/ico.png
Binary files differ
diff --git a/Activities/Level1/ico_grande.png b/Activities/Level1/ico_grande.png
new file mode 100644
index 0000000..d0eae7e
--- /dev/null
+++ b/Activities/Level1/ico_grande.png
Binary files differ
diff --git a/Activities/Level1/menu_fdo_act.png b/Activities/Level1/menu_fdo_act.png
new file mode 100644
index 0000000..097cded
--- /dev/null
+++ b/Activities/Level1/menu_fdo_act.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/data.txt b/Activities/Level2/1Animals/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/1Sort/ico.png b/Activities/Level2/1Animals/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/1Animals/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/bear.png b/Activities/Level2/1Animals/1Sort/resources/bear.png
new file mode 100644
index 0000000..129689d
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/bear.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/bearSIL.png b/Activities/Level2/1Animals/1Sort/resources/bearSIL.png
new file mode 100644
index 0000000..fb5e1db
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/bearSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/cat.png b/Activities/Level2/1Animals/1Sort/resources/cat.png
new file mode 100644
index 0000000..1445e31
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/cat.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/catSIL.png b/Activities/Level2/1Animals/1Sort/resources/catSIL.png
new file mode 100644
index 0000000..b806e3e
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/catSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/dog.png b/Activities/Level2/1Animals/1Sort/resources/dog.png
new file mode 100644
index 0000000..2f06b41
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/dog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/dogSIL.png b/Activities/Level2/1Animals/1Sort/resources/dogSIL.png
new file mode 100644
index 0000000..a2b7405
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/dogSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/horse.png b/Activities/Level2/1Animals/1Sort/resources/horse.png
new file mode 100644
index 0000000..3c9c7f8
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/horse.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/resources/horseSIL.png b/Activities/Level2/1Animals/1Sort/resources/horseSIL.png
new file mode 100644
index 0000000..5aab83d
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/resources/horseSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/1Sort/screens.txt b/Activities/Level2/1Animals/1Sort/screens.txt
new file mode 100644
index 0000000..cc3b4fb
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+bear:bearSIL.png
+dog:dogSIL.png
+horse:horseSIL.png
+cat:catSIL.png
+CRAYONS:
+dog.png dog.ogg dog dog
+cat.png cat.ogg cat cat
+horse.png horse.ogg horse horse
+bear.png bear.ogg bear bear
+
+screen2:
+BINS:keepstate
+bear:bearSIL.png
+dog:dogSIL.png
+horse:horseSIL.png
+cat:catSIL.png
+CRAYONS:
+bear.png bear.ogg bear bear
+dog.png dog.ogg dog dog
+horse.png horse.ogg horse horse
+cat.png cat.ogg cat cat \ No newline at end of file
diff --git a/Activities/Level2/1Animals/1Sort/settings.txt b/Activities/Level2/1Animals/1Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level2/1Animals/1Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level2/1Animals/2Sort/data.txt b/Activities/Level2/1Animals/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/2Sort/ico.png b/Activities/Level2/1Animals/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/1Animals/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/bird.png b/Activities/Level2/1Animals/2Sort/resources/bird.png
new file mode 100644
index 0000000..46c3448
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/bird.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/birdSIL.png b/Activities/Level2/1Animals/2Sort/resources/birdSIL.png
new file mode 100644
index 0000000..9d924e6
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/birdSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/fish.png b/Activities/Level2/1Animals/2Sort/resources/fish.png
new file mode 100644
index 0000000..b4703d7
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/fish.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/fishSIL.png b/Activities/Level2/1Animals/2Sort/resources/fishSIL.png
new file mode 100644
index 0000000..5f3eba3
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/fishSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/frog.png b/Activities/Level2/1Animals/2Sort/resources/frog.png
new file mode 100644
index 0000000..97dc40d
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/frog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/frogSIL.png b/Activities/Level2/1Animals/2Sort/resources/frogSIL.png
new file mode 100644
index 0000000..6d5c869
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/frogSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/lizard.png b/Activities/Level2/1Animals/2Sort/resources/lizard.png
new file mode 100644
index 0000000..c01824c
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/lizard.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/resources/lizardSIL.png b/Activities/Level2/1Animals/2Sort/resources/lizardSIL.png
new file mode 100644
index 0000000..6394ea6
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/resources/lizardSIL.png
Binary files differ
diff --git a/Activities/Level2/1Animals/2Sort/screens.txt b/Activities/Level2/1Animals/2Sort/screens.txt
new file mode 100644
index 0000000..fab848c
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+frog:frogSIL.png
+bird:birdSIL.png
+fish:fishSIL.png
+lizard:lizardSIL.png
+CRAYONS:
+fish.png fish.ogg fish fish
+frog.png frog.ogg frog frog
+lizard.png lizard.ogg lizard lizard
+bird.png bird.ogg bird bird
+
+screen2:
+BINS:keepstate
+frog:frogSIL.png
+bird:birdSIL.png
+fish:fishSIL.png
+lizard:lizardSIL.png
+CRAYONS:
+bird.png bird.ogg bird bird
+fish.png fish.ogg fish fish
+lizard.png lizard.ogg lizard lizard
+frog.png frog.ogg frog frog \ No newline at end of file
diff --git a/Activities/Level2/1Animals/2Sort/settings.txt b/Activities/Level2/1Animals/2Sort/settings.txt
new file mode 100644
index 0000000..b161b9f
--- /dev/null
+++ b/Activities/Level2/1Animals/2Sort/settings.txt
@@ -0,0 +1,17 @@
+showCrayonText = 0
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 90
+xFirstCrayon = 300
+distanceBetweenCrayons = 5
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 240
+yEvenCrayons = 240
+yOddBins = 420
+yEvenBins = 420
+helpDir = "SortHelp" \ No newline at end of file
diff --git a/Activities/Level2/1Animals/3Match/data.txt b/Activities/Level2/1Animals/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/3Match/ico.png b/Activities/Level2/1Animals/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/bird.png b/Activities/Level2/1Animals/3Match/resources/bird.png
new file mode 100644
index 0000000..74d70e0
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/bird.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/birdTXT.png b/Activities/Level2/1Animals/3Match/resources/birdTXT.png
new file mode 100644
index 0000000..76c9220
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/birdTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/dog.png b/Activities/Level2/1Animals/3Match/resources/dog.png
new file mode 100644
index 0000000..00ea071
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/dog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/dogTXT.png b/Activities/Level2/1Animals/3Match/resources/dogTXT.png
new file mode 100644
index 0000000..6fe03db
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/dogTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/fish.png b/Activities/Level2/1Animals/3Match/resources/fish.png
new file mode 100644
index 0000000..5022a22
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/fish.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/fishTXT.png b/Activities/Level2/1Animals/3Match/resources/fishTXT.png
new file mode 100644
index 0000000..798729e
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/fishTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/frog.png b/Activities/Level2/1Animals/3Match/resources/frog.png
new file mode 100644
index 0000000..29b826d
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/frog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/frogTXT.png b/Activities/Level2/1Animals/3Match/resources/frogTXT.png
new file mode 100644
index 0000000..8c1dad2
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/frogTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/horse.png b/Activities/Level2/1Animals/3Match/resources/horse.png
new file mode 100644
index 0000000..d86c85e
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/horse.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/resources/horseTXT.png b/Activities/Level2/1Animals/3Match/resources/horseTXT.png
new file mode 100644
index 0000000..79c15b5
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/resources/horseTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/3Match/screens.txt b/Activities/Level2/1Animals/3Match/screens.txt
new file mode 100644
index 0000000..1a4a8b2
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/screens.txt
@@ -0,0 +1,5 @@
+birdTXT.png bird.ogg bird.png
+dogTXT.png dog.ogg dog.png
+fishTXT.png fish.ogg fish.png
+frogTXT.png frog.ogg frog.png
+horseTXT.png horse.ogg horse.png \ No newline at end of file
diff --git a/Activities/Level2/1Animals/3Match/settings.txt b/Activities/Level2/1Animals/3Match/settings.txt
new file mode 100644
index 0000000..76bdc50
--- /dev/null
+++ b/Activities/Level2/1Animals/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 40 \ No newline at end of file
diff --git a/Activities/Level2/1Animals/4Paint/data.txt b/Activities/Level2/1Animals/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/4Paint/ico.png b/Activities/Level2/1Animals/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/bear.png b/Activities/Level2/1Animals/4Paint/resources/bear.png
new file mode 100644
index 0000000..37f4cbc
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/bear.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/bird.png b/Activities/Level2/1Animals/4Paint/resources/bird.png
new file mode 100644
index 0000000..d7d579b
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/bird.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/cat.png b/Activities/Level2/1Animals/4Paint/resources/cat.png
new file mode 100644
index 0000000..0a79551
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/cat.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/dog.png b/Activities/Level2/1Animals/4Paint/resources/dog.png
new file mode 100644
index 0000000..d8b1b64
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/dog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/fish.png b/Activities/Level2/1Animals/4Paint/resources/fish.png
new file mode 100644
index 0000000..24fb666
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/fish.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/frog.png b/Activities/Level2/1Animals/4Paint/resources/frog.png
new file mode 100644
index 0000000..993e0e6
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/frog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/horse.png b/Activities/Level2/1Animals/4Paint/resources/horse.png
new file mode 100644
index 0000000..c487ae3
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/horse.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/resources/lizard.png b/Activities/Level2/1Animals/4Paint/resources/lizard.png
new file mode 100644
index 0000000..bfe8610
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/resources/lizard.png
Binary files differ
diff --git a/Activities/Level2/1Animals/4Paint/screens.txt b/Activities/Level2/1Animals/4Paint/screens.txt
new file mode 100644
index 0000000..00aea5f
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/screens.txt
@@ -0,0 +1,23 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+frog.png froggreen.ogg green
+lizard.png lizardblue.ogg blue
+cat.png catorange.ogg orange
+horse.png horseblack.ogg black
+dog.png dogyellow.ogg yellow
+fish.png fishpurple.ogg purple
+bird.png birdred.ogg red
+bear.png bearwhite.ogg white
diff --git a/Activities/Level2/1Animals/4Paint/settings.txt b/Activities/Level2/1Animals/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level2/1Animals/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level2/1Animals/5MultipleC/data.txt b/Activities/Level2/1Animals/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/5MultipleC/ico.png b/Activities/Level2/1Animals/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/1Animals/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/bear.png b/Activities/Level2/1Animals/5MultipleC/resources/bear.png
new file mode 100644
index 0000000..ed94459
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/bear.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/1Animals/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..6cc1ddf
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/cara_triste_anim.png b/Activities/Level2/1Animals/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..50bd57a
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/cat.png b/Activities/Level2/1Animals/5MultipleC/resources/cat.png
new file mode 100644
index 0000000..89df81f
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/cat.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/dog.png b/Activities/Level2/1Animals/5MultipleC/resources/dog.png
new file mode 100644
index 0000000..7ca54b7
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/dog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/fish.png b/Activities/Level2/1Animals/5MultipleC/resources/fish.png
new file mode 100644
index 0000000..de4340e
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/fish.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/frog.png b/Activities/Level2/1Animals/5MultipleC/resources/frog.png
new file mode 100644
index 0000000..2f78fb5
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/frog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/horse.png b/Activities/Level2/1Animals/5MultipleC/resources/horse.png
new file mode 100644
index 0000000..a14396b
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/horse.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/lizard.png b/Activities/Level2/1Animals/5MultipleC/resources/lizard.png
new file mode 100644
index 0000000..d441350
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/lizard.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/resources/racehorse.png b/Activities/Level2/1Animals/5MultipleC/resources/racehorse.png
new file mode 100644
index 0000000..51ce8e1
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/resources/racehorse.png
Binary files differ
diff --git a/Activities/Level2/1Animals/5MultipleC/screens.txt b/Activities/Level2/1Animals/5MultipleC/screens.txt
new file mode 100644
index 0000000..1170078
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+frog.png itisafrog.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bear.png itisabear.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+horse.png itisabird.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+lizard.png itisafish.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+cat.png itisalizard.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+racehorse.png itisahorse.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+dog.png itisadog.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+fish.png itisafish.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/1Animals/5MultipleC/settings.txt b/Activities/Level2/1Animals/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level2/1Animals/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/1Animals/6Concentrate/data.txt b/Activities/Level2/1Animals/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/6Concentrate/ico.png b/Activities/Level2/1Animals/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/_BackFace.png b/Activities/Level2/1Animals/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..4616bed
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/bear1.png b/Activities/Level2/1Animals/6Concentrate/resources/bear1.png
new file mode 100644
index 0000000..07b0deb
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/bear1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/bear2.png b/Activities/Level2/1Animals/6Concentrate/resources/bear2.png
new file mode 100644
index 0000000..d4812d0
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/bear2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/bird1.png b/Activities/Level2/1Animals/6Concentrate/resources/bird1.png
new file mode 100644
index 0000000..a0ebdc3
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/bird1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/bird2.png b/Activities/Level2/1Animals/6Concentrate/resources/bird2.png
new file mode 100644
index 0000000..ecf49bd
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/bird2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/cat1.png b/Activities/Level2/1Animals/6Concentrate/resources/cat1.png
new file mode 100644
index 0000000..7b8215e
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/cat1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/cat2.png b/Activities/Level2/1Animals/6Concentrate/resources/cat2.png
new file mode 100644
index 0000000..bec6978
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/cat2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/conc_05_color.jpg b/Activities/Level2/1Animals/6Concentrate/resources/conc_05_color.jpg
new file mode 100644
index 0000000..ca3810a
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/conc_05_color.jpg
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/conc_05_mono.jpg b/Activities/Level2/1Animals/6Concentrate/resources/conc_05_mono.jpg
new file mode 100644
index 0000000..f9d3d3d
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/conc_05_mono.jpg
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/dog1.png b/Activities/Level2/1Animals/6Concentrate/resources/dog1.png
new file mode 100644
index 0000000..12dfa54
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/dog1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/dog2.png b/Activities/Level2/1Animals/6Concentrate/resources/dog2.png
new file mode 100644
index 0000000..2537f43
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/dog2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/fish1.png b/Activities/Level2/1Animals/6Concentrate/resources/fish1.png
new file mode 100644
index 0000000..8285eb6
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/fish1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/fish2.png b/Activities/Level2/1Animals/6Concentrate/resources/fish2.png
new file mode 100644
index 0000000..33144d2
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/fish2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/frog1.png b/Activities/Level2/1Animals/6Concentrate/resources/frog1.png
new file mode 100644
index 0000000..4fdc7dd
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/frog1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/frog2.png b/Activities/Level2/1Animals/6Concentrate/resources/frog2.png
new file mode 100644
index 0000000..496a6d3
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/frog2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/horse1.png b/Activities/Level2/1Animals/6Concentrate/resources/horse1.png
new file mode 100644
index 0000000..988afab
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/horse1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/horse2.png b/Activities/Level2/1Animals/6Concentrate/resources/horse2.png
new file mode 100644
index 0000000..3b889df
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/horse2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/lizard1.png b/Activities/Level2/1Animals/6Concentrate/resources/lizard1.png
new file mode 100644
index 0000000..3f7206d
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/lizard1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/resources/lizard2.png b/Activities/Level2/1Animals/6Concentrate/resources/lizard2.png
new file mode 100644
index 0000000..8b8abd9
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/resources/lizard2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/6Concentrate/screen.txt b/Activities/Level2/1Animals/6Concentrate/screen.txt
new file mode 100644
index 0000000..6c3d52f
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_05_mono.jpg:conc_05_color.jpg
+horse1.png horse2.png horse.ogg horse
+frog1.png frog2.png frog.ogg frog
+cat1.png cat2.png cat.ogg cat
+bear1.png bear2.png bear.ogg bear
+bird1.png bird2.png bird.ogg bird
+dog1.png dog2.png dog.ogg dog
+lizard1.png lizard2.png lizard.ogg lizard
+fish1.png fish2.png fish.ogg fish
diff --git a/Activities/Level2/1Animals/6Concentrate/settings.txt b/Activities/Level2/1Animals/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level2/1Animals/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level2/1Animals/7DragnDrop/data.txt b/Activities/Level2/1Animals/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/7DragnDrop/ico.png b/Activities/Level2/1Animals/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/1Animals/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/resources/bear.png b/Activities/Level2/1Animals/7DragnDrop/resources/bear.png
new file mode 100644
index 0000000..129689d
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/resources/bear.png
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/resources/cat.png b/Activities/Level2/1Animals/7DragnDrop/resources/cat.png
new file mode 100644
index 0000000..013d4f4
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/resources/cat.png
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/resources/dog.png b/Activities/Level2/1Animals/7DragnDrop/resources/dog.png
new file mode 100644
index 0000000..688b301
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/resources/dog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/resources/fish.png b/Activities/Level2/1Animals/7DragnDrop/resources/fish.png
new file mode 100644
index 0000000..abebb07
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/resources/fish.png
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/resources/icono_play.png b/Activities/Level2/1Animals/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/resources/lizard.png b/Activities/Level2/1Animals/7DragnDrop/resources/lizard.png
new file mode 100644
index 0000000..c01824c
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/resources/lizard.png
Binary files differ
diff --git a/Activities/Level2/1Animals/7DragnDrop/screens.txt b/Activities/Level2/1Animals/7DragnDrop/screens.txt
new file mode 100644
index 0000000..abb162f
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+bear:bear.png
+lizard:lizard.png
+fish:fish.png
+dog:dog.png
+cat:cat.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png fish.ogg fish fish
+icono_play.png dog.ogg dog dog
+icono_play.png bear.ogg bear bear
+icono_play.png cat.ogg cat cat
+icono_play.png lizard.ogg lizard lizard \ No newline at end of file
diff --git a/Activities/Level2/1Animals/7DragnDrop/settings.txt b/Activities/Level2/1Animals/7DragnDrop/settings.txt
new file mode 100644
index 0000000..a90ddf9
--- /dev/null
+++ b/Activities/Level2/1Animals/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 420
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level2/1Animals/8Match/data.txt b/Activities/Level2/1Animals/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/8Match/ico.png b/Activities/Level2/1Animals/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/bear.png b/Activities/Level2/1Animals/8Match/resources/bear.png
new file mode 100644
index 0000000..bfeabfd
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/bear.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/bearTXT.png b/Activities/Level2/1Animals/8Match/resources/bearTXT.png
new file mode 100644
index 0000000..4739639
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/bearTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/cat.png b/Activities/Level2/1Animals/8Match/resources/cat.png
new file mode 100644
index 0000000..06bc7c6
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/cat.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/catTXT.png b/Activities/Level2/1Animals/8Match/resources/catTXT.png
new file mode 100644
index 0000000..131a2ab
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/catTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/dog.png b/Activities/Level2/1Animals/8Match/resources/dog.png
new file mode 100644
index 0000000..f8c7951
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/dog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/dogTXT.png b/Activities/Level2/1Animals/8Match/resources/dogTXT.png
new file mode 100644
index 0000000..6fe03db
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/dogTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/frog.png b/Activities/Level2/1Animals/8Match/resources/frog.png
new file mode 100644
index 0000000..7a5dc10
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/frog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/frogTXT.png b/Activities/Level2/1Animals/8Match/resources/frogTXT.png
new file mode 100644
index 0000000..8c1dad2
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/frogTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/lizard.png b/Activities/Level2/1Animals/8Match/resources/lizard.png
new file mode 100644
index 0000000..cb1702e
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/lizard.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/resources/lizardTXT.png b/Activities/Level2/1Animals/8Match/resources/lizardTXT.png
new file mode 100644
index 0000000..3dd8bd0
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/resources/lizardTXT.png
Binary files differ
diff --git a/Activities/Level2/1Animals/8Match/screens.txt b/Activities/Level2/1Animals/8Match/screens.txt
new file mode 100644
index 0000000..6ebbb0b
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/screens.txt
@@ -0,0 +1,5 @@
+dogTXT.png dog.ogg dog.png
+bearTXT.png bear.ogg bear.png
+frogTXT.png frog.ogg frog.png
+lizardTXT.png lizard.ogg lizard.png
+catTXT.png cat.ogg cat.png \ No newline at end of file
diff --git a/Activities/Level2/1Animals/8Match/settings.txt b/Activities/Level2/1Animals/8Match/settings.txt
new file mode 100644
index 0000000..76bdc50
--- /dev/null
+++ b/Activities/Level2/1Animals/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 40 \ No newline at end of file
diff --git a/Activities/Level2/1Animals/9MultipleC/data.txt b/Activities/Level2/1Animals/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/1Animals/9MultipleC/ico.png b/Activities/Level2/1Animals/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/1Animals/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/bear1.png b/Activities/Level2/1Animals/9MultipleC/resources/bear1.png
new file mode 100644
index 0000000..ed94459
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/bear1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/bear2.png b/Activities/Level2/1Animals/9MultipleC/resources/bear2.png
new file mode 100644
index 0000000..1f5b2c8
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/bear2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/bird.png b/Activities/Level2/1Animals/9MultipleC/resources/bird.png
new file mode 100644
index 0000000..a06a108
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/bird.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/1Animals/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..58a3fe3
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/cara_triste_anim.png b/Activities/Level2/1Animals/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..ddad8a6
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/cat.png b/Activities/Level2/1Animals/9MultipleC/resources/cat.png
new file mode 100644
index 0000000..89df81f
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/cat.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/dog.png b/Activities/Level2/1Animals/9MultipleC/resources/dog.png
new file mode 100644
index 0000000..7ca54b7
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/dog.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/fish.png b/Activities/Level2/1Animals/9MultipleC/resources/fish.png
new file mode 100644
index 0000000..de4340e
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/fish.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/frog1.png b/Activities/Level2/1Animals/9MultipleC/resources/frog1.png
new file mode 100644
index 0000000..2f78fb5
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/frog1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/frog2.png b/Activities/Level2/1Animals/9MultipleC/resources/frog2.png
new file mode 100644
index 0000000..0a06f04
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/frog2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/horse1.png b/Activities/Level2/1Animals/9MultipleC/resources/horse1.png
new file mode 100644
index 0000000..a14396b
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/horse1.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/horse2.png b/Activities/Level2/1Animals/9MultipleC/resources/horse2.png
new file mode 100644
index 0000000..51ce8e1
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/horse2.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/resources/lizard.png b/Activities/Level2/1Animals/9MultipleC/resources/lizard.png
new file mode 100644
index 0000000..d441350
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/resources/lizard.png
Binary files differ
diff --git a/Activities/Level2/1Animals/9MultipleC/screens.txt b/Activities/Level2/1Animals/9MultipleC/screens.txt
new file mode 100644
index 0000000..cc9f9ca
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+bear1.png itisalizard.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bird.png itisabird.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+dog.png itisafrog.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+horse1.png itisahorse.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+frog1.png itisafish.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bear2.png itisabear.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+fish.png itisadog.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+frog2.png itisafrog.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/1Animals/9MultipleC/settings.txt b/Activities/Level2/1Animals/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level2/1Animals/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/1Animals/btn_act.bmp b/Activities/Level2/1Animals/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level2/1Animals/btn_act.bmp
Binary files differ
diff --git a/Activities/Level2/1Animals/btn_act.png b/Activities/Level2/1Animals/btn_act.png
new file mode 100644
index 0000000..53a5d90
--- /dev/null
+++ b/Activities/Level2/1Animals/btn_act.png
Binary files differ
diff --git a/Activities/Level2/1Animals/ico.png b/Activities/Level2/1Animals/ico.png
new file mode 100644
index 0000000..8f1e3cd
--- /dev/null
+++ b/Activities/Level2/1Animals/ico.png
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/Twinkle.ogg b/Activities/Level2/1Animals/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/bear.ogg b/Activities/Level2/1Animals/sounds/bear.ogg
new file mode 100644
index 0000000..cd63b68
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/bear.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/bearwhite.ogg b/Activities/Level2/1Animals/sounds/bearwhite.ogg
new file mode 100644
index 0000000..027b832
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/bearwhite.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/bing.ogg b/Activities/Level2/1Animals/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/bird.ogg b/Activities/Level2/1Animals/sounds/bird.ogg
new file mode 100644
index 0000000..f24ca08
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/bird.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/birdred.ogg b/Activities/Level2/1Animals/sounds/birdred.ogg
new file mode 100644
index 0000000..e99d3f9
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/birdred.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/cat.ogg b/Activities/Level2/1Animals/sounds/cat.ogg
new file mode 100644
index 0000000..42f2d69
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/cat.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/catorange.ogg b/Activities/Level2/1Animals/sounds/catorange.ogg
new file mode 100644
index 0000000..d499c6a
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/catorange.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/chord.ogg b/Activities/Level2/1Animals/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/ding.ogg b/Activities/Level2/1Animals/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/dog.ogg b/Activities/Level2/1Animals/sounds/dog.ogg
new file mode 100644
index 0000000..805050c
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/dog.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/dogyellow.ogg b/Activities/Level2/1Animals/sounds/dogyellow.ogg
new file mode 100644
index 0000000..d432e28
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/dogyellow.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/fish.ogg b/Activities/Level2/1Animals/sounds/fish.ogg
new file mode 100644
index 0000000..7a71295
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/fish.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/fishpurple.ogg b/Activities/Level2/1Animals/sounds/fishpurple.ogg
new file mode 100644
index 0000000..2521869
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/fishpurple.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/frog.ogg b/Activities/Level2/1Animals/sounds/frog.ogg
new file mode 100644
index 0000000..ca7e396
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/frog.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/froggreen.ogg b/Activities/Level2/1Animals/sounds/froggreen.ogg
new file mode 100644
index 0000000..6ec8170
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/froggreen.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/horse.ogg b/Activities/Level2/1Animals/sounds/horse.ogg
new file mode 100644
index 0000000..aa36161
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/horse.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/horseblack.ogg b/Activities/Level2/1Animals/sounds/horseblack.ogg
new file mode 100644
index 0000000..e8d9eee
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/horseblack.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisabear.ogg b/Activities/Level2/1Animals/sounds/itisabear.ogg
new file mode 100644
index 0000000..3799e93
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisabear.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisabird.ogg b/Activities/Level2/1Animals/sounds/itisabird.ogg
new file mode 100644
index 0000000..f9bbd60
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisabird.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisacat.ogg b/Activities/Level2/1Animals/sounds/itisacat.ogg
new file mode 100644
index 0000000..5fa2bcf
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisacat.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisadog.ogg b/Activities/Level2/1Animals/sounds/itisadog.ogg
new file mode 100644
index 0000000..6da42fa
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisadog.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisafish.ogg b/Activities/Level2/1Animals/sounds/itisafish.ogg
new file mode 100644
index 0000000..7b5ec8b
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisafish.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisafrog.ogg b/Activities/Level2/1Animals/sounds/itisafrog.ogg
new file mode 100644
index 0000000..1ebc267
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisafrog.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisahorse.ogg b/Activities/Level2/1Animals/sounds/itisahorse.ogg
new file mode 100644
index 0000000..f792e0d
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisahorse.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/itisalizard.ogg b/Activities/Level2/1Animals/sounds/itisalizard.ogg
new file mode 100644
index 0000000..1dc6a2e
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/itisalizard.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/lizard.ogg b/Activities/Level2/1Animals/sounds/lizard.ogg
new file mode 100644
index 0000000..2158d98
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/lizard.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/lizardblue.ogg b/Activities/Level2/1Animals/sounds/lizardblue.ogg
new file mode 100644
index 0000000..d105f6a
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/lizardblue.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/sounds/unitSound.ogg b/Activities/Level2/1Animals/sounds/unitSound.ogg
new file mode 100644
index 0000000..d05d0ce
--- /dev/null
+++ b/Activities/Level2/1Animals/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level2/1Animals/unitMarker.png b/Activities/Level2/1Animals/unitMarker.png
new file mode 100644
index 0000000..eaa7f02
--- /dev/null
+++ b/Activities/Level2/1Animals/unitMarker.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/data.txt b/Activities/Level2/2Actions/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/1Sort/ico.png b/Activities/Level2/2Actions/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/2Actions/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/boyjump.png b/Activities/Level2/2Actions/1Sort/resources/boyjump.png
new file mode 100644
index 0000000..c7ec7f2
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/boyjump.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/boyjumpSIL.png b/Activities/Level2/2Actions/1Sort/resources/boyjumpSIL.png
new file mode 100644
index 0000000..ab991b9
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/boyjumpSIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/boywalk.png b/Activities/Level2/2Actions/1Sort/resources/boywalk.png
new file mode 100644
index 0000000..e885b46
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/boywalk.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/boywalkSIL.png b/Activities/Level2/2Actions/1Sort/resources/boywalkSIL.png
new file mode 100644
index 0000000..2b4f2e2
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/boywalkSIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/girlrun.png b/Activities/Level2/2Actions/1Sort/resources/girlrun.png
new file mode 100644
index 0000000..db0fe63
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/girlrun.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/girlrunSIL.png b/Activities/Level2/2Actions/1Sort/resources/girlrunSIL.png
new file mode 100644
index 0000000..3976f17
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/girlrunSIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/girlstand.png b/Activities/Level2/2Actions/1Sort/resources/girlstand.png
new file mode 100644
index 0000000..a1ce638
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/girlstand.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/resources/girlstandSIL.png b/Activities/Level2/2Actions/1Sort/resources/girlstandSIL.png
new file mode 100644
index 0000000..3b48f9b
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/resources/girlstandSIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/1Sort/screens.txt b/Activities/Level2/2Actions/1Sort/screens.txt
new file mode 100644
index 0000000..b34ddfd
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+boywalk:boywalkSIL.png
+girlrun:girlrunSIL.png
+boyjump:boyjumpSIL.png
+girlstand:girlstandSIL.png
+CRAYONS:
+boyjump.png hejumps.ogg jump boyjump
+boywalk.png hewalks.ogg walk boywalk
+girlrun.png sheruns.ogg run girlrun
+girlstand.png shestands.ogg stand girlstand
+
+screen2:
+BINS:keepstate
+boyjump:boyjumpSIL.png
+boywalk:boywalkSIL.png
+girlrun:girlrunSIL.png
+girlstand:girlstandSIL.png
+CRAYONS:
+girlstand.png shestands.ogg stand girlstand
+boywalk.png hewalks.ogg walk boywalk
+boyjump.png hejumps.ogg jump boyjump
+girlrun.png sheruns.ogg run girlrun
diff --git a/Activities/Level2/2Actions/1Sort/settings.txt b/Activities/Level2/2Actions/1Sort/settings.txt
new file mode 100644
index 0000000..99dcb54
--- /dev/null
+++ b/Activities/Level2/2Actions/1Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 340
+distanceBetweenCrayons = 70
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 230
+yEvenCrayons = 230
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/2Sort/data.txt b/Activities/Level2/2Actions/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/2Sort/ico.png b/Activities/Level2/2Actions/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/2Actions/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/boyeat.png b/Activities/Level2/2Actions/2Sort/resources/boyeat.png
new file mode 100644
index 0000000..dfe6f3a
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/boyeat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/boyeatSIL.png b/Activities/Level2/2Actions/2Sort/resources/boyeatSIL.png
new file mode 100644
index 0000000..bdb940c
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/boyeatSIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/boyplay.png b/Activities/Level2/2Actions/2Sort/resources/boyplay.png
new file mode 100644
index 0000000..4a03f0b
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/boyplay.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/boyplaySIL.png b/Activities/Level2/2Actions/2Sort/resources/boyplaySIL.png
new file mode 100644
index 0000000..d9078a2
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/boyplaySIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/girlride.png b/Activities/Level2/2Actions/2Sort/resources/girlride.png
new file mode 100644
index 0000000..9c62d5d
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/girlride.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/girlrideSIL.png b/Activities/Level2/2Actions/2Sort/resources/girlrideSIL.png
new file mode 100644
index 0000000..e18ecc9
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/girlrideSIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/girlsleep.png b/Activities/Level2/2Actions/2Sort/resources/girlsleep.png
new file mode 100644
index 0000000..6ed49b3
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/girlsleep.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/resources/girlsleepSIL.png b/Activities/Level2/2Actions/2Sort/resources/girlsleepSIL.png
new file mode 100644
index 0000000..debf6f3
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/resources/girlsleepSIL.png
Binary files differ
diff --git a/Activities/Level2/2Actions/2Sort/screens.txt b/Activities/Level2/2Actions/2Sort/screens.txt
new file mode 100644
index 0000000..0f897d8
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+boyeat:boyeatSIL.png
+girlride:girlrideSIL.png
+boyplay:boyplaySIL.png
+girlsleep:girlsleepSIL.png
+CRAYONS:
+boyeat.png heeats.ogg eat boyeat
+boyplay.png heplays.ogg play boyplay
+girlsleep.png shesleeps.ogg sleep girlsleep
+girlride.png sherides.ogg ride girlride
+
+screen2:
+BINS:keepstate
+boyplay:boyplaySIL.png
+boyeat:boyeatSIL.png
+girlride:girlrideSIL.png
+girlsleep:girlsleepSIL.png
+CRAYONS:
+girlsleep.png shesleeps.ogg sleep girlsleep
+boyeat.png heeats.ogg eat boyeat
+girlride.png sherides.ogg ride girlride
+boyplay.png heplays.ogg play boyplay \ No newline at end of file
diff --git a/Activities/Level2/2Actions/2Sort/settings.txt b/Activities/Level2/2Actions/2Sort/settings.txt
new file mode 100644
index 0000000..aa02ac6
--- /dev/null
+++ b/Activities/Level2/2Actions/2Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 280
+distanceBetweenCrayons = 70
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 220
+yEvenCrayons = 220
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/3Match/data.txt b/Activities/Level2/2Actions/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/3Match/ico.png b/Activities/Level2/2Actions/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/boyrun.png b/Activities/Level2/2Actions/3Match/resources/boyrun.png
new file mode 100644
index 0000000..b9e1ca4
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/boyrun.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/boysleep.png b/Activities/Level2/2Actions/3Match/resources/boysleep.png
new file mode 100644
index 0000000..dbadc2b
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/boysleep.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/eatTXT.png b/Activities/Level2/2Actions/3Match/resources/eatTXT.png
new file mode 100644
index 0000000..42b9b54
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/eatTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/girleat.png b/Activities/Level2/2Actions/3Match/resources/girleat.png
new file mode 100644
index 0000000..5104e60
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/girleat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/girljump.png b/Activities/Level2/2Actions/3Match/resources/girljump.png
new file mode 100644
index 0000000..f7e7afd
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/girljump.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/girlride.png b/Activities/Level2/2Actions/3Match/resources/girlride.png
new file mode 100644
index 0000000..79b4d76
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/girlride.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/jumpTXT.png b/Activities/Level2/2Actions/3Match/resources/jumpTXT.png
new file mode 100644
index 0000000..18bafae
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/jumpTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/rideTXT.png b/Activities/Level2/2Actions/3Match/resources/rideTXT.png
new file mode 100644
index 0000000..5d2ffdd
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/rideTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/runTXT.png b/Activities/Level2/2Actions/3Match/resources/runTXT.png
new file mode 100644
index 0000000..3500eb7
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/runTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/resources/sleepTXT.png b/Activities/Level2/2Actions/3Match/resources/sleepTXT.png
new file mode 100644
index 0000000..6937061
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/resources/sleepTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/3Match/screens.txt b/Activities/Level2/2Actions/3Match/screens.txt
new file mode 100644
index 0000000..6e578ec
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/screens.txt
@@ -0,0 +1,5 @@
+runTXT.png [run.ogg,heruns.ogg] boyrun.png
+sleepTXT.png [sleep.ogg,hesleeps.ogg] boysleep.png
+eatTXT.png [eat.ogg,sheeats.ogg] girleat.png
+jumpTXT.png [jump.ogg,shejumps.ogg] girljump.png
+rideTXT.png [ride.ogg,sherides.ogg] girlride.png \ No newline at end of file
diff --git a/Activities/Level2/2Actions/3Match/settings.txt b/Activities/Level2/2Actions/3Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level2/2Actions/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/4Paint/data.txt b/Activities/Level2/2Actions/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/4Paint/ico.png b/Activities/Level2/2Actions/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/eat.png b/Activities/Level2/2Actions/4Paint/resources/eat.png
new file mode 100644
index 0000000..09cd001
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/eat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/jump.png b/Activities/Level2/2Actions/4Paint/resources/jump.png
new file mode 100644
index 0000000..6596cbe
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/jump.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/play.png b/Activities/Level2/2Actions/4Paint/resources/play.png
new file mode 100644
index 0000000..7cbe6da
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/play.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/ride.png b/Activities/Level2/2Actions/4Paint/resources/ride.png
new file mode 100644
index 0000000..627e528
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/ride.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/run.png b/Activities/Level2/2Actions/4Paint/resources/run.png
new file mode 100644
index 0000000..5978fda
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/run.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/sleep.png b/Activities/Level2/2Actions/4Paint/resources/sleep.png
new file mode 100644
index 0000000..edc4119
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/sleep.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/stand.png b/Activities/Level2/2Actions/4Paint/resources/stand.png
new file mode 100644
index 0000000..b25c64f
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/stand.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/resources/walk.png b/Activities/Level2/2Actions/4Paint/resources/walk.png
new file mode 100644
index 0000000..610948d
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/resources/walk.png
Binary files differ
diff --git a/Activities/Level2/2Actions/4Paint/screens.txt b/Activities/Level2/2Actions/4Paint/screens.txt
new file mode 100644
index 0000000..6800f54
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/screens.txt
@@ -0,0 +1,23 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+walk.png colorherblack.ogg black
+sleep.png colorherwhite.ogg white
+run.png colorherorange.ogg orange
+play.png colorhergreen.ogg green
+stand.png colorhimblue.ogg blue
+ride.png colorhimpurple.ogg purple
+jump.png colorhimyellow.ogg yellow
+eat.png colorhimred.ogg red
diff --git a/Activities/Level2/2Actions/4Paint/settings.txt b/Activities/Level2/2Actions/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level2/2Actions/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/5MultipleC/data.txt b/Activities/Level2/2Actions/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/5MultipleC/ico.png b/Activities/Level2/2Actions/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/2Actions/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/boyjump.png b/Activities/Level2/2Actions/5MultipleC/resources/boyjump.png
new file mode 100644
index 0000000..810f3f4
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/boyjump.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/boyplay.png b/Activities/Level2/2Actions/5MultipleC/resources/boyplay.png
new file mode 100644
index 0000000..86eba43
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/boyplay.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/boyride.png b/Activities/Level2/2Actions/5MultipleC/resources/boyride.png
new file mode 100644
index 0000000..e82b9ee
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/boyride.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/boyrun.png b/Activities/Level2/2Actions/5MultipleC/resources/boyrun.png
new file mode 100644
index 0000000..c2180f8
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/boyrun.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/2Actions/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..bb586dc
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/cara_triste_anim.png b/Activities/Level2/2Actions/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..8c644e5
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/girleat.png b/Activities/Level2/2Actions/5MultipleC/resources/girleat.png
new file mode 100644
index 0000000..bcb405a
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/girleat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/girlplay.png b/Activities/Level2/2Actions/5MultipleC/resources/girlplay.png
new file mode 100644
index 0000000..162b3bd
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/girlplay.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/resources/girlstand.png b/Activities/Level2/2Actions/5MultipleC/resources/girlstand.png
new file mode 100644
index 0000000..da0b020
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/resources/girlstand.png
Binary files differ
diff --git a/Activities/Level2/2Actions/5MultipleC/screens.txt b/Activities/Level2/2Actions/5MultipleC/screens.txt
new file mode 100644
index 0000000..f3e8452
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+boyjump.png hejumps.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girleat.png sheruns.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlplay.png shesleeps.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyride.png herides.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlstand.png shestands.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyplay.png hewalks.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyrun.png heeats.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlplay.png sheplays.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/2Actions/5MultipleC/settings.txt b/Activities/Level2/2Actions/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level2/2Actions/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/6Concentrate/data.txt b/Activities/Level2/2Actions/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/6Concentrate/ico.png b/Activities/Level2/2Actions/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/_BackFace.png b/Activities/Level2/2Actions/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..f62c0f4
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/conc_06_color.jpg b/Activities/Level2/2Actions/6Concentrate/resources/conc_06_color.jpg
new file mode 100644
index 0000000..6747d74
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/conc_06_color.jpg
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/conc_06_mono.jpg b/Activities/Level2/2Actions/6Concentrate/resources/conc_06_mono.jpg
new file mode 100644
index 0000000..970ee42
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/conc_06_mono.jpg
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/eat1.png b/Activities/Level2/2Actions/6Concentrate/resources/eat1.png
new file mode 100644
index 0000000..06d15fe
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/eat1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/eat2.png b/Activities/Level2/2Actions/6Concentrate/resources/eat2.png
new file mode 100644
index 0000000..9d4dea8
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/eat2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/jump1.png b/Activities/Level2/2Actions/6Concentrate/resources/jump1.png
new file mode 100644
index 0000000..95fffc3
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/jump1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/jump2.png b/Activities/Level2/2Actions/6Concentrate/resources/jump2.png
new file mode 100644
index 0000000..b1b5e88
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/jump2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/play1.png b/Activities/Level2/2Actions/6Concentrate/resources/play1.png
new file mode 100644
index 0000000..6fb43e4
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/play1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/play2.png b/Activities/Level2/2Actions/6Concentrate/resources/play2.png
new file mode 100644
index 0000000..dd167f0
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/play2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/ride1.png b/Activities/Level2/2Actions/6Concentrate/resources/ride1.png
new file mode 100644
index 0000000..c0c74f0
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/ride1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/ride2.png b/Activities/Level2/2Actions/6Concentrate/resources/ride2.png
new file mode 100644
index 0000000..13cdfcb
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/ride2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/run1.png b/Activities/Level2/2Actions/6Concentrate/resources/run1.png
new file mode 100644
index 0000000..dc84cd6
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/run1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/run2.png b/Activities/Level2/2Actions/6Concentrate/resources/run2.png
new file mode 100644
index 0000000..fd991c7
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/run2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/sleep1.png b/Activities/Level2/2Actions/6Concentrate/resources/sleep1.png
new file mode 100644
index 0000000..ee4dad9
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/sleep1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/sleep2.png b/Activities/Level2/2Actions/6Concentrate/resources/sleep2.png
new file mode 100644
index 0000000..64df23c
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/sleep2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/stand1.png b/Activities/Level2/2Actions/6Concentrate/resources/stand1.png
new file mode 100644
index 0000000..c39ffc8
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/stand1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/stand2.png b/Activities/Level2/2Actions/6Concentrate/resources/stand2.png
new file mode 100644
index 0000000..3cc5138
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/stand2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/walk1.png b/Activities/Level2/2Actions/6Concentrate/resources/walk1.png
new file mode 100644
index 0000000..f63a1db
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/walk1.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/resources/walk2.png b/Activities/Level2/2Actions/6Concentrate/resources/walk2.png
new file mode 100644
index 0000000..87c282c
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/resources/walk2.png
Binary files differ
diff --git a/Activities/Level2/2Actions/6Concentrate/screen.txt b/Activities/Level2/2Actions/6Concentrate/screen.txt
new file mode 100644
index 0000000..f70a534
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_06_mono.jpg:conc_06_color.jpg
+eat1.png eat2.png eat.ogg eat
+jump1.png jump2.png jump.ogg jump
+play1.png play2.png play.ogg play
+ride1.png ride2.png ride.ogg ride
+run1.png run2.png run.ogg run
+sleep1.png sleep2.png sleep.ogg sleep
+stand1.png stand2.png stand.ogg stand
+walk1.png walk2.png walk.ogg walk
diff --git a/Activities/Level2/2Actions/6Concentrate/settings.txt b/Activities/Level2/2Actions/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level2/2Actions/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/7DragnDrop/data.txt b/Activities/Level2/2Actions/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/7DragnDrop/ico.png b/Activities/Level2/2Actions/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/2Actions/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/resources/girleat.png b/Activities/Level2/2Actions/7DragnDrop/resources/girleat.png
new file mode 100644
index 0000000..04b525a
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/resources/girleat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/resources/girlrun.png b/Activities/Level2/2Actions/7DragnDrop/resources/girlrun.png
new file mode 100644
index 0000000..d477e08
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/resources/girlrun.png
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/resources/girlsleep.png b/Activities/Level2/2Actions/7DragnDrop/resources/girlsleep.png
new file mode 100644
index 0000000..bc94562
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/resources/girlsleep.png
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/resources/girlstand.png b/Activities/Level2/2Actions/7DragnDrop/resources/girlstand.png
new file mode 100644
index 0000000..9118af1
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/resources/girlstand.png
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/resources/icono_play.png b/Activities/Level2/2Actions/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/resources/manride.png b/Activities/Level2/2Actions/7DragnDrop/resources/manride.png
new file mode 100644
index 0000000..d7d40e3
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/resources/manride.png
Binary files differ
diff --git a/Activities/Level2/2Actions/7DragnDrop/screens.txt b/Activities/Level2/2Actions/7DragnDrop/screens.txt
new file mode 100644
index 0000000..887c0db
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+girlstand:girlstand.png
+manride:manride.png
+girleat:girleat.png
+girlrun:girlrun.png
+girlsleep:girlsleep.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png sheeats.ogg eat girleat
+icono_play.png herides.ogg ride manride
+icono_play.png shesleeps.ogg sleep girlsleep
+icono_play.png shestands.ogg stand girlstand
+icono_play.png sheruns.ogg run girlrun
diff --git a/Activities/Level2/2Actions/7DragnDrop/settings.txt b/Activities/Level2/2Actions/7DragnDrop/settings.txt
new file mode 100644
index 0000000..a90ddf9
--- /dev/null
+++ b/Activities/Level2/2Actions/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 420
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/8Match/data.txt b/Activities/Level2/2Actions/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/8Match/ico.png b/Activities/Level2/2Actions/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/boyeat.png b/Activities/Level2/2Actions/8Match/resources/boyeat.png
new file mode 100644
index 0000000..18eb97b
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/boyeat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/boyplay.png b/Activities/Level2/2Actions/8Match/resources/boyplay.png
new file mode 100644
index 0000000..bf0c314
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/boyplay.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/boystand.png b/Activities/Level2/2Actions/8Match/resources/boystand.png
new file mode 100644
index 0000000..448654a
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/boystand.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/eatTXT.png b/Activities/Level2/2Actions/8Match/resources/eatTXT.png
new file mode 100644
index 0000000..42b9b54
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/eatTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/girlrun.png b/Activities/Level2/2Actions/8Match/resources/girlrun.png
new file mode 100644
index 0000000..e0f18f9
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/girlrun.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/girlwalk.png b/Activities/Level2/2Actions/8Match/resources/girlwalk.png
new file mode 100644
index 0000000..08172fe
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/girlwalk.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/playTXT.png b/Activities/Level2/2Actions/8Match/resources/playTXT.png
new file mode 100644
index 0000000..3dbb6e7
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/playTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/runTXT.png b/Activities/Level2/2Actions/8Match/resources/runTXT.png
new file mode 100644
index 0000000..3500eb7
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/runTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/standTXT.png b/Activities/Level2/2Actions/8Match/resources/standTXT.png
new file mode 100644
index 0000000..0f5dc9e
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/standTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/resources/walkTXT.png b/Activities/Level2/2Actions/8Match/resources/walkTXT.png
new file mode 100644
index 0000000..f84a9eb
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/resources/walkTXT.png
Binary files differ
diff --git a/Activities/Level2/2Actions/8Match/screens.txt b/Activities/Level2/2Actions/8Match/screens.txt
new file mode 100644
index 0000000..79389f9
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/screens.txt
@@ -0,0 +1,5 @@
+playTXT.png [play.ogg,heplays.ogg] boyplay.png
+eatTXT.png [eat.ogg,heeats.ogg] boyeat.png
+walkTXT.png [walk.ogg,shewalks.ogg] girlwalk.png
+runTXT.png [run.ogg,sheruns.ogg] girlrun.png
+standTXT.png [stand.ogg,hestands.ogg] boystand.png \ No newline at end of file
diff --git a/Activities/Level2/2Actions/8Match/settings.txt b/Activities/Level2/2Actions/8Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level2/2Actions/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/9MultipleC/data.txt b/Activities/Level2/2Actions/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/2Actions/9MultipleC/ico.png b/Activities/Level2/2Actions/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/2Actions/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/boyeat.png b/Activities/Level2/2Actions/9MultipleC/resources/boyeat.png
new file mode 100644
index 0000000..92f8617
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/boyeat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/boyride.png b/Activities/Level2/2Actions/9MultipleC/resources/boyride.png
new file mode 100644
index 0000000..fb373f8
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/boyride.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/boyrun.png b/Activities/Level2/2Actions/9MultipleC/resources/boyrun.png
new file mode 100644
index 0000000..c2180f8
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/boyrun.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/boysleep.png b/Activities/Level2/2Actions/9MultipleC/resources/boysleep.png
new file mode 100644
index 0000000..7d7b92a
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/boysleep.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/2Actions/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..f554484
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/cara_triste_anim.png b/Activities/Level2/2Actions/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..fc52469
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/girleat.png b/Activities/Level2/2Actions/9MultipleC/resources/girleat.png
new file mode 100644
index 0000000..bcb405a
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/girleat.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/girljump.png b/Activities/Level2/2Actions/9MultipleC/resources/girljump.png
new file mode 100644
index 0000000..ba2258d
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/girljump.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/girlrun.png b/Activities/Level2/2Actions/9MultipleC/resources/girlrun.png
new file mode 100644
index 0000000..68e4fd0
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/girlrun.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/resources/girlsleep.png b/Activities/Level2/2Actions/9MultipleC/resources/girlsleep.png
new file mode 100644
index 0000000..dc880f4
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/resources/girlsleep.png
Binary files differ
diff --git a/Activities/Level2/2Actions/9MultipleC/screens.txt b/Activities/Level2/2Actions/9MultipleC/screens.txt
new file mode 100644
index 0000000..9404890
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+girlsleep.png sheeats.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyeat.png hejumps.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlrun.png sheruns.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyride.png herides.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girleat.png sheeats.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boysleep.png hestands.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girljump.png shejumps.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyrun.png hewalks.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/2Actions/9MultipleC/settings.txt b/Activities/Level2/2Actions/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level2/2Actions/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/2Actions/btn_act.bmp b/Activities/Level2/2Actions/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level2/2Actions/btn_act.bmp
Binary files differ
diff --git a/Activities/Level2/2Actions/btn_act.png b/Activities/Level2/2Actions/btn_act.png
new file mode 100644
index 0000000..53a5d90
--- /dev/null
+++ b/Activities/Level2/2Actions/btn_act.png
Binary files differ
diff --git a/Activities/Level2/2Actions/ico.png b/Activities/Level2/2Actions/ico.png
new file mode 100644
index 0000000..a4ce5b2
--- /dev/null
+++ b/Activities/Level2/2Actions/ico.png
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/Twinkle.ogg b/Activities/Level2/2Actions/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/bing.ogg b/Activities/Level2/2Actions/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/chord.ogg b/Activities/Level2/2Actions/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorherblack.ogg b/Activities/Level2/2Actions/sounds/colorherblack.ogg
new file mode 100644
index 0000000..7cc1b3a
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorherblack.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorherblue.ogg b/Activities/Level2/2Actions/sounds/colorherblue.ogg
new file mode 100644
index 0000000..7d2b194
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorherblue.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhergreen.ogg b/Activities/Level2/2Actions/sounds/colorhergreen.ogg
new file mode 100644
index 0000000..098c8c1
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhergreen.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorherorange.ogg b/Activities/Level2/2Actions/sounds/colorherorange.ogg
new file mode 100644
index 0000000..9ebc857
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorherorange.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorherpurple.ogg b/Activities/Level2/2Actions/sounds/colorherpurple.ogg
new file mode 100644
index 0000000..2922ee7
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorherpurple.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorherred.ogg b/Activities/Level2/2Actions/sounds/colorherred.ogg
new file mode 100644
index 0000000..fbd40a6
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorherred.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorherwhite.ogg b/Activities/Level2/2Actions/sounds/colorherwhite.ogg
new file mode 100644
index 0000000..d68ffe1
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorherwhite.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorheryellow.ogg b/Activities/Level2/2Actions/sounds/colorheryellow.ogg
new file mode 100644
index 0000000..19ea4a8
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorheryellow.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimblack.ogg b/Activities/Level2/2Actions/sounds/colorhimblack.ogg
new file mode 100644
index 0000000..8356952
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimblack.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimblue.ogg b/Activities/Level2/2Actions/sounds/colorhimblue.ogg
new file mode 100644
index 0000000..58c4f88
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimblue.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimgreen.ogg b/Activities/Level2/2Actions/sounds/colorhimgreen.ogg
new file mode 100644
index 0000000..8f37c10
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimgreen.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimorange.ogg b/Activities/Level2/2Actions/sounds/colorhimorange.ogg
new file mode 100644
index 0000000..00c32dc
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimorange.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimpurple.ogg b/Activities/Level2/2Actions/sounds/colorhimpurple.ogg
new file mode 100644
index 0000000..52a33fc
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimpurple.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimred.ogg b/Activities/Level2/2Actions/sounds/colorhimred.ogg
new file mode 100644
index 0000000..2277137
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimred.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimwhite.ogg b/Activities/Level2/2Actions/sounds/colorhimwhite.ogg
new file mode 100644
index 0000000..f454cc9
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimwhite.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/colorhimyellow.ogg b/Activities/Level2/2Actions/sounds/colorhimyellow.ogg
new file mode 100644
index 0000000..5b3f30e
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/colorhimyellow.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/ding.ogg b/Activities/Level2/2Actions/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/eat.ogg b/Activities/Level2/2Actions/sounds/eat.ogg
new file mode 100644
index 0000000..d89ffcb
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/eat.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/heeats.ogg b/Activities/Level2/2Actions/sounds/heeats.ogg
new file mode 100644
index 0000000..f07c1b3
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/heeats.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/hejumps.ogg b/Activities/Level2/2Actions/sounds/hejumps.ogg
new file mode 100644
index 0000000..343ac94
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/hejumps.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/heplays.ogg b/Activities/Level2/2Actions/sounds/heplays.ogg
new file mode 100644
index 0000000..f6668ab
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/heplays.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/herides.ogg b/Activities/Level2/2Actions/sounds/herides.ogg
new file mode 100644
index 0000000..92345ea
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/herides.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/heruns.ogg b/Activities/Level2/2Actions/sounds/heruns.ogg
new file mode 100644
index 0000000..0797945
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/heruns.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/hesleeps.ogg b/Activities/Level2/2Actions/sounds/hesleeps.ogg
new file mode 100644
index 0000000..6c39405
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/hesleeps.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/hestands.ogg b/Activities/Level2/2Actions/sounds/hestands.ogg
new file mode 100644
index 0000000..0e98803
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/hestands.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/hewalks.ogg b/Activities/Level2/2Actions/sounds/hewalks.ogg
new file mode 100644
index 0000000..07c300d
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/hewalks.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/jump.ogg b/Activities/Level2/2Actions/sounds/jump.ogg
new file mode 100644
index 0000000..954c603
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/jump.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/play.ogg b/Activities/Level2/2Actions/sounds/play.ogg
new file mode 100644
index 0000000..9d8147a
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/play.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/ride.ogg b/Activities/Level2/2Actions/sounds/ride.ogg
new file mode 100644
index 0000000..adcabde
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/ride.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/run.ogg b/Activities/Level2/2Actions/sounds/run.ogg
new file mode 100644
index 0000000..f87feb2
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/run.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/sheeats.ogg b/Activities/Level2/2Actions/sounds/sheeats.ogg
new file mode 100644
index 0000000..d72b386
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/sheeats.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/shejumps.ogg b/Activities/Level2/2Actions/sounds/shejumps.ogg
new file mode 100644
index 0000000..e549b86
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/shejumps.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/sheplays.ogg b/Activities/Level2/2Actions/sounds/sheplays.ogg
new file mode 100644
index 0000000..a9a2e9a
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/sheplays.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/sherides.ogg b/Activities/Level2/2Actions/sounds/sherides.ogg
new file mode 100644
index 0000000..ac05c3c
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/sherides.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/sheruns.ogg b/Activities/Level2/2Actions/sounds/sheruns.ogg
new file mode 100644
index 0000000..f959097
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/sheruns.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/shesleeps.ogg b/Activities/Level2/2Actions/sounds/shesleeps.ogg
new file mode 100644
index 0000000..e91701a
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/shesleeps.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/shestands.ogg b/Activities/Level2/2Actions/sounds/shestands.ogg
new file mode 100644
index 0000000..9d3bf26
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/shestands.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/shewalks.ogg b/Activities/Level2/2Actions/sounds/shewalks.ogg
new file mode 100644
index 0000000..f075501
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/shewalks.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/sleep.ogg b/Activities/Level2/2Actions/sounds/sleep.ogg
new file mode 100644
index 0000000..6d3ad6d
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/sleep.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/stand.ogg b/Activities/Level2/2Actions/sounds/stand.ogg
new file mode 100644
index 0000000..7d1d863
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/stand.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/unitSound.ogg b/Activities/Level2/2Actions/sounds/unitSound.ogg
new file mode 100644
index 0000000..5be6963
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/sounds/walk.ogg b/Activities/Level2/2Actions/sounds/walk.ogg
new file mode 100644
index 0000000..9e0a9e7
--- /dev/null
+++ b/Activities/Level2/2Actions/sounds/walk.ogg
Binary files differ
diff --git a/Activities/Level2/2Actions/unitMarker.png b/Activities/Level2/2Actions/unitMarker.png
new file mode 100644
index 0000000..3076d48
--- /dev/null
+++ b/Activities/Level2/2Actions/unitMarker.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/data.txt b/Activities/Level2/3Transport/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/1Sort/ico.png b/Activities/Level2/3Transport/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/3Transport/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/car.png b/Activities/Level2/3Transport/1Sort/resources/car.png
new file mode 100644
index 0000000..6e1a54e
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/car.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/carSIL.png b/Activities/Level2/3Transport/1Sort/resources/carSIL.png
new file mode 100644
index 0000000..91b0c27
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/carSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/plane.png b/Activities/Level2/3Transport/1Sort/resources/plane.png
new file mode 100644
index 0000000..b629286
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/plane.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/planeSIL.png b/Activities/Level2/3Transport/1Sort/resources/planeSIL.png
new file mode 100644
index 0000000..be837a0
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/planeSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/train.png b/Activities/Level2/3Transport/1Sort/resources/train.png
new file mode 100644
index 0000000..971a11a
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/train.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/trainSIL.png b/Activities/Level2/3Transport/1Sort/resources/trainSIL.png
new file mode 100644
index 0000000..72d16b5
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/trainSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/truck.png b/Activities/Level2/3Transport/1Sort/resources/truck.png
new file mode 100644
index 0000000..48a8ce9
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/truck.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/resources/truckSIL.png b/Activities/Level2/3Transport/1Sort/resources/truckSIL.png
new file mode 100644
index 0000000..0b4c84d
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/resources/truckSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/1Sort/screens.txt b/Activities/Level2/3Transport/1Sort/screens.txt
new file mode 100644
index 0000000..d2282bb
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+car:carSIL.png
+plane:planeSIL.png
+train:trainSIL.png
+truck:truckSIL.png
+CRAYONS:
+train.png [whatisit.ogg,itisatrain.ogg] train train
+car.png [whatisit.ogg,itisacar.ogg] car car
+truck.png [whatisit.ogg,itisatruck.ogg] truck truck
+plane.png [whatisit.ogg,itisaplane.ogg] plane plane
+
+screen2:
+BINS:keepstate
+car:carSIL.png
+plane:planeSIL.png
+train:trainSIL.png
+truck:truckSIL.png
+CRAYONS:
+plane.png [whatisit.ogg,itisaplane.ogg] plane plane
+truck.png [whatisit.ogg,itisatruck.ogg] truck truck
+train.png [whatisit.ogg,itisatrain.ogg] train train
+car.png [whatisit.ogg,itisacar.ogg] CAR car \ No newline at end of file
diff --git a/Activities/Level2/3Transport/1Sort/settings.txt b/Activities/Level2/3Transport/1Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level2/3Transport/1Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/2Sort/data.txt b/Activities/Level2/3Transport/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/2Sort/ico.png b/Activities/Level2/3Transport/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/3Transport/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/bike.png b/Activities/Level2/3Transport/2Sort/resources/bike.png
new file mode 100644
index 0000000..56c9b74
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/bike.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/bikeSIL.png b/Activities/Level2/3Transport/2Sort/resources/bikeSIL.png
new file mode 100644
index 0000000..42837fd
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/bikeSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/boat.png b/Activities/Level2/3Transport/2Sort/resources/boat.png
new file mode 100644
index 0000000..e310ed6
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/boat.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/boatSIL.png b/Activities/Level2/3Transport/2Sort/resources/boatSIL.png
new file mode 100644
index 0000000..72feb0b
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/boatSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/bus.png b/Activities/Level2/3Transport/2Sort/resources/bus.png
new file mode 100644
index 0000000..a5cbb8e
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/bus.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/busSIL.png b/Activities/Level2/3Transport/2Sort/resources/busSIL.png
new file mode 100644
index 0000000..bea00af
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/busSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/motorcycle.png b/Activities/Level2/3Transport/2Sort/resources/motorcycle.png
new file mode 100644
index 0000000..871e22f
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/motorcycle.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/resources/motorcycleSIL.png b/Activities/Level2/3Transport/2Sort/resources/motorcycleSIL.png
new file mode 100644
index 0000000..202765d
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/resources/motorcycleSIL.png
Binary files differ
diff --git a/Activities/Level2/3Transport/2Sort/screens.txt b/Activities/Level2/3Transport/2Sort/screens.txt
new file mode 100644
index 0000000..cffb7f9
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+boat:boatSIL.png
+bike:bikeSIL.png
+motorcycle:motorcycleSIL.png
+bus:busSIL.png
+CRAYONS:
+bus.png [whatisit.ogg,itisabus.ogg] bus bus
+boat.png [whatisit.ogg,itisaboat.ogg] boat boat
+motorcycle.png [whatisit.ogg,itisamotorcycle.ogg] motorcycle motorcycle
+bike.png [whatisit.ogg,itisabike.ogg] bike bike
+
+screen2:
+BINS:keepstate
+boat:boatSIL.png
+bike:bikeSIL.png
+motorcycle:motorcycleSIL.png
+bus:busSIL.png
+CRAYONS:
+motorcycle.png [whatisit.ogg,itisamotorcycle.ogg] motorcycle motorcycle
+bus.png [whatisit.ogg,itisabus.ogg] bus bus
+bike.png [whatisit.ogg,itisabike.ogg] bike bike
+boat.png [whatisit.ogg,itisaboat.ogg] boat boat
diff --git a/Activities/Level2/3Transport/2Sort/settings.txt b/Activities/Level2/3Transport/2Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level2/3Transport/2Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/3Match/data.txt b/Activities/Level2/3Transport/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/3Match/ico.png b/Activities/Level2/3Transport/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/boat.png b/Activities/Level2/3Transport/3Match/resources/boat.png
new file mode 100644
index 0000000..afd5609
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/boat.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/boatTXT.png b/Activities/Level2/3Transport/3Match/resources/boatTXT.png
new file mode 100644
index 0000000..748a482
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/boatTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/bus.png b/Activities/Level2/3Transport/3Match/resources/bus.png
new file mode 100644
index 0000000..ca7fb30
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/bus.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/busTXT.png b/Activities/Level2/3Transport/3Match/resources/busTXT.png
new file mode 100644
index 0000000..8e9309e
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/busTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/car.png b/Activities/Level2/3Transport/3Match/resources/car.png
new file mode 100644
index 0000000..c6c1a82
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/car.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/carTXT.png b/Activities/Level2/3Transport/3Match/resources/carTXT.png
new file mode 100644
index 0000000..3c67614
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/carTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/train.png b/Activities/Level2/3Transport/3Match/resources/train.png
new file mode 100644
index 0000000..ac5db5f
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/train.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/trainTXT.png b/Activities/Level2/3Transport/3Match/resources/trainTXT.png
new file mode 100644
index 0000000..3d99537
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/trainTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/truck.png b/Activities/Level2/3Transport/3Match/resources/truck.png
new file mode 100644
index 0000000..dceb9ef
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/truck.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/resources/truckTXT.png b/Activities/Level2/3Transport/3Match/resources/truckTXT.png
new file mode 100644
index 0000000..5e15ee3
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/resources/truckTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/3Match/screens.txt b/Activities/Level2/3Transport/3Match/screens.txt
new file mode 100644
index 0000000..9cdfc7b
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/screens.txt
@@ -0,0 +1,5 @@
+boatTXT.png itisaboat.ogg boat.png
+carTXT.png itisacar.ogg car.png
+trainTXT.png itisatrain.ogg train.png
+busTXT.png itisabus.ogg bus.png
+truckTXT.png itisatruck.ogg truck.png \ No newline at end of file
diff --git a/Activities/Level2/3Transport/3Match/settings.txt b/Activities/Level2/3Transport/3Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level2/3Transport/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/4Paint/data.txt b/Activities/Level2/3Transport/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/4Paint/ico.png b/Activities/Level2/3Transport/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/bike.png b/Activities/Level2/3Transport/4Paint/resources/bike.png
new file mode 100644
index 0000000..8e9cca6
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/bike.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/boat.png b/Activities/Level2/3Transport/4Paint/resources/boat.png
new file mode 100644
index 0000000..913f8fd
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/boat.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/bus.png b/Activities/Level2/3Transport/4Paint/resources/bus.png
new file mode 100644
index 0000000..5faf9c4
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/bus.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/car.png b/Activities/Level2/3Transport/4Paint/resources/car.png
new file mode 100644
index 0000000..591f3c3
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/car.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/motorcycle.png b/Activities/Level2/3Transport/4Paint/resources/motorcycle.png
new file mode 100644
index 0000000..2a5ec25
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/motorcycle.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/plane.png b/Activities/Level2/3Transport/4Paint/resources/plane.png
new file mode 100644
index 0000000..daab504
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/plane.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/train.png b/Activities/Level2/3Transport/4Paint/resources/train.png
new file mode 100644
index 0000000..2b4e366
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/train.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/resources/truck.png b/Activities/Level2/3Transport/4Paint/resources/truck.png
new file mode 100644
index 0000000..8bfc23b
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/resources/truck.png
Binary files differ
diff --git a/Activities/Level2/3Transport/4Paint/screens.txt b/Activities/Level2/3Transport/4Paint/screens.txt
new file mode 100644
index 0000000..5636afd
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/screens.txt
@@ -0,0 +1,27 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+truck.png truckpurple.ogg purple
+bus.png busyellow.ogg yellow
+train.png traingreen.ogg green
+bike.png bikered.ogg red
+car.png carblack.ogg black
+plane.png planegreen.ogg green
+motorcycle.png motorcycleorange.ogg orange
+boat.png boatwhite.ogg white
+
+
+
+
diff --git a/Activities/Level2/3Transport/4Paint/settings.txt b/Activities/Level2/3Transport/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level2/3Transport/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/5MultipleC/data.txt b/Activities/Level2/3Transport/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/5MultipleC/ico.png b/Activities/Level2/3Transport/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/3Transport/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/bike.png b/Activities/Level2/3Transport/5MultipleC/resources/bike.png
new file mode 100644
index 0000000..b383288
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/bike.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/boat.png b/Activities/Level2/3Transport/5MultipleC/resources/boat.png
new file mode 100644
index 0000000..311068b
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/boat.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/bus.png b/Activities/Level2/3Transport/5MultipleC/resources/bus.png
new file mode 100644
index 0000000..04987f2
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/bus.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/car.png b/Activities/Level2/3Transport/5MultipleC/resources/car.png
new file mode 100644
index 0000000..b7392ec
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/car.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/3Transport/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..a07402b
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/cara_triste_anim.png b/Activities/Level2/3Transport/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..1fa85e3
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/motorcycle.png b/Activities/Level2/3Transport/5MultipleC/resources/motorcycle.png
new file mode 100644
index 0000000..22569d4
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/motorcycle.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/train.png b/Activities/Level2/3Transport/5MultipleC/resources/train.png
new file mode 100644
index 0000000..67d46e6
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/train.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/truck1.png b/Activities/Level2/3Transport/5MultipleC/resources/truck1.png
new file mode 100644
index 0000000..5379a85
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/truck1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/resources/truck2.png b/Activities/Level2/3Transport/5MultipleC/resources/truck2.png
new file mode 100644
index 0000000..1ca7a0f
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/resources/truck2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/5MultipleC/screens.txt b/Activities/Level2/3Transport/5MultipleC/screens.txt
new file mode 100644
index 0000000..ac20959
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+motorcycle.png itisaboat.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+car.png itisacar.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+truck1.png itisaplane.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bus.png itisabus.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bike.png itisamotorcycle.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+truck2.png itisatruck.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boat.png itisaboat.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+train.png itisatrain.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/3Transport/5MultipleC/settings.txt b/Activities/Level2/3Transport/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level2/3Transport/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/6Concentrate/data.txt b/Activities/Level2/3Transport/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/6Concentrate/ico.png b/Activities/Level2/3Transport/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/_BackFace.png b/Activities/Level2/3Transport/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..74813a4
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/bike1.png b/Activities/Level2/3Transport/6Concentrate/resources/bike1.png
new file mode 100644
index 0000000..efa41df
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/bike1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/bike2.png b/Activities/Level2/3Transport/6Concentrate/resources/bike2.png
new file mode 100644
index 0000000..920cd06
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/bike2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/boat1.png b/Activities/Level2/3Transport/6Concentrate/resources/boat1.png
new file mode 100644
index 0000000..a1c6d4c
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/boat1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/boat2.png b/Activities/Level2/3Transport/6Concentrate/resources/boat2.png
new file mode 100644
index 0000000..b4fc33b
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/boat2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/bus1.png b/Activities/Level2/3Transport/6Concentrate/resources/bus1.png
new file mode 100644
index 0000000..7cb04b6
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/bus1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/bus2.png b/Activities/Level2/3Transport/6Concentrate/resources/bus2.png
new file mode 100644
index 0000000..62348e9
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/bus2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/car1.png b/Activities/Level2/3Transport/6Concentrate/resources/car1.png
new file mode 100644
index 0000000..ff31d7d
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/car1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/car2.png b/Activities/Level2/3Transport/6Concentrate/resources/car2.png
new file mode 100644
index 0000000..a06ea51
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/car2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/conc_07_color.jpg b/Activities/Level2/3Transport/6Concentrate/resources/conc_07_color.jpg
new file mode 100644
index 0000000..33fc443
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/conc_07_color.jpg
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/conc_07_mono.jpg b/Activities/Level2/3Transport/6Concentrate/resources/conc_07_mono.jpg
new file mode 100644
index 0000000..6e59f09
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/conc_07_mono.jpg
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/motorcycle1.png b/Activities/Level2/3Transport/6Concentrate/resources/motorcycle1.png
new file mode 100644
index 0000000..e2cfdf4
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/motorcycle1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/motorcycle2.png b/Activities/Level2/3Transport/6Concentrate/resources/motorcycle2.png
new file mode 100644
index 0000000..6e26d1b
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/motorcycle2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/plane1.png b/Activities/Level2/3Transport/6Concentrate/resources/plane1.png
new file mode 100644
index 0000000..3c33967
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/plane1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/plane2.png b/Activities/Level2/3Transport/6Concentrate/resources/plane2.png
new file mode 100644
index 0000000..f6e3132
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/plane2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/train1.png b/Activities/Level2/3Transport/6Concentrate/resources/train1.png
new file mode 100644
index 0000000..c07fd06
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/train1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/train2.png b/Activities/Level2/3Transport/6Concentrate/resources/train2.png
new file mode 100644
index 0000000..df75401
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/train2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/truck1.png b/Activities/Level2/3Transport/6Concentrate/resources/truck1.png
new file mode 100644
index 0000000..b4ef2be
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/truck1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/resources/truck2.png b/Activities/Level2/3Transport/6Concentrate/resources/truck2.png
new file mode 100644
index 0000000..8453f11
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/resources/truck2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/6Concentrate/screen.txt b/Activities/Level2/3Transport/6Concentrate/screen.txt
new file mode 100644
index 0000000..96a9aa4
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_07_mono.jpg:conc_07_color.jpg
+boat1.png boat2.png boat.ogg boat
+bike1.png bike2.png bike.ogg bike
+bus1.png bus2.png bus.ogg bus
+car1.png car2.png car.ogg car
+motorcycle1.png motorcycle2.png motorcycle.ogg motorcycle
+plane1.png plane2.png plane.ogg plane
+train1.png train2.png train.ogg train
+truck1.png truck2.png truck.ogg truck
diff --git a/Activities/Level2/3Transport/6Concentrate/settings.txt b/Activities/Level2/3Transport/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level2/3Transport/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/7DragnDrop/data.txt b/Activities/Level2/3Transport/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/7DragnDrop/ico.png b/Activities/Level2/3Transport/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/3Transport/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/resources/bike.png b/Activities/Level2/3Transport/7DragnDrop/resources/bike.png
new file mode 100644
index 0000000..1e01d06
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/resources/bike.png
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/resources/car.png b/Activities/Level2/3Transport/7DragnDrop/resources/car.png
new file mode 100644
index 0000000..e81fe61
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/resources/car.png
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/resources/icono_play.png b/Activities/Level2/3Transport/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/resources/motorcycle.png b/Activities/Level2/3Transport/7DragnDrop/resources/motorcycle.png
new file mode 100644
index 0000000..871e22f
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/resources/motorcycle.png
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/resources/train.png b/Activities/Level2/3Transport/7DragnDrop/resources/train.png
new file mode 100644
index 0000000..bdf7247
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/resources/train.png
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/resources/truck.png b/Activities/Level2/3Transport/7DragnDrop/resources/truck.png
new file mode 100644
index 0000000..48a8ce9
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/resources/truck.png
Binary files differ
diff --git a/Activities/Level2/3Transport/7DragnDrop/screens.txt b/Activities/Level2/3Transport/7DragnDrop/screens.txt
new file mode 100644
index 0000000..157967c
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+motorcycle:motorcycle.png
+bike:bike.png
+truck:truck.png
+car:car.png
+train:train.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png itisatruck.ogg truck truck
+icono_play.png itisatrain.ogg train train
+icono_play.png itisabike.ogg bike bike
+icono_play.png itisamotorcycle.ogg motorcycle motorcycle
+icono_play.png itisacar.ogg car car
diff --git a/Activities/Level2/3Transport/7DragnDrop/settings.txt b/Activities/Level2/3Transport/7DragnDrop/settings.txt
new file mode 100644
index 0000000..8dc9cdd
--- /dev/null
+++ b/Activities/Level2/3Transport/7DragnDrop/settings.txt
@@ -0,0 +1,17 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 440
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200
+useCenterOfCrayonForText = 1
+letterWidth = 14 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/8Match/data.txt b/Activities/Level2/3Transport/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/8Match/ico.png b/Activities/Level2/3Transport/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/bike.png b/Activities/Level2/3Transport/8Match/resources/bike.png
new file mode 100644
index 0000000..0c6f603
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/bike.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/bikeTXT.png b/Activities/Level2/3Transport/8Match/resources/bikeTXT.png
new file mode 100644
index 0000000..9ea2308
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/bikeTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/boat.png b/Activities/Level2/3Transport/8Match/resources/boat.png
new file mode 100644
index 0000000..790b54b
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/boat.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/boatTXT.png b/Activities/Level2/3Transport/8Match/resources/boatTXT.png
new file mode 100644
index 0000000..748a482
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/boatTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/bus.png b/Activities/Level2/3Transport/8Match/resources/bus.png
new file mode 100644
index 0000000..4b8422b
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/bus.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/busTXT.png b/Activities/Level2/3Transport/8Match/resources/busTXT.png
new file mode 100644
index 0000000..8e9309e
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/busTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/motorcycle.png b/Activities/Level2/3Transport/8Match/resources/motorcycle.png
new file mode 100644
index 0000000..cdf3259
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/motorcycle.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/motorcycleTXT.png b/Activities/Level2/3Transport/8Match/resources/motorcycleTXT.png
new file mode 100644
index 0000000..2cf9721
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/motorcycleTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/plane.png b/Activities/Level2/3Transport/8Match/resources/plane.png
new file mode 100644
index 0000000..304deca
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/plane.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/resources/planeTXT.png b/Activities/Level2/3Transport/8Match/resources/planeTXT.png
new file mode 100644
index 0000000..8f660bd
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/resources/planeTXT.png
Binary files differ
diff --git a/Activities/Level2/3Transport/8Match/screens.txt b/Activities/Level2/3Transport/8Match/screens.txt
new file mode 100644
index 0000000..1747488
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/screens.txt
@@ -0,0 +1,5 @@
+boatTXT.png itisaboat.ogg boat.png
+motorcycleTXT.png itisamotorcycle.ogg motorcycle.png
+planeTXT.png itisaplane.ogg plane.png
+bikeTXT.png itisabike.ogg bike.png
+busTXT.png itisabus.ogg bus.png \ No newline at end of file
diff --git a/Activities/Level2/3Transport/8Match/settings.txt b/Activities/Level2/3Transport/8Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level2/3Transport/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/9MultipleC/data.txt b/Activities/Level2/3Transport/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/3Transport/9MultipleC/ico.png b/Activities/Level2/3Transport/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/3Transport/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/bike.png b/Activities/Level2/3Transport/9MultipleC/resources/bike.png
new file mode 100644
index 0000000..ee6a88b
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/bike.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/bus1.png b/Activities/Level2/3Transport/9MultipleC/resources/bus1.png
new file mode 100644
index 0000000..04987f2
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/bus1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/bus2.png b/Activities/Level2/3Transport/9MultipleC/resources/bus2.png
new file mode 100644
index 0000000..a6031dc
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/bus2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/3Transport/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..2e0e6be
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/cara_triste_anim.png b/Activities/Level2/3Transport/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..5e52bda
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/motorcycle.png b/Activities/Level2/3Transport/9MultipleC/resources/motorcycle.png
new file mode 100644
index 0000000..22569d4
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/motorcycle.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/train.png b/Activities/Level2/3Transport/9MultipleC/resources/train.png
new file mode 100644
index 0000000..67d46e6
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/train.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/truck1.png b/Activities/Level2/3Transport/9MultipleC/resources/truck1.png
new file mode 100644
index 0000000..1ca7a0f
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/truck1.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/resources/truck2.png b/Activities/Level2/3Transport/9MultipleC/resources/truck2.png
new file mode 100644
index 0000000..5379a85
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/resources/truck2.png
Binary files differ
diff --git a/Activities/Level2/3Transport/9MultipleC/screens.txt b/Activities/Level2/3Transport/9MultipleC/screens.txt
new file mode 100644
index 0000000..80e2469
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+train.png itisatrain.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bus1.png itisacar.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+motorcycle.png itisatruck.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bike.png itisabike.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+truck1.png itisaplane.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+bus2.png itisabus.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+truck2.png itisaboat.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+motorcycle.png itisamotorcycle.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/3Transport/9MultipleC/settings.txt b/Activities/Level2/3Transport/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level2/3Transport/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/3Transport/btn_act.bmp b/Activities/Level2/3Transport/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level2/3Transport/btn_act.bmp
Binary files differ
diff --git a/Activities/Level2/3Transport/btn_act.png b/Activities/Level2/3Transport/btn_act.png
new file mode 100644
index 0000000..53a5d90
--- /dev/null
+++ b/Activities/Level2/3Transport/btn_act.png
Binary files differ
diff --git a/Activities/Level2/3Transport/ico.png b/Activities/Level2/3Transport/ico.png
new file mode 100644
index 0000000..5bd2be6
--- /dev/null
+++ b/Activities/Level2/3Transport/ico.png
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/Twinkle.ogg b/Activities/Level2/3Transport/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/bike.ogg b/Activities/Level2/3Transport/sounds/bike.ogg
new file mode 100644
index 0000000..0242948
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/bike.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/bikered.ogg b/Activities/Level2/3Transport/sounds/bikered.ogg
new file mode 100644
index 0000000..3eab09d
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/bikered.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/bing.ogg b/Activities/Level2/3Transport/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/boat.ogg b/Activities/Level2/3Transport/sounds/boat.ogg
new file mode 100644
index 0000000..b49e370
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/boat.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/boatwhite.ogg b/Activities/Level2/3Transport/sounds/boatwhite.ogg
new file mode 100644
index 0000000..025825e
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/boatwhite.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/bus.ogg b/Activities/Level2/3Transport/sounds/bus.ogg
new file mode 100644
index 0000000..6559da6
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/bus.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/busyellow.ogg b/Activities/Level2/3Transport/sounds/busyellow.ogg
new file mode 100644
index 0000000..2c85ae3
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/busyellow.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/car.ogg b/Activities/Level2/3Transport/sounds/car.ogg
new file mode 100644
index 0000000..b355d72
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/car.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/carblack.ogg b/Activities/Level2/3Transport/sounds/carblack.ogg
new file mode 100644
index 0000000..0855e7a
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/carblack.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/chord.ogg b/Activities/Level2/3Transport/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/ding.ogg b/Activities/Level2/3Transport/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisabike.ogg b/Activities/Level2/3Transport/sounds/itisabike.ogg
new file mode 100644
index 0000000..69b90da
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisabike.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisaboat.ogg b/Activities/Level2/3Transport/sounds/itisaboat.ogg
new file mode 100644
index 0000000..b5bd4fa
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisaboat.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisabus.ogg b/Activities/Level2/3Transport/sounds/itisabus.ogg
new file mode 100644
index 0000000..2a168a2
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisabus.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisacar.ogg b/Activities/Level2/3Transport/sounds/itisacar.ogg
new file mode 100644
index 0000000..3577934
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisacar.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisamotorcycle.ogg b/Activities/Level2/3Transport/sounds/itisamotorcycle.ogg
new file mode 100644
index 0000000..7d898f6
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisamotorcycle.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisaplane.ogg b/Activities/Level2/3Transport/sounds/itisaplane.ogg
new file mode 100644
index 0000000..6154426
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisaplane.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisatrain.ogg b/Activities/Level2/3Transport/sounds/itisatrain.ogg
new file mode 100644
index 0000000..1ca587c
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisatrain.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/itisatruck.ogg b/Activities/Level2/3Transport/sounds/itisatruck.ogg
new file mode 100644
index 0000000..4bede2d
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/itisatruck.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/motorcycle.ogg b/Activities/Level2/3Transport/sounds/motorcycle.ogg
new file mode 100644
index 0000000..8cfdf90
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/motorcycle.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/motorcycleorange.ogg b/Activities/Level2/3Transport/sounds/motorcycleorange.ogg
new file mode 100644
index 0000000..971b31a
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/motorcycleorange.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/plane.ogg b/Activities/Level2/3Transport/sounds/plane.ogg
new file mode 100644
index 0000000..47d2a1f
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/plane.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/planegreen.ogg b/Activities/Level2/3Transport/sounds/planegreen.ogg
new file mode 100644
index 0000000..0de3818
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/planegreen.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/train.ogg b/Activities/Level2/3Transport/sounds/train.ogg
new file mode 100644
index 0000000..ecb13cd
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/train.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/traingreen.ogg b/Activities/Level2/3Transport/sounds/traingreen.ogg
new file mode 100644
index 0000000..37fdafe
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/traingreen.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/truck.ogg b/Activities/Level2/3Transport/sounds/truck.ogg
new file mode 100644
index 0000000..66aa035
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/truck.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/truckpurple.ogg b/Activities/Level2/3Transport/sounds/truckpurple.ogg
new file mode 100644
index 0000000..c6d783a
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/truckpurple.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/unitSound.ogg b/Activities/Level2/3Transport/sounds/unitSound.ogg
new file mode 100644
index 0000000..ff0e563
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/sounds/whatisit.ogg b/Activities/Level2/3Transport/sounds/whatisit.ogg
new file mode 100644
index 0000000..38ab2a4
--- /dev/null
+++ b/Activities/Level2/3Transport/sounds/whatisit.ogg
Binary files differ
diff --git a/Activities/Level2/3Transport/unitMarker.png b/Activities/Level2/3Transport/unitMarker.png
new file mode 100644
index 0000000..845ec57
--- /dev/null
+++ b/Activities/Level2/3Transport/unitMarker.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/data.txt b/Activities/Level2/4Weather/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/1Sort/ico.png b/Activities/Level2/4Weather/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/4Weather/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/moon.png b/Activities/Level2/4Weather/1Sort/resources/moon.png
new file mode 100644
index 0000000..5811979
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/moon.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/moonSIL.png b/Activities/Level2/4Weather/1Sort/resources/moonSIL.png
new file mode 100644
index 0000000..8f3e057
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/moonSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/rainbow.png b/Activities/Level2/4Weather/1Sort/resources/rainbow.png
new file mode 100644
index 0000000..5462290
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/rainbow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/rainbowSIL.png b/Activities/Level2/4Weather/1Sort/resources/rainbowSIL.png
new file mode 100644
index 0000000..bdfd68e
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/rainbowSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/stars.png b/Activities/Level2/4Weather/1Sort/resources/stars.png
new file mode 100644
index 0000000..25dbb49
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/stars.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/starsSIL.png b/Activities/Level2/4Weather/1Sort/resources/starsSIL.png
new file mode 100644
index 0000000..205fdb1
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/starsSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/sun.png b/Activities/Level2/4Weather/1Sort/resources/sun.png
new file mode 100644
index 0000000..8f8c15f
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/sun.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/resources/sunSIL.png b/Activities/Level2/4Weather/1Sort/resources/sunSIL.png
new file mode 100644
index 0000000..95e8e23
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/resources/sunSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/1Sort/screens.txt b/Activities/Level2/4Weather/1Sort/screens.txt
new file mode 100644
index 0000000..b1ce53d
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+moon:moonSIL.png
+rainbow:rainbowSIL.png
+sun:sunSIL.png
+stars:starsSIL.png
+CRAYONS:
+stars.png [whatarethey.ogg,theyarestars.ogg] stars stars
+moon.png [whatisit.ogg,itisthemoon.ogg] moon moon
+rainbow.png [whatisit.ogg,itisarainbow.ogg] rainbow rainbow
+sun.png [whatisit.ogg,itisthesun.ogg] sun sun
+
+screen2:
+BINS:keepstate
+moon:moonSIL.png
+rainbow:rainbowSIL.png
+sun:sunSIL.png
+stars:starsSIL.png
+CRAYONS:
+rainbow.png [whatisit.ogg,itisarainbow.ogg] rainbow rainbow
+stars.png [whatarethey.ogg,theyarestars.ogg] stars stars
+sun.png [whatisit.ogg,itisthesun.ogg] sun sun
+moon.png [whatisit.ogg,itisthemoon.ogg] moon moon
diff --git a/Activities/Level2/4Weather/1Sort/settings.txt b/Activities/Level2/4Weather/1Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level2/4Weather/1Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/2Sort/data.txt b/Activities/Level2/4Weather/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/2Sort/ico.png b/Activities/Level2/4Weather/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/4Weather/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/cloud.png b/Activities/Level2/4Weather/2Sort/resources/cloud.png
new file mode 100644
index 0000000..61bf93b
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/cloud.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/cloudSIL.png b/Activities/Level2/4Weather/2Sort/resources/cloudSIL.png
new file mode 100644
index 0000000..e2b1494
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/cloudSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/lightning.png b/Activities/Level2/4Weather/2Sort/resources/lightning.png
new file mode 100644
index 0000000..d62ac53
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/lightning.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/lightningSIL.png b/Activities/Level2/4Weather/2Sort/resources/lightningSIL.png
new file mode 100644
index 0000000..16e0977
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/lightningSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/rain.png b/Activities/Level2/4Weather/2Sort/resources/rain.png
new file mode 100644
index 0000000..b5abb69
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/rain.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/rainSIL.png b/Activities/Level2/4Weather/2Sort/resources/rainSIL.png
new file mode 100644
index 0000000..30c7104
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/rainSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/snow.png b/Activities/Level2/4Weather/2Sort/resources/snow.png
new file mode 100644
index 0000000..4282092
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/snow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/resources/snowSIL.png b/Activities/Level2/4Weather/2Sort/resources/snowSIL.png
new file mode 100644
index 0000000..36a2681
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/resources/snowSIL.png
Binary files differ
diff --git a/Activities/Level2/4Weather/2Sort/screens.txt b/Activities/Level2/4Weather/2Sort/screens.txt
new file mode 100644
index 0000000..e0b90da
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/screens.txt
@@ -0,0 +1,25 @@
+screen1:
+BINS:
+rain:rainSIL.png
+lightning:lightningSIL.png
+cloud:cloudSIL.png
+snow:snowSIL.png
+CRAYONS:
+cloud.png [whatisit_f.ogg,itisacloud.ogg] cloud cloud
+snow.png [whatisit_f.ogg,itissnow.ogg] snow snow
+lightning.png [whatisit_f.ogg,itislightning.ogg] lightning lightning
+rain.png [whatisit.ogg,itisrain.ogg] rain rain
+
+screen2:
+BINS:keepstate
+rain:rainSIL.png
+lightning:lightningSIL.png
+cloud:cloudSIL.png
+snow:snowSIL.png
+CRAYONS:
+snow.png [whatisit_f.ogg,itissnow.ogg] snow snow
+cloud.png [whatisit_f.ogg,itisacloud.ogg] cloud cloud
+lightning.png [whatisit_f.ogg,itislightning.ogg] lightning lightning
+rain.png [whatisit.ogg,itisrain.ogg] rain rain
+
+
diff --git a/Activities/Level2/4Weather/2Sort/settings.txt b/Activities/Level2/4Weather/2Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level2/4Weather/2Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/3Match/data.txt b/Activities/Level2/4Weather/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/3Match/ico.png b/Activities/Level2/4Weather/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/cloud.png b/Activities/Level2/4Weather/3Match/resources/cloud.png
new file mode 100644
index 0000000..f3534bd
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/cloud.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/cloudTXT.png b/Activities/Level2/4Weather/3Match/resources/cloudTXT.png
new file mode 100644
index 0000000..0980772
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/cloudTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/rainbow.png b/Activities/Level2/4Weather/3Match/resources/rainbow.png
new file mode 100644
index 0000000..b79d425
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/rainbow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/rainbowTXT.png b/Activities/Level2/4Weather/3Match/resources/rainbowTXT.png
new file mode 100644
index 0000000..0c243a8
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/rainbowTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/snow.png b/Activities/Level2/4Weather/3Match/resources/snow.png
new file mode 100644
index 0000000..41d2599
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/snow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/snowTXT.png b/Activities/Level2/4Weather/3Match/resources/snowTXT.png
new file mode 100644
index 0000000..70c125e
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/snowTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/stars.png b/Activities/Level2/4Weather/3Match/resources/stars.png
new file mode 100644
index 0000000..f00d40c
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/stars.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/starsTXT.png b/Activities/Level2/4Weather/3Match/resources/starsTXT.png
new file mode 100644
index 0000000..d19a960
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/starsTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/sun.png b/Activities/Level2/4Weather/3Match/resources/sun.png
new file mode 100644
index 0000000..4870d4d
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/sun.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/resources/sunTXT.png b/Activities/Level2/4Weather/3Match/resources/sunTXT.png
new file mode 100644
index 0000000..b13ed0a
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/resources/sunTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/3Match/screens.txt b/Activities/Level2/4Weather/3Match/screens.txt
new file mode 100644
index 0000000..a7d0214
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/screens.txt
@@ -0,0 +1,5 @@
+starsTXT.png theyarestars.ogg stars.png
+rainbowTXT.png itisarainbow.ogg rainbow.png
+snowTXT.png itissnow.ogg snow.png
+cloudTXT.png itisacloud.ogg cloud.png
+sunTXT.png itisthesun.ogg sun.png \ No newline at end of file
diff --git a/Activities/Level2/4Weather/3Match/settings.txt b/Activities/Level2/4Weather/3Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level2/4Weather/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/4Paint/data.txt b/Activities/Level2/4Weather/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/4Paint/ico.png b/Activities/Level2/4Weather/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/cloud.png b/Activities/Level2/4Weather/4Paint/resources/cloud.png
new file mode 100644
index 0000000..f497e89
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/cloud.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/lightning.png b/Activities/Level2/4Weather/4Paint/resources/lightning.png
new file mode 100644
index 0000000..7f95316
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/lightning.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/moon.png b/Activities/Level2/4Weather/4Paint/resources/moon.png
new file mode 100644
index 0000000..7bb2105
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/moon.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/rain.png b/Activities/Level2/4Weather/4Paint/resources/rain.png
new file mode 100644
index 0000000..abbf7a0
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/rain.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/rainbow.png b/Activities/Level2/4Weather/4Paint/resources/rainbow.png
new file mode 100644
index 0000000..0356354
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/rainbow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/snow.png b/Activities/Level2/4Weather/4Paint/resources/snow.png
new file mode 100644
index 0000000..ebaec37
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/snow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/stars.png b/Activities/Level2/4Weather/4Paint/resources/stars.png
new file mode 100644
index 0000000..30d7d0f
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/stars.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/resources/sun.png b/Activities/Level2/4Weather/4Paint/resources/sun.png
new file mode 100644
index 0000000..6aabf72
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/resources/sun.png
Binary files differ
diff --git a/Activities/Level2/4Weather/4Paint/screens.txt b/Activities/Level2/4Weather/4Paint/screens.txt
new file mode 100644
index 0000000..b7b976c
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/screens.txt
@@ -0,0 +1,27 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+cloud.png cloudpurple.ogg purple
+lightning.png lightningyellow.ogg yellow
+rain.png raingreen.ogg green
+stars.png starsred.ogg red
+rainbow.png rainbowblack.ogg black
+moon.png moonblue.ogg blue
+sun.png sunorange.ogg orange
+snow.png snowwhite.ogg white
+
+
+
+
diff --git a/Activities/Level2/4Weather/4Paint/settings.txt b/Activities/Level2/4Weather/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level2/4Weather/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/5MultipleC/data.txt b/Activities/Level2/4Weather/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/5MultipleC/ico.png b/Activities/Level2/4Weather/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/4Weather/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/4Weather/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..7eba0f7
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/cara_triste_anim.png b/Activities/Level2/4Weather/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..194f897
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/cloud1.png b/Activities/Level2/4Weather/5MultipleC/resources/cloud1.png
new file mode 100644
index 0000000..4e20a87
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/cloud1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/cloud2.png b/Activities/Level2/4Weather/5MultipleC/resources/cloud2.png
new file mode 100644
index 0000000..55c44b5
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/cloud2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/lightning.png b/Activities/Level2/4Weather/5MultipleC/resources/lightning.png
new file mode 100644
index 0000000..c9fc5fc
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/lightning.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/rain.png b/Activities/Level2/4Weather/5MultipleC/resources/rain.png
new file mode 100644
index 0000000..f6ffceb
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/rain.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/stars1.png b/Activities/Level2/4Weather/5MultipleC/resources/stars1.png
new file mode 100644
index 0000000..1f26fff
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/stars1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/stars2.png b/Activities/Level2/4Weather/5MultipleC/resources/stars2.png
new file mode 100644
index 0000000..0a712fd
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/stars2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/resources/sun.png b/Activities/Level2/4Weather/5MultipleC/resources/sun.png
new file mode 100644
index 0000000..a609a7a
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/resources/sun.png
Binary files differ
diff --git a/Activities/Level2/4Weather/5MultipleC/screens.txt b/Activities/Level2/4Weather/5MultipleC/screens.txt
new file mode 100644
index 0000000..5687b2b
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+lightning.png itislightning.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+sun.png itisthesun.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+rain.png itisrain.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+stars1.png itisacloud.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+cloud1.png itissnow.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+cloud2.png itisacloud.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+stars2.png itisthemoon.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+stars1.png theyarestars.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/4Weather/5MultipleC/settings.txt b/Activities/Level2/4Weather/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level2/4Weather/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/6Concentrate/data.txt b/Activities/Level2/4Weather/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/6Concentrate/ico.png b/Activities/Level2/4Weather/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/_BackFace.png b/Activities/Level2/4Weather/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..283d3ad
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/cloud1.png b/Activities/Level2/4Weather/6Concentrate/resources/cloud1.png
new file mode 100644
index 0000000..27ed944
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/cloud1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/cloud2.png b/Activities/Level2/4Weather/6Concentrate/resources/cloud2.png
new file mode 100644
index 0000000..5ce2c02
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/cloud2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/conc_08_color.jpg b/Activities/Level2/4Weather/6Concentrate/resources/conc_08_color.jpg
new file mode 100644
index 0000000..3a0f7ca
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/conc_08_color.jpg
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/conc_08_mono.jpg b/Activities/Level2/4Weather/6Concentrate/resources/conc_08_mono.jpg
new file mode 100644
index 0000000..510d405
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/conc_08_mono.jpg
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/lightning1.png b/Activities/Level2/4Weather/6Concentrate/resources/lightning1.png
new file mode 100644
index 0000000..d698835
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/lightning1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/lightning2.png b/Activities/Level2/4Weather/6Concentrate/resources/lightning2.png
new file mode 100644
index 0000000..9566d2f
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/lightning2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/moon1.png b/Activities/Level2/4Weather/6Concentrate/resources/moon1.png
new file mode 100644
index 0000000..7ed5d2a
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/moon1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/moon2.png b/Activities/Level2/4Weather/6Concentrate/resources/moon2.png
new file mode 100644
index 0000000..858f52f
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/moon2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/rain1.png b/Activities/Level2/4Weather/6Concentrate/resources/rain1.png
new file mode 100644
index 0000000..642dd6a
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/rain1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/rain2.png b/Activities/Level2/4Weather/6Concentrate/resources/rain2.png
new file mode 100644
index 0000000..31cf2ac
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/rain2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/rainbow1.png b/Activities/Level2/4Weather/6Concentrate/resources/rainbow1.png
new file mode 100644
index 0000000..a0c3c52
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/rainbow1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/rainbow2.png b/Activities/Level2/4Weather/6Concentrate/resources/rainbow2.png
new file mode 100644
index 0000000..fa042a8
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/rainbow2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/snow1.png b/Activities/Level2/4Weather/6Concentrate/resources/snow1.png
new file mode 100644
index 0000000..7fdec7d
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/snow1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/snow2.png b/Activities/Level2/4Weather/6Concentrate/resources/snow2.png
new file mode 100644
index 0000000..d12cd56
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/snow2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/stars1.png b/Activities/Level2/4Weather/6Concentrate/resources/stars1.png
new file mode 100644
index 0000000..d01a852
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/stars1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/stars2.png b/Activities/Level2/4Weather/6Concentrate/resources/stars2.png
new file mode 100644
index 0000000..23eb6c7
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/stars2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/sun1.png b/Activities/Level2/4Weather/6Concentrate/resources/sun1.png
new file mode 100644
index 0000000..6e534f9
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/sun1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/resources/sun2.png b/Activities/Level2/4Weather/6Concentrate/resources/sun2.png
new file mode 100644
index 0000000..27a53bd
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/resources/sun2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/6Concentrate/screen.txt b/Activities/Level2/4Weather/6Concentrate/screen.txt
new file mode 100644
index 0000000..0efa668
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_08_mono.jpg:conc_08_color.jpg
+cloud1.png cloud2.png cloud.ogg cloud
+lightning1.png lightning2.png lightning.ogg lightning
+moon1.png moon2.png moon.ogg moon
+rain1.png rain2.png rain.ogg rain
+rainbow1.png rainbow2.png rainbow.ogg rainbow
+snow1.png snow2.png snow.ogg snow
+stars1.png stars2.png stars.ogg stars
+sun1.png sun2.png sun.ogg sun
diff --git a/Activities/Level2/4Weather/6Concentrate/settings.txt b/Activities/Level2/4Weather/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level2/4Weather/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/7DragnDrop/data.txt b/Activities/Level2/4Weather/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/7DragnDrop/ico.png b/Activities/Level2/4Weather/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/4Weather/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/resources/icono_play.png b/Activities/Level2/4Weather/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/resources/lightning.png b/Activities/Level2/4Weather/7DragnDrop/resources/lightning.png
new file mode 100644
index 0000000..d62ac53
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/resources/lightning.png
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/resources/moon.png b/Activities/Level2/4Weather/7DragnDrop/resources/moon.png
new file mode 100644
index 0000000..5811979
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/resources/moon.png
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/resources/rain.png b/Activities/Level2/4Weather/7DragnDrop/resources/rain.png
new file mode 100644
index 0000000..b5abb69
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/resources/rain.png
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/resources/snow.png b/Activities/Level2/4Weather/7DragnDrop/resources/snow.png
new file mode 100644
index 0000000..f1fd799
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/resources/snow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/resources/sun.png b/Activities/Level2/4Weather/7DragnDrop/resources/sun.png
new file mode 100644
index 0000000..8f8c15f
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/resources/sun.png
Binary files differ
diff --git a/Activities/Level2/4Weather/7DragnDrop/screens.txt b/Activities/Level2/4Weather/7DragnDrop/screens.txt
new file mode 100644
index 0000000..c68a08f
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+moon:moon.png
+rain:rain.png
+lightning:lightning.png
+sun:sun.png
+snow:snow.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png itisthesun.ogg sun sun
+icono_play.png itislightning.ogg lightning lightning
+icono_play.png itisthemoon.ogg moon moon
+icono_play.png itissnow.ogg snow snow
+icono_play.png itisrain.ogg rain rain
diff --git a/Activities/Level2/4Weather/7DragnDrop/settings.txt b/Activities/Level2/4Weather/7DragnDrop/settings.txt
new file mode 100644
index 0000000..4d9810d
--- /dev/null
+++ b/Activities/Level2/4Weather/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 440
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/8Match/data.txt b/Activities/Level2/4Weather/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/8Match/ico.png b/Activities/Level2/4Weather/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/cloud.png b/Activities/Level2/4Weather/8Match/resources/cloud.png
new file mode 100644
index 0000000..9fc5609
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/cloud.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/cloudTXT.png b/Activities/Level2/4Weather/8Match/resources/cloudTXT.png
new file mode 100644
index 0000000..0980772
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/cloudTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/lightning.png b/Activities/Level2/4Weather/8Match/resources/lightning.png
new file mode 100644
index 0000000..edca4e5
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/lightning.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/lightningTXT.png b/Activities/Level2/4Weather/8Match/resources/lightningTXT.png
new file mode 100644
index 0000000..c66d736
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/lightningTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/moon.png b/Activities/Level2/4Weather/8Match/resources/moon.png
new file mode 100644
index 0000000..22fa5bb
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/moon.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/moonTXT.png b/Activities/Level2/4Weather/8Match/resources/moonTXT.png
new file mode 100644
index 0000000..63c5771
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/moonTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/rain.png b/Activities/Level2/4Weather/8Match/resources/rain.png
new file mode 100644
index 0000000..a8950b8
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/rain.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/rainTXT.png b/Activities/Level2/4Weather/8Match/resources/rainTXT.png
new file mode 100644
index 0000000..1397742
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/rainTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/stars.png b/Activities/Level2/4Weather/8Match/resources/stars.png
new file mode 100644
index 0000000..ad3146b
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/stars.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/resources/starsTXT.png b/Activities/Level2/4Weather/8Match/resources/starsTXT.png
new file mode 100644
index 0000000..d19a960
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/resources/starsTXT.png
Binary files differ
diff --git a/Activities/Level2/4Weather/8Match/screens.txt b/Activities/Level2/4Weather/8Match/screens.txt
new file mode 100644
index 0000000..31887d5
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/screens.txt
@@ -0,0 +1,5 @@
+rainTXT.png itisrain.ogg rain.png
+moonTXT.png itisthemoon.ogg moon.png
+cloudTXT.png itisacloud.ogg cloud.png
+lightningTXT.png itislightning.ogg lightning.png
+starsTXT.png theyarestars.ogg stars.png \ No newline at end of file
diff --git a/Activities/Level2/4Weather/8Match/settings.txt b/Activities/Level2/4Weather/8Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level2/4Weather/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/9MultipleC/data.txt b/Activities/Level2/4Weather/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level2/4Weather/9MultipleC/ico.png b/Activities/Level2/4Weather/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level2/4Weather/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level2/4Weather/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..b00920f
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/cara_triste_anim.png b/Activities/Level2/4Weather/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..26c0c65
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/cloud.png b/Activities/Level2/4Weather/9MultipleC/resources/cloud.png
new file mode 100644
index 0000000..9cc4cc9
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/cloud.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/lightning1.png b/Activities/Level2/4Weather/9MultipleC/resources/lightning1.png
new file mode 100644
index 0000000..2e94a84
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/lightning1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/lightning2.png b/Activities/Level2/4Weather/9MultipleC/resources/lightning2.png
new file mode 100644
index 0000000..c2ab76e
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/lightning2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/moon.png b/Activities/Level2/4Weather/9MultipleC/resources/moon.png
new file mode 100644
index 0000000..6741883
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/moon.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/rain1.png b/Activities/Level2/4Weather/9MultipleC/resources/rain1.png
new file mode 100644
index 0000000..2932fe6
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/rain1.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/rain2.png b/Activities/Level2/4Weather/9MultipleC/resources/rain2.png
new file mode 100644
index 0000000..a0609e0
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/rain2.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/resources/rainbow.png b/Activities/Level2/4Weather/9MultipleC/resources/rainbow.png
new file mode 100644
index 0000000..ed569f2
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/resources/rainbow.png
Binary files differ
diff --git a/Activities/Level2/4Weather/9MultipleC/screens.txt b/Activities/Level2/4Weather/9MultipleC/screens.txt
new file mode 100644
index 0000000..ce25048
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+cloud.png itisacloud.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+lightning1.png itisthemoon.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+rain1.png itisarainbow.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+rainbow.png itisarainbow.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+lightning2.png itisrain.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+rain2.png itissnow.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+moon.png itisthemoon.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+lightning1.png itislightning.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level2/4Weather/9MultipleC/settings.txt b/Activities/Level2/4Weather/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level2/4Weather/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level2/4Weather/btn_act.bmp b/Activities/Level2/4Weather/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level2/4Weather/btn_act.bmp
Binary files differ
diff --git a/Activities/Level2/4Weather/btn_act.png b/Activities/Level2/4Weather/btn_act.png
new file mode 100644
index 0000000..53a5d90
--- /dev/null
+++ b/Activities/Level2/4Weather/btn_act.png
Binary files differ
diff --git a/Activities/Level2/4Weather/ico.png b/Activities/Level2/4Weather/ico.png
new file mode 100644
index 0000000..0c38b21
--- /dev/null
+++ b/Activities/Level2/4Weather/ico.png
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/Twinkle.ogg b/Activities/Level2/4Weather/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/bing.ogg b/Activities/Level2/4Weather/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/chord.ogg b/Activities/Level2/4Weather/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/cloud.ogg b/Activities/Level2/4Weather/sounds/cloud.ogg
new file mode 100644
index 0000000..ec7abdb
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/cloud.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/cloudpurple.ogg b/Activities/Level2/4Weather/sounds/cloudpurple.ogg
new file mode 100644
index 0000000..971472c
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/cloudpurple.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/ding.ogg b/Activities/Level2/4Weather/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itisacloud.ogg b/Activities/Level2/4Weather/sounds/itisacloud.ogg
new file mode 100644
index 0000000..03d2885
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itisacloud.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itisarainbow.ogg b/Activities/Level2/4Weather/sounds/itisarainbow.ogg
new file mode 100644
index 0000000..413848e
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itisarainbow.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itislightning.ogg b/Activities/Level2/4Weather/sounds/itislightning.ogg
new file mode 100644
index 0000000..8f0ce10
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itislightning.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itisrain.ogg b/Activities/Level2/4Weather/sounds/itisrain.ogg
new file mode 100644
index 0000000..84a7120
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itisrain.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itissnow.ogg b/Activities/Level2/4Weather/sounds/itissnow.ogg
new file mode 100644
index 0000000..d2ca1f5
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itissnow.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itisthemoon.ogg b/Activities/Level2/4Weather/sounds/itisthemoon.ogg
new file mode 100644
index 0000000..660a2e0
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itisthemoon.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itistherain.ogg b/Activities/Level2/4Weather/sounds/itistherain.ogg
new file mode 100644
index 0000000..89f0590
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itistherain.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/itisthesun.ogg b/Activities/Level2/4Weather/sounds/itisthesun.ogg
new file mode 100644
index 0000000..63f6fa6
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/itisthesun.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/lightning.ogg b/Activities/Level2/4Weather/sounds/lightning.ogg
new file mode 100644
index 0000000..6f5c10b
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/lightning.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/lightningyellow.ogg b/Activities/Level2/4Weather/sounds/lightningyellow.ogg
new file mode 100644
index 0000000..4b60766
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/lightningyellow.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/moon.ogg b/Activities/Level2/4Weather/sounds/moon.ogg
new file mode 100644
index 0000000..6f9ee79
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/moon.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/moonblue.ogg b/Activities/Level2/4Weather/sounds/moonblue.ogg
new file mode 100644
index 0000000..dbe5d65
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/moonblue.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/rain.ogg b/Activities/Level2/4Weather/sounds/rain.ogg
new file mode 100644
index 0000000..c016971
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/rain.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/rainbow.ogg b/Activities/Level2/4Weather/sounds/rainbow.ogg
new file mode 100644
index 0000000..8d33f06
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/rainbow.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/rainbowblack.ogg b/Activities/Level2/4Weather/sounds/rainbowblack.ogg
new file mode 100644
index 0000000..e1af244
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/rainbowblack.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/raingreen.ogg b/Activities/Level2/4Weather/sounds/raingreen.ogg
new file mode 100644
index 0000000..9bcf911
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/raingreen.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/rainpurple.ogg b/Activities/Level2/4Weather/sounds/rainpurple.ogg
new file mode 100644
index 0000000..22bae08
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/rainpurple.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/snow.ogg b/Activities/Level2/4Weather/sounds/snow.ogg
new file mode 100644
index 0000000..9051593
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/snow.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/snowwhite.ogg b/Activities/Level2/4Weather/sounds/snowwhite.ogg
new file mode 100644
index 0000000..747e8f5
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/snowwhite.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/stars.ogg b/Activities/Level2/4Weather/sounds/stars.ogg
new file mode 100644
index 0000000..759b23a
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/stars.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/starsred.ogg b/Activities/Level2/4Weather/sounds/starsred.ogg
new file mode 100644
index 0000000..2c21bb6
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/starsred.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/sun.ogg b/Activities/Level2/4Weather/sounds/sun.ogg
new file mode 100644
index 0000000..6a57fba
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/sun.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/sunorange.ogg b/Activities/Level2/4Weather/sounds/sunorange.ogg
new file mode 100644
index 0000000..b59efee
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/sunorange.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/theyarestars.ogg b/Activities/Level2/4Weather/sounds/theyarestars.ogg
new file mode 100644
index 0000000..a5069f1
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/theyarestars.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/unitSound.ogg b/Activities/Level2/4Weather/sounds/unitSound.ogg
new file mode 100644
index 0000000..308b139
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/whatarethey.ogg b/Activities/Level2/4Weather/sounds/whatarethey.ogg
new file mode 100644
index 0000000..07721a4
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/whatarethey.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/whatisit.ogg b/Activities/Level2/4Weather/sounds/whatisit.ogg
new file mode 100644
index 0000000..aa0c6cc
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/whatisit.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/sounds/whatisit_f.ogg b/Activities/Level2/4Weather/sounds/whatisit_f.ogg
new file mode 100644
index 0000000..38ab2a4
--- /dev/null
+++ b/Activities/Level2/4Weather/sounds/whatisit_f.ogg
Binary files differ
diff --git a/Activities/Level2/4Weather/unitMarker.png b/Activities/Level2/4Weather/unitMarker.png
new file mode 100644
index 0000000..dc53712
--- /dev/null
+++ b/Activities/Level2/4Weather/unitMarker.png
Binary files differ
diff --git a/Activities/Level2/btn_unit.png b/Activities/Level2/btn_unit.png
new file mode 100644
index 0000000..7175aad
--- /dev/null
+++ b/Activities/Level2/btn_unit.png
Binary files differ
diff --git a/Activities/Level2/ico.png b/Activities/Level2/ico.png
new file mode 100644
index 0000000..048a339
--- /dev/null
+++ b/Activities/Level2/ico.png
Binary files differ
diff --git a/Activities/Level2/ico_grande.png b/Activities/Level2/ico_grande.png
new file mode 100644
index 0000000..d583c78
--- /dev/null
+++ b/Activities/Level2/ico_grande.png
Binary files differ
diff --git a/Activities/Level2/menu_fdo_act.png b/Activities/Level2/menu_fdo_act.png
new file mode 100644
index 0000000..1e18f38
--- /dev/null
+++ b/Activities/Level2/menu_fdo_act.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/data.txt b/Activities/Level3/1Things/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/1Sort/ico.png b/Activities/Level3/1Things/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/1Things/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/chair.png b/Activities/Level3/1Things/1Sort/resources/chair.png
new file mode 100644
index 0000000..a6de985
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/chair.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/chairSIL.png b/Activities/Level3/1Things/1Sort/resources/chairSIL.png
new file mode 100644
index 0000000..87a079b
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/chairSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/computer.png b/Activities/Level3/1Things/1Sort/resources/computer.png
new file mode 100644
index 0000000..13d7d0f
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/computer.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/computerSIL.png b/Activities/Level3/1Things/1Sort/resources/computerSIL.png
new file mode 100644
index 0000000..ad21149
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/computerSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/phone.png b/Activities/Level3/1Things/1Sort/resources/phone.png
new file mode 100644
index 0000000..ba8c403
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/phone.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/phoneSIL.png b/Activities/Level3/1Things/1Sort/resources/phoneSIL.png
new file mode 100644
index 0000000..900ccf5
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/phoneSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/table.png b/Activities/Level3/1Things/1Sort/resources/table.png
new file mode 100644
index 0000000..1c831e1
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/table.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/resources/tableSIL.png b/Activities/Level3/1Things/1Sort/resources/tableSIL.png
new file mode 100644
index 0000000..d1da03a
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/resources/tableSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/1Sort/screens.txt b/Activities/Level3/1Things/1Sort/screens.txt
new file mode 100644
index 0000000..9bf5e9c
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/screens.txt
@@ -0,0 +1,26 @@
+screen1:
+BINS:
+chair:chairSIL.png
+table:tableSIL.png
+phone:phoneSIL.png
+computer:computerSIL.png
+CRAYONS:
+computer.png [whatisit.ogg,itisacomputer.ogg] computer computer
+phone.png [whatisit.ogg,itisaphone.ogg] phone phone
+chair.png [whatisit.ogg,itisachair.ogg] chair chair
+table.png [whatisit.ogg,itisatable.ogg] table table
+
+screen2:
+BINS:keepstate
+chair:chairSIL.png
+table:tableSIL.png
+phone:phoneSIL.png
+computer:computerSIL.png
+CRAYONS:
+chair.png [whatisit.ogg,itisachair.ogg] chair chair
+table.png [whatisit.ogg,itisatable.ogg] table table
+phone.png [whatisit.ogg,itisaphone.ogg] phone phone
+computer.png [whatisit.ogg,itisacomputer.ogg] computer computer
+
+
+
diff --git a/Activities/Level3/1Things/1Sort/settings.txt b/Activities/Level3/1Things/1Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level3/1Things/1Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/1Things/2Sort/data.txt b/Activities/Level3/1Things/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/2Sort/ico.png b/Activities/Level3/1Things/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/1Things/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/ball.png b/Activities/Level3/1Things/2Sort/resources/ball.png
new file mode 100644
index 0000000..0151ba4
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/ball.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/ballSIL.png b/Activities/Level3/1Things/2Sort/resources/ballSIL.png
new file mode 100644
index 0000000..84f4a69
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/ballSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/book.png b/Activities/Level3/1Things/2Sort/resources/book.png
new file mode 100644
index 0000000..0920040
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/book.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/bookSIL.png b/Activities/Level3/1Things/2Sort/resources/bookSIL.png
new file mode 100644
index 0000000..b1b8a2a
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/bookSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/cup.png b/Activities/Level3/1Things/2Sort/resources/cup.png
new file mode 100644
index 0000000..3b90d11
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/cup.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/cupSIL.png b/Activities/Level3/1Things/2Sort/resources/cupSIL.png
new file mode 100644
index 0000000..30a78fe
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/cupSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/pencil.png b/Activities/Level3/1Things/2Sort/resources/pencil.png
new file mode 100644
index 0000000..990ccaa
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/pencil.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/resources/pencilSIL.png b/Activities/Level3/1Things/2Sort/resources/pencilSIL.png
new file mode 100644
index 0000000..fe6035e
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/resources/pencilSIL.png
Binary files differ
diff --git a/Activities/Level3/1Things/2Sort/screens.txt b/Activities/Level3/1Things/2Sort/screens.txt
new file mode 100644
index 0000000..6c20f23
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/screens.txt
@@ -0,0 +1,25 @@
+screen1:
+BINS:
+cup:cupSIL.png
+ball:ballSIL.png
+book:bookSIL.png
+pencil:pencilSIL.png
+CRAYONS:
+pencil.png [whatisit.ogg,itisapencil.ogg] pencil pencil
+ball.png [whatisit.ogg,itisaball.ogg] ball ball
+cup.png [whatisit.ogg,itisacup.ogg] cup cup
+book.png [whatisit.ogg,itisabook.ogg] book book
+
+screen2:
+BINS:keepstate
+cup:cupSIL.png
+ball:ballSIL.png
+book:bookSIL.png
+pencil:pencilSIL.png
+CRAYONS:
+ball.png [whatisit.ogg,itisaball.ogg] ball ball
+pencil.png [whatisit.ogg,itisapencil.ogg] pencil pencil
+cup.png [whatisit.ogg,itisacup.ogg] cup cup
+book.png [whatisit.ogg,itisabook.ogg] book book
+
+
diff --git a/Activities/Level3/1Things/2Sort/settings.txt b/Activities/Level3/1Things/2Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level3/1Things/2Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/1Things/3Match/data.txt b/Activities/Level3/1Things/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/3Match/ico.png b/Activities/Level3/1Things/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/book.png b/Activities/Level3/1Things/3Match/resources/book.png
new file mode 100644
index 0000000..7e7d5e9
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/book.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/bookTXT.png b/Activities/Level3/1Things/3Match/resources/bookTXT.png
new file mode 100644
index 0000000..10389ee
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/bookTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/chair.png b/Activities/Level3/1Things/3Match/resources/chair.png
new file mode 100644
index 0000000..21a4706
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/chair.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/chairTXT.png b/Activities/Level3/1Things/3Match/resources/chairTXT.png
new file mode 100644
index 0000000..be7e3c0
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/chairTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/computer.png b/Activities/Level3/1Things/3Match/resources/computer.png
new file mode 100644
index 0000000..40f3e2f
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/computer.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/computerTXT.png b/Activities/Level3/1Things/3Match/resources/computerTXT.png
new file mode 100644
index 0000000..aad9761
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/computerTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/phone.png b/Activities/Level3/1Things/3Match/resources/phone.png
new file mode 100644
index 0000000..8512467
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/phone.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/phoneTXT.png b/Activities/Level3/1Things/3Match/resources/phoneTXT.png
new file mode 100644
index 0000000..1d042af
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/phoneTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/table.png b/Activities/Level3/1Things/3Match/resources/table.png
new file mode 100644
index 0000000..3d15a8f
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/table.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/resources/tableTXT.png b/Activities/Level3/1Things/3Match/resources/tableTXT.png
new file mode 100644
index 0000000..4776ac1
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/resources/tableTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/3Match/screens.txt b/Activities/Level3/1Things/3Match/screens.txt
new file mode 100644
index 0000000..6989e32
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/screens.txt
@@ -0,0 +1,5 @@
+computerTXT.png itisacomputer.ogg computer.png
+chairTXT.png itisachair.ogg chair.png
+bookTXT.png itisabook.ogg book.png
+tableTXT.png itisatable.ogg table.png
+phoneTXT.png itisaphone.ogg phone.png \ No newline at end of file
diff --git a/Activities/Level3/1Things/3Match/settings.txt b/Activities/Level3/1Things/3Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/1Things/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/1Things/4Paint/data.txt b/Activities/Level3/1Things/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/4Paint/ico.png b/Activities/Level3/1Things/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/ball.png b/Activities/Level3/1Things/4Paint/resources/ball.png
new file mode 100644
index 0000000..b040081
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/ball.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/book.png b/Activities/Level3/1Things/4Paint/resources/book.png
new file mode 100644
index 0000000..a5832ae
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/book.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/chair.png b/Activities/Level3/1Things/4Paint/resources/chair.png
new file mode 100644
index 0000000..b887f6d
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/chair.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/computer.png b/Activities/Level3/1Things/4Paint/resources/computer.png
new file mode 100644
index 0000000..1c82095
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/computer.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/cup.png b/Activities/Level3/1Things/4Paint/resources/cup.png
new file mode 100644
index 0000000..ec193c3
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/cup.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/pencil.png b/Activities/Level3/1Things/4Paint/resources/pencil.png
new file mode 100644
index 0000000..f7f1f5f
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/pencil.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/phone.png b/Activities/Level3/1Things/4Paint/resources/phone.png
new file mode 100644
index 0000000..3927d33
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/phone.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/resources/table.png b/Activities/Level3/1Things/4Paint/resources/table.png
new file mode 100644
index 0000000..be828dc
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/resources/table.png
Binary files differ
diff --git a/Activities/Level3/1Things/4Paint/screens.txt b/Activities/Level3/1Things/4Paint/screens.txt
new file mode 100644
index 0000000..cc15cd5
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/screens.txt
@@ -0,0 +1,32 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+cup.png cuppurple.ogg purple
+book.png bookblack.ogg black
+phone.png phoneblue.ogg blue
+chair.png chairred.ogg red
+table.png tablewhite.ogg white
+pencil.png pencilyellow.ogg yellow
+ball.png ballorange.ogg orange
+computer.png computergreen.ogg green
+
+
+
+
+
+
+
+
+
diff --git a/Activities/Level3/1Things/4Paint/settings.txt b/Activities/Level3/1Things/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level3/1Things/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level3/1Things/5MultipleC/data.txt b/Activities/Level3/1Things/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/5MultipleC/ico.png b/Activities/Level3/1Things/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/1Things/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/book1.png b/Activities/Level3/1Things/5MultipleC/resources/book1.png
new file mode 100644
index 0000000..1abb9aa
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/book1.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/book2.png b/Activities/Level3/1Things/5MultipleC/resources/book2.png
new file mode 100644
index 0000000..7bd6a5f
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/book2.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/1Things/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..9d66c16
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/cara_triste_anim.png b/Activities/Level3/1Things/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..9081053
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/computer.png b/Activities/Level3/1Things/5MultipleC/resources/computer.png
new file mode 100644
index 0000000..c2da475
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/computer.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/cup.png b/Activities/Level3/1Things/5MultipleC/resources/cup.png
new file mode 100644
index 0000000..649bbae
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/cup.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/pencil.png b/Activities/Level3/1Things/5MultipleC/resources/pencil.png
new file mode 100644
index 0000000..211ba77
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/pencil.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/phone.png b/Activities/Level3/1Things/5MultipleC/resources/phone.png
new file mode 100644
index 0000000..0ef9be0
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/phone.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/table1.png b/Activities/Level3/1Things/5MultipleC/resources/table1.png
new file mode 100644
index 0000000..fd34c1e
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/table1.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/resources/table2.png b/Activities/Level3/1Things/5MultipleC/resources/table2.png
new file mode 100644
index 0000000..8e48028
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/resources/table2.png
Binary files differ
diff --git a/Activities/Level3/1Things/5MultipleC/screens.txt b/Activities/Level3/1Things/5MultipleC/screens.txt
new file mode 100644
index 0000000..cd4b05f
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+computer.png Q-itisacomputer.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+phone.png Q-itisapencil.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+cup.png Q-itisacup.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+book1.png Q-itisaphone.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+book2.png Q-itisabook.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+table1.png Q-itisachair.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pencil.png Q-itisapencil.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+table2.png Q-itisatable.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/1Things/5MultipleC/settings.txt b/Activities/Level3/1Things/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level3/1Things/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/1Things/6Concentrate/data.txt b/Activities/Level3/1Things/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/6Concentrate/ico.png b/Activities/Level3/1Things/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/_BackFace.png b/Activities/Level3/1Things/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..283d3ad
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/ball1.png b/Activities/Level3/1Things/6Concentrate/resources/ball1.png
new file mode 100644
index 0000000..13c5fb2
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/ball1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/ball2.png b/Activities/Level3/1Things/6Concentrate/resources/ball2.png
new file mode 100644
index 0000000..09d2f66
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/ball2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/book1.png b/Activities/Level3/1Things/6Concentrate/resources/book1.png
new file mode 100644
index 0000000..f9dad1b
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/book1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/book2.png b/Activities/Level3/1Things/6Concentrate/resources/book2.png
new file mode 100644
index 0000000..4957308
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/book2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/chair1.png b/Activities/Level3/1Things/6Concentrate/resources/chair1.png
new file mode 100644
index 0000000..a250dd8
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/chair1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/chair2.png b/Activities/Level3/1Things/6Concentrate/resources/chair2.png
new file mode 100644
index 0000000..55066c2
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/chair2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/computer1.png b/Activities/Level3/1Things/6Concentrate/resources/computer1.png
new file mode 100644
index 0000000..bd389e6
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/computer1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/computer2.png b/Activities/Level3/1Things/6Concentrate/resources/computer2.png
new file mode 100644
index 0000000..373f37f
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/computer2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/conc_09_color.jpg b/Activities/Level3/1Things/6Concentrate/resources/conc_09_color.jpg
new file mode 100644
index 0000000..44f5f68
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/conc_09_color.jpg
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/conc_09_mono.jpg b/Activities/Level3/1Things/6Concentrate/resources/conc_09_mono.jpg
new file mode 100644
index 0000000..f1c97a7
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/conc_09_mono.jpg
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/cup1.png b/Activities/Level3/1Things/6Concentrate/resources/cup1.png
new file mode 100644
index 0000000..e945599
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/cup1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/cup2.png b/Activities/Level3/1Things/6Concentrate/resources/cup2.png
new file mode 100644
index 0000000..1941a77
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/cup2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/pencil1.png b/Activities/Level3/1Things/6Concentrate/resources/pencil1.png
new file mode 100644
index 0000000..629dcfa
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/pencil1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/pencil2.png b/Activities/Level3/1Things/6Concentrate/resources/pencil2.png
new file mode 100644
index 0000000..fcf6aa8
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/pencil2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/phone1.png b/Activities/Level3/1Things/6Concentrate/resources/phone1.png
new file mode 100644
index 0000000..c164ba4
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/phone1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/phone2.png b/Activities/Level3/1Things/6Concentrate/resources/phone2.png
new file mode 100644
index 0000000..654b1b9
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/phone2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/table1.png b/Activities/Level3/1Things/6Concentrate/resources/table1.png
new file mode 100644
index 0000000..83889df
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/table1.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/resources/table2.png b/Activities/Level3/1Things/6Concentrate/resources/table2.png
new file mode 100644
index 0000000..dc3295c
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/resources/table2.png
Binary files differ
diff --git a/Activities/Level3/1Things/6Concentrate/screen.txt b/Activities/Level3/1Things/6Concentrate/screen.txt
new file mode 100644
index 0000000..df0e893
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_09_mono.jpg:conc_09_color.jpg
+ball1.png ball2.png ball.ogg ball
+book1.png book2.png book.ogg book
+chair1.png chair2.png chair.ogg chair
+computer1.png computer2.png computer.ogg computer
+cup1.png cup2.png cup.ogg cup
+pencil1.png pencil2.png pencil.ogg pencil
+phone1.png phone2.png phone.ogg phone
+table1.png table2.png table.ogg table
diff --git a/Activities/Level3/1Things/6Concentrate/settings.txt b/Activities/Level3/1Things/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level3/1Things/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level3/1Things/7DragnDrop/data.txt b/Activities/Level3/1Things/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/7DragnDrop/ico.png b/Activities/Level3/1Things/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/1Things/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/resources/book.png b/Activities/Level3/1Things/7DragnDrop/resources/book.png
new file mode 100644
index 0000000..b7715b2
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/resources/book.png
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/resources/computer.png b/Activities/Level3/1Things/7DragnDrop/resources/computer.png
new file mode 100644
index 0000000..989e4f2
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/resources/computer.png
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/resources/icono_play.png b/Activities/Level3/1Things/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/resources/pencil.png b/Activities/Level3/1Things/7DragnDrop/resources/pencil.png
new file mode 100644
index 0000000..ba0db81
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/resources/pencil.png
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/resources/phone.png b/Activities/Level3/1Things/7DragnDrop/resources/phone.png
new file mode 100644
index 0000000..ba6cc16
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/resources/phone.png
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/resources/table.png b/Activities/Level3/1Things/7DragnDrop/resources/table.png
new file mode 100644
index 0000000..e1a8557
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/resources/table.png
Binary files differ
diff --git a/Activities/Level3/1Things/7DragnDrop/screens.txt b/Activities/Level3/1Things/7DragnDrop/screens.txt
new file mode 100644
index 0000000..dd10c50
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+phone:phone.png
+table:table.png
+book:book.png
+computer:computer.png
+pencil:pencil.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png itisabook.ogg book book
+icono_play.png itisaphone.ogg phone phone
+icono_play.png itisapencil.ogg pencil pencil
+icono_play.png itisacomputer.ogg computer computer
+icono_play.png itisatable.ogg table table
diff --git a/Activities/Level3/1Things/7DragnDrop/settings.txt b/Activities/Level3/1Things/7DragnDrop/settings.txt
new file mode 100644
index 0000000..4d9810d
--- /dev/null
+++ b/Activities/Level3/1Things/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 440
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level3/1Things/8Match/data.txt b/Activities/Level3/1Things/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/8Match/ico.png b/Activities/Level3/1Things/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/ball.png b/Activities/Level3/1Things/8Match/resources/ball.png
new file mode 100644
index 0000000..47d5796
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/ball.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/ballTXT.png b/Activities/Level3/1Things/8Match/resources/ballTXT.png
new file mode 100644
index 0000000..1cfa6de
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/ballTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/book.png b/Activities/Level3/1Things/8Match/resources/book.png
new file mode 100644
index 0000000..9e5b0e9
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/book.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/bookTXT.png b/Activities/Level3/1Things/8Match/resources/bookTXT.png
new file mode 100644
index 0000000..10389ee
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/bookTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/chair.png b/Activities/Level3/1Things/8Match/resources/chair.png
new file mode 100644
index 0000000..acc4d4d
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/chair.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/chairTXT.png b/Activities/Level3/1Things/8Match/resources/chairTXT.png
new file mode 100644
index 0000000..be7e3c0
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/chairTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/cup.png b/Activities/Level3/1Things/8Match/resources/cup.png
new file mode 100644
index 0000000..539a1c2
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/cup.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/cupTXT.png b/Activities/Level3/1Things/8Match/resources/cupTXT.png
new file mode 100644
index 0000000..09e1a47
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/cupTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/pencil.png b/Activities/Level3/1Things/8Match/resources/pencil.png
new file mode 100644
index 0000000..4eb932c
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/pencil.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/resources/pencilTXT.png b/Activities/Level3/1Things/8Match/resources/pencilTXT.png
new file mode 100644
index 0000000..1ff0654
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/resources/pencilTXT.png
Binary files differ
diff --git a/Activities/Level3/1Things/8Match/screens.txt b/Activities/Level3/1Things/8Match/screens.txt
new file mode 100644
index 0000000..4dca92f
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/screens.txt
@@ -0,0 +1,5 @@
+pencilTXT.png itisapencil.ogg pencil.png
+chairTXT.png itisachair.ogg chair.png
+bookTXT.png itisabook.ogg book.png
+ballTXT.png itisaball.ogg ball.png
+cupTXT.png itisacup.ogg cup.png \ No newline at end of file
diff --git a/Activities/Level3/1Things/8Match/settings.txt b/Activities/Level3/1Things/8Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/1Things/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/1Things/9MultipleC/data.txt b/Activities/Level3/1Things/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/1Things/9MultipleC/ico.png b/Activities/Level3/1Things/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/1Things/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/ball.png b/Activities/Level3/1Things/9MultipleC/resources/ball.png
new file mode 100644
index 0000000..94b1bd1
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/ball.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/book.png b/Activities/Level3/1Things/9MultipleC/resources/book.png
new file mode 100644
index 0000000..a3bb0c0
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/book.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/1Things/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..c5ce5f5
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/cara_triste_anim.png b/Activities/Level3/1Things/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..e6f8625
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/chair.png b/Activities/Level3/1Things/9MultipleC/resources/chair.png
new file mode 100644
index 0000000..a1266cd
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/chair.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/cup.png b/Activities/Level3/1Things/9MultipleC/resources/cup.png
new file mode 100644
index 0000000..649bbae
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/cup.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/pencil.png b/Activities/Level3/1Things/9MultipleC/resources/pencil.png
new file mode 100644
index 0000000..ebea023
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/pencil.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/phone1.png b/Activities/Level3/1Things/9MultipleC/resources/phone1.png
new file mode 100644
index 0000000..4dd7b5d
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/phone1.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/phone2.png b/Activities/Level3/1Things/9MultipleC/resources/phone2.png
new file mode 100644
index 0000000..d0fcb12
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/phone2.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/resources/table.png b/Activities/Level3/1Things/9MultipleC/resources/table.png
new file mode 100644
index 0000000..2cb1776
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/resources/table.png
Binary files differ
diff --git a/Activities/Level3/1Things/9MultipleC/screens.txt b/Activities/Level3/1Things/9MultipleC/screens.txt
new file mode 100644
index 0000000..5af264a
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+book.png Q-itisabook.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+phone1.png Q-itisaball.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+chair.png Q-itisatable.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+phone2.png Q-itisaphone.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pencil.png Q-itisapencil.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+cup.png Q-itisacup.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+ball.png Q-itisacomputer.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+table.png Q-itisatable.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/1Things/9MultipleC/settings.txt b/Activities/Level3/1Things/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level3/1Things/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/1Things/btn_act.bmp b/Activities/Level3/1Things/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level3/1Things/btn_act.bmp
Binary files differ
diff --git a/Activities/Level3/1Things/btn_act.png b/Activities/Level3/1Things/btn_act.png
new file mode 100644
index 0000000..f1c923f
--- /dev/null
+++ b/Activities/Level3/1Things/btn_act.png
Binary files differ
diff --git a/Activities/Level3/1Things/ico.png b/Activities/Level3/1Things/ico.png
new file mode 100644
index 0000000..47d6506
--- /dev/null
+++ b/Activities/Level3/1Things/ico.png
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisaball.ogg b/Activities/Level3/1Things/sounds/Q-itisaball.ogg
new file mode 100644
index 0000000..30a1e59
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisaball.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisabook.ogg b/Activities/Level3/1Things/sounds/Q-itisabook.ogg
new file mode 100644
index 0000000..9e61517
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisabook.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisachair.ogg b/Activities/Level3/1Things/sounds/Q-itisachair.ogg
new file mode 100644
index 0000000..f517baa
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisachair.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisacomputer.ogg b/Activities/Level3/1Things/sounds/Q-itisacomputer.ogg
new file mode 100644
index 0000000..e26f83e
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisacomputer.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisacup.ogg b/Activities/Level3/1Things/sounds/Q-itisacup.ogg
new file mode 100644
index 0000000..a5d3c2c
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisacup.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisapencil.ogg b/Activities/Level3/1Things/sounds/Q-itisapencil.ogg
new file mode 100644
index 0000000..5752034
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisapencil.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisaphone.ogg b/Activities/Level3/1Things/sounds/Q-itisaphone.ogg
new file mode 100644
index 0000000..53cbd5f
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisaphone.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Q-itisatable.ogg b/Activities/Level3/1Things/sounds/Q-itisatable.ogg
new file mode 100644
index 0000000..669c517
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Q-itisatable.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/Twinkle.ogg b/Activities/Level3/1Things/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/ball.ogg b/Activities/Level3/1Things/sounds/ball.ogg
new file mode 100644
index 0000000..d6d8ee8
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/ball.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/ballorange.ogg b/Activities/Level3/1Things/sounds/ballorange.ogg
new file mode 100644
index 0000000..393fc1f
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/ballorange.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/bing.ogg b/Activities/Level3/1Things/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/book.ogg b/Activities/Level3/1Things/sounds/book.ogg
new file mode 100644
index 0000000..2204621
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/book.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/bookblack.ogg b/Activities/Level3/1Things/sounds/bookblack.ogg
new file mode 100644
index 0000000..cca115d
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/bookblack.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/chair.ogg b/Activities/Level3/1Things/sounds/chair.ogg
new file mode 100644
index 0000000..b4fedd5
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/chair.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/chairred.ogg b/Activities/Level3/1Things/sounds/chairred.ogg
new file mode 100644
index 0000000..76dcc48
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/chairred.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/chord.ogg b/Activities/Level3/1Things/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/computer.ogg b/Activities/Level3/1Things/sounds/computer.ogg
new file mode 100644
index 0000000..e7ed29e
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/computer.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/computergreen.ogg b/Activities/Level3/1Things/sounds/computergreen.ogg
new file mode 100644
index 0000000..96421a1
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/computergreen.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/cup.ogg b/Activities/Level3/1Things/sounds/cup.ogg
new file mode 100644
index 0000000..be9b8dd
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/cup.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/cuppurple.ogg b/Activities/Level3/1Things/sounds/cuppurple.ogg
new file mode 100644
index 0000000..a40eba6
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/cuppurple.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/ding.ogg b/Activities/Level3/1Things/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisaball.ogg b/Activities/Level3/1Things/sounds/itisaball.ogg
new file mode 100644
index 0000000..7c97588
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisaball.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisabook.ogg b/Activities/Level3/1Things/sounds/itisabook.ogg
new file mode 100644
index 0000000..ddc8914
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisabook.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisachair.ogg b/Activities/Level3/1Things/sounds/itisachair.ogg
new file mode 100644
index 0000000..761377e
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisachair.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisacomputer.ogg b/Activities/Level3/1Things/sounds/itisacomputer.ogg
new file mode 100644
index 0000000..98e3a7c
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisacomputer.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisacup.ogg b/Activities/Level3/1Things/sounds/itisacup.ogg
new file mode 100644
index 0000000..181061c
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisacup.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisapencil.ogg b/Activities/Level3/1Things/sounds/itisapencil.ogg
new file mode 100644
index 0000000..7849db6
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisapencil.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisaphone.ogg b/Activities/Level3/1Things/sounds/itisaphone.ogg
new file mode 100644
index 0000000..ea8fd54
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisaphone.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/itisatable.ogg b/Activities/Level3/1Things/sounds/itisatable.ogg
new file mode 100644
index 0000000..848f78d
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/itisatable.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/pencil.ogg b/Activities/Level3/1Things/sounds/pencil.ogg
new file mode 100644
index 0000000..3041cea
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/pencil.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/pencilyellow.ogg b/Activities/Level3/1Things/sounds/pencilyellow.ogg
new file mode 100644
index 0000000..74e12b8
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/pencilyellow.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/phone.ogg b/Activities/Level3/1Things/sounds/phone.ogg
new file mode 100644
index 0000000..706b692
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/phone.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/phoneblue.ogg b/Activities/Level3/1Things/sounds/phoneblue.ogg
new file mode 100644
index 0000000..45c83fc
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/phoneblue.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/table.ogg b/Activities/Level3/1Things/sounds/table.ogg
new file mode 100644
index 0000000..862f0d6
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/table.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/tablewhite.ogg b/Activities/Level3/1Things/sounds/tablewhite.ogg
new file mode 100644
index 0000000..0ca4ae1
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/tablewhite.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/unitSound.ogg b/Activities/Level3/1Things/sounds/unitSound.ogg
new file mode 100644
index 0000000..d05d0ce
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/sounds/whatisit.ogg b/Activities/Level3/1Things/sounds/whatisit.ogg
new file mode 100644
index 0000000..597cff8
--- /dev/null
+++ b/Activities/Level3/1Things/sounds/whatisit.ogg
Binary files differ
diff --git a/Activities/Level3/1Things/unitMarker.png b/Activities/Level3/1Things/unitMarker.png
new file mode 100644
index 0000000..e9fd606
--- /dev/null
+++ b/Activities/Level3/1Things/unitMarker.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/data.txt b/Activities/Level3/2Sports/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/1Sort/ico.png b/Activities/Level3/2Sports/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/2Sports/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/baseball.png b/Activities/Level3/2Sports/1Sort/resources/baseball.png
new file mode 100644
index 0000000..52d4b59
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/baseball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/baseballSIL.png b/Activities/Level3/2Sports/1Sort/resources/baseballSIL.png
new file mode 100644
index 0000000..844128a
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/baseballSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/basketball.png b/Activities/Level3/2Sports/1Sort/resources/basketball.png
new file mode 100644
index 0000000..1c066e9
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/basketball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/basketballSIL.png b/Activities/Level3/2Sports/1Sort/resources/basketballSIL.png
new file mode 100644
index 0000000..7a493e2
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/basketballSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/football.png b/Activities/Level3/2Sports/1Sort/resources/football.png
new file mode 100644
index 0000000..8b5c6a9
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/football.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/footballSIL.png b/Activities/Level3/2Sports/1Sort/resources/footballSIL.png
new file mode 100644
index 0000000..16628e3
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/footballSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/swim.png b/Activities/Level3/2Sports/1Sort/resources/swim.png
new file mode 100644
index 0000000..e74727c
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/swim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/resources/swimSIL.png b/Activities/Level3/2Sports/1Sort/resources/swimSIL.png
new file mode 100644
index 0000000..3f55d5f
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/resources/swimSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/1Sort/screens.txt b/Activities/Level3/2Sports/1Sort/screens.txt
new file mode 100644
index 0000000..8c7bb07
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+basketball:basketballSIL.png
+baseball:baseballSIL.png
+swim:swimSIL.png
+football:footballSIL.png
+CRAYONS:
+football.png sheplaysfootball.ogg football football
+baseball.png heplaysbaseball.ogg baseball baseball
+swim.png sheswims.ogg swim swim
+basketball.png heplaysbasketball.ogg basketball basketball
+
+screen2:
+BINS:keepstate
+basketball:basketballSIL.png
+baseball:baseballSIL.png
+swim:swimSIL.png
+football:footballSIL.png
+CRAYONS:
+basketball.png heplaysbasketball.ogg basketball basketball
+swim.png sheswims.ogg swim swim
+baseball.png heplaysbaseball.ogg baseball baseball
+football.png sheplaysfootball.ogg football football \ No newline at end of file
diff --git a/Activities/Level3/2Sports/1Sort/settings.txt b/Activities/Level3/2Sports/1Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level3/2Sports/1Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/2Sort/data.txt b/Activities/Level3/2Sports/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/2Sort/ico.png b/Activities/Level3/2Sports/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/2Sports/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/bike.png b/Activities/Level3/2Sports/2Sort/resources/bike.png
new file mode 100644
index 0000000..52b9744
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/bike.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/bikeSIL.png b/Activities/Level3/2Sports/2Sort/resources/bikeSIL.png
new file mode 100644
index 0000000..609dd83
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/bikeSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/hike.png b/Activities/Level3/2Sports/2Sort/resources/hike.png
new file mode 100644
index 0000000..0431505
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/hike.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/hikeSIL.png b/Activities/Level3/2Sports/2Sort/resources/hikeSIL.png
new file mode 100644
index 0000000..7e58254
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/hikeSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/tennis.png b/Activities/Level3/2Sports/2Sort/resources/tennis.png
new file mode 100644
index 0000000..e5057fb
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/tennis.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/tennisSIL.png b/Activities/Level3/2Sports/2Sort/resources/tennisSIL.png
new file mode 100644
index 0000000..5862476
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/tennisSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/volleyball.png b/Activities/Level3/2Sports/2Sort/resources/volleyball.png
new file mode 100644
index 0000000..81001a5
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/volleyball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/resources/volleyballSIL.png b/Activities/Level3/2Sports/2Sort/resources/volleyballSIL.png
new file mode 100644
index 0000000..1ccc060
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/resources/volleyballSIL.png
Binary files differ
diff --git a/Activities/Level3/2Sports/2Sort/screens.txt b/Activities/Level3/2Sports/2Sort/screens.txt
new file mode 100644
index 0000000..6e847f5
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/screens.txt
@@ -0,0 +1,23 @@
+screen1:
+BINS:
+bike:bikeSIL.png
+volleyball:volleyballSIL.png
+hike:hikeSIL.png
+tennis:tennisSIL.png
+CRAYONS:
+hike.png shehikes.ogg hiking hike
+tennis.png heplaystennis.ogg tennis tennis
+bike.png shebikes.ogg bike bike
+volleyball.png heplaysvolleyball.ogg volleyball volleyball
+
+screen2:
+BINS:keepstate
+bike:bikeSIL.png
+volleyball:volleyballSIL.png
+hike:hikeSIL.png
+tennis:tennisSIL.png
+CRAYONS:
+tennis.png heplaystennis.ogg tennis tennis
+bike.png shebikes.ogg bike bike
+hike.png shehikes.ogg hiking hike
+volleyball.png heplaysvolleyball.ogg volleyball volleyball \ No newline at end of file
diff --git a/Activities/Level3/2Sports/2Sort/settings.txt b/Activities/Level3/2Sports/2Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level3/2Sports/2Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/3Match/data.txt b/Activities/Level3/2Sports/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/3Match/ico.png b/Activities/Level3/2Sports/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/basketball.png b/Activities/Level3/2Sports/3Match/resources/basketball.png
new file mode 100644
index 0000000..f5d4e37
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/basketball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/basketballTXT.png b/Activities/Level3/2Sports/3Match/resources/basketballTXT.png
new file mode 100644
index 0000000..84d6326
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/basketballTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/bikingTXT.png b/Activities/Level3/2Sports/3Match/resources/bikingTXT.png
new file mode 100644
index 0000000..b8a64e7
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/bikingTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/football.png b/Activities/Level3/2Sports/3Match/resources/football.png
new file mode 100644
index 0000000..dcb7d5c
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/football.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/footballTXT.png b/Activities/Level3/2Sports/3Match/resources/footballTXT.png
new file mode 100644
index 0000000..e1aad63
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/footballTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/hike.png b/Activities/Level3/2Sports/3Match/resources/hike.png
new file mode 100644
index 0000000..1e7840c
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/hike.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/hikingTXT.png b/Activities/Level3/2Sports/3Match/resources/hikingTXT.png
new file mode 100644
index 0000000..b69113f
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/hikingTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/ride.png b/Activities/Level3/2Sports/3Match/resources/ride.png
new file mode 100644
index 0000000..6883af9
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/ride.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/swim.png b/Activities/Level3/2Sports/3Match/resources/swim.png
new file mode 100644
index 0000000..03e7c89
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/swim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/resources/swimmingTXT.png b/Activities/Level3/2Sports/3Match/resources/swimmingTXT.png
new file mode 100644
index 0000000..df52df4
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/resources/swimmingTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/3Match/screens.txt b/Activities/Level3/2Sports/3Match/screens.txt
new file mode 100644
index 0000000..cc708de
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/screens.txt
@@ -0,0 +1,5 @@
+footballTXT.png [football.ogg,heplaysfootball.ogg] football.png
+bikingTXT.png [biking.ogg,hebikes.ogg] ride.png
+swimmingTXT.png [swimming.ogg,heswims.ogg] swim.png
+hikingTXT.png [hiking.ogg,shehikes.ogg] hike.png
+basketballTXT.png [basketball.ogg,sheplaysbasketball.ogg] basketball.png \ No newline at end of file
diff --git a/Activities/Level3/2Sports/3Match/settings.txt b/Activities/Level3/2Sports/3Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/2Sports/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/4Paint/data.txt b/Activities/Level3/2Sports/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/4Paint/ico.png b/Activities/Level3/2Sports/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/baseball.png b/Activities/Level3/2Sports/4Paint/resources/baseball.png
new file mode 100644
index 0000000..7254425
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/baseball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/basketball.png b/Activities/Level3/2Sports/4Paint/resources/basketball.png
new file mode 100644
index 0000000..14311b5
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/basketball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/bike.png b/Activities/Level3/2Sports/4Paint/resources/bike.png
new file mode 100644
index 0000000..88bb805
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/bike.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/football.png b/Activities/Level3/2Sports/4Paint/resources/football.png
new file mode 100644
index 0000000..57c429f
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/football.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/hike.png b/Activities/Level3/2Sports/4Paint/resources/hike.png
new file mode 100644
index 0000000..c2079e6
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/hike.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/swim.png b/Activities/Level3/2Sports/4Paint/resources/swim.png
new file mode 100644
index 0000000..2bb82a3
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/swim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/tennis.png b/Activities/Level3/2Sports/4Paint/resources/tennis.png
new file mode 100644
index 0000000..7bb7a0f
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/tennis.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/resources/volleyball.png b/Activities/Level3/2Sports/4Paint/resources/volleyball.png
new file mode 100644
index 0000000..1201f44
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/resources/volleyball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/4Paint/screens.txt b/Activities/Level3/2Sports/4Paint/screens.txt
new file mode 100644
index 0000000..c225be4
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/screens.txt
@@ -0,0 +1,29 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+basketball.png basketballorange.ogg orange
+swim.png swimred.ogg red
+hike.png hikegreen.ogg green
+volleyball.png volleyballpurple.ogg purple
+baseball.png baseballyellow.ogg yellow
+tennis.png tenniswhite.ogg white
+bike.png bikeblack.ogg black
+football.png footballblue.ogg blue
+
+
+
+
+
+
diff --git a/Activities/Level3/2Sports/4Paint/settings.txt b/Activities/Level3/2Sports/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level3/2Sports/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/5MultipleC/data.txt b/Activities/Level3/2Sports/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/5MultipleC/ico.png b/Activities/Level3/2Sports/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/2Sports/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/boyhiking.png b/Activities/Level3/2Sports/5MultipleC/resources/boyhiking.png
new file mode 100644
index 0000000..13b8ed7
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/boyhiking.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/boyswimming.png b/Activities/Level3/2Sports/5MultipleC/resources/boyswimming.png
new file mode 100644
index 0000000..9a5da23
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/boyswimming.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/boyswimming2.png b/Activities/Level3/2Sports/5MultipleC/resources/boyswimming2.png
new file mode 100644
index 0000000..ea0d28c
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/boyswimming2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/boytennis.png b/Activities/Level3/2Sports/5MultipleC/resources/boytennis.png
new file mode 100644
index 0000000..017a12c
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/boytennis.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/2Sports/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..3d8cabc
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/cara_triste_anim.png b/Activities/Level3/2Sports/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..db0908f
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/girlbaseball.png b/Activities/Level3/2Sports/5MultipleC/resources/girlbaseball.png
new file mode 100644
index 0000000..b3a0a38
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/girlbaseball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/girlbasketball.png b/Activities/Level3/2Sports/5MultipleC/resources/girlbasketball.png
new file mode 100644
index 0000000..ce2b767
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/girlbasketball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/girlhiking.png b/Activities/Level3/2Sports/5MultipleC/resources/girlhiking.png
new file mode 100644
index 0000000..27c2e69
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/girlhiking.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/resources/girlvolleyball.png b/Activities/Level3/2Sports/5MultipleC/resources/girlvolleyball.png
new file mode 100644
index 0000000..9668944
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/resources/girlvolleyball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/5MultipleC/screens.txt b/Activities/Level3/2Sports/5MultipleC/screens.txt
new file mode 100644
index 0000000..a502718
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+girlbasketball.png sheplaysbasketball.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyhiking.png heplaysbaseball.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlvolleyball.png sheplaysfootball.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boytennis.png heplaystennis.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlbaseball.png sheplaysbaseball.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyswimming.png heplaysvolleyball.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlhiking.png shehikes.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyswimming2.png heswims.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/2Sports/5MultipleC/settings.txt b/Activities/Level3/2Sports/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level3/2Sports/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/6Concentrate/data.txt b/Activities/Level3/2Sports/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/6Concentrate/ico.png b/Activities/Level3/2Sports/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/_BackFace.png b/Activities/Level3/2Sports/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..e1dd319
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/baseball1.png b/Activities/Level3/2Sports/6Concentrate/resources/baseball1.png
new file mode 100644
index 0000000..a992b98
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/baseball1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/baseball2.png b/Activities/Level3/2Sports/6Concentrate/resources/baseball2.png
new file mode 100644
index 0000000..cc71de8
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/baseball2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/basketball1.png b/Activities/Level3/2Sports/6Concentrate/resources/basketball1.png
new file mode 100644
index 0000000..dfbc48f
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/basketball1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/basketball2.png b/Activities/Level3/2Sports/6Concentrate/resources/basketball2.png
new file mode 100644
index 0000000..1b31aa9
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/basketball2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/biking1.png b/Activities/Level3/2Sports/6Concentrate/resources/biking1.png
new file mode 100644
index 0000000..2585957
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/biking1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/biking2.png b/Activities/Level3/2Sports/6Concentrate/resources/biking2.png
new file mode 100644
index 0000000..a61990a
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/biking2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/conc_10_color.jpg b/Activities/Level3/2Sports/6Concentrate/resources/conc_10_color.jpg
new file mode 100644
index 0000000..fc3ca98
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/conc_10_color.jpg
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/conc_10_mono.jpg b/Activities/Level3/2Sports/6Concentrate/resources/conc_10_mono.jpg
new file mode 100644
index 0000000..c333685
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/conc_10_mono.jpg
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/football1.png b/Activities/Level3/2Sports/6Concentrate/resources/football1.png
new file mode 100644
index 0000000..3e0883f
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/football1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/football2.png b/Activities/Level3/2Sports/6Concentrate/resources/football2.png
new file mode 100644
index 0000000..724c20c
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/football2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/hiking1.png b/Activities/Level3/2Sports/6Concentrate/resources/hiking1.png
new file mode 100644
index 0000000..052c0fa
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/hiking1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/hiking2.png b/Activities/Level3/2Sports/6Concentrate/resources/hiking2.png
new file mode 100644
index 0000000..d8a43ef
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/hiking2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/swim1.png b/Activities/Level3/2Sports/6Concentrate/resources/swim1.png
new file mode 100644
index 0000000..5d8fbc1
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/swim1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/swim2.png b/Activities/Level3/2Sports/6Concentrate/resources/swim2.png
new file mode 100644
index 0000000..cd10c3a
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/swim2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/tennis1.png b/Activities/Level3/2Sports/6Concentrate/resources/tennis1.png
new file mode 100644
index 0000000..aba14f7
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/tennis1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/tennis2.png b/Activities/Level3/2Sports/6Concentrate/resources/tennis2.png
new file mode 100644
index 0000000..5c78903
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/tennis2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/volleyball1.png b/Activities/Level3/2Sports/6Concentrate/resources/volleyball1.png
new file mode 100644
index 0000000..fd9efe6
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/volleyball1.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/resources/volleyball2.png b/Activities/Level3/2Sports/6Concentrate/resources/volleyball2.png
new file mode 100644
index 0000000..c62f53a
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/resources/volleyball2.png
Binary files differ
diff --git a/Activities/Level3/2Sports/6Concentrate/screen.txt b/Activities/Level3/2Sports/6Concentrate/screen.txt
new file mode 100644
index 0000000..2fc546c
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_10_mono.jpg:conc_10_color.jpg
+baseball1.png baseball2.png baseball.ogg baseball
+basketball1.png basketball2.png basketball.ogg basketball
+biking1.png biking2.png biking.ogg biking
+football1.png football2.png football.ogg football
+hiking1.png hiking2.png hiking.ogg hiking
+swim1.png swim2.png swimming.ogg swim
+tennis1.png tennis2.png tennis.ogg tennis
+volleyball1.png volleyball2.png volleyball.ogg volleyball
diff --git a/Activities/Level3/2Sports/6Concentrate/settings.txt b/Activities/Level3/2Sports/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level3/2Sports/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/7DragnDrop/data.txt b/Activities/Level3/2Sports/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/7DragnDrop/ico.png b/Activities/Level3/2Sports/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/2Sports/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/resources/boybiking.png b/Activities/Level3/2Sports/7DragnDrop/resources/boybiking.png
new file mode 100644
index 0000000..bb331c7
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/resources/boybiking.png
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/resources/boyhiking.png b/Activities/Level3/2Sports/7DragnDrop/resources/boyhiking.png
new file mode 100644
index 0000000..93c85d3
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/resources/boyhiking.png
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/resources/boyswimming.png b/Activities/Level3/2Sports/7DragnDrop/resources/boyswimming.png
new file mode 100644
index 0000000..6c34545
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/resources/boyswimming.png
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/resources/girlbasketball.png b/Activities/Level3/2Sports/7DragnDrop/resources/girlbasketball.png
new file mode 100644
index 0000000..f0d7879
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/resources/girlbasketball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/resources/girlvolleyball.png b/Activities/Level3/2Sports/7DragnDrop/resources/girlvolleyball.png
new file mode 100644
index 0000000..6808276
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/resources/girlvolleyball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/resources/icono_play.png b/Activities/Level3/2Sports/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level3/2Sports/7DragnDrop/screens.txt b/Activities/Level3/2Sports/7DragnDrop/screens.txt
new file mode 100644
index 0000000..a4fc85b
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+boyhiking:boyhiking.png
+boybiking:boybiking.png
+boyswimming:boyswimming.png
+girlvolleyball:girlvolleyball.png
+girlbasketball:girlbasketball.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png sheplaysvolleyball.ogg volleyball girlvolleyball
+icono_play.png hehikes.ogg hiking boyhiking
+icono_play.png hebikes.ogg bike boybiking
+icono_play.png sheplaysbasketball.ogg basketball girlbasketball
+icono_play.png sheswims.ogg swimming boyswimming
diff --git a/Activities/Level3/2Sports/7DragnDrop/settings.txt b/Activities/Level3/2Sports/7DragnDrop/settings.txt
new file mode 100644
index 0000000..4d9810d
--- /dev/null
+++ b/Activities/Level3/2Sports/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 440
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/8Match/data.txt b/Activities/Level3/2Sports/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/8Match/ico.png b/Activities/Level3/2Sports/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/baseballTXT.png b/Activities/Level3/2Sports/8Match/resources/baseballTXT.png
new file mode 100644
index 0000000..d1916e8
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/baseballTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/bikingTXT.png b/Activities/Level3/2Sports/8Match/resources/bikingTXT.png
new file mode 100644
index 0000000..d38a6ab
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/bikingTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/boybaseball.png b/Activities/Level3/2Sports/8Match/resources/boybaseball.png
new file mode 100644
index 0000000..52d93d7
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/boybaseball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/boyswimming.png b/Activities/Level3/2Sports/8Match/resources/boyswimming.png
new file mode 100644
index 0000000..482e213
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/boyswimming.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/boytennis.png b/Activities/Level3/2Sports/8Match/resources/boytennis.png
new file mode 100644
index 0000000..f9a187d
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/boytennis.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/girlbiking.png b/Activities/Level3/2Sports/8Match/resources/girlbiking.png
new file mode 100644
index 0000000..11fc7ef
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/girlbiking.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/girlvolleyball.png b/Activities/Level3/2Sports/8Match/resources/girlvolleyball.png
new file mode 100644
index 0000000..3b399c9
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/girlvolleyball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/swimmingTXT.png b/Activities/Level3/2Sports/8Match/resources/swimmingTXT.png
new file mode 100644
index 0000000..ddb76c6
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/swimmingTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/tennisTXT.png b/Activities/Level3/2Sports/8Match/resources/tennisTXT.png
new file mode 100644
index 0000000..4242b5f
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/tennisTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/resources/volleyballTXT.png b/Activities/Level3/2Sports/8Match/resources/volleyballTXT.png
new file mode 100644
index 0000000..29ff808
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/resources/volleyballTXT.png
Binary files differ
diff --git a/Activities/Level3/2Sports/8Match/screens.txt b/Activities/Level3/2Sports/8Match/screens.txt
new file mode 100644
index 0000000..8bec7a0
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/screens.txt
@@ -0,0 +1,5 @@
+baseballTXT.png [baseball.ogg,heplaysbaseball.ogg] boybaseball.png
+tennisTXT.png [tennis.ogg,heplaystennis.ogg] boytennis.png
+swimmingTXT.png [swimming.ogg,heswims.ogg] boyswimming.png
+bikingTXT.png [biking.ogg,sheridesabike.ogg] girlbiking.png
+volleyballTXT.png [volleyball.ogg,sheplaysvolleyball.ogg] girlvolleyball.png \ No newline at end of file
diff --git a/Activities/Level3/2Sports/8Match/settings.txt b/Activities/Level3/2Sports/8Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/2Sports/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/9MultipleC/data.txt b/Activities/Level3/2Sports/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/2Sports/9MultipleC/ico.png b/Activities/Level3/2Sports/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/2Sports/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/boybasketball.png b/Activities/Level3/2Sports/9MultipleC/resources/boybasketball.png
new file mode 100644
index 0000000..8a2af34
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/boybasketball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/boybike.png b/Activities/Level3/2Sports/9MultipleC/resources/boybike.png
new file mode 100644
index 0000000..478c512
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/boybike.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/boyhike.png b/Activities/Level3/2Sports/9MultipleC/resources/boyhike.png
new file mode 100644
index 0000000..740160d
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/boyhike.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/boytennis.png b/Activities/Level3/2Sports/9MultipleC/resources/boytennis.png
new file mode 100644
index 0000000..71ed44d
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/boytennis.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/2Sports/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..c3733ac
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/cara_triste_anim.png b/Activities/Level3/2Sports/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..82fcee1
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/girlbaseball.png b/Activities/Level3/2Sports/9MultipleC/resources/girlbaseball.png
new file mode 100644
index 0000000..915ab78
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/girlbaseball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/girlfootball.png b/Activities/Level3/2Sports/9MultipleC/resources/girlfootball.png
new file mode 100644
index 0000000..fcd34c5
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/girlfootball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/girlswim.png b/Activities/Level3/2Sports/9MultipleC/resources/girlswim.png
new file mode 100644
index 0000000..2212c8f
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/girlswim.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/resources/girlvolleyball.png b/Activities/Level3/2Sports/9MultipleC/resources/girlvolleyball.png
new file mode 100644
index 0000000..a134645
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/resources/girlvolleyball.png
Binary files differ
diff --git a/Activities/Level3/2Sports/9MultipleC/screens.txt b/Activities/Level3/2Sports/9MultipleC/screens.txt
new file mode 100644
index 0000000..1040a36
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+girlswim.png sheswims.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boytennis.png heplaystennis.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlfootball.png sheplaysbaseball.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boybike.png hehikes.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlbaseball.png sheplaysbaseball.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boybasketball.png heplaysvolleyball.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+girlvolleyball.png sheplaysvolleyball.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+boyhike.png hehikes.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/2Sports/9MultipleC/settings.txt b/Activities/Level3/2Sports/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level3/2Sports/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/2Sports/btn_act.bmp b/Activities/Level3/2Sports/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level3/2Sports/btn_act.bmp
Binary files differ
diff --git a/Activities/Level3/2Sports/btn_act.png b/Activities/Level3/2Sports/btn_act.png
new file mode 100644
index 0000000..f1c923f
--- /dev/null
+++ b/Activities/Level3/2Sports/btn_act.png
Binary files differ
diff --git a/Activities/Level3/2Sports/ico.png b/Activities/Level3/2Sports/ico.png
new file mode 100644
index 0000000..893bab1
--- /dev/null
+++ b/Activities/Level3/2Sports/ico.png
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-hebikes.ogg b/Activities/Level3/2Sports/sounds/Q-hebikes.ogg
new file mode 100644
index 0000000..a9a67b1
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-hebikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-hehikes.ogg b/Activities/Level3/2Sports/sounds/Q-hehikes.ogg
new file mode 100644
index 0000000..f216989
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-hehikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-heplaysbaseball.ogg b/Activities/Level3/2Sports/sounds/Q-heplaysbaseball.ogg
new file mode 100644
index 0000000..fb4c455
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-heplaysbaseball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-heplaysbasketball.ogg b/Activities/Level3/2Sports/sounds/Q-heplaysbasketball.ogg
new file mode 100644
index 0000000..766e5bd
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-heplaysbasketball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-heplaystennis.ogg b/Activities/Level3/2Sports/sounds/Q-heplaystennis.ogg
new file mode 100644
index 0000000..b77fab1
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-heplaystennis.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-heplaysvolleyball.ogg b/Activities/Level3/2Sports/sounds/Q-heplaysvolleyball.ogg
new file mode 100644
index 0000000..7afeaf1
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-heplaysvolleyball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-heswims.ogg b/Activities/Level3/2Sports/sounds/Q-heswims.ogg
new file mode 100644
index 0000000..bcb3491
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-heswims.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-shebikes.ogg b/Activities/Level3/2Sports/sounds/Q-shebikes.ogg
new file mode 100644
index 0000000..182f73d
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-shebikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-shehikes.ogg b/Activities/Level3/2Sports/sounds/Q-shehikes.ogg
new file mode 100644
index 0000000..8a1c429
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-shehikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-sheplaysbaseball.ogg b/Activities/Level3/2Sports/sounds/Q-sheplaysbaseball.ogg
new file mode 100644
index 0000000..10ba254
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-sheplaysbaseball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-sheplaysbasketball.ogg b/Activities/Level3/2Sports/sounds/Q-sheplaysbasketball.ogg
new file mode 100644
index 0000000..325bc25
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-sheplaysbasketball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-sheplaysfootball.ogg b/Activities/Level3/2Sports/sounds/Q-sheplaysfootball.ogg
new file mode 100644
index 0000000..2149afe
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-sheplaysfootball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-sheplaystennis.ogg b/Activities/Level3/2Sports/sounds/Q-sheplaystennis.ogg
new file mode 100644
index 0000000..71a1009
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-sheplaystennis.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-sheplaysvolleyball.ogg b/Activities/Level3/2Sports/sounds/Q-sheplaysvolleyball.ogg
new file mode 100644
index 0000000..637dc1b
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-sheplaysvolleyball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Q-sheswims.ogg b/Activities/Level3/2Sports/sounds/Q-sheswims.ogg
new file mode 100644
index 0000000..e54390d
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Q-sheswims.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/Twinkle.ogg b/Activities/Level3/2Sports/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/baseball.ogg b/Activities/Level3/2Sports/sounds/baseball.ogg
new file mode 100644
index 0000000..a0b7706
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/baseball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/baseballyellow.ogg b/Activities/Level3/2Sports/sounds/baseballyellow.ogg
new file mode 100644
index 0000000..9032fe8
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/baseballyellow.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/basketball.ogg b/Activities/Level3/2Sports/sounds/basketball.ogg
new file mode 100644
index 0000000..17a970d
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/basketball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/basketballorange.ogg b/Activities/Level3/2Sports/sounds/basketballorange.ogg
new file mode 100644
index 0000000..89b7c15
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/basketballorange.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/bike_f.ogg b/Activities/Level3/2Sports/sounds/bike_f.ogg
new file mode 100644
index 0000000..18ed868
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/bike_f.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/bike_m.ogg b/Activities/Level3/2Sports/sounds/bike_m.ogg
new file mode 100644
index 0000000..4d75fc7
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/bike_m.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/bikeblack.ogg b/Activities/Level3/2Sports/sounds/bikeblack.ogg
new file mode 100644
index 0000000..e22678e
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/bikeblack.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/biking.ogg b/Activities/Level3/2Sports/sounds/biking.ogg
new file mode 100644
index 0000000..77a9cdc
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/biking.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/bing.ogg b/Activities/Level3/2Sports/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/chord.ogg b/Activities/Level3/2Sports/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/ding.ogg b/Activities/Level3/2Sports/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/football.ogg b/Activities/Level3/2Sports/sounds/football.ogg
new file mode 100644
index 0000000..b2776c9
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/football.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/footballblue.ogg b/Activities/Level3/2Sports/sounds/footballblue.ogg
new file mode 100644
index 0000000..e9728a7
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/footballblue.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/hebikes.ogg b/Activities/Level3/2Sports/sounds/hebikes.ogg
new file mode 100644
index 0000000..dd8d0fe
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/hebikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/hehikes.ogg b/Activities/Level3/2Sports/sounds/hehikes.ogg
new file mode 100644
index 0000000..374d0b6
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/hehikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/heplaysbaseball.ogg b/Activities/Level3/2Sports/sounds/heplaysbaseball.ogg
new file mode 100644
index 0000000..22c5bfc
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/heplaysbaseball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/heplaysbasketball.ogg b/Activities/Level3/2Sports/sounds/heplaysbasketball.ogg
new file mode 100644
index 0000000..e2c57ad
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/heplaysbasketball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/heplaysfootball.ogg b/Activities/Level3/2Sports/sounds/heplaysfootball.ogg
new file mode 100644
index 0000000..0f19826
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/heplaysfootball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/heplaystennis.ogg b/Activities/Level3/2Sports/sounds/heplaystennis.ogg
new file mode 100644
index 0000000..05796c8
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/heplaystennis.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/heplaysvolleyball.ogg b/Activities/Level3/2Sports/sounds/heplaysvolleyball.ogg
new file mode 100644
index 0000000..75a1876
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/heplaysvolleyball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/heswims.ogg b/Activities/Level3/2Sports/sounds/heswims.ogg
new file mode 100644
index 0000000..0c6bae7
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/heswims.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/hikegreen.ogg b/Activities/Level3/2Sports/sounds/hikegreen.ogg
new file mode 100644
index 0000000..810c5d1
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/hikegreen.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/hiking.ogg b/Activities/Level3/2Sports/sounds/hiking.ogg
new file mode 100644
index 0000000..2008966
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/hiking.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/shebikes.ogg b/Activities/Level3/2Sports/sounds/shebikes.ogg
new file mode 100644
index 0000000..00f9172
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/shebikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/shehikes.ogg b/Activities/Level3/2Sports/sounds/shehikes.ogg
new file mode 100644
index 0000000..23d3274
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/shehikes.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/sheplaysbaseball.ogg b/Activities/Level3/2Sports/sounds/sheplaysbaseball.ogg
new file mode 100644
index 0000000..57a8f1a
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/sheplaysbaseball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/sheplaysbasketball.ogg b/Activities/Level3/2Sports/sounds/sheplaysbasketball.ogg
new file mode 100644
index 0000000..8a50888
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/sheplaysbasketball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/sheplaysfootball.ogg b/Activities/Level3/2Sports/sounds/sheplaysfootball.ogg
new file mode 100644
index 0000000..d330155
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/sheplaysfootball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/sheplaysvolleyball.ogg b/Activities/Level3/2Sports/sounds/sheplaysvolleyball.ogg
new file mode 100644
index 0000000..8a64f05
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/sheplaysvolleyball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/sheridesabike.ogg b/Activities/Level3/2Sports/sounds/sheridesabike.ogg
new file mode 100644
index 0000000..ff54ca6
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/sheridesabike.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/sheswims.ogg b/Activities/Level3/2Sports/sounds/sheswims.ogg
new file mode 100644
index 0000000..83dd450
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/sheswims.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/swimming.ogg b/Activities/Level3/2Sports/sounds/swimming.ogg
new file mode 100644
index 0000000..2dbf854
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/swimming.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/swimred.ogg b/Activities/Level3/2Sports/sounds/swimred.ogg
new file mode 100644
index 0000000..a6596cf
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/swimred.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/tennis.ogg b/Activities/Level3/2Sports/sounds/tennis.ogg
new file mode 100644
index 0000000..d2b3235
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/tennis.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/tenniswhite.ogg b/Activities/Level3/2Sports/sounds/tenniswhite.ogg
new file mode 100644
index 0000000..35fd10d
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/tenniswhite.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/unitSound.ogg b/Activities/Level3/2Sports/sounds/unitSound.ogg
new file mode 100644
index 0000000..5be6963
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/volleyball.ogg b/Activities/Level3/2Sports/sounds/volleyball.ogg
new file mode 100644
index 0000000..17fed03
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/volleyball.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/sounds/volleyballpurple.ogg b/Activities/Level3/2Sports/sounds/volleyballpurple.ogg
new file mode 100644
index 0000000..264121e
--- /dev/null
+++ b/Activities/Level3/2Sports/sounds/volleyballpurple.ogg
Binary files differ
diff --git a/Activities/Level3/2Sports/unitMarker.png b/Activities/Level3/2Sports/unitMarker.png
new file mode 100644
index 0000000..f0e3128
--- /dev/null
+++ b/Activities/Level3/2Sports/unitMarker.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/data.txt b/Activities/Level3/3Family/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/1Sort/ico.png b/Activities/Level3/3Family/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/3Family/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/father.png b/Activities/Level3/3Family/1Sort/resources/father.png
new file mode 100644
index 0000000..db919b9
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/fatherSIL.png b/Activities/Level3/3Family/1Sort/resources/fatherSIL.png
new file mode 100644
index 0000000..888d2a9
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/fatherSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/mother.png b/Activities/Level3/3Family/1Sort/resources/mother.png
new file mode 100644
index 0000000..67a942c
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/mother.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/motherSIL.png b/Activities/Level3/3Family/1Sort/resources/motherSIL.png
new file mode 100644
index 0000000..3e7c028
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/motherSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/pablo.png b/Activities/Level3/3Family/1Sort/resources/pablo.png
new file mode 100644
index 0000000..2a1b084
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/pablo.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/pabloSIL.png b/Activities/Level3/3Family/1Sort/resources/pabloSIL.png
new file mode 100644
index 0000000..62262dd
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/pabloSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/sister.png b/Activities/Level3/3Family/1Sort/resources/sister.png
new file mode 100644
index 0000000..d61b72d
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/sister.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/resources/sisterSIL.png b/Activities/Level3/3Family/1Sort/resources/sisterSIL.png
new file mode 100644
index 0000000..ff7e441
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/resources/sisterSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/1Sort/screens.txt b/Activities/Level3/3Family/1Sort/screens.txt
new file mode 100644
index 0000000..0b5433e
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/screens.txt
@@ -0,0 +1,27 @@
+screen1:
+BINS:
+Pablo:pabloSIL.png
+father:fatherSIL.png
+mother:motherSIL.png
+sister:sisterSIL.png
+CRAYONS:
+pablo.png [whoareyou_F.ogg,mynameispablo.ogg] PABLO Pablo 400 280 5
+mother.png [whoisthis.ogg,thisismymother.ogg] MOTHER mother 640 230 4
+sister.png [whoisthis.ogg,thisismysister.ogg] SISTER sister 680 280 5
+father.png [whoisthis.ogg,thisismyfather.ogg] FATHER father 540 230 5
+
+
+screen2:
+BINS:keepstate
+mother:motherSIL.png
+sister:sisterSIL.png
+Pablo:pabloSIL.png
+father:fatherSIL.png
+CRAYONS:
+sister.png [whoisthis.ogg,thisismysister.ogg] SISTER sister 680 280 5
+mother.png [whoisthis.ogg,thisismymother.ogg] MOTHER mother 640 230 4
+father.png [whoisthis.ogg,thisismyfather.ogg] FATHER father 540 230 5
+pablo.png [whoareyou_F.ogg,mynameispablo.ogg] PABLO Pablo 400 280 5
+
+
+
diff --git a/Activities/Level3/3Family/1Sort/settings.txt b/Activities/Level3/3Family/1Sort/settings.txt
new file mode 100644
index 0000000..d51eee6
--- /dev/null
+++ b/Activities/Level3/3Family/1Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 0
+showBinText = 1
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/3Family/2Sort/data.txt b/Activities/Level3/3Family/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/2Sort/ico.png b/Activities/Level3/3Family/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/3Family/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/brother.png b/Activities/Level3/3Family/2Sort/resources/brother.png
new file mode 100644
index 0000000..747d55e
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/brother.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/brotherSIL.png b/Activities/Level3/3Family/2Sort/resources/brotherSIL.png
new file mode 100644
index 0000000..cc8baa5
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/brotherSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/grandfather.png b/Activities/Level3/3Family/2Sort/resources/grandfather.png
new file mode 100644
index 0000000..5405051
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/grandfather.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/grandfatherSIL.png b/Activities/Level3/3Family/2Sort/resources/grandfatherSIL.png
new file mode 100644
index 0000000..760d588
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/grandfatherSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/grandmother.png b/Activities/Level3/3Family/2Sort/resources/grandmother.png
new file mode 100644
index 0000000..7b62bff
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/grandmother.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/grandmotherSIL.png b/Activities/Level3/3Family/2Sort/resources/grandmotherSIL.png
new file mode 100644
index 0000000..d7092aa
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/grandmotherSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/rosa.png b/Activities/Level3/3Family/2Sort/resources/rosa.png
new file mode 100644
index 0000000..2398279
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/rosa.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/resources/rosaSIL.png b/Activities/Level3/3Family/2Sort/resources/rosaSIL.png
new file mode 100644
index 0000000..9711c38
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/resources/rosaSIL.png
Binary files differ
diff --git a/Activities/Level3/3Family/2Sort/screens.txt b/Activities/Level3/3Family/2Sort/screens.txt
new file mode 100644
index 0000000..1e5ebb4
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/screens.txt
@@ -0,0 +1,26 @@
+screen1:
+BINS:
+brother:brotherSIL.png
+grandfather:grandfatherSIL.png
+grandmother:grandmotherSIL.png
+Rosa:rosaSIL.png
+CRAYONS:
+rosa.png [whoareyou.ogg,mynameisrosa.ogg] ROSA Rosa 400 240 5
+grandmother.png [whoisthis_M.ogg,thisismygrandmother.ogg] GRANDMOTHER grandmother 630 250 5
+brother.png [whoisthis_M.ogg,thisismybrother.ogg] BROTHER brother 690 270 5
+grandfather.png [whoisthis_M.ogg,thisismygrandfather.ogg] GRANDFATHER grandfather 530 240 5
+
+screen2:
+BINS:keepstate
+grandmother:grandmotherSIL.png
+Rosa:rosaSIL.png
+brother:brotherSIL.png
+grandfather:grandfatherSIL.png
+CRAYONS:
+brother.png [whoisthis_M.ogg,thisismybrother.ogg] BROTHER brother 690 270 5
+grandfather.png [whoisthis_M.ogg,thisismygrandfather.ogg] GRANDFATHER grandfather 530 240 5
+rosa.png [whoareyou.ogg,mynameisrosa.ogg] ROSA Rosa 400 240 5
+grandmother.png [whoisthis_M.ogg,thisismygrandmother.ogg] GRANDMOTHER grandmother 630 250 5
+
+
+
diff --git a/Activities/Level3/3Family/2Sort/settings.txt b/Activities/Level3/3Family/2Sort/settings.txt
new file mode 100644
index 0000000..d51eee6
--- /dev/null
+++ b/Activities/Level3/3Family/2Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 0
+showBinText = 1
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/3Family/3Match/data.txt b/Activities/Level3/3Family/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/3Match/ico.png b/Activities/Level3/3Family/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/brother.png b/Activities/Level3/3Family/3Match/resources/brother.png
new file mode 100644
index 0000000..38999b5
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/brother.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/brotherTXT.png b/Activities/Level3/3Family/3Match/resources/brotherTXT.png
new file mode 100644
index 0000000..690bd3a
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/brotherTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/father.png b/Activities/Level3/3Family/3Match/resources/father.png
new file mode 100644
index 0000000..fe13ce0
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/fatherTXT.png b/Activities/Level3/3Family/3Match/resources/fatherTXT.png
new file mode 100644
index 0000000..56427e1
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/fatherTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/grandfather.png b/Activities/Level3/3Family/3Match/resources/grandfather.png
new file mode 100644
index 0000000..899e9cc
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/grandfather.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/grandfatherTXT.png b/Activities/Level3/3Family/3Match/resources/grandfatherTXT.png
new file mode 100644
index 0000000..92cce94
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/grandfatherTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/rosa.png b/Activities/Level3/3Family/3Match/resources/rosa.png
new file mode 100644
index 0000000..53b4812
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/rosa.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/rosaTXT.png b/Activities/Level3/3Family/3Match/resources/rosaTXT.png
new file mode 100644
index 0000000..f04b6c2
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/rosaTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/sister.png b/Activities/Level3/3Family/3Match/resources/sister.png
new file mode 100644
index 0000000..2937032
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/sister.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/resources/sisterTXT.png b/Activities/Level3/3Family/3Match/resources/sisterTXT.png
new file mode 100644
index 0000000..0fe7022
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/resources/sisterTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/3Match/screens.txt b/Activities/Level3/3Family/3Match/screens.txt
new file mode 100644
index 0000000..021ac21
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/screens.txt
@@ -0,0 +1,5 @@
+brotherTXT.png [brother.ogg,thisismybrother.ogg] brother.png
+fatherTXT.png [father.ogg,thisismyfather.ogg] father.png
+rosaTXT.png [rosa.ogg,mynameisrosa.ogg] rosa.png
+sisterTXT.png [sister.ogg,thisismysister.ogg] sister.png
+grandfatherTXT.png [grandfather.ogg,thisismygrandfather.ogg] grandfather.png \ No newline at end of file
diff --git a/Activities/Level3/3Family/3Match/settings.txt b/Activities/Level3/3Family/3Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/3Family/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/3Family/4Paint/data.txt b/Activities/Level3/3Family/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/4Paint/ico.png b/Activities/Level3/3Family/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/brother.png b/Activities/Level3/3Family/4Paint/resources/brother.png
new file mode 100644
index 0000000..efa7648
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/brother.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/father.png b/Activities/Level3/3Family/4Paint/resources/father.png
new file mode 100644
index 0000000..9278ff9
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/grandfather.png b/Activities/Level3/3Family/4Paint/resources/grandfather.png
new file mode 100644
index 0000000..f71f622
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/grandfather.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/grandmother.png b/Activities/Level3/3Family/4Paint/resources/grandmother.png
new file mode 100644
index 0000000..946223a
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/grandmother.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/mother.png b/Activities/Level3/3Family/4Paint/resources/mother.png
new file mode 100644
index 0000000..180108b
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/mother.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/pablo.png b/Activities/Level3/3Family/4Paint/resources/pablo.png
new file mode 100644
index 0000000..3f12bd8
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/pablo.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/rosa.png b/Activities/Level3/3Family/4Paint/resources/rosa.png
new file mode 100644
index 0000000..2caa99b
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/rosa.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/resources/sister.png b/Activities/Level3/3Family/4Paint/resources/sister.png
new file mode 100644
index 0000000..df17ff6
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/resources/sister.png
Binary files differ
diff --git a/Activities/Level3/3Family/4Paint/screens.txt b/Activities/Level3/3Family/4Paint/screens.txt
new file mode 100644
index 0000000..8a9670a
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/screens.txt
@@ -0,0 +1,32 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+pablo.png pablored.ogg red
+rosa.png rosayellow.ogg yellow
+mother.png motherblue.ogg blue
+brother.png brotherblack.ogg black
+grandmother.png grandmotherpurple.ogg purple
+sister.png sisterorange.ogg orange
+grandfather.png grandfatherwhite.ogg white
+father.png fathergreen.ogg green
+
+
+
+
+
+
+
+
+
diff --git a/Activities/Level3/3Family/4Paint/settings.txt b/Activities/Level3/3Family/4Paint/settings.txt
new file mode 100644
index 0000000..5d367fe
--- /dev/null
+++ b/Activities/Level3/3Family/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 250
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 140
+xFirstElementLastRow = 390
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level3/3Family/5MultipleC/data.txt b/Activities/Level3/3Family/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/5MultipleC/ico.png b/Activities/Level3/3Family/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/3Family/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/brother.png b/Activities/Level3/3Family/5MultipleC/resources/brother.png
new file mode 100644
index 0000000..48e615a
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/brother.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/3Family/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..ac08b2a
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/cara_triste_anim.png b/Activities/Level3/3Family/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..60d5487
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/father.png b/Activities/Level3/3Family/5MultipleC/resources/father.png
new file mode 100644
index 0000000..1650255
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/grandfather.png b/Activities/Level3/3Family/5MultipleC/resources/grandfather.png
new file mode 100644
index 0000000..506c3ed
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/grandfather.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/grandmother.png b/Activities/Level3/3Family/5MultipleC/resources/grandmother.png
new file mode 100644
index 0000000..7006b0f
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/grandmother.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/mother.png b/Activities/Level3/3Family/5MultipleC/resources/mother.png
new file mode 100644
index 0000000..c172600
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/mother.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/resources/pablo.png b/Activities/Level3/3Family/5MultipleC/resources/pablo.png
new file mode 100644
index 0000000..1779266
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/resources/pablo.png
Binary files differ
diff --git a/Activities/Level3/3Family/5MultipleC/screens.txt b/Activities/Level3/3Family/5MultipleC/screens.txt
new file mode 100644
index 0000000..54a9aa2
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+father.png thisismyfather.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+grandmother.png thisismygrandmother.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+brother.png mynameispablo.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mother.png thisismygrandfather.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+brother.png thisismybrother.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+grandfather.png thisismysister.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+father.png thisismyfather.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pablo.png mynameispablo.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/3Family/5MultipleC/settings.txt b/Activities/Level3/3Family/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level3/3Family/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/3Family/6Concentrate/data.txt b/Activities/Level3/3Family/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/6Concentrate/ico.png b/Activities/Level3/3Family/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/_BackFace.png b/Activities/Level3/3Family/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..283d3ad
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/brother.png b/Activities/Level3/3Family/6Concentrate/resources/brother.png
new file mode 100644
index 0000000..c611931
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/brother.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/conc_11_color.jpg b/Activities/Level3/3Family/6Concentrate/resources/conc_11_color.jpg
new file mode 100644
index 0000000..7ab3594
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/conc_11_color.jpg
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/conc_11_mono.jpg b/Activities/Level3/3Family/6Concentrate/resources/conc_11_mono.jpg
new file mode 100644
index 0000000..d0b6559
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/conc_11_mono.jpg
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/father.png b/Activities/Level3/3Family/6Concentrate/resources/father.png
new file mode 100644
index 0000000..20b140e
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/grandfather.png b/Activities/Level3/3Family/6Concentrate/resources/grandfather.png
new file mode 100644
index 0000000..093cad0
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/grandfather.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/grandmother.png b/Activities/Level3/3Family/6Concentrate/resources/grandmother.png
new file mode 100644
index 0000000..3a7159f
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/grandmother.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/mother.png b/Activities/Level3/3Family/6Concentrate/resources/mother.png
new file mode 100644
index 0000000..7308fe3
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/mother.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/pablo.png b/Activities/Level3/3Family/6Concentrate/resources/pablo.png
new file mode 100644
index 0000000..54c74ba
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/pablo.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/rosa.png b/Activities/Level3/3Family/6Concentrate/resources/rosa.png
new file mode 100644
index 0000000..f916eee
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/rosa.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/resources/sister.png b/Activities/Level3/3Family/6Concentrate/resources/sister.png
new file mode 100644
index 0000000..dcfdd73
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/resources/sister.png
Binary files differ
diff --git a/Activities/Level3/3Family/6Concentrate/screen.txt b/Activities/Level3/3Family/6Concentrate/screen.txt
new file mode 100644
index 0000000..8c854a3
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_11_mono.jpg:conc_11_color.jpg
+brother.png brother.png brother.ogg brother
+pablo.png pablo.png pablo.ogg pablo
+father.png father.png father.ogg father
+grandfather.png grandfather.png grandfather.ogg grandfather
+grandmother.png grandmother.png grandmother.ogg grandmother
+mother.png mother.png mother.ogg mother
+rosa.png rosa.png rosa.ogg rosa
+sister.png sister.png sister.ogg sister
diff --git a/Activities/Level3/3Family/6Concentrate/settings.txt b/Activities/Level3/3Family/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level3/3Family/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level3/3Family/7DragnDrop/data.txt b/Activities/Level3/3Family/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/7DragnDrop/ico.png b/Activities/Level3/3Family/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/3Family/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/resources/brother.png b/Activities/Level3/3Family/7DragnDrop/resources/brother.png
new file mode 100644
index 0000000..e492683
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/resources/brother.png
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/resources/father.png b/Activities/Level3/3Family/7DragnDrop/resources/father.png
new file mode 100644
index 0000000..57f52dc
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/resources/grandmother.png b/Activities/Level3/3Family/7DragnDrop/resources/grandmother.png
new file mode 100644
index 0000000..8e26f28
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/resources/grandmother.png
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/resources/icono_play.png b/Activities/Level3/3Family/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/resources/mother.png b/Activities/Level3/3Family/7DragnDrop/resources/mother.png
new file mode 100644
index 0000000..0264395
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/resources/mother.png
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/resources/sister.png b/Activities/Level3/3Family/7DragnDrop/resources/sister.png
new file mode 100644
index 0000000..abb6291
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/resources/sister.png
Binary files differ
diff --git a/Activities/Level3/3Family/7DragnDrop/screens.txt b/Activities/Level3/3Family/7DragnDrop/screens.txt
new file mode 100644
index 0000000..6f825d0
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+sister:sister.png
+mother:mother.png
+grandmother:grandmother.png
+brother:brother.png
+father:father.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png thisismysister.ogg sister sister
+icono_play.png thisismyfather.ogg father father
+icono_play.png thisismybrother.ogg brother brother
+icono_play.png thisismymother.ogg mother mother
+icono_play.png thisismygrandmother.ogg grandmother grandmother
diff --git a/Activities/Level3/3Family/7DragnDrop/settings.txt b/Activities/Level3/3Family/7DragnDrop/settings.txt
new file mode 100644
index 0000000..15b9220
--- /dev/null
+++ b/Activities/Level3/3Family/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 150
+distanceBetweenCrayons = 185
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 240
+yEvenCrayons = 280
+yOddBins = 440
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level3/3Family/8Match/data.txt b/Activities/Level3/3Family/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/8Match/ico.png b/Activities/Level3/3Family/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/father.png b/Activities/Level3/3Family/8Match/resources/father.png
new file mode 100644
index 0000000..5225f5e
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/fatherTXT.png b/Activities/Level3/3Family/8Match/resources/fatherTXT.png
new file mode 100644
index 0000000..56427e1
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/fatherTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/grandmother.png b/Activities/Level3/3Family/8Match/resources/grandmother.png
new file mode 100644
index 0000000..d3975f6
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/grandmother.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/grandmotherTXT.png b/Activities/Level3/3Family/8Match/resources/grandmotherTXT.png
new file mode 100644
index 0000000..1f1e233
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/grandmotherTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/mother.png b/Activities/Level3/3Family/8Match/resources/mother.png
new file mode 100644
index 0000000..076ab5a
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/mother.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/motherTXT.png b/Activities/Level3/3Family/8Match/resources/motherTXT.png
new file mode 100644
index 0000000..dd208aa
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/motherTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/pablo.png b/Activities/Level3/3Family/8Match/resources/pablo.png
new file mode 100644
index 0000000..f6fea00
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/pablo.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/pabloTXT.png b/Activities/Level3/3Family/8Match/resources/pabloTXT.png
new file mode 100644
index 0000000..09536fe
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/pabloTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/sister.png b/Activities/Level3/3Family/8Match/resources/sister.png
new file mode 100644
index 0000000..abc544f
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/sister.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/resources/sisterTXT.png b/Activities/Level3/3Family/8Match/resources/sisterTXT.png
new file mode 100644
index 0000000..0fe7022
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/resources/sisterTXT.png
Binary files differ
diff --git a/Activities/Level3/3Family/8Match/screens.txt b/Activities/Level3/3Family/8Match/screens.txt
new file mode 100644
index 0000000..1666df6
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/screens.txt
@@ -0,0 +1,5 @@
+pabloTXT.png [pablo.ogg,mynameispablo.ogg] pablo.png
+fatherTXT.png [father.ogg,thisismyfather.ogg] father.png
+grandmotherTXT.png [grandmother.ogg,thisismygrandmother.ogg] grandmother.png
+motherTXT.png [mother.ogg,thisismymother.ogg] mother.png
+sisterTXT.png [sister.ogg,thisismysister.ogg] sister.png \ No newline at end of file
diff --git a/Activities/Level3/3Family/8Match/settings.txt b/Activities/Level3/3Family/8Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/3Family/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/3Family/9MultipleC/data.txt b/Activities/Level3/3Family/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/3Family/9MultipleC/ico.png b/Activities/Level3/3Family/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/3Family/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/brother.png b/Activities/Level3/3Family/9MultipleC/resources/brother.png
new file mode 100644
index 0000000..518293a
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/brother.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/3Family/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..f443938
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/cara_triste_anim.png b/Activities/Level3/3Family/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..9ef0e18
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/father.png b/Activities/Level3/3Family/9MultipleC/resources/father.png
new file mode 100644
index 0000000..8317b95
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/father.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/mother.png b/Activities/Level3/3Family/9MultipleC/resources/mother.png
new file mode 100644
index 0000000..3a7e023
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/mother.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/pablo.png b/Activities/Level3/3Family/9MultipleC/resources/pablo.png
new file mode 100644
index 0000000..de33098
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/pablo.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/rosa.png b/Activities/Level3/3Family/9MultipleC/resources/rosa.png
new file mode 100644
index 0000000..edc41e1
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/rosa.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/resources/sister.png b/Activities/Level3/3Family/9MultipleC/resources/sister.png
new file mode 100644
index 0000000..170797f
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/resources/sister.png
Binary files differ
diff --git a/Activities/Level3/3Family/9MultipleC/screens.txt b/Activities/Level3/3Family/9MultipleC/screens.txt
new file mode 100644
index 0000000..2e97400
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+rosa.png mynameisrosa.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+father.png thisismygrandfather.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mother.png thisismysister.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mother.png thisismygrandmother.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+sister.png thisismysister.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+brother.png thisismybrother.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mother.png thisismymother.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pablo.png mynameispablo.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/3Family/9MultipleC/settings.txt b/Activities/Level3/3Family/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level3/3Family/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/3Family/btn_act.bmp b/Activities/Level3/3Family/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level3/3Family/btn_act.bmp
Binary files differ
diff --git a/Activities/Level3/3Family/btn_act.png b/Activities/Level3/3Family/btn_act.png
new file mode 100644
index 0000000..f1c923f
--- /dev/null
+++ b/Activities/Level3/3Family/btn_act.png
Binary files differ
diff --git a/Activities/Level3/3Family/ico.png b/Activities/Level3/3Family/ico.png
new file mode 100644
index 0000000..cda8ee7
--- /dev/null
+++ b/Activities/Level3/3Family/ico.png
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-mynameispablo.ogg b/Activities/Level3/3Family/sounds/Q-mynameispablo.ogg
new file mode 100644
index 0000000..57e6724
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-mynameispablo.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-mynameisrosa.ogg b/Activities/Level3/3Family/sounds/Q-mynameisrosa.ogg
new file mode 100644
index 0000000..caefbbb
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-mynameisrosa.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-thisismybrother.ogg b/Activities/Level3/3Family/sounds/Q-thisismybrother.ogg
new file mode 100644
index 0000000..c3e678e
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-thisismybrother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-thisismyfather.ogg b/Activities/Level3/3Family/sounds/Q-thisismyfather.ogg
new file mode 100644
index 0000000..14a7ece
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-thisismyfather.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-thisismygrandfather.ogg b/Activities/Level3/3Family/sounds/Q-thisismygrandfather.ogg
new file mode 100644
index 0000000..1fe3528
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-thisismygrandfather.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-thisismygrandmother.ogg b/Activities/Level3/3Family/sounds/Q-thisismygrandmother.ogg
new file mode 100644
index 0000000..18a51e4
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-thisismygrandmother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-thisismymother.ogg b/Activities/Level3/3Family/sounds/Q-thisismymother.ogg
new file mode 100644
index 0000000..a90333a
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-thisismymother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Q-thisismysister.ogg b/Activities/Level3/3Family/sounds/Q-thisismysister.ogg
new file mode 100644
index 0000000..4da404d
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Q-thisismysister.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/Twinkle.ogg b/Activities/Level3/3Family/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/bing.ogg b/Activities/Level3/3Family/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/brother.ogg b/Activities/Level3/3Family/sounds/brother.ogg
new file mode 100644
index 0000000..2872625
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/brother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/brotherblack.ogg b/Activities/Level3/3Family/sounds/brotherblack.ogg
new file mode 100644
index 0000000..a3adaa5
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/brotherblack.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/chord.ogg b/Activities/Level3/3Family/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/ding.ogg b/Activities/Level3/3Family/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/father.ogg b/Activities/Level3/3Family/sounds/father.ogg
new file mode 100644
index 0000000..d98bf63
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/father.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/fathergreen.ogg b/Activities/Level3/3Family/sounds/fathergreen.ogg
new file mode 100644
index 0000000..2a16180
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/fathergreen.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/grandfather.ogg b/Activities/Level3/3Family/sounds/grandfather.ogg
new file mode 100644
index 0000000..a1f471b
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/grandfather.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/grandfatherwhite.ogg b/Activities/Level3/3Family/sounds/grandfatherwhite.ogg
new file mode 100644
index 0000000..0f4b612
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/grandfatherwhite.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/grandmother.ogg b/Activities/Level3/3Family/sounds/grandmother.ogg
new file mode 100644
index 0000000..05ca8a1
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/grandmother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/grandmotherpurple.ogg b/Activities/Level3/3Family/sounds/grandmotherpurple.ogg
new file mode 100644
index 0000000..df2a17c
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/grandmotherpurple.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/mother.ogg b/Activities/Level3/3Family/sounds/mother.ogg
new file mode 100644
index 0000000..1d0040b
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/mother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/motherblue.ogg b/Activities/Level3/3Family/sounds/motherblue.ogg
new file mode 100644
index 0000000..86b2dd2
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/motherblue.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/mynameispablo.ogg b/Activities/Level3/3Family/sounds/mynameispablo.ogg
new file mode 100644
index 0000000..78be06f
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/mynameispablo.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/mynameisrosa.ogg b/Activities/Level3/3Family/sounds/mynameisrosa.ogg
new file mode 100644
index 0000000..9db87d1
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/mynameisrosa.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/pablo.ogg b/Activities/Level3/3Family/sounds/pablo.ogg
new file mode 100644
index 0000000..6833ac2
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/pablo.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/pablored.ogg b/Activities/Level3/3Family/sounds/pablored.ogg
new file mode 100644
index 0000000..0f33ba6
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/pablored.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/rosa.ogg b/Activities/Level3/3Family/sounds/rosa.ogg
new file mode 100644
index 0000000..22714ba
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/rosa.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/rosayellow.ogg b/Activities/Level3/3Family/sounds/rosayellow.ogg
new file mode 100644
index 0000000..7c14f6d
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/rosayellow.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/sister.ogg b/Activities/Level3/3Family/sounds/sister.ogg
new file mode 100644
index 0000000..da4277d
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/sister.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/sisterorange.ogg b/Activities/Level3/3Family/sounds/sisterorange.ogg
new file mode 100644
index 0000000..95a3e7b
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/sisterorange.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismybrother.ogg b/Activities/Level3/3Family/sounds/thisismybrother.ogg
new file mode 100644
index 0000000..8231372
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismybrother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismybrother_m.ogg b/Activities/Level3/3Family/sounds/thisismybrother_m.ogg
new file mode 100644
index 0000000..6634305
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismybrother_m.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismyfather.ogg b/Activities/Level3/3Family/sounds/thisismyfather.ogg
new file mode 100644
index 0000000..b56b4dd
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismyfather.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismyfather_f.ogg b/Activities/Level3/3Family/sounds/thisismyfather_f.ogg
new file mode 100644
index 0000000..5605f30
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismyfather_f.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismygrandfather.ogg b/Activities/Level3/3Family/sounds/thisismygrandfather.ogg
new file mode 100644
index 0000000..f86728d
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismygrandfather.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismygrandmother.ogg b/Activities/Level3/3Family/sounds/thisismygrandmother.ogg
new file mode 100644
index 0000000..e754b16
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismygrandmother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismymother.ogg b/Activities/Level3/3Family/sounds/thisismymother.ogg
new file mode 100644
index 0000000..fff08bc
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismymother.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/thisismysister.ogg b/Activities/Level3/3Family/sounds/thisismysister.ogg
new file mode 100644
index 0000000..d979eca
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/thisismysister.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/unitSound.ogg b/Activities/Level3/3Family/sounds/unitSound.ogg
new file mode 100644
index 0000000..ff0e563
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/whoareyou.ogg b/Activities/Level3/3Family/sounds/whoareyou.ogg
new file mode 100644
index 0000000..05fc990
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/whoareyou.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/whoareyou_F.ogg b/Activities/Level3/3Family/sounds/whoareyou_F.ogg
new file mode 100644
index 0000000..2323f42
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/whoareyou_F.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/whoisthis.ogg b/Activities/Level3/3Family/sounds/whoisthis.ogg
new file mode 100644
index 0000000..60f312b
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/whoisthis.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/sounds/whoisthis_M.ogg b/Activities/Level3/3Family/sounds/whoisthis_M.ogg
new file mode 100644
index 0000000..439a49c
--- /dev/null
+++ b/Activities/Level3/3Family/sounds/whoisthis_M.ogg
Binary files differ
diff --git a/Activities/Level3/3Family/unitMarker.png b/Activities/Level3/3Family/unitMarker.png
new file mode 100644
index 0000000..2a251c4
--- /dev/null
+++ b/Activities/Level3/3Family/unitMarker.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/data.txt b/Activities/Level3/4Jobs/1Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/1Sort/ico.png b/Activities/Level3/4Jobs/1Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/4Jobs/1Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/driver.png b/Activities/Level3/4Jobs/1Sort/resources/driver.png
new file mode 100644
index 0000000..e3f4e67
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/driver.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/driverSIL.png b/Activities/Level3/4Jobs/1Sort/resources/driverSIL.png
new file mode 100644
index 0000000..b68ed63
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/driverSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/farmer.png b/Activities/Level3/4Jobs/1Sort/resources/farmer.png
new file mode 100644
index 0000000..fed0d3a
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/farmer.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/farmerSIL.png b/Activities/Level3/4Jobs/1Sort/resources/farmerSIL.png
new file mode 100644
index 0000000..825c5b8
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/farmerSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/police.png b/Activities/Level3/4Jobs/1Sort/resources/police.png
new file mode 100644
index 0000000..39c77fb
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/police.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/policeSIL.png b/Activities/Level3/4Jobs/1Sort/resources/policeSIL.png
new file mode 100644
index 0000000..5d954b5
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/policeSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/teacher.png b/Activities/Level3/4Jobs/1Sort/resources/teacher.png
new file mode 100644
index 0000000..5d5035a
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/teacher.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/resources/teacherSIL.png b/Activities/Level3/4Jobs/1Sort/resources/teacherSIL.png
new file mode 100644
index 0000000..5343f9b
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/resources/teacherSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/1Sort/screens.txt b/Activities/Level3/4Jobs/1Sort/screens.txt
new file mode 100644
index 0000000..babeabf
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/screens.txt
@@ -0,0 +1,25 @@
+screen1:
+BINS:
+driver:driverSIL.png
+farmer:farmerSIL.png
+teacher:teacherSIL.png
+police:policeSIL.png
+CRAYONS:
+farmer.png [whatdoesshedo.ogg,sheisafarmer.ogg] farmer farmer
+driver.png [whatdoeshedo.ogg,heisadriver.ogg] driver driver
+police.png [whatdoesshedo.ogg,sheisapoliceofficer.ogg] police*officer police
+teacher.png [whatdoeshedo.ogg,heisateacher.ogg] teacher teacher
+
+screen2:
+BINS:keepstate
+driver:driverSIL.png
+farmer:farmerSIL.png
+teacher:teacherSIL.png
+police:policeSIL.png
+CRAYONS:
+police.png [whatdoesshedo.ogg,sheisapoliceofficer.ogg] police*officer police
+driver.png [whatdoeshedo.ogg,heisadriver.ogg] driver driver
+teacher.png [whatdoeshedo.ogg,heisateacher.ogg] teacher teacher
+farmer.png [whatdoesshedo.ogg,sheisafarmer.ogg] farmer farmer
+
+
diff --git a/Activities/Level3/4Jobs/1Sort/settings.txt b/Activities/Level3/4Jobs/1Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level3/4Jobs/1Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/2Sort/data.txt b/Activities/Level3/4Jobs/2Sort/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/2Sort/ico.png b/Activities/Level3/4Jobs/2Sort/ico.png
new file mode 100644
index 0000000..808c5bc
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/4Jobs/2Sort/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/builder.png b/Activities/Level3/4Jobs/2Sort/resources/builder.png
new file mode 100644
index 0000000..e408043
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/builder.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/builderSIL.png b/Activities/Level3/4Jobs/2Sort/resources/builderSIL.png
new file mode 100644
index 0000000..55a068a
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/builderSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/cook.png b/Activities/Level3/4Jobs/2Sort/resources/cook.png
new file mode 100644
index 0000000..31a3ba5
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/cook.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/cookSIL.png b/Activities/Level3/4Jobs/2Sort/resources/cookSIL.png
new file mode 100644
index 0000000..80be0f3
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/cookSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/doctor.png b/Activities/Level3/4Jobs/2Sort/resources/doctor.png
new file mode 100644
index 0000000..4966b8f
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/doctor.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/doctorSIL.png b/Activities/Level3/4Jobs/2Sort/resources/doctorSIL.png
new file mode 100644
index 0000000..d0c65a2
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/doctorSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/mechanic.png b/Activities/Level3/4Jobs/2Sort/resources/mechanic.png
new file mode 100644
index 0000000..7570267
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/mechanic.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/resources/mechanicSIL.png b/Activities/Level3/4Jobs/2Sort/resources/mechanicSIL.png
new file mode 100644
index 0000000..422971d
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/resources/mechanicSIL.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/2Sort/screens.txt b/Activities/Level3/4Jobs/2Sort/screens.txt
new file mode 100644
index 0000000..9d24474
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/screens.txt
@@ -0,0 +1,25 @@
+screen1:
+BINS:
+cook:cookSIL.png
+doctor:doctorSIL.png
+builder:builderSIL.png
+mechanic:mechanicSIL.png
+CRAYONS:
+builder.png [whatdoeshedo.ogg,heisabuilder.ogg] builder builder
+mechanic.png [whatdoeshedo.ogg,heisamechanic.ogg] mechanic mechanic
+doctor.png [whatdoesshedo.ogg,sheisadoctor.ogg] doctor doctor
+cook.png [whatdoesshedo.ogg,sheisacook.ogg] cook cook
+
+screen2:
+BINS:keepstate
+cook:cookSIL.png
+doctor:doctorSIL.png
+builder:builderSIL.png
+mechanic:mechanicSIL.png
+CRAYONS:
+doctor.png [whatdoesshedo.ogg,sheisadoctor.ogg] doctor doctor
+mechanic.png [whatdoeshedo.ogg,heisamechanic.ogg] mechanic mechanic
+builder.png [whatdoeshedo.ogg,heisabuilder.ogg] builder builder
+cook.png [whatdoesshedo.ogg,sheisacook.ogg] cook cook
+
+
diff --git a/Activities/Level3/4Jobs/2Sort/settings.txt b/Activities/Level3/4Jobs/2Sort/settings.txt
new file mode 100644
index 0000000..68ee764
--- /dev/null
+++ b/Activities/Level3/4Jobs/2Sort/settings.txt
@@ -0,0 +1,18 @@
+showCrayonText = 1
+showBinText = 0
+useCrayonCenterAsHandle = 1
+leftMargin = 300
+fps = 25
+speed = 15
+infoFile = "screens.txt"
+topMargin = 70
+xFirstCrayon = 250
+distanceBetweenCrayons = 40
+binImageDivisions = 3
+spaceBetweenBins = 10
+yOddCrayons = 210
+yEvenCrayons = 210
+yOddBins = 440
+yEvenBins = 440
+helpDir = "SortHelp"
+fontSize = 30 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/3Match/data.txt b/Activities/Level3/4Jobs/3Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/3Match/ico.png b/Activities/Level3/4Jobs/3Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/cook.png b/Activities/Level3/4Jobs/3Match/resources/cook.png
new file mode 100644
index 0000000..1fa4ec1
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/cook.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/cookTXT.png b/Activities/Level3/4Jobs/3Match/resources/cookTXT.png
new file mode 100644
index 0000000..4dadb7a
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/cookTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/doctor.png b/Activities/Level3/4Jobs/3Match/resources/doctor.png
new file mode 100644
index 0000000..b1eaee9
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/doctor.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/doctorTXT.png b/Activities/Level3/4Jobs/3Match/resources/doctorTXT.png
new file mode 100644
index 0000000..3e12e5f
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/doctorTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/driver.png b/Activities/Level3/4Jobs/3Match/resources/driver.png
new file mode 100644
index 0000000..8457e3d
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/driver.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/driverTXT.png b/Activities/Level3/4Jobs/3Match/resources/driverTXT.png
new file mode 100644
index 0000000..11a3460
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/driverTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/farmer.png b/Activities/Level3/4Jobs/3Match/resources/farmer.png
new file mode 100644
index 0000000..c18ce60
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/farmer.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/farmerTXT.png b/Activities/Level3/4Jobs/3Match/resources/farmerTXT.png
new file mode 100644
index 0000000..3367093
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/farmerTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/police.png b/Activities/Level3/4Jobs/3Match/resources/police.png
new file mode 100644
index 0000000..d315c41
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/police.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/resources/policeTXT.png b/Activities/Level3/4Jobs/3Match/resources/policeTXT.png
new file mode 100644
index 0000000..ad45362
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/resources/policeTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/3Match/screens.txt b/Activities/Level3/4Jobs/3Match/screens.txt
new file mode 100644
index 0000000..5453263
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/screens.txt
@@ -0,0 +1,5 @@
+driverTXT.png [driver.ogg,sheisadriver.ogg] driver.png
+farmerTXT.png [farmer.ogg,sheisafarmer.ogg] farmer.png
+cookTXT.png [cook.ogg,heisacook.ogg] cook.png
+doctorTXT.png [doctor.ogg,heisadoctor.ogg] doctor.png
+policeTXT.png [policeofficer.ogg,heisapoliceofficer.ogg] police.png \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/3Match/settings.txt b/Activities/Level3/4Jobs/3Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/4Jobs/3Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/4Paint/data.txt b/Activities/Level3/4Jobs/4Paint/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/4Paint/ico.png b/Activities/Level3/4Jobs/4Paint/ico.png
new file mode 100644
index 0000000..7d789bc
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/builder.png b/Activities/Level3/4Jobs/4Paint/resources/builder.png
new file mode 100644
index 0000000..459db2a
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/builder.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/cook.png b/Activities/Level3/4Jobs/4Paint/resources/cook.png
new file mode 100644
index 0000000..3cb1341
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/cook.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/doctor.png b/Activities/Level3/4Jobs/4Paint/resources/doctor.png
new file mode 100644
index 0000000..2c1001c
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/doctor.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/driver.png b/Activities/Level3/4Jobs/4Paint/resources/driver.png
new file mode 100644
index 0000000..a322188
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/driver.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/farmer.png b/Activities/Level3/4Jobs/4Paint/resources/farmer.png
new file mode 100644
index 0000000..f90e42d
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/farmer.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/mechanic.png b/Activities/Level3/4Jobs/4Paint/resources/mechanic.png
new file mode 100644
index 0000000..50bffd0
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/mechanic.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/police.png b/Activities/Level3/4Jobs/4Paint/resources/police.png
new file mode 100644
index 0000000..ab4f118
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/police.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/resources/teacher.png b/Activities/Level3/4Jobs/4Paint/resources/teacher.png
new file mode 100644
index 0000000..5a5a8f4
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/resources/teacher.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/4Paint/screens.txt b/Activities/Level3/4Jobs/4Paint/screens.txt
new file mode 100644
index 0000000..49862b3
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/screens.txt
@@ -0,0 +1,23 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+doctor.png doctorred.ogg red
+mechanic.png mechanicwhite.ogg white
+cook.png cookpurple.ogg purple
+builder.png builderyellow.ogg yellow
+teacher.png teacherorange.ogg orange
+police.png policeofficerblue.ogg blue
+driver.png drivergreen.ogg green
+farmer.png farmerblack.ogg black
diff --git a/Activities/Level3/4Jobs/4Paint/settings.txt b/Activities/Level3/4Jobs/4Paint/settings.txt
new file mode 100644
index 0000000..4008130
--- /dev/null
+++ b/Activities/Level3/4Jobs/4Paint/settings.txt
@@ -0,0 +1,11 @@
+infoFile = "screens.txt"
+soundIconX = 800
+soundIconY = 410
+xFirstElement = 200
+yFirstElement = 190
+elementsPerRow = 5
+spaceBetweenRows = 130
+xFirstElementLastRow = 330
+helpDir = "PaintHelp"
+paintBoxesX = 320
+paintBoxesY = 490 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/5MultipleC/data.txt b/Activities/Level3/4Jobs/5MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/5MultipleC/ico.png b/Activities/Level3/4Jobs/5MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/4Jobs/5MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/builder.png b/Activities/Level3/4Jobs/5MultipleC/resources/builder.png
new file mode 100644
index 0000000..a4ee006
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/builder.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/4Jobs/5MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..8f85a9f
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/cara_triste_anim.png b/Activities/Level3/4Jobs/5MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..d741dfc
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/cook.png b/Activities/Level3/4Jobs/5MultipleC/resources/cook.png
new file mode 100644
index 0000000..ef4850a
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/cook.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/doctor.png b/Activities/Level3/4Jobs/5MultipleC/resources/doctor.png
new file mode 100644
index 0000000..bc97e7b
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/doctor.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/driver.png b/Activities/Level3/4Jobs/5MultipleC/resources/driver.png
new file mode 100644
index 0000000..801835a
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/driver.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/farmer.png b/Activities/Level3/4Jobs/5MultipleC/resources/farmer.png
new file mode 100644
index 0000000..6adadbe
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/farmer.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/mechanic.png b/Activities/Level3/4Jobs/5MultipleC/resources/mechanic.png
new file mode 100644
index 0000000..8827303
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/mechanic.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/resources/teacher.png b/Activities/Level3/4Jobs/5MultipleC/resources/teacher.png
new file mode 100644
index 0000000..c9d1607
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/resources/teacher.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/5MultipleC/screens.txt b/Activities/Level3/4Jobs/5MultipleC/screens.txt
new file mode 100644
index 0000000..7f0121a
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+teacher.png Q-sheisateacher.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+farmer.png Q-heisadriver.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mechanic.png Q-sheisadoctor.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+cook.png Q-heisacook.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+builder.png Q-sheisapoliceofficer.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mechanic.png Q-sheisamechanic.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+doctor.png Q-heisafarmer.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+driver.png Q-sheisadriver.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/5MultipleC/settings.txt b/Activities/Level3/4Jobs/5MultipleC/settings.txt
new file mode 100644
index 0000000..530332c
--- /dev/null
+++ b/Activities/Level3/4Jobs/5MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 300
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/6Concentrate/data.txt b/Activities/Level3/4Jobs/6Concentrate/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/6Concentrate/ico.png b/Activities/Level3/4Jobs/6Concentrate/ico.png
new file mode 100644
index 0000000..6d6cf37
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/_BackFace.png b/Activities/Level3/4Jobs/6Concentrate/resources/_BackFace.png
new file mode 100644
index 0000000..f415c6c
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/_BackFace.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/builder1.png b/Activities/Level3/4Jobs/6Concentrate/resources/builder1.png
new file mode 100644
index 0000000..172db2d
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/builder1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/builder2.png b/Activities/Level3/4Jobs/6Concentrate/resources/builder2.png
new file mode 100644
index 0000000..6f2335e
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/builder2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/conc_12_color.jpg b/Activities/Level3/4Jobs/6Concentrate/resources/conc_12_color.jpg
new file mode 100644
index 0000000..df57c3b
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/conc_12_color.jpg
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/conc_12_mono.jpg b/Activities/Level3/4Jobs/6Concentrate/resources/conc_12_mono.jpg
new file mode 100644
index 0000000..7e413df
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/conc_12_mono.jpg
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/cook1.png b/Activities/Level3/4Jobs/6Concentrate/resources/cook1.png
new file mode 100644
index 0000000..5f507b7
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/cook1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/cook2.png b/Activities/Level3/4Jobs/6Concentrate/resources/cook2.png
new file mode 100644
index 0000000..3d8464e
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/cook2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/doctor1.png b/Activities/Level3/4Jobs/6Concentrate/resources/doctor1.png
new file mode 100644
index 0000000..1ad31b8
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/doctor1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/doctor2.png b/Activities/Level3/4Jobs/6Concentrate/resources/doctor2.png
new file mode 100644
index 0000000..5f5d39c
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/doctor2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/driver1.png b/Activities/Level3/4Jobs/6Concentrate/resources/driver1.png
new file mode 100644
index 0000000..dd42b8f
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/driver1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/driver2.png b/Activities/Level3/4Jobs/6Concentrate/resources/driver2.png
new file mode 100644
index 0000000..41e19b5
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/driver2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/farmer1.png b/Activities/Level3/4Jobs/6Concentrate/resources/farmer1.png
new file mode 100644
index 0000000..704f6b3
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/farmer1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/farmer2.png b/Activities/Level3/4Jobs/6Concentrate/resources/farmer2.png
new file mode 100644
index 0000000..13a7f9d
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/farmer2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/mechanic1.png b/Activities/Level3/4Jobs/6Concentrate/resources/mechanic1.png
new file mode 100644
index 0000000..f5821ab
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/mechanic1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/mechanic2.png b/Activities/Level3/4Jobs/6Concentrate/resources/mechanic2.png
new file mode 100644
index 0000000..545af18
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/mechanic2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/police1.png b/Activities/Level3/4Jobs/6Concentrate/resources/police1.png
new file mode 100644
index 0000000..3ad6331
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/police1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/police2.png b/Activities/Level3/4Jobs/6Concentrate/resources/police2.png
new file mode 100644
index 0000000..2c38101
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/police2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/teacher1.png b/Activities/Level3/4Jobs/6Concentrate/resources/teacher1.png
new file mode 100644
index 0000000..339dbd1
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/teacher1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/resources/teacher2.png b/Activities/Level3/4Jobs/6Concentrate/resources/teacher2.png
new file mode 100644
index 0000000..bb64709
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/resources/teacher2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/6Concentrate/screen.txt b/Activities/Level3/4Jobs/6Concentrate/screen.txt
new file mode 100644
index 0000000..f4ae428
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/screen.txt
@@ -0,0 +1,10 @@
+#[first image] [second image] [sound] [text]
+BACKGROUND:conc_12_mono.jpg:conc_12_color.jpg
+teacher1.png teacher2.png teacher.ogg teacher
+police1.png police2.png policeofficer.ogg police
+mechanic1.png mechanic2.png mechanic.ogg mechanic
+farmer1.png farmer2.png farmer.ogg farmer
+driver1.png driver2.png driver.ogg driver
+doctor1.png doctor2.png doctor.ogg doctor
+cook1.png cook2.png cook.ogg cook
+builder1.png builder2.png builder.ogg builder
diff --git a/Activities/Level3/4Jobs/6Concentrate/settings.txt b/Activities/Level3/4Jobs/6Concentrate/settings.txt
new file mode 100644
index 0000000..4c929eb
--- /dev/null
+++ b/Activities/Level3/4Jobs/6Concentrate/settings.txt
@@ -0,0 +1,8 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+waitingFramesOnEnd = 70
+helpDir = "ConcentrationHelp"
+initialX = 425
+initialY = 200
+cardsPerRow = 4
+mustRandom = 1 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/7DragnDrop/data.txt b/Activities/Level3/4Jobs/7DragnDrop/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/7DragnDrop/ico.png b/Activities/Level3/4Jobs/7DragnDrop/ico.png
new file mode 100644
index 0000000..97d9746
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/4Jobs/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/resources/builder.png b/Activities/Level3/4Jobs/7DragnDrop/resources/builder.png
new file mode 100644
index 0000000..e408043
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/resources/builder.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/resources/cook.png b/Activities/Level3/4Jobs/7DragnDrop/resources/cook.png
new file mode 100644
index 0000000..31a3ba5
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/resources/cook.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/resources/driver.png b/Activities/Level3/4Jobs/7DragnDrop/resources/driver.png
new file mode 100644
index 0000000..e3f4e67
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/resources/driver.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/resources/icono_play.png b/Activities/Level3/4Jobs/7DragnDrop/resources/icono_play.png
new file mode 100644
index 0000000..4966bb1
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/resources/icono_play.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/resources/mechanic.png b/Activities/Level3/4Jobs/7DragnDrop/resources/mechanic.png
new file mode 100644
index 0000000..4f517b1
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/resources/mechanic.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/resources/teacher.png b/Activities/Level3/4Jobs/7DragnDrop/resources/teacher.png
new file mode 100644
index 0000000..5d5035a
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/resources/teacher.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/7DragnDrop/screens.txt b/Activities/Level3/4Jobs/7DragnDrop/screens.txt
new file mode 100644
index 0000000..a3778b5
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/screens.txt
@@ -0,0 +1,15 @@
+bins:
+cook:cook.png
+mechanic:mechanic.png
+builder:builder.png
+driver:driver.png
+teacher:teacher.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png heisateacher.ogg teacher teacher
+icono_play.png heisabuilder.ogg builder builder
+icono_play.png heisadriver.ogg driver driver
+icono_play.png sheisacook.ogg cook cook
+icono_play.png sheisamechanic.ogg mechanic mechanic
diff --git a/Activities/Level3/4Jobs/7DragnDrop/settings.txt b/Activities/Level3/4Jobs/7DragnDrop/settings.txt
new file mode 100644
index 0000000..4d9810d
--- /dev/null
+++ b/Activities/Level3/4Jobs/7DragnDrop/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 0
+leftMargin = 220
+xFirstCrayon = 300
+distanceBetweenCrayons = 120
+speed = 15
+infoFile = "screens.txt"
+yOddCrayons = 280
+yEvenCrayons = 280
+yOddBins = 440
+yEvenBins = 440
+helpDir = "DragnDropHelp"
+gameAreaMaxX = 1000
+gameAreaMinX = 200
+gameAreaMaxY = 600
+gameAreaMinY = 200 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/8Match/data.txt b/Activities/Level3/4Jobs/8Match/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/8Match/ico.png b/Activities/Level3/4Jobs/8Match/ico.png
new file mode 100644
index 0000000..3c12241
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/builder.png b/Activities/Level3/4Jobs/8Match/resources/builder.png
new file mode 100644
index 0000000..f8a4e03
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/builder.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/builderTXT.png b/Activities/Level3/4Jobs/8Match/resources/builderTXT.png
new file mode 100644
index 0000000..e87f5d3
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/builderTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/cook.png b/Activities/Level3/4Jobs/8Match/resources/cook.png
new file mode 100644
index 0000000..ca53994
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/cook.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/cookTXT.png b/Activities/Level3/4Jobs/8Match/resources/cookTXT.png
new file mode 100644
index 0000000..4dadb7a
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/cookTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/driver.png b/Activities/Level3/4Jobs/8Match/resources/driver.png
new file mode 100644
index 0000000..af34341
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/driver.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/driverTXT.png b/Activities/Level3/4Jobs/8Match/resources/driverTXT.png
new file mode 100644
index 0000000..11a3460
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/driverTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/mechanic.png b/Activities/Level3/4Jobs/8Match/resources/mechanic.png
new file mode 100644
index 0000000..4565c22
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/mechanic.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/mechanicTXT.png b/Activities/Level3/4Jobs/8Match/resources/mechanicTXT.png
new file mode 100644
index 0000000..3abb170
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/mechanicTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/teacher.png b/Activities/Level3/4Jobs/8Match/resources/teacher.png
new file mode 100644
index 0000000..0329738
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/teacher.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/resources/teacherTXT.png b/Activities/Level3/4Jobs/8Match/resources/teacherTXT.png
new file mode 100644
index 0000000..1972760
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/resources/teacherTXT.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/8Match/screens.txt b/Activities/Level3/4Jobs/8Match/screens.txt
new file mode 100644
index 0000000..f2e888d
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/screens.txt
@@ -0,0 +1,5 @@
+builderTXT.png [builder.ogg,sheisabuilder.ogg] builder.png
+cookTXT.png [cook.ogg,sheisacook.ogg] cook.png
+teacherTXT.png [teacher.ogg,sheisateacher.ogg] teacher.png
+driverTXT.png [driver.ogg,heisadriver.ogg] driver.png
+mechanicTXT.png [mechanic.ogg,heisamechanic.ogg] mechanic.png \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/8Match/settings.txt b/Activities/Level3/4Jobs/8Match/settings.txt
new file mode 100644
index 0000000..30af2d3
--- /dev/null
+++ b/Activities/Level3/4Jobs/8Match/settings.txt
@@ -0,0 +1,8 @@
+spaceBetweenImages = 280
+leftMargin = 300
+speed = 15
+infoFile = "screens.txt"
+topMargin = 200
+helpDir = "MatchHelp"
+random = 1
+verticalSpaceBetweenImages = 45 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/9MultipleC/data.txt b/Activities/Level3/4Jobs/9MultipleC/data.txt
new file mode 100644
index 0000000..b4372ea
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/data.txt
@@ -0,0 +1 @@
+finished = 0
diff --git a/Activities/Level3/4Jobs/9MultipleC/ico.png b/Activities/Level3/4Jobs/9MultipleC/ico.png
new file mode 100644
index 0000000..f36ab0c
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/Helvetica LT Condensed Black.ttf b/Activities/Level3/4Jobs/9MultipleC/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/builder1.png b/Activities/Level3/4Jobs/9MultipleC/resources/builder1.png
new file mode 100644
index 0000000..8a87b57
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/builder1.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/builder2.png b/Activities/Level3/4Jobs/9MultipleC/resources/builder2.png
new file mode 100644
index 0000000..a4ee006
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/builder2.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/cara_sonriente_anim.png b/Activities/Level3/4Jobs/9MultipleC/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..840b281
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/cara_triste_anim.png b/Activities/Level3/4Jobs/9MultipleC/resources/cara_triste_anim.png
new file mode 100644
index 0000000..22a75c3
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/cara_triste_anim.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/cook.png b/Activities/Level3/4Jobs/9MultipleC/resources/cook.png
new file mode 100644
index 0000000..ef4850a
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/cook.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/driver.png b/Activities/Level3/4Jobs/9MultipleC/resources/driver.png
new file mode 100644
index 0000000..3ce1ed2
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/driver.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/farmer.png b/Activities/Level3/4Jobs/9MultipleC/resources/farmer.png
new file mode 100644
index 0000000..6adadbe
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/farmer.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/mechanic.png b/Activities/Level3/4Jobs/9MultipleC/resources/mechanic.png
new file mode 100644
index 0000000..a2e103b
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/mechanic.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/police.png b/Activities/Level3/4Jobs/9MultipleC/resources/police.png
new file mode 100644
index 0000000..94ef9cb
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/police.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/resources/teacher.png b/Activities/Level3/4Jobs/9MultipleC/resources/teacher.png
new file mode 100644
index 0000000..c9d1607
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/resources/teacher.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/9MultipleC/screens.txt b/Activities/Level3/4Jobs/9MultipleC/screens.txt
new file mode 100644
index 0000000..20cfbb5
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/screens.txt
@@ -0,0 +1,47 @@
+question:
+builder1.png Q-heisadriver.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+driver.png Q-heisacook.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+police.png Q-sheisapoliceofficer.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+farmer.png Q-heisafarmer.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+teacher.png Q-sheisamechanic.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+builder2.png Q-sheisabuilder.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+mechanic.png Q-heisamechanic.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+cook.png Q-heisacook.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/9MultipleC/settings.txt b/Activities/Level3/4Jobs/9MultipleC/settings.txt
new file mode 100644
index 0000000..6663f7e
--- /dev/null
+++ b/Activities/Level3/4Jobs/9MultipleC/settings.txt
@@ -0,0 +1,9 @@
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 280
+soundIconX = 580
+soundIconY = 380
+firstOptionX = 680
+helpDir = "MultipleCHelp"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Activities/Level3/4Jobs/btn_act.bmp b/Activities/Level3/4Jobs/btn_act.bmp
new file mode 100644
index 0000000..f2aef7e
--- /dev/null
+++ b/Activities/Level3/4Jobs/btn_act.bmp
Binary files differ
diff --git a/Activities/Level3/4Jobs/btn_act.png b/Activities/Level3/4Jobs/btn_act.png
new file mode 100644
index 0000000..f1c923f
--- /dev/null
+++ b/Activities/Level3/4Jobs/btn_act.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/ico.png b/Activities/Level3/4Jobs/ico.png
new file mode 100644
index 0000000..9927e18
--- /dev/null
+++ b/Activities/Level3/4Jobs/ico.png
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-heisabuilder.ogg b/Activities/Level3/4Jobs/sounds/Q-heisabuilder.ogg
new file mode 100644
index 0000000..27068dc
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-heisabuilder.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-heisacook.ogg b/Activities/Level3/4Jobs/sounds/Q-heisacook.ogg
new file mode 100644
index 0000000..a1266aa
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-heisacook.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-heisadriver.ogg b/Activities/Level3/4Jobs/sounds/Q-heisadriver.ogg
new file mode 100644
index 0000000..4003813
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-heisadriver.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-heisafarmer.ogg b/Activities/Level3/4Jobs/sounds/Q-heisafarmer.ogg
new file mode 100644
index 0000000..e29230f
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-heisafarmer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-heisamechanic.ogg b/Activities/Level3/4Jobs/sounds/Q-heisamechanic.ogg
new file mode 100644
index 0000000..f5eeeed
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-heisamechanic.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-heisateacher.ogg b/Activities/Level3/4Jobs/sounds/Q-heisateacher.ogg
new file mode 100644
index 0000000..3db022f
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-heisateacher.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisabuilder.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisabuilder.ogg
new file mode 100644
index 0000000..90aa9a2
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisabuilder.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisacook.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisacook.ogg
new file mode 100644
index 0000000..5b40b6e
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisacook.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisadoctor.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisadoctor.ogg
new file mode 100644
index 0000000..198f95e
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisadoctor.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisadriver.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisadriver.ogg
new file mode 100644
index 0000000..2d48abd
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisadriver.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisafarmer.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisafarmer.ogg
new file mode 100644
index 0000000..a1e2371
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisafarmer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisamechanic.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisamechanic.ogg
new file mode 100644
index 0000000..12145f3
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisamechanic.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisapoliceofficer.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisapoliceofficer.ogg
new file mode 100644
index 0000000..bd3c6fb
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisapoliceofficer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Q-sheisateacher.ogg b/Activities/Level3/4Jobs/sounds/Q-sheisateacher.ogg
new file mode 100644
index 0000000..b320fd9
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Q-sheisateacher.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/Twinkle.ogg b/Activities/Level3/4Jobs/sounds/Twinkle.ogg
new file mode 100644
index 0000000..f84a3ed
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/Twinkle.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/bing.ogg b/Activities/Level3/4Jobs/sounds/bing.ogg
new file mode 100644
index 0000000..438de24
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/bing.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/builder.ogg b/Activities/Level3/4Jobs/sounds/builder.ogg
new file mode 100644
index 0000000..b817f2b
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/builder.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/builderyellow.ogg b/Activities/Level3/4Jobs/sounds/builderyellow.ogg
new file mode 100644
index 0000000..4e39c43
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/builderyellow.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/chord.ogg b/Activities/Level3/4Jobs/sounds/chord.ogg
new file mode 100644
index 0000000..eaae1a4
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/chord.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/cook.ogg b/Activities/Level3/4Jobs/sounds/cook.ogg
new file mode 100644
index 0000000..8a466d1
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/cook.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/cookpurple.ogg b/Activities/Level3/4Jobs/sounds/cookpurple.ogg
new file mode 100644
index 0000000..f7699f7
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/cookpurple.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/ding.ogg b/Activities/Level3/4Jobs/sounds/ding.ogg
new file mode 100644
index 0000000..15641a3
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/ding.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/doctor.ogg b/Activities/Level3/4Jobs/sounds/doctor.ogg
new file mode 100644
index 0000000..775791e
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/doctor.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/doctorred.ogg b/Activities/Level3/4Jobs/sounds/doctorred.ogg
new file mode 100644
index 0000000..b41534d
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/doctorred.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/driver.ogg b/Activities/Level3/4Jobs/sounds/driver.ogg
new file mode 100644
index 0000000..b562a1c
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/driver.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/drivergreen.ogg b/Activities/Level3/4Jobs/sounds/drivergreen.ogg
new file mode 100644
index 0000000..6b82f3f
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/drivergreen.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/farmer.ogg b/Activities/Level3/4Jobs/sounds/farmer.ogg
new file mode 100644
index 0000000..6693a15
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/farmer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/farmerblack.ogg b/Activities/Level3/4Jobs/sounds/farmerblack.ogg
new file mode 100644
index 0000000..04d7264
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/farmerblack.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/heisabuilder.ogg b/Activities/Level3/4Jobs/sounds/heisabuilder.ogg
new file mode 100644
index 0000000..09a8104
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/heisabuilder.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/heisacook.ogg b/Activities/Level3/4Jobs/sounds/heisacook.ogg
new file mode 100644
index 0000000..1d03223
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/heisacook.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/heisadoctor.ogg b/Activities/Level3/4Jobs/sounds/heisadoctor.ogg
new file mode 100644
index 0000000..f53ce8c
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/heisadoctor.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/heisadriver.ogg b/Activities/Level3/4Jobs/sounds/heisadriver.ogg
new file mode 100644
index 0000000..9edb975
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/heisadriver.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/heisamechanic.ogg b/Activities/Level3/4Jobs/sounds/heisamechanic.ogg
new file mode 100644
index 0000000..62df551
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/heisamechanic.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/heisapoliceofficer.ogg b/Activities/Level3/4Jobs/sounds/heisapoliceofficer.ogg
new file mode 100644
index 0000000..a187198
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/heisapoliceofficer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/heisateacher.ogg b/Activities/Level3/4Jobs/sounds/heisateacher.ogg
new file mode 100644
index 0000000..92bbaba
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/heisateacher.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/mechanic.ogg b/Activities/Level3/4Jobs/sounds/mechanic.ogg
new file mode 100644
index 0000000..39c4e49
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/mechanic.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/mechanicwhite.ogg b/Activities/Level3/4Jobs/sounds/mechanicwhite.ogg
new file mode 100644
index 0000000..568230b
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/mechanicwhite.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/policeofficer.ogg b/Activities/Level3/4Jobs/sounds/policeofficer.ogg
new file mode 100644
index 0000000..3c2d0c1
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/policeofficer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/policeofficerblue.ogg b/Activities/Level3/4Jobs/sounds/policeofficerblue.ogg
new file mode 100644
index 0000000..434425d
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/policeofficerblue.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisabuilder.ogg b/Activities/Level3/4Jobs/sounds/sheisabuilder.ogg
new file mode 100644
index 0000000..dfa2d3d
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisabuilder.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisacook.ogg b/Activities/Level3/4Jobs/sounds/sheisacook.ogg
new file mode 100644
index 0000000..548cd51
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisacook.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisadoctor.ogg b/Activities/Level3/4Jobs/sounds/sheisadoctor.ogg
new file mode 100644
index 0000000..c1da623
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisadoctor.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisadriver.ogg b/Activities/Level3/4Jobs/sounds/sheisadriver.ogg
new file mode 100644
index 0000000..37f0856
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisadriver.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisafarmer.ogg b/Activities/Level3/4Jobs/sounds/sheisafarmer.ogg
new file mode 100644
index 0000000..5ba2923
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisafarmer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisamechanic.ogg b/Activities/Level3/4Jobs/sounds/sheisamechanic.ogg
new file mode 100644
index 0000000..4c6b6da
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisamechanic.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisapoliceofficer.ogg b/Activities/Level3/4Jobs/sounds/sheisapoliceofficer.ogg
new file mode 100644
index 0000000..e0ce83f
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisapoliceofficer.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/sheisateacher.ogg b/Activities/Level3/4Jobs/sounds/sheisateacher.ogg
new file mode 100644
index 0000000..8f882f6
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/sheisateacher.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/teacher.ogg b/Activities/Level3/4Jobs/sounds/teacher.ogg
new file mode 100644
index 0000000..9bf5080
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/teacher.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/teacherorange.ogg b/Activities/Level3/4Jobs/sounds/teacherorange.ogg
new file mode 100644
index 0000000..10f360a
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/teacherorange.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/unitSound.ogg b/Activities/Level3/4Jobs/sounds/unitSound.ogg
new file mode 100644
index 0000000..308b139
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/unitSound.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/whatdoeshedo.ogg b/Activities/Level3/4Jobs/sounds/whatdoeshedo.ogg
new file mode 100644
index 0000000..d7013f1
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/whatdoeshedo.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/sounds/whatdoesshedo.ogg b/Activities/Level3/4Jobs/sounds/whatdoesshedo.ogg
new file mode 100644
index 0000000..283cf8d
--- /dev/null
+++ b/Activities/Level3/4Jobs/sounds/whatdoesshedo.ogg
Binary files differ
diff --git a/Activities/Level3/4Jobs/unitMarker.png b/Activities/Level3/4Jobs/unitMarker.png
new file mode 100644
index 0000000..65e6431
--- /dev/null
+++ b/Activities/Level3/4Jobs/unitMarker.png
Binary files differ
diff --git a/Activities/Level3/btn_unit.png b/Activities/Level3/btn_unit.png
new file mode 100644
index 0000000..d10d7cf
--- /dev/null
+++ b/Activities/Level3/btn_unit.png
Binary files differ
diff --git a/Activities/Level3/ico.png b/Activities/Level3/ico.png
new file mode 100644
index 0000000..6c8a0cc
--- /dev/null
+++ b/Activities/Level3/ico.png
Binary files differ
diff --git a/Activities/Level3/ico_grande.png b/Activities/Level3/ico_grande.png
new file mode 100644
index 0000000..fbab8e0
--- /dev/null
+++ b/Activities/Level3/ico_grande.png
Binary files differ
diff --git a/Activities/Level3/menu_fdo_act.png b/Activities/Level3/menu_fdo_act.png
new file mode 100644
index 0000000..620f21e
--- /dev/null
+++ b/Activities/Level3/menu_fdo_act.png
Binary files differ
diff --git a/ColorPaint.py b/ColorPaint.py
new file mode 100644
index 0000000..5fa2dbc
--- /dev/null
+++ b/ColorPaint.py
@@ -0,0 +1,223 @@
+import pygame, sys, os
+from pygame.locals import *
+from eduGames import *
+from Paint import *
+
+class ColorPaint(Game):
+ (INITIAL, WAITING, BAD_CHOICE, GOOD_CHOICE, WAITING_PAINT, PAINTING, END) = (0,1,2,3,4,5, 6)
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Game.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.finished = False
+ self.puzzleElements = None
+ self.paintBoxes = None
+ self.currentElementIndex = 0
+ self.state = ColorPaint.INITIAL
+ self.puzzleElementControls = None
+ self.selectedColor = ""
+ self.soundIcon = None
+ self.soundsDir = "" #set later by the Games class
+ self.xMargin = 0
+ self.yMargin = 0
+ self.masterResourcesDir = None
+ self.brush = None
+ self.fakeMouse = None
+ self.isHelp = False
+ self.onNavigationPortion = False
+ self.xStartBrushZone = 0
+ self.yStartBrushZone = 0
+ self.xEndBrushZone = 1030 + self.xMargin
+ self.yEndBrushZone = 0
+
+
+ def getCurrentPuzzleElement(self):
+ return self.puzzleElements[self.currentElementIndex]
+
+ def getCurrentPuzzleElementControl(self):
+ return self.puzzleElementControls[self.currentElementIndex]
+
+ def pause(self):
+ self.getUiMgr().removeControl(self.brush)
+ pygame.mouse.set_visible(True)
+
+ def unPause(self):
+ self.getUiMgr().addControl(self.brush)
+ pygame.mouse.set_visible(False)
+
+ def initializeGameData(self):
+ self.brush = Brush(self, "")
+ self.alert = os.path.join(self.soundsDir, "chord.ogg")
+ self.ding = os.path.join(self.soundsDir, "ding.ogg")
+ (self.puzzleElements, self.paintBoxes, backgroundPath, backgroundX, backgroundY) = self.readInfo()
+ self.showElements()
+ self.showPaintBoxes()
+ fakeMouse = [c for c in self.getUiMgr().controls if c.type == "fakeMouse"]
+ self.fakeMouse = None
+ if not len(fakeMouse) == 0:
+ self.fakeMouse = fakeMouse[0]
+ self.brush.trackControl(self.fakeMouse)
+ self.fakeMouse.setLayer(20)
+ self.getUiMgr().addControl(self.brush)
+ if not self.isHelp:
+ pygame.mouse.set_visible(False)
+
+ def showElements(self):
+ x = self.settings["xFirstElement"] + self.xMargin
+ y = self.settings["yFirstElement"] + self.yMargin
+
+ distanceBetweenElements = -1
+ if self.settings.has_key("distanceBetweenElements"):
+ distanceBetweenElements = self.settings["distanceBetweenElements"]
+ self.puzzleElementControls = []
+ counter = 1
+
+ for element in self.puzzleElements:
+ if counter > self.settings["elementsPerRow"] and counter % self.settings["elementsPerRow"] == 1:
+ xLastRow = self.settings["xFirstElementLastRow"] + self.xMargin
+ x = xLastRow
+ y = y + self.settings["spaceBetweenRows"]
+
+ ic = GrowsAndShrinksAnimatedControl(self, x, y, os.path.join(self.resourcesDir, element.image),
+ "", element.getNumberOfStates())
+ ic.setLayer(6)
+ ic.type = "drawing"
+ if distanceBetweenElements > -1:
+ x += distanceBetweenElements
+ else:
+ x += ic.getWidth()
+ self.getUiMgr().addControl(ic)
+ self.puzzleElementControls.append(ic)
+ counter += 1
+
+ def showPaintBoxes(self):
+ x = self.settings["paintBoxesX"] + self.xMargin
+ y = self.settings["paintBoxesY"] + self.yMargin
+ watercolor = ImageControl(self, x, y, os.path.join(self.masterResourcesDir, "_acuarelas.png"))
+ watercolor.setLayer(5)
+ self.soundIcon = ImageControl(self, self.settings["soundIconX"] + self.xMargin, self.settings["soundIconY"] + self.yMargin, os.path.join(self.masterResourcesDir, "sound.png"), "", 2)
+ self.soundIcon.setLayer(5)
+ self.soundIcon.type = "soundIcon"
+ self.getUiMgr().addControl(watercolor)
+ self.getUiMgr().addControl(self.soundIcon)
+ x = self.settings["paintBoxesX"] + self.xMargin + 75
+ y = self.settings["paintBoxesY"] + self.yMargin + 25
+
+ for element in self.paintBoxes:
+ ic = Control(self, x, y, 50, 50)
+ ic.color = element
+ ic.setLayer(4)
+ ic.type = "paint"
+ x += 7 + ic.getWidth()
+ self.getUiMgr().addControl(ic)
+
+ self.yEndBrushZone = watercolor.getY() + watercolor.getHeight()
+
+ def readInfo(self):
+ fileName = os.path.join(self.path, self.settings["infoFile"])
+ file = open(fileName, "r")
+ fileText = file.read()
+ reader = ScreensReader()
+ file.close()
+ return reader.read(fileText)
+
+ def on_mouse_hover(self, clickedControl):
+ if clickedControl == self.soundIcon:
+ self.soundIcon.setImageDivisionIndex(1)
+ self.onNavigationPortion = True
+ else:
+ if self.soundIcon.getImageDivisionIndex() == 1: #might improve performance.
+ self.soundIcon.setImageDivisionIndex(0)
+ mousePos = pygame.mouse.get_pos()
+ mousePosX = mousePos[0]
+ mousePosY = mousePos[1]
+
+ if mousePosX < self.xStartBrushZone or mousePosY < self.yStartBrushZone or mousePosX > self.xEndBrushZone or mousePosY > self.yEndBrushZone:
+ self.onNavigationPortion = True
+ else:
+ self.onNavigationPortion = False
+ try:
+ if self.onNavigationPortion:
+ if self.brush.isVisible():
+ self.brush.makeInvisible()
+ else:
+ if not self.brush.isVisible():
+ self.brush.makeVisible()
+ except:
+ pass
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.state == Paint.WAITING:
+ if clickedControl.type == "paint":
+ self.selectedColor = clickedControl.color
+ elif clickedControl == self.soundIcon:
+ self.state = Paint.INITIAL
+ elif clickedControl == self.puzzleElementControls[self.currentElementIndex]:
+ soundPath = os.path.join(self.soundsDir, self.getCurrentPuzzleElement().currentAudio())
+ self.getSoundMgr().addSoundForPlayback(soundPath)
+ if self.state == Paint.WAITING_PAINT:
+ if clickedControl.type == "drawing" and clickedControl is self.getCurrentPuzzleElementControl():
+ self.state = Paint.PAINTING
+
+ def paintCurrentElement(self):
+ self.getCurrentPuzzleElementControl().setImageDivisionIndex(self.getCurrentPuzzleElement().getCurrentIndex()+1)
+
+ def playSound(self, sound):
+ self.getSoundMgr().addSoundForPlayback(sound)
+
+ def updateState(self):
+ mouseVisible = self.isHelp or self.isPaused or self.onNavigationPortion
+ pygame.mouse.set_visible(mouseVisible)
+
+ if self.state == Paint.INITIAL:
+ soundPath = os.path.join(self.soundsDir, self.getCurrentPuzzleElement().currentAudio())
+ self.getSoundMgr().addSoundForPlayback(soundPath)
+ self.state = Paint.WAITING
+ currentControl = self.getCurrentPuzzleElementControl()
+ currentControl.playAnimation()
+ return
+ if self.state == Paint.WAITING: #Actually two states: with and without a selected color.
+ if self.selectedColor != "":
+ if self.selectedColor == self.getCurrentPuzzleElement().currentColor():
+ self.state = Paint.GOOD_CHOICE
+ self.getUiMgr().removeControl(self.brush)
+ self.brush = Brush(self, self.selectedColor, self.fakeMouse)
+ self.getUiMgr().addControl(self.brush)
+ else:
+ self.state = Paint.BAD_CHOICE
+ self.selectedColor = ""
+ return
+ if self.state == Paint.BAD_CHOICE:
+ self.playSound(self.alert)
+ self.state = Paint.WAITING
+ return
+ if self.state == Paint.GOOD_CHOICE:
+ self.playSound(self.ding)
+ self.state = Paint.WAITING_PAINT
+ return
+ if self.state == Paint.PAINTING:
+ self.paintCurrentElement()
+ self.getCurrentPuzzleElement().moveOn()
+ self.getUiMgr().removeControl(self.brush)
+ self.brush = Brush(self)
+ self.brush.trackControl(self.fakeMouse)
+ self.getUiMgr().addControl(self.brush)
+ self.state = Paint.INITIAL
+ if self.getCurrentPuzzleElement().solved():
+ self.getCurrentPuzzleElementControl().stopAnimation()
+ self.currentElementIndex += 1
+ if self.currentElementIndex >= len(self.puzzleElements):
+ self.state = Paint.END
+ return
+ if self.state == Paint.END:
+ self.finished = True
+ if not self.fakeMouse:
+ pygame.mouse.set_visible(True)
+ if not self.isHelp:
+ self.saveAsDone()
+ return
+
+ def endGame(self):
+ self.finished = True
+ if not self.fakeMouse:
+ pygame.mouse.set_visible(True)
+ \ No newline at end of file
diff --git a/Concentrate.py b/Concentrate.py
new file mode 100644
index 0000000..909d6ab
--- /dev/null
+++ b/Concentrate.py
@@ -0,0 +1,223 @@
+import pygame, sys, os
+from pygame.locals import *
+from eduGames import *
+import random
+
+class Concentrate(Game):
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Game.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.currentQuestionIndex = 0
+ self.pairs = None
+ self.finished = False
+ self.firstSelectedCard = None
+ self.secondSelectedCard = None
+ self.waitingFrames = 0
+ self.solved = 0
+ self.cards = []
+ self.faceDownImage = ""
+ self.soundsDir = "" #set by Games class later
+ self.mustRandom = self.settings["mustRandom"]
+ self.xMargin = 0
+ self.yMargin = 0
+ self.mustRemoveCards = False
+ self.background1Path = ""
+ self.background2Path = ""
+ self.isHelp = False
+ self.preFinished = False
+ self.successSound = ""
+
+ def readInfo(self):
+ self.faceDownImage = os.path.join(self.resourcesDir, "_BackFace.png")
+ self.alert = os.path.join(self.soundsDir,"chord.ogg")
+ fileName = os.path.join(self.path, self.settings["infoFile"])
+ puzzleFile = open(fileName, "r")
+ fileText = puzzleFile.read()
+ puzzleFileReader = Reader(self.resourcesDir, self.soundsDir)
+ puzzleFile.close()
+ pairs = puzzleFileReader.read(fileText)
+ self.background1Path = puzzleFileReader.background1
+ self.background2Path = puzzleFileReader.background2
+ self.background = None
+ return pairs
+
+ def initializeGameData(self):
+ self.pairs = self.readInfo()
+ self.buildCardControls()
+ (widthOfCards, heightOfCards) = self.showCardControls()
+ if self.background1Path != "" and self.background2Path != "":
+ self.background = ImageControl(self, 0, 0,self.background1Path, "", 1)
+ difX = self.background.getWidth() - self.settings["cardsPerRow"]*widthOfCards
+ difY = self.background.getHeight() - self.settings["cardsPerRow"]*heightOfCards
+ xBackground = self.settings["initialX"] - (difX/2)
+ yBackground = self.settings["initialY"] - (difY/2)
+ self.background.setX(xBackground)
+ self.background.setY(yBackground)
+ self.background.setLayer(7)
+ self.getUiMgr().addControl(self.background)
+ self.successSound = os.path.join(self.soundsDir, "bing.ogg")
+
+
+ def buildCardControls(self):
+ for pair in self.pairs:
+ first = CardControl(self, pair.firstImage, self.faceDownImage)
+ second = CardControl(self, pair.secondImage, self.faceDownImage)
+ first.pair = pair
+ second.pair = pair
+ first.type = "card"
+ second.type = "card"
+ first.setLayer(4)
+ second.setLayer(4)
+ self.cards.append(first)
+ self.cards.append(second)
+
+ def showCardControls(self):
+ if self.mustRandom:
+ random.shuffle(self.cards)
+ cardsPerRow = self.settings["cardsPerRow"]
+ initialX = self.settings["initialX"] + self.xMargin
+
+ x = initialX
+ y = self.settings["initialY"] + self.yMargin
+
+ counter = 1
+ modelCard = None
+ for control in self.cards:
+ if modelCard is None:
+ modelCard = control
+ if counter > cardsPerRow and counter%cardsPerRow == 1:
+ y = y + (counter%cardsPerRow)*control.getWidth()
+ x = initialX
+ control.setX(x)
+ control.setY(y)
+ self.getUiMgr().addControl(control)
+ x = x + control.getWidth()
+ counter = counter + 1
+ return (modelCard.getWidth(), modelCard.getHeight())
+
+ def on_mouse_button_down(self, clickedControl):
+ if clickedControl.type == "card":
+ if clickedControl.faceDown:
+ if self.firstSelectedCard is None:
+ self.firstSelectedCard = clickedControl
+ self.firstSelectedCard.turn()
+ self.getSoundMgr().addSoundForPlayback(self.firstSelectedCard.pair.audio, True)
+ elif self.secondSelectedCard is None:
+ self.secondSelectedCard = clickedControl
+ self.secondSelectedCard.turn()
+ self.getSoundMgr().addSoundForPlayback(self.secondSelectedCard.pair.audio, True, True)
+
+ def updateState(self):
+ if self.waitingFrames <= 0:
+ if not self.firstSelectedCard is None and not self.secondSelectedCard is None:
+ if self.firstSelectedCard.pair == self.secondSelectedCard.pair:
+ self.solved += 1
+ self.mustRemoveCards = True
+ self.waitingFrames = self.settings["waitingFrames"]
+ self.getSoundMgr().addSoundForPlayback(self.successSound, False, True)
+ else:
+ self.waitingFrames = self.settings["waitingFrames"]
+ else:
+ self.waitingFrames = self.waitingFrames - 1
+ if self.waitingFrames == 0:
+ if self.solved == len(self.pairs):
+ if not self.background is None:
+ self.getUiMgr().removeControl(self.background)
+ self.background = ImageControl(self, self.background.getX(), self.background.getY(),self.background2Path, "", 1)
+ self.getUiMgr().addControl(self.background)
+ if not self.preFinished:
+ if self.settings.has_key("waitingFramesOnEnd"):
+ self.waitingFrames = self.settings["waitingFramesOnEnd"]
+ else:
+ self.waitingFrames = self.settings["waitingFrames"]
+ self.preFinished = True
+ self.getSoundMgr().addSoundForPlayback(os.path.join(self.soundsDir, "Twinkle.ogg"))
+ else:
+ self.finished = True
+ if not self.isHelp:
+ self.saveAsDone()
+ return
+ elif self.mustRemoveCards:
+ self.getUiMgr().removeControl(self.firstSelectedCard)
+ self.getUiMgr().removeControl(self.secondSelectedCard)
+ self.firstSelectedCard = None
+ self.secondSelectedCard = None
+ self.mustRemoveCards = False
+ else:
+ self.firstSelectedCard.turn()
+ self.secondSelectedCard.turn()
+ self.firstSelectedCard = None
+ self.secondSelectedCard = None
+
+class Reader:
+
+ def __init__(self, resourcesDir, soundsDir):
+ self.resourcesDir = resourcesDir
+ self.soundsDir = soundsDir
+ self.background1 = ""
+ self.background2 = ""
+
+ def read(self, puzzlesDefinition):
+ lines = puzzlesDefinition.splitlines()
+ currentPair = None
+ pairs = []
+
+ for line in lines:
+ line = line.strip()
+ if line == "":
+ continue
+ elif line.startswith("#"):
+ continue
+ elif line.startswith("BACKGROUND:"):
+ lineParts = line.split(":")
+ self.background1 = os.path.join(self.resourcesDir, lineParts[1])
+ self.background2 = os.path.join(self.resourcesDir, lineParts[2])
+ else:
+ data = line.split()
+ pair = Pair(data[0], data[1], data[2], data[3], self.resourcesDir, self.soundsDir)
+ pairs.append(pair)
+ return pairs
+
+class Pair:
+ def __init__(self, firstImage, secondImage, audio, text, resourcesDir, soundsDir):
+ self.firstImage = os.path.join(resourcesDir, firstImage)
+ self.secondImage = os.path.join(resourcesDir,secondImage)
+ self.audio = os.path.join(soundsDir,audio)
+ self.text = text
+
+class CardControl(Control):
+
+ def __init__(self, game, faceUpImage, faceDownImage):
+ Control.__init__(self, game, 0, 0, 0, 0, "", 0)
+ self.faceUpImage = Image(faceUpImage)
+ self.faceDownImage = Image(faceDownImage)
+ self.image = self.faceDownImage
+ self.faceDown = True
+ self.changedState = False
+ self.setWidth(self.image.getWidth())
+ self.setHeight(self.image.getHeight())
+
+ def show(self, surface):
+ self.image.show(surface, (self.getX(),self.getY()))
+
+ def update(self):
+ Control.update(self)
+ if not self.changedState:
+ return
+ if self.faceDown:
+ self.image = self.faceDownImage
+ else:
+ self.image = self.faceUpImage
+ self.changedState = False
+
+
+ def turn(self):
+ if self.faceDown:
+ self.faceDown = False
+ else:
+ self.faceDown = True
+ self.changedState = True
+ self.markChanges()
+
+
+
diff --git a/DragnDrop.py b/DragnDrop.py
new file mode 100644
index 0000000..592b8da
--- /dev/null
+++ b/DragnDrop.py
@@ -0,0 +1,263 @@
+import pygame, sys, os
+from pygame.locals import *
+from eduGames import *
+from pygame.font import *
+
+class DragnDrop(Game):
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Game.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.binControls = [] #necessary only to place crayons in their places
+ self.solvedItems = 0
+ self.finished = False
+ self.hoveredOnControl = None
+ self.soundsDir = ""
+ self.fakeMouse = None #used in demo
+ self.xo = None #idem
+ self.xMargin = 0
+ self.yMargin = 0
+ self.isHelp = False
+ self.successSound = ""
+ try:
+ self.maxX = self.settings["gameAreaMaxX"]
+ self.minX = self.settings["gameAreaMinX"]
+ self.maxY = self.settings["gameAreaMaxY"]
+ self.minY = self.settings["gameAreaMinY"]
+ except:
+ self.maxX = screen.get_width()
+ self.maxY = screen.get_height()
+ self.minX = 0
+ self.minY = 0
+
+ def initializeGameData(self):
+ self.alert = os.path.join(self.soundsDir, "chord.ogg")
+ (self.screens, self.bins) = self.readInfo()
+ self.currentScreenIndex = -1
+ self.moveToNextScreen = True
+ self.createBinObjects()
+ fakeMouse = [c for c in self.getUiMgr().controls if c.type == "fakeMouse"]
+ if not len(fakeMouse) == 0:
+ self.fakeMouse = fakeMouse[0]
+ #self.xo = ImageControl(self, 500 + self.xMargin, 300 + self.yMargin, os.path.join(self.resourcesDir, "xo.png"), "", 2)
+ #self.xo.setColorKey((255,255,255))
+ self.successSound = os.path.join(self.soundsDir, "bing.ogg")
+
+ def showCurrentScreen(self):
+ self.solvedItems = 0
+ self.getUiMgr().deleteGameControls(self)
+ self.createCrayons()
+ self.addBinObjects()
+ self.moveToNextScreen= False
+ if self.xo:
+ self.getUiMgr().addControl(self.xo)
+
+ def addBinObjects(self):
+ for ctrl in self.binControls:
+ self.getUiMgr().addControl(ctrl)
+
+ def createBinObjects(self):
+ x = self.settings["leftMargin"] + self.xMargin
+ y = self.settings["yOddBins"] + self.yMargin
+ for bin in self.bins:
+ #binObj = ImageControl(self, x, y, bin.image, "", imageDivisions = 6)
+ binObj = HighlightedControl(self, x, y, bin.image, "", 1)
+ binObj.bin = bin
+ binObj.type = "bin"
+ binObj.setLayer(5)
+ self.binControls.append(binObj)
+ x = x + binObj.getWidth() + self.settings["spaceBetweenBins"]
+ if y == self.settings["yOddBins"] + self.yMargin:
+ y = self.settings["yEvenBins"] + self.yMargin
+ else:
+ y = self.settings["yOddBins"] + self.yMargin
+
+ def createCrayons(self):
+ fontPath = os.path.join(self.resourcesDir, "Helvetica LT Condensed Black.ttf")
+ font = Font(fontPath, 30)
+ y = self.settings["yOddCrayons"] + self.yMargin
+ tieCrayonsToBins = True
+ distanceBetweenCrayons = 40
+
+ if self.settings.has_key("xFirstCrayon"):
+ x = self.settings["xFirstCrayon"]
+ tieCrayonsToBins = False
+ if self.settings.has_key("distanceBetweenCrayons"):
+ distanceBetweenCrayons = self.settings["distanceBetweenCrayons"]
+
+ counter = 0
+ for crayon in self.screens[self.currentScreenIndex]:
+ if tieCrayonsToBins:
+ x = self.binControls[counter].getX() + self.binControls[counter].getWidth()/2
+ else:
+ if counter > 0:
+ x = x + distanceBetweenCrayons
+ crayonObj = HighlightedControl(self, x, y, crayon.image, crayon.audio, 1)
+ crayonObj.type = "crayon"
+ crayonObj.crayon = crayon
+ crayonObj.setLayer(4)
+ crayonObj.originalPosition = (x,y)
+ if self.fakeMouse:
+ crayonObj.setDemoMode(self.fakeMouse)
+ txt = crayon.text
+ letterWidth = 14
+ if self.settings.has_key("letterWidth"):
+ letterWidth = self.settings["letterWidth"]
+ xText = crayonObj.getX() + crayonObj.getWidth()/2 - len(txt)*(letterWidth/2)
+ labelWidth = 20
+ if self.settings.has_key("useCenterOfCrayonForText"):
+ if self.settings["useCenterOfCrayonForText"]:
+ xText = crayonObj.getX() + crayonObj.getWidth()/2 - len(txt)*(letterWidth/2)
+ yText = crayonObj.getY() + crayonObj.getHeight()
+ text = Label(self, xText, yText, labelWidth, 10, font, txt, 5)
+ text.color = (0,0,0)
+ text.background = None
+ crayonObj.label = text
+ self.getUiMgr().addControl(text)
+
+ self.getUiMgr().addControl(crayonObj)
+ counter = counter + 1
+
+ def readInfo(self):
+ fileName = os.path.join(self.path, self.settings["infoFile"])
+ file = open(fileName, "r")
+ fileText = file.read()
+ reader = ScreensReader(self.resourcesDir, self.soundsDir)
+ file.close()
+ return reader.read(fileText)
+
+ def on_mouse_hover(self, clickedControl):
+ if clickedControl.type == "crayon":
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.filterOff()
+ if not clickedControl.isBeingDragged():
+ self.hoveredOnControl = clickedControl
+ else:
+ underlyingBin = self.getBinThatCollidesWithCrayon(clickedControl)
+ if not underlyingBin is None:
+ self.hoveredOnControl = underlyingBin
+ (x,y) = pygame.mouse.get_pos()
+ if x > self.maxX:
+ x = self.maxX
+ if y > self.maxY:
+ y = self.maxY
+ if x < self.minX:
+ x = self.minX
+ if y < self.minY:
+ y = self.minY
+ pygame.mouse.set_pos((x,y))
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.filterOn()
+ else:
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.filterOff()
+
+ def getBinThatCollidesWithCrayon(self, crayonControl):
+ crayonRect = crayonControl.getRect()
+ for binControl in self.binControls:
+ if crayonRect.colliderect(binControl.getRect()):
+ return binControl
+
+ def on_mouse_button_up(self, clickedControl):
+ if clickedControl.type == "crayon" and clickedControl.isBeingDragged():
+ self.getUiMgr().dropDraggingControl()
+ selectedBin = None
+ if self.xo:
+ self.xo.setImageDivisionIndex(0)
+ if self.fakeMouse:
+ self.fakeMouse.setImageDivisionIndex(0)
+ if self.hoveredOnControl.type == "bin":
+ selectedBin = self.hoveredOnControl
+ if not selectedBin is None:
+ if clickedControl.crayon.bin == selectedBin.bin:
+ self.getUiMgr().removeControl(clickedControl)
+ self.getUiMgr().removeControl(clickedControl.label)
+ self.solvedItems = self.solvedItems + 1
+ self.getSoundMgr().addSoundForPlayback(self.successSound, False, True)
+ if self.solvedItems == len(self.screens[self.currentScreenIndex]):
+ self.moveToNextScreen = True
+ else:
+ self.triggerAlert()
+ self.getUiMgr().dropDraggingControl()
+ self.moveBinToOriginalPosition(clickedControl)
+ else:
+ self.getUiMgr().dropDraggingControl()
+ self.moveBinToOriginalPosition(clickedControl)
+
+ def moveBinToOriginalPosition(self, crayon):
+ #"crayon" must be a crayon.
+ crayon.startMovement(crayon.originalPosition, self.settings["speed"])
+
+ def on_mouse_button_down(self, clickedControl):
+ if clickedControl.type == "crayon":
+ self.getUiMgr().dragControl(clickedControl)
+ clickedControl.filterOff()
+ self.getSoundMgr().addSoundForPlayback(clickedControl.soundFilePath, False)
+ if self.xo:
+ self.xo.setImageDivisionIndex(1)
+ if self.fakeMouse:
+ self.fakeMouse.setImageDivisionIndex(1)
+
+ def triggerAlert(self):
+ self.getSoundMgr().addSoundForPlayback(self.alert, False)
+
+ def updateState(self):
+ if self.moveToNextScreen:
+ self.currentScreenIndex = self.currentScreenIndex + 1
+ if self.currentScreenIndex < len(self.screens):
+ self.showCurrentScreen()
+ else:
+ self.endGame()
+ if not self.isHelp:
+ self.saveAsDone()
+
+ def endGame(self):
+ self.finished = True
+ self.getUiMgr().dropDraggingControl()
+
+class ScreensReader:
+ def __init__(self, resourcesDir, soundsDir):
+ self.resourcesDir = resourcesDir
+ self.soundsDir = soundsDir
+
+ def read(self, text):
+ lines = text.splitlines()
+ self.screens = []
+ self.bins = []
+ state = "bins"
+ currentScreen = []
+ for line in lines:
+ if line.strip() != "" and not line.startswith("#"):
+ if line.upper().startswith("SCREEN"): state = "screens"
+ if state == "bins":
+ if line.upper().strip() == "BINS:":
+ continue
+ else:
+ binInfo = line.split(":")
+ binName = binInfo[0]
+ binImage = binInfo[1]
+ self.bins.append(Bin(binName, binImage, self.resourcesDir))
+ else:
+ if line.upper().startswith("SCREEN"):
+ currentScreen = []
+ self.screens.append(currentScreen)
+ else:
+ splitData = line.split()
+ crayon = Crayon(splitData[0], splitData[1], splitData[2], self.getBin(splitData[3]),
+ self.resourcesDir, self.soundsDir)
+ currentScreen.append(crayon)
+ return self.screens, self.bins
+
+ def getBin(self, name):
+ for bin in self.bins:
+ if bin.name == name:
+ return bin
+
+class Bin:
+ def __init__(self, name, image, resourcesDir):
+ self.image = os.path.join(resourcesDir, image)
+ self.name = name
+
+class Crayon:
+ def __init__(self, image, audio, text, bin, resourceDir, soundsDir):
+ (self.image, self.audio, self.text, self.bin) = (os.path.join(resourceDir,image),
+ os.path.join(soundsDir,audio), text, bin) \ No newline at end of file
diff --git a/Games.py b/Games.py
new file mode 100644
index 0000000..1659e0f
--- /dev/null
+++ b/Games.py
@@ -0,0 +1,534 @@
+from eduGames import *
+from pygame.font import *
+import os
+
+if os.name != "nt":
+ try:
+ import olpcgames
+ except:
+ pass
+
+from GamesHelpers import *
+
+import Sort
+import Paint
+import Match
+import DragnDrop
+import MultipleChoice
+import Concentrate
+import ColorPaint
+
+import Help
+
+class Games(StandaloneGame):
+
+ def makePath(self, fileName):
+ resourcesDir = self.settings["resourcesDir"]
+ return os.path.join(resourcesDir, fileName)
+
+ def __init__(self, settings):
+ if os.name == "nt":
+ horizontalRes = 1200
+ verticalRes = 900
+ else:
+ horizontalRes = 1200
+ verticalRes = 900
+ StandaloneGame.__init__(self, settings["fps"], horizontalRes, verticalRes, settings["gameTitle"])
+ self.xMargin = (horizontalRes - settings["screenWidth"])/2
+ self.yMargin = (verticalRes - settings["screenHeight"])/2
+ self.settings = settings
+ self.root = None
+ self.currentGame = None
+ self.background = ImageControl(self, 0, 0, self.makePath("background1.png"), "")
+ self.background.setLayer(10)
+ self.getUiMgr().addControl(self.background)
+ self.level2MenuItems = 0
+ self.level3MenuItems = 0
+ self.level4MenuItems = 0
+ self.level2MenuItemsForHelp = 0
+ self.level3MenuItemsForHelp = 0
+ self.level4MenuItemsForHelp = 0
+ self.filter = ColorFilterControl(self, 0, 0, self.settings["screenWidth"], self.settings["screenHeight"], (0,0,0), 3, 100)
+ self.getUiMgr().addControl(self.filter)
+ self.progressBar = ProgressBar(self, 84, 713, 276, 14)
+ self.progressBar.filledColor = (255, 0, 0)
+ self.progressBar.setLayer(4)
+ self.currentNode = None
+ self.quitButton = ImageControl(self, self.settings["quitButtonX"], self.settings["quitButtonY"], self.makePath("btn_quit.png"), "", 2)
+ self.helpButton = ImageControl(self, self.settings["helpButtonX"], self.settings["helpButtonY"], self.makePath("btn_help.png"), "", 2)
+ self.previousButton = ImageControl(self, self.settings["previousButtonX"], self.settings["previousButtonY"], self.makePath("btn_previous.png"), "", 2)
+ self.nextButton = ImageControl(self, self.previousButton.getX() + 80, self.previousButton.getY(), self.makePath("btn_next.png"), "", 2)
+ self.barraBase = ImageControl(self, 75, 705, self.makePath("Barra_base.png"), "")
+ self.marcoBarraBase = ImageControl(self, 75, 705, self.makePath("MarcoBarra_base.png"), "")
+ self.logo = ImageControl(self, self.settings["logoX"], self.settings["logoY"], self.makePath("logo.png"), "", 1)
+ self.actTypeName = None
+ self.nextButton.setLayer(4)
+ self.quitButton.setLayer(5)
+ self.helpButton.setLayer(5)
+ self.previousButton.setLayer(5)
+ self.barraBase.setLayer(5)
+ self.marcoBarraBase.setLayer(3)
+ self.hoveredOnControl = None
+ self.pausedGame = None
+ self.messageWindow = MessageWindow(self)
+ self.congratsAnimation = None
+ self.frameCounter = 0
+ self.loadXOCursor()
+ self.headUpDisplay = HeadUpDisplay(self)
+ self.congratsWindow = CongratsWindow(self)
+ self.welcomeWindow = WelcomeWindow(self)
+ self.exitPopup = ImageControl(self, self.settings["exitPopupX"], self.settings["exitPopupY"], self.makePath("EFF_credits.png"), "", 1)
+ self.helpIsPlaying = False
+
+ def initializeGameData(self):
+ self.filebox = Archiver(self, self.settings["rootIconX"], self.settings["rootIconY"])
+ self.buildTree()
+ self.menu = self.buildMenu(self.root)
+ self.menu.setLayer(0)
+ self.filebox.setLayer(1)
+ self.getUiMgr().addControl(self.progressBar)
+ self.progressBar.maxValue = self.root.getNumberOfActivities()
+ if self.settings["resetScoreOnStart"]:
+ self.resetScore()
+ self.progressBar.setCurValue(self.root.getNumberOfFinishedActivities())
+ self.getUiMgr().addControl(self.quitButton)
+ self.getUiMgr().addControl(self.helpButton)
+ self.getUiMgr().addControl(self.barraBase)
+ self.getUiMgr().addControl(self.marcoBarraBase)
+ self.getUiMgr().addControl(self.logo)
+ for c in self.getUiMgr().controls:
+ c.setX(c.getX() + self.xMargin)
+ c.setY(c.getY() + self.yMargin)
+ self.getUiMgr().addControl(self.exitPopup)
+ self.exitPopup.makeInvisible()
+ self.menu.open()
+ self.filter.filterOn()
+ self.playWelcomeAnimation()
+
+ def resetScore(self):
+ try:
+ self.root.resetScore()
+ except:
+ pass
+
+ def loadXOCursor(self):
+ if not os.name == "nt":
+ mouseImage = self.makePath("arrow.xbm")
+ mouseMask = self.makePath("arrow-mask.xbm")
+ a, b, c, d = pygame.cursors.load_xbm(mouseImage, mouseMask)
+ pygame.mouse.set_cursor(a, b, c, d)
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.exitPopup.isVisible():
+ pygame.quit()
+ sys.exit()
+
+ if not self.messageWindow.isOpen() and not self.congratsWindow.isOpen() and not self.welcomeWindow.isOpen():
+ if clickedControl.type == "menu":
+ if len(clickedControl.submenus) > 0:
+ clickedControl.click()
+ if clickedControl.isOpen() and clickedControl.parent is None:
+ self.filter.filterOn()
+ if not self.currentNode is None:
+ if self.currentNode.getActivityTypeName() == "Paint" or self.currentNode.getActivityTypeName() == "ColorPaint":
+ self.currentGame.pause()
+ self.currentGame.isPaused = True
+ if clickedControl.isClosed() and clickedControl.parent is None:
+ self.filter.filterOff()
+ if not self.currentNode is None:
+ if self.currentNode.getActivityTypeName() == "Paint" or self.currentNode.getActivityTypeName() == "ColorPaint":
+ self.currentGame.unPause()
+ self.currentGame.isPaused = False
+ elif clickedControl.item.level == 4:
+ self.menu.close()
+ self.filter.filterOff()
+ self.currentNode = clickedControl.item
+ self.startGameFromNode(self.currentNode)
+ elif clickedControl is self.nextButton:
+ self.moveToNextActivity()
+ elif clickedControl is self.previousButton:
+ self.moveToPreviousActivity()
+ elif clickedControl is self.quitButton:
+ self.filter.filterOn()
+ self.exitPopup.makeVisible()
+ elif clickedControl is self.helpButton:
+ self.openHelp()
+ else:
+ if not self.currentGame is None:
+ self.currentGame.on_mouse_button_down(clickedControl)
+ elif self.messageWindow.isOpen():
+ if clickedControl is self.messageWindow.exitButton:
+ if not self.pausedGame is None:
+ self.closeHelp()
+ elif self.congratsWindow.isOpen():
+ if clickedControl is self.congratsWindow.nextButton:
+ self.congratsWindow.close()
+ if not self.congratsAnimation is None:
+ self.congratsAnimation.stop()
+ self.getUiMgr().removeControl(self.congratsAnimation)
+ self.moveToNextActivity()
+ elif self.welcomeWindow.isOpen():
+ if clickedControl is self.welcomeWindow.okButton:
+ self.welcomeWindow.close()
+ if not self.welcomeAnimation is None:
+ self.welcomeAnimation.stop()
+ self.getUiMgr().removeControl(self.welcomeAnimation)
+
+ def moveToNextActivity(self):
+ if not self.currentNode is None:
+ nextNode = self.currentNode.getNextActivity()
+ if not nextNode is None:
+ self.currentNode = nextNode
+ self.startGameFromNode(self.currentNode)
+
+ def moveToPreviousActivity(self):
+ if not self.currentNode is None:
+ previousNode = self.currentNode.getPreviousActivity()
+ if not previousNode is None:
+ self.currentNode = previousNode
+ self.startGameFromNode(self.currentNode)
+
+ def openHelp(self):
+ x = self.settings["screenWidth"]/2 + self.xMargin - 680/2
+ y = self.settings["screenHeight"]/2 + self.yMargin - 460/2
+ if not self.currentGame is None:
+ helpDir = os.path.join("Help", self.currentGame.settings["helpDir"])
+ game = self.getGameEngineObject(self.currentNode.getGameEngineName(), helpDir)
+ self.pausedGame = self.currentGame
+ self.pausedGame.isPaused = True
+ if self.currentNode.getActivityTypeName() == "Paint" or self.currentNode.getActivityTypeName() == "ColorPaint":
+ self.pausedGame.pause()
+ self.messageWindow.open(Rect(x, y, 680, 460), exitButton = True)
+ self.currentGame = Help.DemoPlayer(helpDir, game)
+ self.currentGame.gameEngine.isHelp = True
+ self.currentGame.gameEngine.resourcesDir = self.pausedGame.resourcesDir #can be overriden by the resourcesDir setting of the help.
+ self.currentGame.gameEngine.soundsDir = self.pausedGame.soundsDir
+ self.currentGame.gameEngine.xMargin = self.xMargin
+ self.currentGame.gameEngine.yMargin = self.yMargin
+ self.currentGame.gameEngine.masterResourcesDir = self.settings["resourcesDir"]
+ self.currentGame.initializeGameData()
+ else:
+# pass
+ self.level2MenuItemsForHelp = 0
+ self.level3MenuItemsForHelp = 0
+ self.level4MenuItemsForHelp = 0
+ mainHelp = Help.MainHelp(self.getScreen(), self.getUiMgr(), self.getSoundMgr(), self.getScreenMgr(), os.path.join("Help", "MainHelp"))
+ self.messageWindow.open(Rect(x, y, 680, 460), exitButton = True)
+ dir = os.path.join("Help", "MainHelp")
+ self.pausedGame = self
+ self.currentGame = Help.DemoPlayer(dir, mainHelp)
+ self.currentGame.gameEngine.resourcesDir = self.settings["resourcesDir"]
+ self.currentGame.gameEngine.xMargin = self.xMargin
+ self.currentGame.gameEngine.yMargin = self.yMargin
+ self.currentGame.gameEngine.masterResourcesDir = self.settings["resourcesDir"]
+ self.currentGame.gameEngine.realGame = self
+ self.currentGame.initializeGameData()
+ self.helpIsPlaying = True
+
+ def closeHelp(self):
+ if not self.pausedGame is self:
+ if "endGame" in dir(self.currentGame.gameEngine):
+ self.currentGame.gameEngine.endGame()
+ self.currentGame.mousePointer.persistent = False
+ self.getUiMgr().deleteGameControls(self.currentGame.gameEngine)
+ self.currentGame = self.pausedGame
+ if self.currentNode.getActivityTypeName() == "Paint" or self.currentNode.getActivityTypeName() == "ColorPaint":
+ self.pausedGame.unPause()
+ self.pausedGame.isPaused = False
+ self.pausedGame = None
+ self.messageWindow.close()
+ else:
+# pass
+ self.pausedGame = None
+ self.currentGame.mousePointer.persistent = False
+ self.getUiMgr().deleteGameControls(self.currentGame.gameEngine)
+ self.currentGame = None
+ self.messageWindow.close()
+ self.helpIsPlaying = False
+
+ def closeCurrentGame(self):
+ if not self.currentGame is None:
+ self.getUiMgr().deleteGameControls(self.currentGame)
+ self.getSoundMgr().clearSounds()
+ try:
+ self.getUiMgr().removeControl(self.previousButton)
+ except:
+ pass #This should happen only the first time.
+ try:
+ self.getUiMgr().removeControl(self.nextButton)
+ except:
+ pass
+ self.headUpDisplay.hide()
+
+
+ def startGameFromNode(self, node):
+ pygame.mouse.set_visible(True)
+ self.closeCurrentGame()
+ self.currentGame = self.getGameEngineObject(node.getGameEngineName(),
+ node.path)
+ self.currentGame.xMargin = self.xMargin
+ self.currentGame.yMargin = self.yMargin
+ self.currentGame.dataFilePath = node.getDataFilePath()
+ self.currentGame.soundsDir = os.path.join(node.parent.path, "sounds")
+ self.currentGame.masterResourcesDir = os.path.abspath(self.settings["resourcesDir"])
+
+ if os.name != "nt":
+ try:
+ folder = olpcgames.util.get_activity_root()
+ (levelNumber, unitNumber, activityNumber) = self.getCurrentGameLevelUnitActivityNumbers()
+ fileName = "data" + str(levelNumber) + "-" + str(unitNumber) + "-" + str(activityNumber) + ".txt"
+ self.currentGame.dataFilePath = os.path.join(folder, fileName)
+ except:
+ pass
+ (levelNumber, unitNumber, activityNumber) = self.getCurrentGameLevelUnitActivityNumbers()
+ self.showForwardAndBackButtons(levelNumber, unitNumber, activityNumber)
+ self.showActivityInfo(levelNumber, unitNumber, activityNumber)
+ self.currentGame.initializeGameData()
+ if self.currentNode.isFirstActivityOfUnit():
+ unitSoundPath = os.path.join(self.currentGame.soundsDir, "unitSound.ogg")
+ self.getSoundMgr().addSoundForPlayback(unitSoundPath, False, True, True)
+
+ def showForwardAndBackButtons(self, levelNumber, unitNumber, activityNumber):
+ if levelNumber > 1 or unitNumber > 1 or activityNumber > 1:
+ self.getUiMgr().addControl(self.previousButton)
+ if levelNumber < 3 or unitNumber < 4 or activityNumber < 9:
+ self.getUiMgr().addControl(self.nextButton)
+
+ def getCurrentGameLevelUnitActivityNumbers(self):
+ unit = self.currentNode.parent
+ level = unit.parent
+ activityNumber = unit.children.index(self.currentNode) + 1
+ unitNumber = level.children.index(unit) + 1
+ levelNumber = self.root.children.index(level) + 1
+ return (levelNumber, unitNumber, activityNumber)
+
+ def showActivityInfo(self, levelNumber, unitNumber, activityNumber):
+ self.changeBackground(levelNumber, unitNumber);
+ unitName = self.getUnitName()
+ activityTypeName = self.currentNode.getActivityTypeName()
+ self.headUpDisplay.show(levelNumber, unitName, activityTypeName)
+
+ def getUnitName(self):
+ return self.currentNode.parent.name[1:]
+
+ def changeBackground(self, levelNumber, unitNumber):
+ totalUnitNumber = unitNumber + (levelNumber - 1)*4
+ backgroundFileName = "background" + str(totalUnitNumber) + ".png"
+ self.getUiMgr().removeControl(self.background)
+ self.background = ImageControl(self, self.xMargin, self.yMargin, self.makePath(backgroundFileName), "")
+ self.background.setLayer(10)
+ self.getUiMgr().addControl(self.background)
+
+ def getGameEngineObject(self, engineName, settingsFilePath):
+ #print engineName
+ if engineName == "Sort":
+ return Sort.Sort(self.getScreen(), self.getUiMgr(), self.getSoundMgr(), self.getScreenMgr(), settingsFilePath)
+ if engineName == "Paint":
+ return Paint.Paint(self.getScreen(), self.getUiMgr(), self.getSoundMgr(), self.getScreenMgr(),settingsFilePath)
+ if engineName == "ColorPaint":
+ return ColorPaint.ColorPaint(self.getScreen(), self.getUiMgr(), self.getSoundMgr(), self.getScreenMgr(),settingsFilePath)
+ if engineName == "Match":
+ return Match.Match(self.getScreen(), self.getUiMgr(), self.getSoundMgr(), self.getScreenMgr(),settingsFilePath)
+ if engineName == "Dragndrop" or engineName == "DragnDrop" or engineName == "Drag":
+ return DragnDrop.DragnDrop(self.getScreen(), self.getUiMgr(), self.getSoundMgr(),self.getScreenMgr(), settingsFilePath)
+ if engineName == "MultipleC" or engineName == "Yes and No":
+ return MultipleChoice.MultipleChoice(self.getScreen(), self.getUiMgr(), self.getSoundMgr(), self.getScreenMgr(),settingsFilePath)
+ if engineName == "Concentrate" or engineName == "Concentration":
+ return Concentrate.Concentrate(self.getScreen(), self.getUiMgr(), self.getSoundMgr(), self.getScreenMgr(),settingsFilePath)
+
+
+ def on_mouse_hover(self, clickedControl):
+ if not self.messageWindow.isOpen() and not self.congratsWindow.isOpen() and not self.welcomeWindow.isOpen():
+ if clickedControl is self.menu:
+ if not self.filebox.isOpen(): #this condition improves performance by avoiding useless executions of the hover method.
+ self.filebox.hover()
+ elif clickedControl.type == "menu":
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.turnHoverOff()
+ if not clickedControl.isOpen():
+ self.hoveredOnControl = clickedControl
+ self.hoveredOnControl.turnHoverOn()
+ elif clickedControl == self.quitButton:
+ self.quitButton.setImageDivisionIndex(1)
+ elif clickedControl == self.helpButton:
+ self.helpButton.setImageDivisionIndex(1)
+ elif clickedControl == self.nextButton:
+ self.nextButton.setImageDivisionIndex(1)
+ elif clickedControl == self.previousButton:
+ self.previousButton.setImageDivisionIndex(1)
+ else:
+ if not self.filebox.isOpen():
+ self.filebox.closeCompletely()
+ self.quitButton.setImageDivisionIndex(0)
+ self.helpButton.setImageDivisionIndex(0)
+ self.nextButton.setImageDivisionIndex(0)
+ self.previousButton.setImageDivisionIndex(0)
+ if not self.currentGame is None:
+ self.currentGame.on_mouse_hover(clickedControl)
+ elif self.messageWindow.isOpen():
+ if clickedControl == self.messageWindow.exitButton:
+ clickedControl.setImageDivisionIndex(1)
+ else:
+ if not self.messageWindow.exitButton is None:
+ self.messageWindow.exitButton.setImageDivisionIndex(0)
+ elif self.congratsWindow.isOpen():
+ if clickedControl == self.congratsWindow.nextButton:
+ clickedControl.setImageDivisionIndex(1)
+ else:
+ if not self.congratsWindow.nextButton is None:
+ self.congratsWindow.nextButton.setImageDivisionIndex(0)
+ elif self.welcomeWindow.isOpen():
+ if clickedControl == self.welcomeWindow.okButton:
+ clickedControl.setImageDivisionIndex(1)
+ else:
+ if not self.welcomeWindow.okButton is None:
+ self.welcomeWindow.okButton.setImageDivisionIndex(0)
+
+
+ def on_mouse_button_up(self, clickedControl):
+ if not self.currentGame is None:
+ self.currentGame.on_mouse_button_up(clickedControl)
+
+ def updateState(self):
+ if not self.helpIsPlaying:
+ self.frameCounter += 1
+ if self.frameCounter == 25:
+ self.addDirtyRectangle(Rect(0,0,1200,100))
+ self.addDirtyRectangle(Rect(0,700,1200,200))
+ self.addDirtyRectangle(Rect(0,100,100,800))
+ self.addDirtyRectangle(Rect(1100,0,100,800))
+ self.setScreenAsChanged()
+ self.frameCounter = 0
+ if not self.currentGame is None:
+ self.currentGame.updateState()
+ if self.currentGame.finished:
+ self.getUiMgr().deleteGameControls(self.currentGame)
+ self.currentGame = None
+ self.progressBar.setCurValue(self.root.getNumberOfFinishedActivities())
+ if not self.currentNode is None:
+ self.playCongratsAnimation()
+ self.currentNode.menu.mainControl.markAsDone()
+ self.headUpDisplay.hide()
+
+
+ def playCongratsAnimation(self):
+ self.congratsWindow.open()
+ animation = MultipleFileAnimation(self, self.settings["jumpingGuyX"] + self.xMargin, self.settings["jumpingGuyY"] + self.yMargin, os.path.join(self.settings["resourcesDir"], "CongratsAnim"))
+ self.getUiMgr().addControl(animation)
+ animation.playAnimation(0)
+ self.congratsAnimation = animation
+ self.getSoundMgr().addSoundForPlayback(self.makePath("success.ogg"))
+ soundFile = self.makePath(self.congratsWindow.currentCongratsMessage()[0:-1] + ".ogg")
+ self.getSoundMgr().addSoundForPlayback(soundFile)
+
+ def playWelcomeAnimation(self):
+ self.welcomeWindow.open()
+ animation = MultipleFileAnimation(self, self.settings["welcomeGuyX"] + self.xMargin, self.settings["welcomeGuyY"] + self.yMargin, os.path.join(self.settings["resourcesDir"], "kid_welcome"))
+ self.getUiMgr().addControl(animation)
+ animation.playAnimation(0)
+ self.welcomeAnimation = animation
+ self.getSoundMgr().addSoundForPlayback(self.makePath("welcome.ogg"), False, False, True)
+
+ def buildTree(self):
+ self.root = DirectoryTreeNode(self.settings["rootActivitiesDir"])
+
+ def buildMenu(self, node, diffX = 0, diffY = 0, help = None):
+ (mainControl,backgroundControl) = self.getMenuControls(node, diffX, diffY)
+ if help is None:
+ menu = Menu(self, mainControl, backgroundControl)
+ else:
+ menu = Menu(help, mainControl, backgroundControl)
+ menu.item = node
+ node.menu = menu
+ self.getUiMgr().addControl(menu)
+
+ for child in node.children:
+ if child.level < 5 and child.isDir:
+ submenu = self.buildMenu(child, diffX, diffY)
+ menu.addSubmenu(submenu)
+ submenu.parent = menu
+ return menu
+
+ def getMenuControls(self, node, diffX = 0, diffY = 0):
+ forHelp = diffX != 0
+ parent = self
+ if forHelp:
+ parent = self.currentGame.gameEngine
+ if node.level == 1:
+ mainControl = self.filebox
+ backgroundControl = ImageControl(parent, self.settings["menuBaseX"] + self.xMargin + diffX, self.settings["menuBaseY"] + self.yMargin + diffY, self.makePath("menu_fdo_lvl.png"), "", 1)
+ backgroundControl.setLayer(2)
+ if node.level == 2:
+ mainControl = MenuLevelItem(parent, self.makePath("btn_lvl.png"), os.path.join(node.path, "ico.png"))
+ mainControl.setX(53 + self.settings["menuBaseX"] + self.xMargin + diffX)
+ if not forHelp:
+ itemsCounter = self.level2MenuItems
+ else:
+ itemsCounter = self.level2MenuItemsForHelp
+ mainControl.setY(30 + self.settings["menuBaseY"]+ self.yMargin + diffY + itemsCounter * (mainControl.getHeight()+10))
+ mainControl.textColor = (0,0,0)
+ #mainControl.text = "LEVEL " + str(self.level2MenuItems + 1)
+ mainControl.text = "Level " + str(itemsCounter + 1)
+ backgroundControlPath = os.path.join(self.makePath("menu_fdo_unit.png"))
+ backgroundControl = ImageControl(parent, 221 + self.settings["menuBaseX"] + self.xMargin + diffX, 14 + self.settings["menuBaseY"] + self.yMargin + diffY, backgroundControlPath, "", 1)
+ backgroundControl.setLayer(2)
+ backgroundControl.name = "bkg2" + str(itemsCounter)
+ if not forHelp:
+ self.level2MenuItems += 1
+ else:
+ self.level2MenuItemsForHelp += 1
+ if node.level == 3:
+ iconPosition = (-5,-5)
+ mainControl = MenuLevelItem(parent, os.path.join(node.parent.path, "btn_unit.png"), os.path.join(node.path, "ico.png"), iconPosition)
+ mainControl.setX(240 + self.settings["menuBaseX"] + self.xMargin + diffX)
+ if not forHelp:
+ mainControl.setY(30 + self.settings["menuBaseY"] + self.yMargin + diffY + self.level3MenuItems * (mainControl.getHeight()+10))
+ else:
+ mainControl.setY(30 + self.settings["menuBaseY"] + self.yMargin + diffY + self.level3MenuItemsForHelp * (mainControl.getHeight()+10))
+ mainControl.textColor = (0,0,0) #This wasn't here before
+ #mainControl.text = node.name.upper()[1:]
+ mainControl.text = node.name[1:]
+ backgroundControlPath = os.path.join(node.parent.path, "menu_fdo_act.png")
+ backgroundControl = ImageControl(parent, 414 + self.settings["menuBaseX"] + self.xMargin, 14 + self.settings["menuBaseY"] + self.yMargin, backgroundControlPath, "", 1)
+ backgroundControl.setLayer(2)
+ if not forHelp:
+ mainControl.text = str(self.level3MenuItems + 1) + " " + mainControl.text
+ self.level3MenuItems = (self.level3MenuItems + 1) % 4
+ else:
+ mainControl.text = str(self.level3MenuItemsForHelp + 1) + " " + mainControl.text
+ self.level3MenuItemsForHelp = (self.level3MenuItemsForHelp + 1) % 4
+ if node.level == 4:
+ iconPosition = (-5,-5)
+ mainControl = MenuLevelItem(parent, os.path.join(node.parent.path, "btn_act.png"), os.path.join(node.path, "ico.png"), iconPosition)
+ if self.level4MenuItems < 5:
+ mainControl.setX(415 + self.settings["menuBaseX"] + self.xMargin + diffX)
+ mainControl.setY(25 + self.settings["menuBaseY"] + self.yMargin + diffY + self.level4MenuItems * (mainControl.getHeight()+10))
+ else:
+ mainControl.setX(575 + self.settings["menuBaseX"] + self.xMargin + diffX)
+ mainControl.setY(55 + self.settings["menuBaseY"] + self.yMargin + diffY + (self.level4MenuItems-5) * (mainControl.getHeight()+10))
+ #mainControl.text = node.getActivityTypeName().upper()
+ mainControl.text = node.getActivityTypeName()
+ mainControl.text = str(self.level4MenuItems + 1) + " " + mainControl.text
+ mainControl.textColor = (0,0,0)
+ backgroundControlPath = os.path.join(node.parent.path, "menu_fdo_act.png")
+ backgroundControl = None
+ if not forHelp:
+ self.level4MenuItems = (self.level4MenuItems + 1) % 9
+ else:
+ self.level4MenuItemsForItems = (self.level4MenuItemsForHelp + 1)%9
+ return (mainControl, backgroundControl)
+
+
+def playIntro():
+ if os.name == "nt":
+ import introPlayerWin
+ introPlayerWin.playIntro()
+
+def main():
+ settings = readDataFile("settings.txt")
+ if not settings["skipIntro"]:
+ playIntro()
+ game = Games(settings)
+ game.execute()
+
+if __name__ == '__main__': main()
diff --git a/GamesHelpers.py b/GamesHelpers.py
new file mode 100644
index 0000000..389f43d
--- /dev/null
+++ b/GamesHelpers.py
@@ -0,0 +1,701 @@
+from eduGames import *
+from pygame.font import *
+import os
+
+if os.name != "nt":
+ try:
+ import olpcgames
+ except:
+ pass
+
+class CongratsWindow(ImageControl):
+
+ (OPEN, CLOSED) = (0,1)
+
+ def __init__(self, game):
+ ImageControl.__init__(self, game, 0, 0, game.makePath("congrats_backg.png"), "", 1)
+ self.setX(self.game.settings["screenWidth"]/2 + self.game.xMargin - self.getWidth()/2)
+ self.setY(self.game.settings["screenHeight"]/2 + self.game.yMargin - self.getHeight()/2)
+ self.__state = CongratsWindow.CLOSED
+ self.congratsLabel = None
+ self.counter = -1
+ self.congratsTexts = (
+ "Congratulations",
+ "Good",
+ "Great",
+ "Correct",
+ "Excellent"
+ )
+
+ def open(self):
+ if not self.__state == CongratsWindow.CLOSED: return
+ self.__state = CongratsWindow.OPEN
+ self.game.getUiMgr().shiftLayers(20)
+ self.game.filter.filterOn()
+ self.game.getUiMgr().addControl(self)
+ self.createNextButton()
+ self.createCongratsLabel()
+
+ def close(self):
+ if not self.__state == CongratsWindow.OPEN: return
+ self.__state = CongratsWindow.CLOSED
+ self.game.getUiMgr().removeControl(self)
+ self.game.getUiMgr().shiftLayers(-20)
+ self.game.filter.filterOff()
+ self.game.getUiMgr().removeControl(self.nextButton)
+ self.game.getUiMgr().removeControl(self.congratsLabel)
+ self.nextButton = None
+
+ def createNextButton(self):
+ self.nextButton = ImageControl(self.game, 0, 0, self.game.makePath("congrats_btn_next.png"), "", 2)
+ self.nextButton.type = "nextButton"
+ xNextButton = self.getX() + self.getWidth()/2 - self.nextButton.getWidth()
+ yNextButton = self.getY() + self.getHeight() - self.nextButton.getHeight() -20
+ self.nextButton.setX(xNextButton)
+ self.nextButton.setY(yNextButton)
+ self.game.getUiMgr().addControl(self.nextButton)
+
+ def createCongratsLabel(self):
+ font = Font(self.game.makePath("niobbl_.ttf"), 30)
+ self.congratsLabel = Label(self.game, 350, 400, 400, 50, font, self.congratsMessage(), 0)
+ self.congratsLabel.color = (78,113,16)
+ self.congratsLabel.background = None
+ self.game.getUiMgr().addControl(self.congratsLabel)
+
+ def isOpen(self):
+ return self.__state == CongratsWindow.OPEN
+
+ def currentCongratsMessage(self):
+ return self.congratsTexts[self.counter%len(self.congratsTexts)] + "!"
+
+ def congratsMessage(self):
+ self.counter += 1
+ return self.congratsTexts[self.counter%len(self.congratsTexts)] + "!"
+
+class WelcomeWindow(ImageControl):
+
+ (OPEN, CLOSED) = (0,1)
+
+ def __init__(self, game):
+ ImageControl.__init__(self, game, 0, 0, game.makePath("Pant_WELCOME.png"), "", 1)
+ self.setX(self.game.settings["screenWidth"]/2 + self.game.xMargin - self.getWidth()/2)
+ self.setY(self.game.settings["screenHeight"]/2 + self.game.yMargin - self.getHeight()/2)
+ self.__state = WelcomeWindow.CLOSED
+ self.counter = -1
+
+ def open(self):
+ if not self.__state == WelcomeWindow.CLOSED: return
+ self.__state = WelcomeWindow.OPEN
+ self.game.getUiMgr().shiftLayers(20)
+# self.game.filter.filterOn()
+ self.game.getUiMgr().addControl(self)
+ self.createOkButton()
+
+ def close(self):
+ if not self.__state == WelcomeWindow.OPEN: return
+ self.__state = WelcomeWindow.CLOSED
+ self.game.getUiMgr().removeControl(self)
+ self.game.getUiMgr().shiftLayers(-20)
+# self.game.filter.filterOff()
+ self.game.getUiMgr().removeControl(self.okButton)
+ self.okButton = None
+
+ def createOkButton(self):
+ self.okButton = ImageControl(self.game, 0, 0, self.game.makePath("Btn_WELCOME_ok.png"), "", 2)
+ self.okButton.type = "okButton"
+ xOkButton = self.getX() + self.getWidth()/2 - self.okButton.getWidth() + 50
+ yOkButton = self.getY() + self.getHeight() - self.okButton.getHeight() -27
+ self.okButton.setX(xOkButton)
+ self.okButton.setY(yOkButton)
+ self.game.getUiMgr().addControl(self.okButton)
+
+ def isOpen(self):
+ return self.__state == WelcomeWindow.OPEN
+
+class MessageWindow(SingleColorControlWithBorder):
+
+ (OPEN, CLOSED) = (0,1)
+
+ def __init__(self, game):
+ SingleColorControlWithBorder.__init__(self, game, 0, 0, 0, 0, (255,255,255), 10)
+ self.__state = MessageWindow.CLOSED
+ self.nextButton = None
+ self.exitButton = None
+ self.nextButton = None
+
+ def open(self, rect, exitButton = False, nextButton = False):
+ if not self.__state == MessageWindow.CLOSED: return
+ self.__state = MessageWindow.OPEN
+ self.setX(rect.x)
+ self.setY(rect.y)
+ self.setWidth(rect.width)
+ self.setHeight(rect.height)
+ self.game.getUiMgr().shiftLayers(20)
+ self.game.filter.filterOn()
+ self.game.getUiMgr().addControl(self)
+ if exitButton:
+ self.createExitButton()
+ if nextButton:
+ self.createNextButton()
+
+ def close(self):
+ if not self.__state == MessageWindow.OPEN: return
+ self.__state = MessageWindow.CLOSED
+ self.game.getUiMgr().removeControl(self)
+ self.game.getUiMgr().shiftLayers(-20)
+ self.game.filter.filterOff()
+ if not self.exitButton is None:
+ self.game.getUiMgr().removeControl(self.exitButton)
+ self.exitButton = None
+ if not self.nextButton is None:
+ self.game.getUiMgr().removeControl(self.nextButton)
+ self.nextButton = None
+
+ def createExitButton(self):
+ self.exitButton = ImageControl(self.game, 0, 0, self.game.makePath("btn_quit.png"), "", 2)
+ xExitButton = self.getX() + self.getWidth() - self.exitButton.getWidth() -20
+ yExitButton = self.getY() + 20
+ self.exitButton.setX(xExitButton)
+ self.exitButton.setY(yExitButton)
+ self.game.getUiMgr().addControl(self.exitButton)
+
+ def createNextButton(self):
+ self.nextButton = ImageControl(self.game, 0, 0, self.game.makePath("btn_next.png"), "", 2)
+ self.nextButton.type = "nextButton"
+ xNextButton = self.getX() + self.getWidth() - self.nextButton.getWidth() -20
+ yNextButton = self.getY() + self.getHeight() - self.nextButton.getHeight() -20
+ self.nextButton.setX(xNextButton)
+ self.nextButton.setY(yNextButton)
+ self.game.getUiMgr().addControl(self.nextButton)
+
+ def isOpen(self):
+ return self.__state == MessageWindow.OPEN
+
+class Menu(Control):
+
+ (CLOSED, OPEN) = (0,1)
+
+ def __init__(self, game, mainControl, backgroundControl):
+ Control.__init__(self, game, mainControl.getX(), mainControl.getY(), mainControl.getWidth(), mainControl.getHeight(), "")
+
+ #mainControl is what you click to open the menu.
+ #A submenu is an item of the menu. The item itself is the submenu's mainControl.
+ #The background is what's behind the submenus's mainControls.
+ self.mainControl = mainControl
+ self.submenus = []
+ self.background = backgroundControl
+ game.getUiMgr().addControl(self.mainControl)
+ if not self.background is None:
+ game.getUiMgr().addControl(self.background)
+ self.background.makeInvisible()
+ self.item = None
+ self.state = self.CLOSED
+ self.stateChanged = True
+ self.type = "menu"
+ self.parent = None
+ self.hasMemory = True
+# self.openSubmenu = None
+ self.memory =[]
+
+ def click(self):
+ self.revertState()
+
+ def __changeSubmenusVisibility(self, visible):
+ for menu in self.submenus:
+ if visible:
+ menu.makeVisible()
+ else:
+ menu.makeInvisible()
+
+ def makeInvisible(self):
+ Control.makeInvisible(self)
+ self.mainControl.makeInvisible()
+ if not self.background is None:
+ self.background.makeInvisible()
+ self.__changeSubmenusVisibility(False)
+
+ def makeVisible(self):
+ Control.makeVisible(self)
+ self.mainControl.makeVisible()
+
+ def addSubmenu(self, menu):
+ self.submenus.append(menu)
+ menu.makeInvisible()
+
+ def open(self):
+ self.__setState(self.OPEN)
+
+ def close(self):
+ self.state = self.CLOSED
+ self.stateChanged = True
+
+ def __closeSiblings(self):
+ if not self.parent is None:
+ for sibling in self.parent.submenus:
+ if not sibling is self:
+ sibling.close()
+
+ def revertState(self):
+ if self.isOpen():
+ self.__setState(self.CLOSED)
+ else:
+ self.__setState(self.OPEN)
+
+ def __setState(self, state):
+ if self.state == state: return
+ self.state = state
+ if self.state == self.OPEN:
+ self.__closeSiblings()
+ self.stateChanged = True
+
+ def isOpen(self):
+ return self.state == self.OPEN
+
+ def isClosed(self):
+ return self.state == self.CLOSED
+
+ def closeSubmenus(self):
+ for submenu in self.submenus:
+ submenu.close()
+ submenu.makeInvisible()
+
+ def memorizeState(self):
+ self.__getOpenSubmenus(self.memory)
+
+ def __getOpenSubmenus(self, list):
+ if len(self.submenus) == 0: return
+ for submenu in self.submenus:
+ if submenu.isOpen():
+ list.append(submenu)
+ submenu.__getOpenSubmenus(list)
+
+ def __restoreMemory(self):
+ for menu in self.memory:
+ menu.open()
+ self.memory = []
+
+ def turnHoverOn(self):
+ self.mainControl.textColor = (255, 255, 255)
+ self.markChanges()
+
+ def turnHoverOff(self):
+ self.mainControl.textColor = (0,0,0)
+ self.markChanges()
+
+ def update(self):
+ if self.stateChanged:
+ if self.isOpen():
+ if self.hasMemory and self.parent is None:
+ self.__restoreMemory()
+ if not self.background is None:
+ self.background.makeVisible()
+ self.__changeSubmenusVisibility(True)
+ self.mainControl.open()
+ self.turnHoverOff()
+ else:
+ if self.hasMemory and self.parent is None:
+ self.memorizeState()
+ if not self.background is None:
+ self.background.makeInvisible()
+ self.closeSubmenus()
+ self.mainControl.close()
+ for m in self.submenus: #I actually don't like this, but I think I have no choice.
+ m.update()
+ self.stateChanged = False
+
+
+class Archiver(ImageControl):
+
+ (CLOSED, HOVERED_ON, OPEN) = (0,1,2)
+
+ def click(self):
+ pass
+
+ def __init__(self, game, x, y, directory = ""):
+ if directory == "":
+ path = os.path.join(game.settings["resourcesDir"], "btn_archivero.png")
+ else:
+ path = os.path.join(directory, "btn_archivero.png")
+ ImageControl.__init__(self, game, x, y, path, "", 3)
+ self.state = self.CLOSED
+ self.previousState = self.CLOSED
+ self.changed = True
+
+ def setState(self, state):
+ pass
+
+ def hover(self):
+ self.__changeState(self.HOVERED_ON)
+
+ def open(self):
+ self.__changeState(self.OPEN)
+
+ def closeCompletely(self):
+ self.__changeState(self.CLOSED)
+
+ def close(self): #This is "close" in the sense of the menu.
+ if self.isOpen():
+ if self.previousState == self.HOVERED_ON or self.previousState == self.CLOSED:
+ self.restorePreviousState()
+
+
+ def __changeState(self, newState):
+ if self.state == newState: return
+ self.previousState = self.state
+ self.state = newState
+ self.changed = True
+
+ def isOpen(self):
+ return self.state == self.OPEN
+
+ def isUnderMouseHover(self):
+ return self.state == self.HOVERED_ON
+
+ def update(self):
+ ImageControl.update(self)
+ if self.changed:
+ self.setImageDivisionIndex(self.state)
+ self.changed = False
+
+ def restorePreviousState(self):
+ self.__changeState(self.previousState)
+
+
+class DirectoryTreeNode:
+
+ def __init__(self, path, name = "", level = 1):
+ self.children = []
+ self.parent = None
+ self.path = path
+ self.name = path
+ self.level = level
+ self.isDir = False
+ self.menu = None
+
+ self.__numberOfActivities = -1
+ self.__finishedActivities = 0
+
+ if name != "": self.name = name
+ if os.path.isdir(path):
+ self.isDir = True
+ children = [c for c in os.listdir(path) if os.path.isdir(os.path.join(path, c))]
+ children.sort()
+
+ for ch in children:
+ if not ch == "sounds" and not ch == "images":
+ childDirName = os.path.split(path)[1]
+ child = DirectoryTreeNode(os.path.join(path, ch), ch, level + 1)
+ child.parent = self
+ self.children.append(child)
+
+ def getGameEngineName(self):
+ return self.name[1:]
+
+ def getActivityTypeName(self):
+ engineName = self.getGameEngineName().upper()
+ if engineName == "SORT":
+ return "Sort"
+ if engineName == "PAINT":
+ return "Paint"
+ if engineName == "COLORPAINT":
+ return "Paint"
+ if engineName == "MATCH":
+ return "Match"
+ if engineName == "DRAGNDROP" or engineName == "DRAG":
+ return "Drag"
+ if engineName == "MULTIPLEC" or engineName == "YESANDNO":
+ return "Yes and No"
+ if engineName == "CONCENTRATE" or engineName == "CONCENTRATION":
+ return "Concentration"
+
+ def getNumberOfActivities(self):
+ if self.__numberOfActivities == -1:
+ self.__numberOfActivities = 0
+ if self.level == 4: #belongs to the level of activities
+ self.__numberOfActivities = 1
+ else:
+ for c in self.children:
+ self.__numberOfActivities += c.getNumberOfActivities()
+ return self.__numberOfActivities
+
+ def isFinished(self):
+ #PRECONDITION: this node (self) must have level 4
+ ret = False
+ dataFilePath = self.getDataFilePath()
+ dataFile = open(dataFilePath, "r")
+ dataFileText = dataFile.readlines()
+ for line in dataFileText:
+ line = line.strip()
+ if line == "finished = 1":
+ ret = True
+ dataFile.close()
+ return ret
+
+
+ def getNumberOfFinishedActivities(self):
+ self.__finishedActivities = 0
+ try:
+ if self.level == 4:
+ dataFilePath = self.getDataFilePath()
+ dataFile = open(dataFilePath, "r")
+ dataFileText = dataFile.readlines()
+ for line in dataFileText:
+ line = line.strip()
+ if line == "finished = 1":
+ self.__finishedActivities += 1
+ dataFile.close()
+ else:
+ for c in self.children:
+ self.__finishedActivities += c.getNumberOfFinishedActivities()
+ return self.__finishedActivities
+ except:
+ return 0
+
+ def isFirstActivityOfUnit(self):
+ if self.level == 4: #is activity
+ unit = self.parent
+ index = unit.children.index(self)
+ if index == 0:
+ return True
+ else:
+ return False
+
+ def getUnit(self):
+ if self.level == 4: #is activity
+ unit = self.parent
+ return unit
+
+ def getNextActivity(self):
+ if self.level == 4:
+ unit = self.parent
+ index = unit.children.index(self)
+ indexNextActivity = (index + 1)%len(unit.children)
+ if indexNextActivity > 0:
+ return unit.children[indexNextActivity]
+ else:
+ return unit.getNextActivity()
+ if self.level == 3: #unit
+ level = self.parent
+ index = level.children.index(self)
+ indexNextUnit = (index + 1)%len(level.children)
+ if indexNextUnit > 0:
+ nextUnit = level.children[indexNextUnit]
+ if len(nextUnit.children) > 0:
+ return nextUnit.children[0]
+ else:
+ return nextUnit.getNextActivity()
+ else:
+ return level.getNextActivity()
+ if self.level == 2: #level
+ root = self.parent
+ index = root.children.index(self)
+ indexNextLevel = (index +1)%len(root.children)
+ if indexNextLevel > 0:
+ nextLevel = root.children[indexNextLevel]
+ if len(nextLevel.children) > 0:
+ firstUnit = nextLevel.children[0]
+ if len(firstUnit.children) > 0:
+ return firstUnit.children[0]
+ else:
+ return firstUnit.getNextActivity()
+ else:
+ return nextLevel.getNextActivity()
+ else:
+ return None
+
+ def getPreviousActivity(self):
+ if self.level == 4:
+ unit = self.parent
+ index = unit.children.index(self)
+ indexPreviousActivity = index - 1
+ if indexPreviousActivity > -1:
+ return unit.children[indexPreviousActivity]
+ else:
+ return unit.getPreviousActivity()
+ if self.level == 3:
+ level = self.parent
+ index = level.children.index(self)
+ indexPreviousUnit = index - 1
+ if indexPreviousUnit > -1:
+ previousUnit = level.children[indexPreviousUnit]
+ previousUnitNumChildren = len(previousUnit.children)
+ if previousUnitNumChildren > 0:
+ return previousUnit.children[previousUnitNumChildren - 1]
+ else:
+ return previousUnit.getPreviousActivity()
+ else:
+ return level.getPreviousActivity()
+ if self.level == 2:
+ root = self.parent
+ index = root.children.index(self)
+ indexPreviousLevel = index - 1
+ if indexPreviousLevel > -1:
+ previousLevel = root.children[indexPreviousLevel]
+ previousLevelNumChildren = len(previousLevel.children)
+ if previousLevelNumChildren > 0:
+ lastUnit = previousLevel.children[previousLevelNumChildren - 1]
+ lastUnitNumChildren = len(lastUnit.children)
+ if lastUnitNumChildren > 0:
+ return lastUnit.children[lastUnitNumChildren - 1]
+ else:
+ return lastUnit.getPreviousActivity()
+ else:
+ return None
+
+ def getDataFilePath(self):
+ if os.name == "nt":
+ dataFilePath = os.path.join(self.path, "data.txt")
+ else:
+ unit = self.parent
+ level = unit.parent
+ root = level.parent
+ levelNumber = root.children.index(level) + 1
+ unitNumber = level.children.index(unit) + 1
+ activityNumber = unit.children.index(self) + 1
+ fileName = "data" + str(levelNumber) + "-" + str(unitNumber) + "-" + str(activityNumber) + ".txt"
+ try:
+ dataFilePath = os.path.join(olpcgames.util.get_activity_root(), fileName)
+ except:
+ dataFilePath = os.path.join(self.path, "data.txt")
+ return dataFilePath
+
+ def resetScore(self):
+ if self.level == 4:
+ dataFilePath = self.getDataFilePath()
+ try:
+ dataFile = open(dataFilePath, "r")
+ dataFileText = dataFile.read()
+ dataFile.close()
+ except:
+ dataFileText = ""
+ dataFileText = dataFileText.replace("finished = 1", "finished = 0")
+ dataFile = open(dataFilePath, "w")
+ dataFile.write(dataFileText)
+ dataFile.close()
+ else:
+ for c in self.children:
+ c.resetScore()
+
+class MenuLevelItem(Control):
+
+ def __init__(self, game, bodyImagePath, iconPath, iconPosition = (5,2)):
+ Control.__init__(self, game)
+ self.buttonBody = ImageControl(game, 0, 0, bodyImagePath, "", 2)
+ self.__iconDeltaX = iconPosition[0]
+ self.__iconDeltaY = iconPosition[1]
+ self.icon = ImageControl(game, self.getX()+self.__iconDeltaX, self.getY()+self.__iconDeltaY, iconPath, "", 1)
+ self.setHeight(self.buttonBody.getHeight())
+ self.setWidth(self.buttonBody.getWidth())
+ self.text = ""
+ self.font = Font(game.makePath("Helvetica LT Condensed Black.ttf"), 15)
+ #self.font = Font(game.makePath("niobrg_.ttf"), 15)
+ self.textColor = (255,255,255)
+ self.setLayer(1)
+
+ self.tick = ImageControl(game, 0, 0, game.makePath("tick.png"), "", 1)
+ self.tick.setColorKey((255,255,255))
+
+ self.__ticked = False
+
+ def markAsDone(self):
+ self.__ticked = True
+
+ def open(self):
+ self.buttonBody.setImageDivisionIndex(1)
+
+ def close(self):
+ self.buttonBody.setImageDivisionIndex(0)
+
+ def setX(self, newX):
+ Control.setX(self, newX)
+ self.buttonBody.setX(newX)
+ self.icon.setX(newX + self.__iconDeltaX)
+ self.tick.setX(newX + 120)
+
+ def setY(self, newY):
+ Control.setY(self, newY)
+ self.buttonBody.setY(newY)
+ self.icon.setY(newY + self.__iconDeltaY)
+ self.tick.setY(newY + 3)
+
+ def show(self, surface):
+ dirtyRect = self.game.getDirtyRect()
+ myRect = self.getRect()
+ if dirtyRect.colliderect(myRect):
+ self.buttonBody.show(surface)
+ self.icon.show(surface)
+ if self.__ticked:
+ self.tick.show(surface)
+ if self.text != "":
+ textRect = Rect(self.getX()+ self.__iconDeltaX + self.icon.getWidth(),
+ self.getY() + self.getHeight()/3, self.getWidth() - self.icon.getWidth()-self.__iconDeltaX,
+ self.getHeight()/3)
+ text = self.font.render(self.text, True, self.textColor)
+ surface.blit(text, textRect)
+
+class HeadUpDisplay():
+ def __init__(self, game):
+ self.game = game
+ self.xMargin = game.xMargin
+ self.yMargin = game.yMargin
+ self.levelMarker = None
+ self.cabezalBase = None
+ self.actTypeNameLabel = None
+ self.unitNameLabel = None
+ self.unitMarker = None
+
+ def show(self, levelNumber, unitName, activityTypeName):
+ self.showLevelNumber(levelNumber)
+ self.showCabezalBase()
+ self.showActTypeName(activityTypeName)
+ self.showUnitName(unitName)
+ self.showUnitMarker()
+
+ def makePath(self, fileName):
+ return self.game.makePath(fileName)
+
+ def showLevelNumber(self, levelNumber):
+ fileName = "lvl_marker_" + str(levelNumber) + ".png"
+ self.levelMarker = ImageControl(self.game, 50 + self.xMargin, 50 + self.yMargin, self.makePath(fileName), "", 1)
+ self.levelMarker.setLayer(7)
+ self.game.getUiMgr().addControl(self.levelMarker)
+
+ def hide(self):
+ self.game.getUiMgr().removeControl(self.levelMarker)
+ self.game.getUiMgr().removeControl(self.cabezalBase)
+ self.game.getUiMgr().removeControl(self.actTypeNameLabel)
+ self.game.getUiMgr().removeControl(self.unitNameLabel)
+ self.game.getUiMgr().removeControl(self.unitMarker)
+
+ def showCabezalBase(self):
+ self.cabezalBase = ImageControl(self.game, 70 + self.xMargin, 50 + self.yMargin, self.makePath("cabezal_base.png"), "", 1)
+ self.game.getUiMgr().addControl(self.cabezalBase)
+ self.cabezalBase.setLayer(8)
+
+ def showUnitName(self, unitName):
+ font = Font(self.makePath("niobrg_.ttf"), 30)
+ #self.unitNameLabel = Label(self.game, 400, 80, 400, 50, font, unitName.upper(), 5)
+ self.unitNameLabel = Label(self.game, self.game.settings["unitNameLabelX"],
+ self.game.settings["unitNameLabelY"], 400, 50, font, unitName.upper(), 5)
+ self.unitNameLabel.background = None
+ self.game.getUiMgr().addControl(self.unitNameLabel)
+
+ def showActTypeName(self, actTypeName):
+ font = Font(self.makePath("niobbl_.ttf"), 30)
+ #self.actTypeNameLabel = Label(self.game, 720, 80, 400, 50, font, actTypeName.upper(), 5)
+ self.actTypeNameLabel = Label(self.game, self.game.settings["actTypeNameX"],
+ self.game.settings["actTypeNameY"], 400, 50, font, actTypeName.upper(), 5)
+ self.actTypeNameLabel.color = (0,0,0)
+ self.actTypeNameLabel.background = None
+ self.game.getUiMgr().addControl(self.actTypeNameLabel)
+
+ def showUnitMarker(self):
+ unit = self.game.currentNode.parent
+ fileName = os.path.join(unit.path, "unitMarker.png")
+ self.unitMarker = ImageControl(self.game, 550 + self.xMargin, 50 + self.yMargin, fileName, "", 1)
+ self.game.getUiMgr().addControl(self.unitMarker)
+
+
+
+
+ \ No newline at end of file
diff --git a/Help.py b/Help.py
new file mode 100644
index 0000000..b73f567
--- /dev/null
+++ b/Help.py
@@ -0,0 +1,220 @@
+from eduGames import *
+from GamesHelpers import *
+import os
+
+
+class MouseAction:
+ def __init__(self, command):
+ self.type = command[0].upper()
+ if self.type == "MOVE":
+ x = int(command[1])
+ y = int(command[2])
+ self.params = (x,y)
+ elif self.type == "WAIT":
+ self.params = int(command[1])
+
+class MousePointer(ImageControl):
+
+ (WAITING, MOVING, MOUSE_BUTTON_DOWN, WAITINGMOVES) = (0,1,2,3)
+
+
+ def __init__(self, game, path):
+ mousePointerImagePath = os.path.split(path)[0]
+ mousePointerImagePath = os.path.join(mousePointerImagePath, "mousePointer.png")
+ x = game.getScreen().get_width()//2
+ y = game.getScreen().get_height()//2
+ ImageControl.__init__(self, game, x, y, mousePointerImagePath, "", 2)
+ self.persistent = True
+
+ def isClickable(self):
+ return False
+
+class DemoEvent:
+ def __init__(self, type, params):
+ self.type = type
+ self.params = params
+
+class DemoPlayer:
+
+ def __init__(self, path, gameEngine):
+ self.gameEngine = gameEngine
+ self.mousePointer = MousePointer(self.gameEngine, path)
+ self.mousePointer.setX(self.mousePointer.getX() + self.gameEngine.xMargin)
+ self.mousePointer.setY(self.mousePointer.getY() + self.gameEngine.yMargin)
+ self.eventQueue = []
+ self.path = path
+ filepath = os.path.join(path, "demoscript.txt")
+ self.demoIsProcessing = False
+ self.actionsQueue = []
+ self.loadQueue(filepath)
+ self.currentAction = None
+ self.timer = 0
+ self.finished = False
+ self.gameEngine.getUiMgr().addControl(self.mousePointer)
+ self.mousePointer.type = "fakeMouse"
+
+ def constructPath(self, slashedPath):
+ dirs = slashedPath.split("/")
+ index = 0
+ for d in dirs:
+ if index == 0:
+ curDir = os.path.abspath(os.path.curdir)
+ else:
+ curDir = dirs[index - 1]
+ dirs[index] = os.path.join(curDir, dirs[index])
+ index += 1
+ return dirs[index - 1]
+
+ def initializeGameData(self):
+ if self.gameEngine.settings.has_key("resourcesDir"):
+ self.gameEngine.resourcesDir = self.constructPath(self.gameEngine.settings["resourcesDir"])
+ if self.gameEngine.settings.has_key("soundsDir"):
+ self.gameEngine.soundsDir = self.constructPath(self.gameEngine.settings["soundsDir"])
+ self.gameEngine.initializeGameData()
+
+ def loadQueue(self, filepath):
+ self.actionsQueue = []
+ file = open(filepath, "r")
+ text = file.readlines()
+ for line in text:
+ if line.strip() <> "":
+ command = line.split()
+ self.actionsQueue.append(MouseAction(command))
+
+ def advanceQueue(self):
+ if not len(self.actionsQueue) == 0:
+ action = self.actionsQueue.pop(0)
+ if action.type == "MOVE":
+ target = (action.params[0] + self.gameEngine.xMargin, action.params[1] + self.gameEngine.yMargin)
+ self.mousePointer.startMovement(target, 7, LINEAR)
+ self.currentAction = action
+ if action.type == "MOUSE_BUTTON_DOWN":
+ resourcesPath = os.path.split(self.path)[0]
+ clickPath = os.path.join(resourcesPath, "click.wav")
+ self.gameEngine.getSoundMgr().playSoundImmediately(clickPath)
+ self.eventQueue.append(DemoEvent("MOUSE_BUTTON_DOWN", (self.mousePointer.getX(), self.mousePointer.getY())))
+ if action.type == "MOUSE_BUTTON_UP":
+ self.eventQueue.append(DemoEvent("MOUSE_BUTTON_UP", (self.mousePointer.getX(), self.mousePointer.getY())))
+ if action.type == "WAITMOVS":
+ self.currentAction = action
+ if action.type == "WAIT":
+ self.currentAction = action
+ self.timer = action.params
+ if self.mousePointer.isMoving():
+ self.eventQueue.append(DemoEvent("MOUSEMOTION", (self.mousePointer.getX(), self.mousePointer.getY())))
+
+ def updateState(self):
+ self.gameEngine.updateState()
+ if self.currentAction == None:
+ self.advanceQueue()
+ else:
+ mousePointerMoving = self.mousePointer.isMoving()
+ if mousePointerMoving:
+ self.eventQueue.append(DemoEvent("MOUSEMOTION", (self.mousePointer.getX(), self.mousePointer.getY())))
+ if self.currentAction.type == "WAIT":
+ self.timer = self.timer - 1
+ if self.timer == 0:
+ self.currentAction = None
+ elif self.currentAction.type == "MOVE":
+ if not mousePointerMoving:
+ self.currentAction = None
+ elif self.currentAction.type == "WAITMOVS":
+ if not self.somethingMoves():
+ self.currentAction = None
+ self.processEvents()
+
+ def somethingMoves(self):
+ for control in self.gameEngine.getUiMgr().controls:
+ if control.isMoving() and not control is self.mousePointer:
+ return True
+ return False
+
+ def on_mouse_button_up(self, clickedControl):
+ if self.demoIsProcessing:
+ self.gameEngine.on_mouse_button_up(clickedControl)
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.demoIsProcessing:
+ self.gameEngine.on_mouse_button_down(clickedControl)
+
+ def on_mouse_hover(self, clickedControl):
+ #print clickedControl
+ if self.demoIsProcessing:
+ self.gameEngine.on_mouse_hover(clickedControl)
+
+
+ def processEvents(self):
+ self.demoIsProcessing = True
+ if self.gameEngine.getSoundMgr().thereAreSoundsPlayingSynchronously():
+ #pygame.mouse.set_cursor(*pygame.cursors.diamond)
+ pass
+ else:
+ if len(self.eventQueue) > 0:
+ event = self.eventQueue.pop(0)
+ control = self.getAffectedControl()
+ if event.type == "MOUSE_BUTTON_UP":
+ if not control is None:
+ self.on_mouse_button_up(control)
+ if event.type == "MOUSE_BUTTON_DOWN":
+ if not control is None:
+ self.on_mouse_button_down(control)
+ if event.type == "MOUSEMOTION":
+ if not control is None:
+ self.on_mouse_hover(control)
+ self.demoIsProcessing = False
+
+ def getAffectedControl(self):
+ xMouse = self.mousePointer.getX()
+ yMouse = self.mousePointer.getY()
+ for control in self.gameEngine.getUiMgr().controls:
+ if control.isClickable():
+ if control.collidesWithMousePosition(xMouse, yMouse):
+ return control
+
+class MainHelp(Game):
+ def __init__(self, screenSurface, uiMgr, soundMgr, screenMgr, path):
+ Game.__init__(self, screenSurface, uiMgr, soundMgr, screenMgr, path)
+ self.xMargin = 0
+ self.yMargin = 0
+ self.realGame = None
+ self.level2MenuItems = 0
+ self.level3MenuItems = 0
+ self.level4MenuItems = 0
+
+ def initializeGameData(self):
+ self.filebox = Archiver(self, self.settings["rootIconX"], self.settings["rootIconY"], self.masterResourcesDir)
+ self.filebox.setLayer(1)
+ #self.menu = Control(self, self.filebox.getX(), self.filebox.getY(), self.filebox.getWidth(), self.filebox.getHeight(),"", 0)
+ diffX = self.filebox.getX() - self.realGame.filebox.getX()
+ diffY = self.filebox.getY() - self.realGame.filebox.getY()
+ self.menu = self.realGame.buildMenu(self.realGame.root, diffX, diffY, self)
+ self.menu.mainControl = self.filebox
+ self.menu.setX(self.filebox.getX())
+ self.menu.setY(self.filebox.getY())
+ self.menu.setLayer(0)
+ self.getUiMgr().addControl(self.filebox)
+ self.hoveredOnControl = None
+ #self.getUiMgr().addControl(self.menu)
+
+ def on_mouse_hover(self, clickedControl):
+ if clickedControl is self.menu:
+ if not self.filebox.isOpen():
+ self.filebox.hover()
+ elif clickedControl.type == "menu":
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.turnHoverOff()
+ if not clickedControl.isOpen():
+ self.hoveredOnControl = clickedControl
+ self.hoveredOnControl.turnHoverOn()
+ else:
+ if not self.filebox.isOpen():
+ self.filebox.closeCompletely()
+
+ def on_mouse_button_down(self, clickedControl):
+ if clickedControl.type == "menu":
+ if len(clickedControl.submenus) > 0:
+ clickedControl.click()
+
+ def makePath(self, fileName):
+ return self.realGame.makePath(fileName)
+
diff --git a/Help/ColorPaintHelp/data.txt b/Help/ColorPaintHelp/data.txt
new file mode 100644
index 0000000..e04244d
--- /dev/null
+++ b/Help/ColorPaintHelp/data.txt
@@ -0,0 +1 @@
+finished = 1
diff --git a/Help/ColorPaintHelp/demoscript.txt b/Help/ColorPaintHelp/demoscript.txt
new file mode 100644
index 0000000..72ac7d1
--- /dev/null
+++ b/Help/ColorPaintHelp/demoscript.txt
@@ -0,0 +1,13 @@
+wait 25
+move 395 505
+mouse_button_down
+wait 25
+
+move 625 505
+mouse_button_down
+wait 25
+
+
+move 450 330
+mouse_button_down
+wait 25 \ No newline at end of file
diff --git a/Help/ColorPaintHelp/resources/_acuarelas.png b/Help/ColorPaintHelp/resources/_acuarelas.png
new file mode 100644
index 0000000..206bfc9
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/_acuarelas.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/_sandwich.png b/Help/ColorPaintHelp/resources/_sandwich.png
new file mode 100644
index 0000000..1eb1422
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/_sandwich.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel.png b/Help/ColorPaintHelp/resources/pincel.png
new file mode 100644
index 0000000..8ab4d17
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_black.png b/Help/ColorPaintHelp/resources/pincel_black.png
new file mode 100644
index 0000000..e2d388c
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_black.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_blue.png b/Help/ColorPaintHelp/resources/pincel_blue.png
new file mode 100644
index 0000000..56ad9c4
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_blue.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_green.png b/Help/ColorPaintHelp/resources/pincel_green.png
new file mode 100644
index 0000000..87ab0a8
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_green.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_orange.png b/Help/ColorPaintHelp/resources/pincel_orange.png
new file mode 100644
index 0000000..b193e06
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_orange.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_purple.png b/Help/ColorPaintHelp/resources/pincel_purple.png
new file mode 100644
index 0000000..3b20c58
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_purple.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_red.png b/Help/ColorPaintHelp/resources/pincel_red.png
new file mode 100644
index 0000000..118dacf
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_red.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_white.png b/Help/ColorPaintHelp/resources/pincel_white.png
new file mode 100644
index 0000000..9683d68
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_white.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/pincel_yellow.png b/Help/ColorPaintHelp/resources/pincel_yellow.png
new file mode 100644
index 0000000..adfff33
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/pincel_yellow.png
Binary files differ
diff --git a/Help/ColorPaintHelp/resources/sound.png b/Help/ColorPaintHelp/resources/sound.png
new file mode 100644
index 0000000..ed93829
--- /dev/null
+++ b/Help/ColorPaintHelp/resources/sound.png
Binary files differ
diff --git a/Help/ColorPaintHelp/screens.txt b/Help/ColorPaintHelp/screens.txt
new file mode 100644
index 0000000..e1dade1
--- /dev/null
+++ b/Help/ColorPaintHelp/screens.txt
@@ -0,0 +1,16 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+_sandwich.png blue.ogg blue
diff --git a/Help/ColorPaintHelp/settings.txt b/Help/ColorPaintHelp/settings.txt
new file mode 100644
index 0000000..33b775f
--- /dev/null
+++ b/Help/ColorPaintHelp/settings.txt
@@ -0,0 +1,12 @@
+infoFile = "screens.txt"
+soundIconX = 860
+soundIconY = 450
+xFirstElement = 400
+yFirstElement = 250
+elementsPerRow = 6
+spaceBetweenRows = 100
+xFirstElementLastRow = 300
+resourcesDir = "Help/ColorPaintHelp/resources"
+soundsDir = "Activities/Level1/1Colors/sounds"
+paintBoxesX = 300
+paintBoxesY = 450 \ No newline at end of file
diff --git a/Help/ConcentrationHelp/data.txt b/Help/ConcentrationHelp/data.txt
new file mode 100644
index 0000000..e04244d
--- /dev/null
+++ b/Help/ConcentrationHelp/data.txt
@@ -0,0 +1 @@
+finished = 1
diff --git a/Help/ConcentrationHelp/demoscript.txt b/Help/ConcentrationHelp/demoscript.txt
new file mode 100644
index 0000000..952f07c
--- /dev/null
+++ b/Help/ConcentrationHelp/demoscript.txt
@@ -0,0 +1,18 @@
+wait 25
+move 550 350
+mouse_button_down
+wait 25
+move 550 450
+mouse_button_down
+wait 100
+move 650 350
+mouse_button_down
+wait 25
+move 550 350
+mouse_button_down
+wait 25
+move 550 450
+mouse_button_down
+wait 25
+move 650 450
+mouse_button_down \ No newline at end of file
diff --git a/Help/ConcentrationHelp/screen.txt b/Help/ConcentrationHelp/screen.txt
new file mode 100644
index 0000000..975cbf9
--- /dev/null
+++ b/Help/ConcentrationHelp/screen.txt
@@ -0,0 +1,3 @@
+#[first image] [second image] [sound] [text]
+bicicletaroja.png circulorojo.png red.ogg red
+estrellaverde.png diamanteverde.png green.ogg green
diff --git a/Help/ConcentrationHelp/settings.txt b/Help/ConcentrationHelp/settings.txt
new file mode 100644
index 0000000..78892b4
--- /dev/null
+++ b/Help/ConcentrationHelp/settings.txt
@@ -0,0 +1,10 @@
+infoFile = "screen.txt"
+waitingFrames = 25
+infoFile = "screen.txt"
+helpDir = "ConcentrationHelp"
+resourcesDir = "Activities/Level1/1Colors/7Concentrate/resources"
+soundsDir = "Activities/Level1/1Colors/sounds"
+initialX = 500
+initialY = 300
+cardsPerRow = 2
+mustRandom = 0 \ No newline at end of file
diff --git a/Help/DragnDropHelp/data.txt b/Help/DragnDropHelp/data.txt
new file mode 100644
index 0000000..e04244d
--- /dev/null
+++ b/Help/DragnDropHelp/data.txt
@@ -0,0 +1 @@
+finished = 1
diff --git a/Help/DragnDropHelp/demoscript.txt b/Help/DragnDropHelp/demoscript.txt
new file mode 100644
index 0000000..a31054e
--- /dev/null
+++ b/Help/DragnDropHelp/demoscript.txt
@@ -0,0 +1,17 @@
+move 480 350
+mouse_button_down
+wait 25
+move 430 520
+mouse_button_up
+waitmovs
+move 600 340
+mouse_button_down
+wait 25
+move 430 520
+mouse_button_up
+wait 25
+move 480 350
+mouse_button_down
+wait 25
+move 550 530
+mouse_button_up \ No newline at end of file
diff --git a/Help/DragnDropHelp/screens.txt b/Help/DragnDropHelp/screens.txt
new file mode 100644
index 0000000..e07d4b9
--- /dev/null
+++ b/Help/DragnDropHelp/screens.txt
@@ -0,0 +1,9 @@
+bins:
+blue:taza_azul.png
+red:pez_rojo.png
+
+#[image] [audio] [text] [correct bin]
+
+screen1:
+icono_play.png red.ogg red red
+icono_play.png blue.ogg blue blue \ No newline at end of file
diff --git a/Help/DragnDropHelp/settings.txt b/Help/DragnDropHelp/settings.txt
new file mode 100644
index 0000000..251a2e4
--- /dev/null
+++ b/Help/DragnDropHelp/settings.txt
@@ -0,0 +1,15 @@
+screenWidth = 700
+screenHeight = 350
+spaceBetweenBins = 0
+leftMargin = 400
+gameTitle = "Crayons sorting game"
+speed = 15
+infoFile = "screens.txt"
+topMargin = 250
+backgroundColor = (255,255,255)
+yOddBins = 440
+yEvenBins = 450
+yOddCrayons = 300
+yEvenCrayons = 310
+resourcesDir = "Activities/Level1/1Colors/6DragnDrop/resources"
+soundsDir = "Activities/Level1/1Colors/sounds" \ No newline at end of file
diff --git a/Help/MainHelp/demoscript.txt b/Help/MainHelp/demoscript.txt
new file mode 100644
index 0000000..9808afc
--- /dev/null
+++ b/Help/MainHelp/demoscript.txt
@@ -0,0 +1,6 @@
+move 350 600
+mouse_button_down
+wait 25
+move 400 400
+mouse_button_down
+wait 25
diff --git a/Help/MainHelp/settings.txt b/Help/MainHelp/settings.txt
new file mode 100644
index 0000000..248f354
--- /dev/null
+++ b/Help/MainHelp/settings.txt
@@ -0,0 +1,3 @@
+rootIconX = 300
+rootIconY = 530
+resourcesDir = "../../resources" \ No newline at end of file
diff --git a/Help/MatchHelp/data.txt b/Help/MatchHelp/data.txt
new file mode 100644
index 0000000..e04244d
--- /dev/null
+++ b/Help/MatchHelp/data.txt
@@ -0,0 +1 @@
+finished = 1
diff --git a/Help/MatchHelp/demoscript.txt b/Help/MatchHelp/demoscript.txt
new file mode 100644
index 0000000..1ca2e5a
--- /dev/null
+++ b/Help/MatchHelp/demoscript.txt
@@ -0,0 +1,10 @@
+move 370 304
+mouse_button_down
+wait 25
+move 750 300
+mouse_button_down
+wait 25
+
+move 740 410
+mouse_button_down
+waitmovs \ No newline at end of file
diff --git a/Help/MatchHelp/resources/carrot.png b/Help/MatchHelp/resources/carrot.png
new file mode 100644
index 0000000..a707b2e
--- /dev/null
+++ b/Help/MatchHelp/resources/carrot.png
Binary files differ
diff --git a/Help/MatchHelp/resources/carrotSil.png b/Help/MatchHelp/resources/carrotSil.png
new file mode 100644
index 0000000..4d1653b
--- /dev/null
+++ b/Help/MatchHelp/resources/carrotSil.png
Binary files differ
diff --git a/Help/MatchHelp/resources/repollo.png b/Help/MatchHelp/resources/repollo.png
new file mode 100644
index 0000000..7bb0a8a
--- /dev/null
+++ b/Help/MatchHelp/resources/repollo.png
Binary files differ
diff --git a/Help/MatchHelp/resources/repolloSil.png b/Help/MatchHelp/resources/repolloSil.png
new file mode 100644
index 0000000..3646793
--- /dev/null
+++ b/Help/MatchHelp/resources/repolloSil.png
Binary files differ
diff --git a/Help/MatchHelp/screens.txt b/Help/MatchHelp/screens.txt
new file mode 100644
index 0000000..708d683
--- /dev/null
+++ b/Help/MatchHelp/screens.txt
@@ -0,0 +1,2 @@
+carrotSil.png orange.ogg carrot.png
+repolloSil.png green.ogg repollo.png \ No newline at end of file
diff --git a/Help/MatchHelp/settings.txt b/Help/MatchHelp/settings.txt
new file mode 100644
index 0000000..7fdf70f
--- /dev/null
+++ b/Help/MatchHelp/settings.txt
@@ -0,0 +1,9 @@
+spaceBetweenImages = 250
+leftMargin = 350
+speed = 15
+infoFile = "screens.txt"
+topMargin = 250
+random = 0
+verticalSpaceBetweenImages = 50
+resourcesDir = "Help/MatchHelp/resources"
+soundsDir = "Activities/Level1/1Colors/sounds" \ No newline at end of file
diff --git a/Help/MultipleCHelp/data.txt b/Help/MultipleCHelp/data.txt
new file mode 100644
index 0000000..e04244d
--- /dev/null
+++ b/Help/MultipleCHelp/data.txt
@@ -0,0 +1 @@
+finished = 1
diff --git a/Help/MultipleCHelp/demoscript.txt b/Help/MultipleCHelp/demoscript.txt
new file mode 100644
index 0000000..a7162d5
--- /dev/null
+++ b/Help/MultipleCHelp/demoscript.txt
@@ -0,0 +1,9 @@
+wait 50
+move 716 459
+mouse_button_down
+wait 25
+move 729 328
+mouse_button_down
+wait 25
+move 716 459
+mouse_button_down \ No newline at end of file
diff --git a/Help/MultipleCHelp/resources/Helvetica LT Condensed Black.ttf b/Help/MultipleCHelp/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/Help/MultipleCHelp/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/Help/MultipleCHelp/resources/cara_sonriente_anim.png b/Help/MultipleCHelp/resources/cara_sonriente_anim.png
new file mode 100644
index 0000000..7e07aac
--- /dev/null
+++ b/Help/MultipleCHelp/resources/cara_sonriente_anim.png
Binary files differ
diff --git a/Help/MultipleCHelp/resources/cara_triste_anim.png b/Help/MultipleCHelp/resources/cara_triste_anim.png
new file mode 100644
index 0000000..d69ef8d
--- /dev/null
+++ b/Help/MultipleCHelp/resources/cara_triste_anim.png
Binary files differ
diff --git a/Help/MultipleCHelp/resources/pera.png b/Help/MultipleCHelp/resources/pera.png
new file mode 100644
index 0000000..6322bbb
--- /dev/null
+++ b/Help/MultipleCHelp/resources/pera.png
Binary files differ
diff --git a/Help/MultipleCHelp/resources/sandwich.png b/Help/MultipleCHelp/resources/sandwich.png
new file mode 100644
index 0000000..2949121
--- /dev/null
+++ b/Help/MultipleCHelp/resources/sandwich.png
Binary files differ
diff --git a/Help/MultipleCHelp/resources/sound.png b/Help/MultipleCHelp/resources/sound.png
new file mode 100644
index 0000000..a7ddfef
--- /dev/null
+++ b/Help/MultipleCHelp/resources/sound.png
Binary files differ
diff --git a/Help/MultipleCHelp/screens.txt b/Help/MultipleCHelp/screens.txt
new file mode 100644
index 0000000..3460068
--- /dev/null
+++ b/Help/MultipleCHelp/screens.txt
@@ -0,0 +1,11 @@
+question:
+sandwich.png blue.ogg yes
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png
+
+question:
+pera.png blue.ogg no
+options:
+yes cara_sonriente_anim.png
+no cara_triste_anim.png \ No newline at end of file
diff --git a/Help/MultipleCHelp/settings.txt b/Help/MultipleCHelp/settings.txt
new file mode 100644
index 0000000..1948512
--- /dev/null
+++ b/Help/MultipleCHelp/settings.txt
@@ -0,0 +1,11 @@
+spaceBetweenImages = 250
+leftMargin = 250
+infoFile = "screens.txt"
+topMargin = 250
+soundIconX = 670
+soundIconY = 530
+firstOptionX = 650
+resourcesDir = "Help/MultipleCHelp/resources"
+soundsDir = "Activities/Level1/1Colors/sounds"
+animationSpeed = 3
+spaceBetweenOptions = 10 \ No newline at end of file
diff --git a/Help/PaintHelp/data.txt b/Help/PaintHelp/data.txt
new file mode 100644
index 0000000..e04244d
--- /dev/null
+++ b/Help/PaintHelp/data.txt
@@ -0,0 +1 @@
+finished = 1
diff --git a/Help/PaintHelp/demoscript.txt b/Help/PaintHelp/demoscript.txt
new file mode 100644
index 0000000..9cad70c
--- /dev/null
+++ b/Help/PaintHelp/demoscript.txt
@@ -0,0 +1,13 @@
+wait 25
+move 395 505
+mouse_button_down
+wait 25
+
+move 800 505
+mouse_button_down
+wait 25
+
+
+move 450 330
+mouse_button_down
+wait 25 \ No newline at end of file
diff --git a/Help/PaintHelp/resources/_acuarelas.png b/Help/PaintHelp/resources/_acuarelas.png
new file mode 100644
index 0000000..206bfc9
--- /dev/null
+++ b/Help/PaintHelp/resources/_acuarelas.png
Binary files differ
diff --git a/Help/PaintHelp/resources/hamburguer.png b/Help/PaintHelp/resources/hamburguer.png
new file mode 100644
index 0000000..82d5591
--- /dev/null
+++ b/Help/PaintHelp/resources/hamburguer.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel.png b/Help/PaintHelp/resources/pincel.png
new file mode 100644
index 0000000..8ab4d17
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_black.png b/Help/PaintHelp/resources/pincel_black.png
new file mode 100644
index 0000000..e2d388c
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_black.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_blue.png b/Help/PaintHelp/resources/pincel_blue.png
new file mode 100644
index 0000000..56ad9c4
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_blue.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_green.png b/Help/PaintHelp/resources/pincel_green.png
new file mode 100644
index 0000000..87ab0a8
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_green.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_orange.png b/Help/PaintHelp/resources/pincel_orange.png
new file mode 100644
index 0000000..b193e06
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_orange.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_purple.png b/Help/PaintHelp/resources/pincel_purple.png
new file mode 100644
index 0000000..3b20c58
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_purple.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_red.png b/Help/PaintHelp/resources/pincel_red.png
new file mode 100644
index 0000000..118dacf
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_red.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_white.png b/Help/PaintHelp/resources/pincel_white.png
new file mode 100644
index 0000000..9683d68
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_white.png
Binary files differ
diff --git a/Help/PaintHelp/resources/pincel_yellow.png b/Help/PaintHelp/resources/pincel_yellow.png
new file mode 100644
index 0000000..adfff33
--- /dev/null
+++ b/Help/PaintHelp/resources/pincel_yellow.png
Binary files differ
diff --git a/Help/PaintHelp/resources/sound.png b/Help/PaintHelp/resources/sound.png
new file mode 100644
index 0000000..ed93829
--- /dev/null
+++ b/Help/PaintHelp/resources/sound.png
Binary files differ
diff --git a/Help/PaintHelp/screens.txt b/Help/PaintHelp/screens.txt
new file mode 100644
index 0000000..c6cf6cb
--- /dev/null
+++ b/Help/PaintHelp/screens.txt
@@ -0,0 +1,16 @@
+#[image] [audio] [color]
+
+paint:
+
+red
+orange
+yellow
+green
+blue
+white
+black
+purple
+
+elements:
+
+hamburguer.png purple.ogg purple
diff --git a/Help/PaintHelp/settings.txt b/Help/PaintHelp/settings.txt
new file mode 100644
index 0000000..15f1181
--- /dev/null
+++ b/Help/PaintHelp/settings.txt
@@ -0,0 +1,12 @@
+infoFile = "screens.txt"
+soundIconX = 860
+soundIconY = 450
+xFirstElement = 400
+yFirstElement = 250
+elementsPerRow = 6
+spaceBetweenRows = 100
+xFirstElementLastRow = 300
+resourcesDir = "Help/PaintHelp/resources"
+soundsDir = "Activities/Level1/2Food/sounds"
+paintBoxesX = 300
+paintBoxesY = 450 \ No newline at end of file
diff --git a/Help/SortHelp/data.txt b/Help/SortHelp/data.txt
new file mode 100644
index 0000000..e04244d
--- /dev/null
+++ b/Help/SortHelp/data.txt
@@ -0,0 +1 @@
+finished = 1
diff --git a/Help/SortHelp/demoscript.txt b/Help/SortHelp/demoscript.txt
new file mode 100644
index 0000000..7697931
--- /dev/null
+++ b/Help/SortHelp/demoscript.txt
@@ -0,0 +1,29 @@
+wait 25
+move 490 300
+mouse_button_down
+wait 25
+move 530 470
+mouse_button_down
+waitmovs
+wait 25
+
+move 560 300
+mouse_button_down
+wait 25
+move 404 456
+mouse_button_down
+wait 25
+
+move 673 300
+mouse_button_down
+wait 25
+move 530 470
+mouse_button_down
+waitmovs
+wait 25
+
+move 750 300
+mouse_button_down
+wait 25
+move 404 456
+mouse_button_down \ No newline at end of file
diff --git a/Help/SortHelp/screens.txt b/Help/SortHelp/screens.txt
new file mode 100644
index 0000000..34ecc9d
--- /dev/null
+++ b/Help/SortHelp/screens.txt
@@ -0,0 +1,11 @@
+screen1:
+bins:
+blue:cajaazul.png
+red:cajaroja.png
+yellow:cajaamarilla.png
+green:cajaverde.png
+crayons:
+crayolaroja.png red.ogg red red
+crayolaazul.png blue.ogg blue blue
+crayolaroja.png red.ogg red red
+crayolaazul.png blue.ogg blue blue \ No newline at end of file
diff --git a/Help/SortHelp/settings.txt b/Help/SortHelp/settings.txt
new file mode 100644
index 0000000..b99963b
--- /dev/null
+++ b/Help/SortHelp/settings.txt
@@ -0,0 +1,15 @@
+spaceBetweenBins = 10
+leftMargin = 330
+fps = 25
+gameTitle = "Crayons sorting game"
+speed = 15
+infoFile = "screens.txt"
+topMargin = 150
+backgroundColor = (255,255,255)
+yOddBins = 390
+yEvenBins = 400
+yOddCrayons = 250
+yEvenCrayons = 260
+resourcesDir = "Activities/Level1/1Colors/1Sort/resources"
+soundsDir = "Activities/Level1/1Colors/sounds"
+fontSize = 30 \ No newline at end of file
diff --git a/Help/click.wav b/Help/click.wav
new file mode 100644
index 0000000..9696c4e
--- /dev/null
+++ b/Help/click.wav
Binary files differ
diff --git a/Help/mousePointer.png b/Help/mousePointer.png
new file mode 100644
index 0000000..6e61cfe
--- /dev/null
+++ b/Help/mousePointer.png
Binary files differ
diff --git a/Help/mousePointerDrag.png b/Help/mousePointerDrag.png
new file mode 100644
index 0000000..eab3985
--- /dev/null
+++ b/Help/mousePointerDrag.png
Binary files differ
diff --git a/Help/mousePointerS.png b/Help/mousePointerS.png
new file mode 100644
index 0000000..8a39f00
--- /dev/null
+++ b/Help/mousePointerS.png
Binary files differ
diff --git a/Help/mousePointerSmall.png b/Help/mousePointerSmall.png
new file mode 100644
index 0000000..eb95449
--- /dev/null
+++ b/Help/mousePointerSmall.png
Binary files differ
diff --git a/Match.py b/Match.py
new file mode 100644
index 0000000..5c64649
--- /dev/null
+++ b/Match.py
@@ -0,0 +1,213 @@
+import pygame, sys, os
+from pygame.locals import *
+from eduGames import *
+import random
+
+class Match(Game):
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Game.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.selectedLeftImage = None
+ self.controlMoving = None
+ self.controlMovingTarget = (0,0)
+ self.ignoreCommands = False
+ self.solvedPuzzleElements = 0
+ self.currentPuzzleIndex = -1
+ self.moveToNextPuzzle = True
+ self.finished = False
+ self.mustRandom = self.settings["random"]
+ self.soundsDir = "" #This is set by the Games class afterwards.
+ self.wrongChoiceSoundPath = ""
+ self.hoveredOnControl = None
+ self.xMargin = 0
+ self.yMargin = 0
+ self.firstElement = None
+ self.futureFirstElement = None
+ self.isHelp = False
+
+ def readInfo(self):
+ fileName = os.path.join(self.path, self.settings["infoFile"])
+ puzzleFile = open(fileName, "r")
+ fileText = puzzleFile.read()
+ puzzleFileReader = PuzzlesReader(self.resourcesDir, self.mustRandom, self.soundsDir)
+ puzzleFile.close()
+ return puzzleFileReader.read(fileText)
+
+ def initializeGameData(self):
+ self.wrongChoiceSoundPath = os.path.join(self.soundsDir,"chord.ogg")
+ self.puzzles = self.readInfo()
+
+ def on_mouse_hover(self, clickedControl):
+ if clickedControl.type == "leftImage" or (clickedControl.type == "rightImage" and not self.selectedLeftImage is None):
+ if not clickedControl.isMoving():
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.filterOff()
+ self.hoveredOnControl = clickedControl
+ self.hoveredOnControl.filterOn()
+ else:
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.filterOff()
+
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.ignoreCommands: return
+ if clickedControl.type == "leftImage":
+ self.changeLeftImageSelection(clickedControl)
+ elif clickedControl.type == "rightImage":
+ self.matchAttempt(clickedControl)
+
+ def changeLeftImageSelection(self, control):
+ previousSelectedLeftImage = self.selectedLeftImage
+ self.getSoundMgr().addSoundForPlayback(control.puzzleElement.soundPath, True)
+ self.selectedLeftImage = control
+
+ def matchAttempt(self, selectedControl):
+ if self.selectedLeftImage is None: return
+ matchOk = (self.selectedLeftImage.puzzleElement.solution ==
+ selectedControl.puzzleElement.rightImagePath)
+ if not matchOk:
+ self.getSoundMgr().addSoundForPlayback(self.wrongChoiceSoundPath, False)
+ else:
+ self.solvedPuzzleElements += 1
+ yCenterLeftImage = self.selectedLeftImage.getY() + self.selectedLeftImage.getHeight()/2
+ yDestination = yCenterLeftImage - selectedControl.getWidth()/2
+ destination = (self.selectedLeftImage.getX() + self.selectedLeftImage.getWidth(),
+ yDestination)
+ selectedControl.setLayer(0)
+ selectedControl.filterOff()
+ selectedControl.startMovement(destination, self.settings["speed"])
+ self.controlMoving = selectedControl
+ self.controlMovingTarget = destination
+ self.ignoreCommands = True
+ self.getSoundMgr().addSoundForPlayback(os.path.join(self.soundsDir, "bing.ogg"), False, True)
+ self.getSoundMgr().addSoundForPlayback(self.selectedLeftImage.puzzleElement.secondAudio, True, False)
+
+ def updateState(self):
+ if not self.firstElement is None:
+ if not self.firstElement.isBeingScaled():
+ self.getUiMgr().removeControl(self.firstElement)
+ self.getUiMgr().addControl(self.futureFirstElement)
+ self.firstElement = None
+ if not (self.controlMoving is None):
+ if not self.controlMoving.isMoving():
+ self.ignoreCommands = False
+ self.controlMoving.setLayer(1)
+ self.controlMoving.type = ""
+ self.controlMoving = None
+ if self.solvedPuzzleElements == len(self.puzzles[self.currentPuzzleIndex]):
+ self.moveToNextPuzzle = True
+ if self.moveToNextPuzzle:
+ self.currentPuzzleIndex += 1
+ if self.currentPuzzleIndex < len(self.puzzles):
+ self.buildCurrentPuzzle()
+ self.moveToNextPuzzle = False
+ self.firstElement.playAnimation()
+ self.firstElement.stopAnimation()
+ else:
+ if(not self.getSoundMgr().thereAreSoundsPlaying()):
+ self.finished = True
+ if not self.isHelp:
+ self.saveAsDone()
+
+ def buildCurrentPuzzle(self):
+ self.solvedPuzzleElements = 0
+ self.selectedLeftImage = None
+ self.getUiMgr().deleteGameControls(self)
+ totalImagesHeight = 0
+ firstElement = True
+
+ y = self.settings["topMargin"] + self.yMargin + 10
+
+ for currentElement in self.puzzles[self.currentPuzzleIndex]:
+ xLeftImage = self.settings["leftMargin"] + self.xMargin
+ leftImageControl = HighlightedControl(self, xLeftImage, y, currentElement.leftImagePath, currentElement.soundPath, 1)
+ leftImageControl.type = "leftImage"
+ leftImageControl.puzzleElement = currentElement #this adds the "puzzleElement" attribute to the object.
+ leftImageControl.setLayer(4)
+ leftImageControl.setColorKey((255,255,255))
+ if firstElement:
+ self.firstElement = GrowsAndShrinksAnimatedControl(self, xLeftImage, y, currentElement.leftImagePath, "", 1)
+ self.firstElement.delay = 10
+ self.getUiMgr().addControl(self.firstElement)
+ self.futureFirstElement = leftImageControl
+ firstElement = False
+ else:
+ self.getUiMgr().addControl(leftImageControl)
+
+ deltaY = leftImageControl.getHeight() + self.settings["verticalSpaceBetweenImages"]
+
+ xRightImage = xLeftImage + self.settings["spaceBetweenImages"] + leftImageControl.getWidth()
+ rightImageControl = HighlightedControl(self, xRightImage, y, currentElement.rightImagePath, "", 1)
+ rightImageControl.type = "rightImage"
+ rightImageControl.puzzleElement = currentElement
+ rightImageControl.setLayer(4)
+ rightImageControl.setColorKey((255,255,255))
+ self.getUiMgr().addControl(rightImageControl)
+
+ y = y + deltaY
+
+class PuzzlesReader():
+
+ def __init__(self, resourcesDir, mustRandom, soundsDir):
+ self.puzzles = []
+ self.resourcesDir = resourcesDir
+ self.soundsDir = soundsDir
+ self.mustRandom = mustRandom
+ if self.mustRandom:
+ random.seed()
+
+ def read(self, puzzlesDefinition):
+ lines = puzzlesDefinition.splitlines()
+ thisPuzzle = []
+ correspondingImages = []
+ for line in lines:
+ if line <> "":
+ ln = line.split()
+ audio = ln[1]
+
+ if "[" in audio:
+ audios = audio[1:-1].split(",")
+ audio = audios[0]
+ secondAudio = os.path.join(self.soundsDir,audios[1])
+ else:
+ secondAudio = os.path.join(self.soundsDir, audio)
+
+ puzzleElement = PuzzleElement(ln[0], audio, ln[2], self.resourcesDir, self.soundsDir)
+ puzzleElement.secondAudio = secondAudio
+ thisPuzzle.append(puzzleElement)
+ correspondingImages.append(ln[2])
+ else:
+ random.shuffle(correspondingImages)
+ counter = 0
+ for pe in thisPuzzle:
+ pe.setRightImagePath(correspondingImages[counter])
+ counter = counter + 1
+ self.puzzles.append(thisPuzzle)
+ thisPuzzle = []
+ correspondingImages = []
+
+ if self.mustRandom:
+ random.shuffle(correspondingImages)
+ else:
+ correspondingImages.reverse()
+
+ counter = 0
+ for pe in thisPuzzle:
+ pe.setRightImagePath(correspondingImages[counter])
+ counter = counter + 1
+ self.puzzles.append(thisPuzzle)
+ thisPuzzle = []
+ correspondingImages = []
+ return self.puzzles
+
+class PuzzleElement():
+ def __init__(self, leftImage, soundFile, correspondingLeftImage, resourcesDir, soundsDir):
+ self.resourcesDir = resourcesDir
+ self.leftImagePath = os.path.join(resourcesDir,leftImage)
+ self.soundPath = os.path.join(soundsDir, soundFile)
+ self.solution = os.path.join(resourcesDir,correspondingLeftImage)
+ self.rightImagePath = ""
+ self.secondAudio = self.soundPath
+
+ def setRightImagePath(self, rightImagePath):
+ self.rightImagePath = os.path.join(self.resourcesDir, rightImagePath) \ No newline at end of file
diff --git a/MultipleChoice.py b/MultipleChoice.py
new file mode 100644
index 0000000..b27078b
--- /dev/null
+++ b/MultipleChoice.py
@@ -0,0 +1,173 @@
+import pygame, sys, os
+from pygame.locals import *
+from eduGames import *
+from pygame.font import *
+
+class MultipleChoice(Game):
+ (INITIAL, WAITING, GOOD_CHOICE, BAD_CHOICE, END) = (0,1,2,3,4)
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Game.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.currentQuestionIndex = 0
+ self.questions = None
+ self.finished = False
+ self.hoveredOnControl = None
+ self.state = MultipleChoice.INITIAL
+ self.soundIcon = None
+ self.soundsDir = "" #set later by Games class
+ self.xMargin = 0
+ self.yMargin = 0
+ self.isHelp = False
+ self.masterResourcesDir = None
+ self.successSound = ""
+
+ def readInfo(self):
+ self.alert = os.path.join(self.soundsDir,"chord.ogg")
+ fileName = os.path.join(self.path, self.settings["infoFile"])
+ puzzleFile = open(fileName, "r")
+ fileText = puzzleFile.read()
+ puzzleFileReader = Reader(self.resourcesDir, self.soundsDir)
+ puzzleFile.close()
+ return puzzleFileReader.read(fileText)
+
+ def initializeGameData(self):
+ self.questions = self.readInfo()
+ self.soundIcon = ImageControl(self, self.settings["soundIconX"] + self.xMargin, self.settings["soundIconY"] + self.yMargin, os.path.join(self.masterResourcesDir, "sound.png"), "", 2)
+ self.soundIcon.setLayer(5)
+ self.soundIcon.type = "soundIcon"
+ self.successSound = os.path.join(self.soundsDir, "bing.ogg")
+
+ def showCurrentQuestion(self):
+ fontPath = os.path.join(self.resourcesDir, "Helvetica LT Condensed Black.ttf")
+ font = Font(fontPath, 50)
+ self.getUiMgr().deleteGameControls(self)
+ self.getUiMgr().addControl(self.soundIcon)
+ x = self.settings["leftMargin"] + self.xMargin
+ y = self.settings["topMargin"] + self.yMargin
+
+ question = self.questions[self.currentQuestionIndex]
+ questionControl = ImageControl(self, x, y, question.image, question.audio, 1)
+ questionControl.setLayer(4)
+ self.getUiMgr().addControl(questionControl)
+
+ x = self.settings["firstOptionX"] + self.xMargin
+
+ for option in question.options:
+ optionControl = AnimatedImageControl(self, x, y, option.image, 3)
+ optionControl.optionName = option.name
+ optionControl.type = "option"
+
+ optionControl.framesBetweenUpdates = 3
+ if self.settings.has_key("animationSpeed"):
+ self.settings["animationSpeed"]
+
+ optionControl.pingpong = True
+ optionControl.setLayer(4)
+ txt = option.name
+ xText = optionControl.getX() + optionControl.getWidth() + 30
+ yText = optionControl.getY() + optionControl.getHeight()/2 - 20
+ text = Label(self, xText, yText, 20, 10, font, txt, 4)
+ text.color = (0,0,0)
+ text.background = None
+ self.getUiMgr().addControl(text)
+ self.getUiMgr().addControl(optionControl)
+ y = y + optionControl.getHeight() + self.settings["spaceBetweenOptions"]
+
+ def on_mouse_hover(self, clickedControl):
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.pause()
+ self.hoveredOnControl = None
+ if clickedControl.type == "option":
+ if not self.hoveredOnControl is clickedControl:
+ self.hoveredOnControl = clickedControl
+ self.hoveredOnControl.playAnimation(-1)
+ if clickedControl == self.soundIcon:
+ self.soundIcon.setImageDivisionIndex(1)
+ else:
+ self.soundIcon.setImageDivisionIndex(0)
+
+
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.state == MultipleChoice.WAITING:
+ if clickedControl.type == "option":
+ if clickedControl.optionName == self.questions[self.currentQuestionIndex].correctOption:
+ self.state = MultipleChoice.GOOD_CHOICE
+ else:
+ self.state = MultipleChoice.BAD_CHOICE
+ elif clickedControl is self.soundIcon:
+ self.getSoundMgr().addSoundForPlayback(self.questions[self.currentQuestionIndex].audio)
+
+ def updateState(self):
+ if not self.state == MultipleChoice.END:
+ question = self.questions[self.currentQuestionIndex]
+ if self.state == MultipleChoice.INITIAL:
+ self.showCurrentQuestion()
+ self.getSoundMgr().addSoundForPlayback(question.audio, True)
+ self.state = MultipleChoice.WAITING
+ if self.state == MultipleChoice.GOOD_CHOICE:
+ self.currentQuestionIndex += 1
+ self.getSoundMgr().addSoundForPlayback(self.successSound, False, True)
+ if self.currentQuestionIndex == len(self.questions):
+ self.state = MultipleChoice.END
+ else:
+ self.state = MultipleChoice.INITIAL
+ if self.state == MultipleChoice.BAD_CHOICE:
+ self.getSoundMgr().addSoundForPlayback(self.alert, True)
+ self.state = MultipleChoice.WAITING
+ if self.state == MultipleChoice.END:
+ self.finished = True
+ if not self.isHelp:
+ self.saveAsDone()
+
+class Reader:
+
+
+ def __init__(self, resourcesDir, soundsDir):
+ self.resourcesDir = resourcesDir
+ self.soundsDir = soundsDir
+
+ def read(self, puzzlesDefinition):
+ (NONE, QUESTION, OPTIONS) = (0,1,2)
+ lines = puzzlesDefinition.splitlines()
+ state = NONE
+ currentQuestion = None
+ questions = []
+
+ for line in lines:
+ line = line.strip()
+ if line == "":
+ continue
+ if line.startswith("#"):
+ continue
+ if line == "question:":
+ state = QUESTION
+ continue
+ if line == "options:":
+ state = OPTIONS
+ continue
+ if state == QUESTION:
+ questionData = line.split()
+ currentQuestion = Question(questionData[0], questionData[1], questionData[2], self.resourcesDir, self.soundsDir)
+ questions.append(currentQuestion)
+ continue #Next line must be "options"
+ if state == OPTIONS:
+ optionData = line.split()
+ option = Option(optionData[0], optionData[1], self.resourcesDir)
+ currentQuestion.options.append(option)
+ return questions
+
+
+class Option:
+ def __init__(self, name, image, resourcesDir):
+ self.name = name
+ self.image = os.path.join(resourcesDir, image)
+
+
+class Question:
+ def __init__(self, image, audio, correctOption, resourcesDir, soundsDir):
+ self.image = os.path.join(resourcesDir, image)
+ self.audio = os.path.join(soundsDir, audio)
+ self.correctOption = correctOption
+ self.options = []
+
diff --git a/Paint.py b/Paint.py
new file mode 100644
index 0000000..40cf97a
--- /dev/null
+++ b/Paint.py
@@ -0,0 +1,363 @@
+import pygame, sys, os
+from pygame.locals import *
+from eduGames import *
+import random
+
+class Paint(Game):
+ (INITIAL, WAITING, BAD_CHOICE, GOOD_CHOICE, WAITING_PAINT, PAINTING, END) = (0,1,2,3,4,5, 6)
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Game.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.finished = False
+ self.puzzleElements = None
+ self.paintBoxes = None
+ self.currentElementIndex = 0
+ self.state = Paint.INITIAL
+ self.puzzleElementControls = None
+ self.selectedColor = ""
+ self.soundIcon = None
+ self.soundsDir = "" #set later by the Games class
+ self.xMargin = 0
+ self.yMargin = 0
+ self.masterResourcesDir = None
+ self.brush = None
+ self.fakeMouse = None
+ self.isHelp = False
+ self.onNavigationPortion = False
+ self.xStartBrushZone = 0
+ self.yStartBrushZone = 0
+ self.xEndBrushZone = 1030 + self.xMargin
+ self.yEndBrushZone = 0
+
+
+ def getCurrentPuzzleElement(self):
+ return self.puzzleElements[self.currentElementIndex]
+
+ def getCurrentPuzzleElementControl(self):
+ return self.puzzleElements[self.currentElementIndex].control
+
+ def pause(self):
+ self.getUiMgr().removeControl(self.brush)
+ pygame.mouse.set_visible(True)
+
+ def unPause(self):
+ self.getUiMgr().addControl(self.brush)
+ pygame.mouse.set_visible(False)
+
+ def initializeGameData(self):
+ self.brush = Brush(self, "")
+ self.alert = os.path.join(self.soundsDir, "chord.ogg")
+ self.ding = os.path.join(self.soundsDir, "ding.ogg")
+ (self.puzzleElements, self.paintBoxes, backgroundPath, backgroundX, backgroundY) = self.readInfo()
+ self.showElements()
+ self.showPaintBoxes()
+ if backgroundPath != "":
+ self.showBackgroundImage(backgroundPath, backgroundX, backgroundY)
+ fakeMouse = [c for c in self.getUiMgr().controls if c.type == "fakeMouse"]
+ self.fakeMouse = None
+ if not len(fakeMouse) == 0:
+ self.fakeMouse = fakeMouse[0]
+ self.brush.trackControl(self.fakeMouse)
+ self.fakeMouse.setLayer(20)
+ self.getUiMgr().addControl(self.brush)
+ if not self.isHelp:
+ pygame.mouse.set_visible(False)
+
+ def showBackgroundImage(self, backgroundPath, x, y):
+ path = os.path.join(self.resourcesDir, backgroundPath)
+ ic = ImageControl(self, x, y, path, "", 1)
+ ic.setLayer(9)
+ self.getUiMgr().addControl(ic)
+
+
+ def getShuffledElements(self):
+ shuffledElements = []
+ for element in self.puzzleElements:
+ shuffledElements.append(element)
+ random.shuffle(shuffledElements)
+ return shuffledElements
+
+ def showElements(self):
+ shuffledElements = self.getShuffledElements()
+ x = self.settings["xFirstElement"] + self.xMargin
+ y = self.settings["yFirstElement"] + self.yMargin
+ distanceBetweenElements = -1
+ if self.settings.has_key("distanceBetweenElements"):
+ distanceBetweenElements = self.settings["distanceBetweenElements"]
+ self.puzzleElementControls = []
+ counter = 1
+
+ for element in shuffledElements:
+ if counter > self.settings["elementsPerRow"] and counter % self.settings["elementsPerRow"] == 1:
+ xLastRow = self.settings["xFirstElementLastRow"] + self.xMargin
+ x = xLastRow
+ y = y + self.settings["spaceBetweenRows"]
+
+ if element.x > -1:
+ x = element.x
+ y = element.y
+
+ ic = ImageControl(self, x, y, os.path.join(self.resourcesDir, element.image),
+ "", element.getNumberOfStates())
+ ic.setLayer(6)
+ ic.type = "drawing"
+ ic.setAsUnclickable()
+ element.control = ic
+ if distanceBetweenElements > -1:
+ x += distanceBetweenElements
+ else:
+ x += ic.getWidth()
+ self.getUiMgr().addControl(ic)
+ self.puzzleElementControls.append(ic)
+
+ counter += 1
+
+ def showPaintBoxes(self):
+ x = self.settings["paintBoxesX"] + self.xMargin
+ y = self.settings["paintBoxesY"] + self.yMargin
+ watercolor = ImageControl(self, x, y, os.path.join(self.masterResourcesDir, "_acuarelas.png"))
+ watercolor.setLayer(5)
+ self.soundIcon = GrowsAndShrinksAnimatedControl(self, self.settings["soundIconX"] + self.xMargin, self.settings["soundIconY"] + self.yMargin, os.path.join(self.masterResourcesDir, "sound.png"), "", 2)
+ self.soundIcon.setLayer(5)
+ self.soundIcon.type = "soundIcon"
+ self.getUiMgr().addControl(watercolor)
+ self.getUiMgr().addControl(self.soundIcon)
+ x = self.settings["paintBoxesX"] + self.xMargin + 75
+ y = self.settings["paintBoxesY"] + self.yMargin + 25
+
+ for element in self.paintBoxes:
+ ic = Control(self, x, y, 50, 50)
+ ic.color = element
+ ic.setLayer(4)
+ ic.type = "paint"
+ x += 7 + ic.getWidth()
+ self.getUiMgr().addControl(ic)
+
+ self.yEndBrushZone = watercolor.getY() + watercolor.getHeight()
+
+ def readInfo(self):
+ fileName = os.path.join(self.path, self.settings["infoFile"])
+ file = open(fileName, "r")
+ fileText = file.read()
+ reader = ScreensReader()
+ file.close()
+ return reader.read(fileText)
+
+ def on_mouse_hover(self, clickedControl):
+ if clickedControl == self.soundIcon:
+ self.soundIcon.setImageDivisionIndex(1)
+ self.onNavigationPortion = True
+ else:
+ if self.soundIcon.getImageDivisionIndex() == 1: #might improve performance.
+ self.soundIcon.setImageDivisionIndex(0)
+ mousePos = pygame.mouse.get_pos()
+ mousePosX = mousePos[0]
+ mousePosY = mousePos[1]
+
+ if mousePosX < self.xStartBrushZone or mousePosY < self.yStartBrushZone or mousePosX > self.xEndBrushZone or mousePosY > self.yEndBrushZone:
+ self.onNavigationPortion = True
+ else:
+ self.onNavigationPortion = False
+ try:
+ if self.onNavigationPortion:
+ if self.brush.isVisible():
+ self.brush.makeInvisible()
+ else:
+ if not self.brush.isVisible():
+ self.brush.makeVisible()
+ except:
+ pass
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.state == Paint.WAITING:
+ if clickedControl.type == "paint":
+ self.selectedColor = clickedControl.color
+ elif clickedControl == self.soundIcon:
+ self.state = Paint.INITIAL
+ if self.state == Paint.WAITING_PAINT:
+ if clickedControl.type == "drawing" and clickedControl is self.getCurrentPuzzleElementControl():
+ self.state = Paint.PAINTING
+ self.playSoundSequentially(self.ding)
+ else:
+ self.playSound(self.alert)
+
+ def paintCurrentElement(self):
+ self.getCurrentPuzzleElementControl().setImageDivisionIndex(self.getCurrentPuzzleElement().getCurrentIndex()+1)
+
+ def playSoundSequentially(self, sound):
+ self.getSoundMgr().addSoundForPlayback(sound, False, True)
+
+ def playSound(self, sound):
+ self.getSoundMgr().addSoundForPlayback(sound)
+
+ def updateState(self):
+ mouseVisible = self.isHelp or self.isPaused or self.onNavigationPortion
+ pygame.mouse.set_visible(mouseVisible)
+
+ if self.state == Paint.INITIAL:
+ soundPath = os.path.join(self.soundsDir, self.getCurrentPuzzleElement().currentAudio())
+ self.getSoundMgr().addSoundForPlayback(soundPath)
+ self.soundIcon.delay = 15
+ self.soundIcon.playAnimation()
+ self.soundIcon.stopAnimation()
+ self.state = Paint.WAITING
+ currentControl = self.getCurrentPuzzleElementControl()
+ currentControl.setAsClickable()
+ return
+ if self.state == Paint.WAITING: #Actually two states: with and without a selected color.
+ if self.selectedColor != "":
+ if self.selectedColor == self.getCurrentPuzzleElement().currentColor():
+ self.state = Paint.GOOD_CHOICE
+ self.getUiMgr().removeControl(self.brush)
+ self.brush = Brush(self, self.selectedColor, self.fakeMouse)
+ self.getUiMgr().addControl(self.brush)
+ else:
+ self.state = Paint.BAD_CHOICE
+ self.selectedColor = ""
+ return
+ if self.state == Paint.BAD_CHOICE:
+ self.playSound(self.alert)
+ self.state = Paint.WAITING
+ return
+ if self.state == Paint.GOOD_CHOICE:
+ self.playSound(self.ding)
+ self.state = Paint.WAITING_PAINT
+ return
+ if self.state == Paint.PAINTING:
+ self.paintCurrentElement()
+ self.getCurrentPuzzleElement().moveOn()
+ self.getUiMgr().removeControl(self.brush)
+ self.brush = Brush(self)
+ self.brush.trackControl(self.fakeMouse)
+ self.getUiMgr().addControl(self.brush)
+ self.state = Paint.INITIAL
+ if self.getCurrentPuzzleElement().solved():
+ self.getCurrentPuzzleElementControl().setAsUnclickable()
+ self.currentElementIndex += 1
+ if self.currentElementIndex >= len(self.puzzleElements):
+ self.state = Paint.END
+ return
+ if self.state == Paint.END:
+ self.finished = True
+ if not self.fakeMouse:
+ pygame.mouse.set_visible(True)
+ if not self.isHelp:
+ self.saveAsDone()
+ return
+
+ def endGame(self):
+ self.finished = True
+ if not self.fakeMouse:
+ pygame.mouse.set_visible(True)
+
+class ScreensReader:
+
+ def read(self, text):
+ lines = text.splitlines()
+ self.elements = []
+ self.paintCollection = []
+ self.backgroundPath = ""
+ self.backgroundX = 0
+ self.backgroundY = 0
+ state = "initial"
+
+ for line in lines:
+ if line.strip() != "" and not line.startswith("#"):
+ if line.strip() == "paint:":
+ state = "paint"
+ continue
+ if line.strip() == "elements:":
+ state = "elements"
+ continue
+ if line.strip().startswith("background"):
+ state = "background"
+ info = line.split(":")[1].strip()
+ infoPieces = info.split()
+ self.backgroundPath = infoPieces[0]
+ self.backgroundX = int(infoPieces[1])
+ self.backgroundY = int(infoPieces[2])
+ if state == "paint":
+ self.paintCollection.append(line.strip())
+ if state == "elements":
+ elemData = line.split()
+ element = PaintPuzzleItem(elemData[0])
+ counter = 1
+ while(counter < len(elemData)):
+ if not elemData[counter].isdigit():
+ part = PaintPuzzlePart(elemData[counter], elemData[counter+1])
+ element.parts.append(part)
+ else:
+ element.x = int(elemData[counter])
+ element.y = int(elemData[counter+1])
+ counter = counter + 2
+ self.elements.append(element)
+ return (self.elements, self.paintCollection, self.backgroundPath, self.backgroundX, self.backgroundY)
+
+class PaintPuzzleItem:
+ def __init__(self, image):
+ self.image = image
+ self.parts = []
+ self.__currentIndex = 0
+ self.x = -1
+ self.y = -1
+
+ def getNumberOfStates(self):
+ return len(self.parts) + 1
+
+ def getCurrentIndex(self):
+ return self.__currentIndex
+
+ def moveOn(self):
+ self.__currentIndex = self.__currentIndex + 1
+
+ def solved(self):
+ return self.__currentIndex == len(self.parts)
+
+ def currentAudio(self):
+ return self.parts[self.__currentIndex].audio
+
+ def currentColor(self):
+ return self.parts[self.__currentIndex].color
+
+class PaintPuzzlePart:
+ def __init__(self, audio, color):
+ self.audio = audio
+ self.color = color
+
+
+class Brush(ImageControl):
+ def __init__(self, game, color="", controlToTrack=None):
+ if color == "":
+ imageFilePath = os.path.join(game.masterResourcesDir, "pincel.png")
+ else:
+ imageFilePath = os.path.join(game.masterResourcesDir, "pincel_" + color + ".png")
+ if controlToTrack is None:
+ (mouseX, mouseY) = pygame.mouse.get_pos()
+ else:
+ (mouseX, mouseY) = (controlToTrack.getX(), controlToTrack.getY())
+ ImageControl.__init__(self, game, mouseX, mouseY, imageFilePath, "", 1)
+ self.__controlToTrack = controlToTrack
+
+ def update(self):
+ if self.getLayer() != 0:
+ self.setLayer(0)
+ ImageControl.update(self)
+ if not self.__controlToTrack:
+ (mouseX, mouseY) = pygame.mouse.get_pos()
+ else:
+ mouseX = self.__controlToTrack.getX()
+ mouseY = self.__controlToTrack.getY()
+ self.setX(mouseX)
+ self.setY(mouseY)
+
+ def isClickable(self):
+ return False
+
+ def trackControl(self, controlToTrack):
+ self.__controlToTrack = controlToTrack
+
+ def stopTrackingControl(self):
+ self.__controlToTrack = None
+
+
+
diff --git a/Sort.py b/Sort.py
new file mode 100644
index 0000000..3be60b6
--- /dev/null
+++ b/Sort.py
@@ -0,0 +1,360 @@
+import pygame, sys, os
+from pygame.locals import *
+from pygame.font import *
+from eduGames import *
+
+class Sort(Game):
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Game.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.binControls = [] #necessary only to place crayons
+ self.selectedCrayon = None
+ self.movingCrayon = False
+ self.solvedItems = 0
+ self.alert = ""
+ self.finished = False
+ self.hoveredOnControl = None
+ self.soundsDir = "" #This is later initialized by the Games class.
+ self.xMargin = 0
+ self.yMargin = 0
+ self.firstCrayon = None
+ self.futureFirstCrayon = None
+ self.isHelp = False
+ self.previousScreenBinControls = None
+ self.successSound = ""
+
+ def initializeGameData(self):
+ self.alert = os.path.join(self.soundsDir, "chord.ogg")
+ self.screens = self.readInfo()
+ self.currentScreenIndex = -1
+ self.moveToNextScreen = True
+ self.successSound = os.path.join(self.soundsDir, "bing.ogg")
+
+ def showCurrentScreen(self):
+ if self.screens[self.currentScreenIndex].keepState:
+ self.previousScreenBinControls = self.binControls
+ self.binControls = []
+ self.solvedItems = 0
+ self.getUiMgr().deleteGameControls(self)
+ if self.screens[self.currentScreenIndex].background != "":
+ backgroundImagePath = self.screens[self.currentScreenIndex].background
+ backgroundImageX = self.screens[self.currentScreenIndex].backgroundX
+ backgroundImageY = self.screens[self.currentScreenIndex].backgroundY
+ backgroundImageLayer = self.screens[self.currentScreenIndex].backgroundLayer
+ backgroundImage = ImageControl(self, backgroundImageX, backgroundImageY, backgroundImagePath, "", 1)
+ backgroundImage.setLayer(backgroundImageLayer)
+ self.getUiMgr().addControl(backgroundImage)
+ self.createBinObjects()
+ self.addBinObjects()
+ self.createCrayons()
+ self.moveToNextScreen= False
+ self.firstCrayon.playAnimation()
+ self.firstCrayon.stopAnimation()
+
+ def updateBinObjects(self):
+ for binControl in self.binControls:
+ binControl.setX(binControl.bin.x)
+ binControl.setY(binControl.bin.y)
+
+ def addBinObjects(self):
+ fontPath = os.path.join(self.resourcesDir, "Helvetica LT Condensed Black.ttf")
+ fontSize = 20
+ if(self.settings.has_key("fontSize")):
+ fontSize = self.settings["fontSize"]
+ font = Font(fontPath, fontSize)
+ for ctrl in self.binControls:
+ if not self.settings.has_key("showBinText") or self.settings["showBinText"] == 1:
+ txt = ctrl.bin.name
+# xText = ctrl.getX() + ctrl.getWidth()/2 - len(txt)*5
+# yText = ctrl.getY() + ctrl.getHeight()/2 - 5
+# text = Label(self, xText, yText, 20, 10, font, txt, 5)
+ text = Label(self, 0, 0, 20, 10, font, txt, 5)
+ text.acquireRenderedSize()
+ xText = ctrl.getX() + ctrl.getWidth()/2 - text.getWidth()/2
+ yText = ctrl.getY() + ctrl.getHeight()/2 - text.getHeight()/2
+ text.setX(xText)
+ text.setY(yText + 10)
+ if txt == "black":
+ text.color = (255,255,255) #TODO: maybe this should be customizable
+ else:
+ text.color = (0,0,0)
+ text.background = None
+ self.getUiMgr().addControl(text)
+ self.getUiMgr().addControl(ctrl)
+
+ def createBinObjects(self):
+ x = self.settings["leftMargin"] + self.xMargin
+ y = self.settings["yOddBins"] + self.yMargin
+
+ binImageDivisions = 6
+ if self.settings.has_key("binImageDivisions"):
+ binImageDivisions = self.settings["binImageDivisions"]
+
+ for bin in self.screens[self.currentScreenIndex].bins:
+ if bin.x < 0:
+ bin.x = x
+ bin.y = y
+ else:
+ bin.x += self.xMargin
+ bin.y += self.yMargin
+ binObj = HighlightedControl(self, bin.x, bin.y, bin.image, "", binImageDivisions)
+ binObj.bin = bin
+ binObj.type = "bin"
+ if bin.layer < 0:
+ bin.layer = 6
+ binObj.setLayer(bin.layer)
+ self.binControls.append(binObj)
+ x = x + binObj.getWidth() + self.settings["spaceBetweenBins"]
+ if y == self.settings["yOddBins"] + self.yMargin:
+ y = self.settings["yEvenBins"] + self.yMargin
+ else:
+ y = self.settings["yOddBins"] + self.yMargin
+
+ if self.screens[self.currentScreenIndex].keepState:
+ self.fillImageDivisionIndex(binObj)
+
+ def fillImageDivisionIndex(self, binControl):
+ for oldBinControl in self.previousScreenBinControls:
+ if oldBinControl.bin.name == binControl.bin.name:
+ binControl.setImageDivisionIndex(oldBinControl.getImageDivisionIndex())
+
+
+ def createCrayons(self):
+ y = self.settings["yOddCrayons"] + self.yMargin
+ fontPath = os.path.join(self.resourcesDir, "Helvetica LT Condensed Black.ttf")
+ fontSize = 20
+ if(self.settings.has_key("fontSize")):
+ fontSize = self.settings["fontSize"]
+ font = Font(fontPath, fontSize)
+ counter = 0
+ x = self.binControls[1].getX()
+ distanceBetweenCrayons = 40
+
+ firstCrayon = True
+
+ if self.settings.has_key("xFirstCrayon"):
+ x = self.settings["xFirstCrayon"]
+ if self.settings.has_key("distanceBetweenCrayons"):
+ distanceBetweenCrayons = self.settings["distanceBetweenCrayons"]
+
+ for crayon in self.screens[self.currentScreenIndex].crayons:
+ if crayon.x < 0:
+ crayon.x = x
+ crayon.y = y
+ else:
+ crayon.x += self.xMargin
+ crayon.y += self.yMargin
+ crayonObj = HighlightedControl(self, crayon.x, crayon.y, crayon.image, crayon.audio, 1)
+ if firstCrayon:
+ self.firstCrayon = GrowsAndShrinksAnimatedControl(self, crayon.x, crayon.y, crayon.image, "", 1)
+ self.firstCrayon.delay = 10
+ self.getUiMgr().addControl(self.firstCrayon)
+
+ crayonObj.type = "crayon"
+ crayonObj.crayon = crayon
+ crayonObj.setLayer(4)
+ if not self.settings.has_key("showCrayonText") or self.settings["showCrayonText"] == 1:
+ letterWidth = 14
+ if self.settings.has_key("letterWidth"):
+ letterWidth = self.settings["letterWidth"]
+ xText = crayonObj.getX()
+ if self.settings.has_key("useCenterOfCrayonForText"):
+ if self.settings["useCenterOfCrayonForText"]:
+ xText = crayonObj.getX() + crayonObj.getWidth()/2 - len(crayon.text) * (letterWidth/2)
+ text = Label(self, xText, crayonObj.getY()+crayonObj.getHeight(), 20, 10, font, crayon.text, 5)
+ text.color = (0,0,0)
+ text.background = (255,255,255)
+ crayonObj.label = text
+ self.getUiMgr().addControl(text)
+
+ if firstCrayon:
+ self.futureFirstCrayon = crayonObj
+ firstCrayon = False
+ else:
+ self.getUiMgr().addControl(crayonObj)
+ counter = counter + 1
+ #crayonObj.setAlpha(100)
+ x = x + crayonObj.getWidth() + distanceBetweenCrayons
+
+ def readInfo(self):
+ fileName = os.path.join(self.path, self.settings["infoFile"])
+ file = open(fileName, "r")
+ fileText = file.read()
+ reader = ScreensReader(self.resourcesDir, self.soundsDir)
+ file.close()
+ return reader.read(fileText)
+
+ def on_mouse_hover(self, clickedControl):
+ if clickedControl.type == "crayon" or (clickedControl.type == "bin" and not self.selectedCrayon is None):
+ if not clickedControl.isMoving():
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.filterOff()
+ self.hoveredOnControl = clickedControl
+ self.hoveredOnControl.filterOn()
+ else:
+ if not self.hoveredOnControl is None:
+ self.hoveredOnControl.filterOff()
+
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.movingCrayon: return
+ if clickedControl.type == "crayon":
+ self.getSoundMgr().addSoundForPlayback(clickedControl.soundFilePath, True, True)
+ if clickedControl.crayon.secondAudio != clickedControl.crayon.audio:
+ self.getSoundMgr().addSoundForPlayback(clickedControl.crayon.secondAudio, True)
+ self.selectedCrayon = clickedControl
+ if clickedControl.type == "bin":
+ if not self.selectedCrayon is None:
+ if self.selectedCrayon.crayon.bin == clickedControl.bin:
+ target = (clickedControl.getX() + clickedControl.getWidth()/2,
+ clickedControl.getY())
+ if self.settings.has_key("useCrayonCenterAsHandle") and self.settings["useCrayonCenterAsHandle"] == 1:
+ #Specify the target so that the crayon's center will coincide with the bin's center.
+ targetX = clickedControl.getX() + clickedControl.getWidth()/2 - self.selectedCrayon.getWidth()/2
+ targetY = clickedControl.getY() + clickedControl.getHeight()/2 - self.selectedCrayon.getHeight()/2
+ target = (targetX, targetY)
+ self.selectedCrayon.startMovement(target, self.settings["speed"])
+ self.movingCrayon = True
+ self.selectedBin = clickedControl
+ self.selectedCrayon.filterOff()
+ if not self.settings.has_key("showCrayonText") or self.settings["showCrayonText"] == 1:
+ self.getUiMgr().removeControl(self.selectedCrayon.label)
+# print "ETIQUETA: " + str(self.selectedCrayon.label.getRect())
+ self.getSoundMgr().addSoundForPlayback(self.successSound, False, True)
+ self.getSoundMgr().addSoundForPlayback(self.selectedCrayon.crayon.secondAudio, True)
+ else:
+ self.triggerAlert()
+
+ def triggerAlert(self):
+ self.getSoundMgr().addSoundForPlayback(self.alert, True)
+
+ def updateState(self):
+ if not self.firstCrayon is None:
+ if not self.firstCrayon.isBeingScaled():
+ self.getUiMgr().removeControl(self.firstCrayon)
+ self.getUiMgr().addControl(self.futureFirstCrayon)
+ self.firstCrayon = None
+ if self.movingCrayon and not (self.selectedCrayon is None) and not self.selectedCrayon.isMoving():
+ self.selectedBin.increaseDivisionIndex(1)
+ self.selectedBin.filterOff()
+ self.getUiMgr().removeControl(self.selectedCrayon)
+ self.selectedCrayon = None
+ self.selectedBin = None
+ self.movingCrayon = False
+ self.solvedItems = self.solvedItems + 1
+ if self.solvedItems == len(self.screens[self.currentScreenIndex].crayons):
+ self.moveToNextScreen = True
+ else:
+ if self.moveToNextScreen:
+ self.currentScreenIndex = self.currentScreenIndex + 1
+ if self.currentScreenIndex < len(self.screens):
+ self.showCurrentScreen()
+ else:
+ self.endGame()
+ self.saveAsDone()
+
+ def endGame(self):
+ self.finished = True
+ if not self.isHelp:
+ self.saveAsDone()
+
+class ScreensReader:
+ def __init__(self, resourcesDir, soundsDir):
+ self.resourcesDir = resourcesDir
+ self.soundsDir = soundsDir
+
+ def read(self, text):
+ lines = text.splitlines()
+ self.screens = []
+ self.currentScreen = None
+ state = "screens"
+
+ for line in lines:
+ if line.strip() != "" and not line.startswith("#"):
+ if line.upper().startswith("SCREEN"):
+ self.currentScreen = Screen()
+ self.screens.append(self.currentScreen)
+ state = "screens"
+ continue
+ if line.upper().startswith("BACKGROUND"):
+ backgroundInfo = line.split(":")[1].strip()
+ splitResult = backgroundInfo.split()
+ self.currentScreen.background = os.path.join(self.resourcesDir, splitResult[0])
+ self.currentScreen.backgroundX = int(splitResult[1])
+ self.currentScreen.backgroundY = int(splitResult[2])
+ self.currentScreen.backgroundLayer = int(splitResult[3])
+ if line.upper().startswith("BINS"):
+ state = "bins"
+ if line.upper().startswith("BINS:KEEPSTATE"):
+ self.currentScreen.keepState = True
+ continue
+ if line.upper().startswith("CRAYONS"):
+ state = "crayons"
+ continue
+ if state == "bins":
+ binInfo = line.split(":")
+ binName = binInfo[0]
+ rest = binInfo[1].split()
+ binImage = rest[0]
+ bin = Bin(binName, binImage, self.resourcesDir)
+ if len(rest) > 1:
+ bin.x = int(rest[1])
+ bin.y = int(rest[2])
+ bin.layer = int(rest[3])
+ self.currentScreen.bins.append(bin)
+ if state == "crayons":
+ splitData = line.split()
+ crayonAudio = splitData[1]
+ crayonSecondAudio = crayonAudio
+
+ if "[" in crayonAudio:
+ audios = crayonAudio[1:-1].split(",")
+ crayonAudio = audios[0]
+ crayonSecondAudio = audios[1]
+
+ if len(splitData) > 4:
+ crayon = Crayon(splitData[0], crayonAudio, splitData[2], self.currentScreen.getBin(splitData[3]),
+ self.resourcesDir, self.soundsDir, int(splitData[4]), int(splitData[5]), int(splitData[6]))
+ else:
+ crayon = Crayon(splitData[0], crayonAudio, splitData[2], self.currentScreen.getBin(splitData[3]),
+ self.resourcesDir, self.soundsDir)
+ crayon.secondAudio = os.path.join(self.soundsDir, crayonSecondAudio)
+ self.currentScreen.crayons.append(crayon)
+ return self.screens
+
+class Bin:
+ def __init__(self, name, image, resourcesDir, x=-1000, y=-1000, layer=-1):
+ self.image = os.path.join(resourcesDir, image)
+ self.name = name
+ self.x = x
+ self.y = y
+ self.layer = layer
+
+class Crayon:
+ def __init__(self, image, audio, text, bin, resourceDir, soundsDir, x=-1000, y=-1000, layer=-1):
+ self.image = os.path.join(resourceDir,image)
+ self.audio = os.path.join(soundsDir,audio)
+ self.text = text.replace("*", " ")
+ self.bin = bin
+ self.x = x
+ self.y = y
+ self.layer = layer
+ self.secondAudio = self.audio
+
+class Screen:
+ def __init__(self):
+ self.bins = []
+ self.crayons = []
+ self.background = ""
+ self.backgroundX = 0
+ self.backgroundY = 0
+ self.backgroundLayer = 0
+ self.keepState = False
+
+ def getBin(self, name):
+ for bin in self.bins:
+ if bin.name == name:
+ return bin
+
+
+
diff --git a/SortHelp.py b/SortHelp.py
new file mode 100644
index 0000000..e7ea0f4
--- /dev/null
+++ b/SortHelp.py
@@ -0,0 +1,146 @@
+import Sort
+from eduGames import *
+import os
+
+class MouseAction:
+ def __init__(self, command):
+ self.type = command[0].upper()
+ if self.type == "MOVE":
+ x = int(command[1])
+ y = int(command[2])
+ self.params = (x,y)
+ elif self.type == "WAIT":
+ self.params = int(command[1])
+
+class MousePointer(ImageControl):
+
+ (WAITING, MOVING, MOUSE_BUTTON_DOWN, WAITINGMOVES) = (0,1,2,3)
+
+
+ def __init__(self, game, path):
+ mousePointerImagePath = os.path.split(path)[0]
+ mousePointerImagePath = os.path.join(mousePointerImagePath, "mousePointer.png")
+ x = game.getScreen().get_width()//2
+ y = game.getScreen().get_height()//2
+ ImageControl.__init__(self, game, x, y, mousePointerImagePath, "", 1)
+
+ def isClickable(self):
+ return False
+
+class DemoEvent:
+ def __init__(self, type, params):
+ self.type = type
+ self.params = params
+
+
+class DemoPlayer(Sort.Sort):
+
+ def __init__(self, screen, uiMgr, sndMgr, screenMgr, path):
+ Sort.Sort.__init__(self, screen, uiMgr, sndMgr, screenMgr, path)
+ self.mousePointer = MousePointer(self, path)
+ self.eventQueue = []
+ filepath = os.path.join(path, "demoscript.txt")
+ self.demoIsProcessing = False
+ self.actionsQueue = []
+ self.loadQueue(filepath)
+ self.currentAction = None
+ self.timer = 0
+
+ def loadQueue(self, filepath):
+ self.actionsQueue = []
+ file = open(filepath, "r")
+ text = file.readlines()
+ for line in text:
+ if line.strip() <> "":
+ command = line.split()
+ self.actionsQueue.append(MouseAction(command))
+
+ def showCurrentScreen(self):
+ Sort.Sort.showCurrentScreen(self)
+ self.getUiMgr().addControl(self.mousePointer)
+
+ def advanceQueue(self):
+ if not len(self.actionsQueue) == 0:
+ action = self.actionsQueue.pop(0)
+ if action.type == "MOVE":
+ target = action.params
+ self.mousePointer.startMovement(target, 7, LINEAR)
+ self.currentAction = action
+ self.eventQueue.append(DemoEvent("MOUSEMOTION", (self.mousePointer.getX(), self.mousePointer.getY())))
+ if action.type == "MOUSE_BUTTON_DOWN":
+ self.eventQueue.append(DemoEvent("MOUSE_BUTTON_DOWN", (self.mousePointer.getX(), self.mousePointer.getY())))
+ if action.type == "WAITMOVS":
+ self.currentAction = action
+ if action.type == "WAIT":
+ self.currentAction = action
+ self.timer = action.params
+ else:
+ self.finished = True
+
+ def updateState(self):
+ Sort.Sort.updateState(self)
+ if self.currentAction == None:
+ self.advanceQueue()
+ else:
+ mousePointerMoving = self.mousePointer.isMoving()
+ if mousePointerMoving:
+ self.eventQueue.append(DemoEvent("MOUSEMOTION", (self.mousePointer.getX(), self.mousePointer.getY())))
+ if self.currentAction.type == "WAIT":
+ self.timer = self.timer - 1
+ if self.timer == 0:
+ self.currentAction = None
+ elif self.currentAction.type == "MOVE":
+ if not mousePointerMoving:
+ self.currentAction = None
+ elif self.currentAction.type == "WAITMOVS":
+ if not self.somethingMoves():
+ self.currentAction = None
+ self.processEvents()
+
+
+ def somethingMoves(self):
+ for control in self.getUiMgr().controls:
+ if control.isMoving() and not control is self.mousePointer:
+ return True
+ return False
+
+ def on_mouse_button_up(self, clickedControl):
+ if self.demoIsProcessing:
+ Sort.Sort.on_mouse_button_up(self, clickedControl)
+
+ def on_mouse_button_down(self, clickedControl):
+ if self.demoIsProcessing:
+ Sort.Sort.on_mouse_button_down(self, clickedControl)
+
+ def on_mouse_hover(self, clickedControl):
+ #print clickedControl
+ if self.demoIsProcessing:
+ Sort.Sort.on_mouse_hover(self, clickedControl)
+
+
+ def processEvents(self):
+ self.demoIsProcessing = True
+ if self.getSoundMgr().thereAreSoundsPlayingSynchronously():
+ pygame.mouse.set_cursor(*pygame.cursors.diamond)
+ else:
+ if len(self.eventQueue) > 0:
+ event = self.eventQueue.pop(0)
+ control = self.getAffectedControl()
+ if event.type == "MOUSE_BUTTON_UP":
+ if not control is None:
+ self.on_mouse_button_up(control)
+ if event.type == "MOUSE_BUTTON_DOWN":
+ if not control is None:
+ self.on_mouse_button_down(control)
+ if event.type == "MOUSEMOTION":
+ if not control is None:
+ self.on_mouse_hover(control)
+ self.demoIsProcessing = False
+
+ def getAffectedControl(self):
+ xMouse = self.mousePointer.getX()
+ yMouse = self.mousePointer.getY()
+ for control in self.getUiMgr().controls:
+ if control.isClickable():
+ if control.collidesWithMousePosition(xMouse, yMouse):
+ return control
diff --git a/activity.py b/activity.py
new file mode 100644
index 0000000..e354280
--- /dev/null
+++ b/activity.py
@@ -0,0 +1,14 @@
+from olpcgames import activity
+import introPlayerXO
+from gettext import gettext as _
+
+class Activity(activity.PyGameActivity):
+ """Your Sugar activity"""
+
+ game_name = 'Games:main'
+ game_title = _('English for Fun')
+ game_size = None
+
+ def __init__(self, handle):
+ introPlayerXO.playIntro()
+ activity.PyGameActivity.__init__(self,handle)
diff --git a/activity/activity.info b/activity/activity.info
new file mode 100644
index 0000000..e92bbdd
--- /dev/null
+++ b/activity/activity.info
@@ -0,0 +1,7 @@
+[Activity]
+name = EnglishForFun
+activity_version = 1.1
+host_version = 1
+bundle_id = org.laptop.community.EnglishForFun
+icon = activity
+exec = sugar-activity activity.Activity -s
diff --git a/activity/activity.svg b/activity/activity.svg
new file mode 100644
index 0000000..271b625
--- /dev/null
+++ b/activity/activity.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY stroke_color "#666666">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg xmlns="http://www.w3.org/2000/svg" width="55" height="55">
+ <rect id="front_cent"
+ x="5"
+ y="25"
+ width="35"
+ height="25"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="lat_sup"
+ d="M 40,27 C 40,27 39,8 45,4 C 51,0 51,17 51,17 L 40,27 L 40,27 L 40,27 z"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="front_sup"
+ d="M 5,27 C 5,27 4.2448854,7.5306869 10.244885,3.5306872 C 24.706706,3.4859225 35.10302,3.5137054 46.877557,3.3877863 C 39.910166,3.5897234 39.716123,21.66666 39.998279,27 C 39.268038,27.003503 5,27 5,27 L 5,27 z"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="lat_inf"
+ d="M 40,27 L 40,50 L 51,39 L 51,17 L 40,27 zz"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="xo_1"
+ d="M 18,45 L 28,35"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linecap="round"
+ />
+ <path id="xo_2"
+ d="M 18,35 L 28,45"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linecap="round"
+ />
+ <path id="xo_3"
+ d="M 23,32 L 23,32"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="5"
+ stroke-linecap="round"
+ />
+</svg>
diff --git a/eduGames.py b/eduGames.py
new file mode 100644
index 0000000..cc54660
--- /dev/null
+++ b/eduGames.py
@@ -0,0 +1,1190 @@
+import pygame, sys, os
+from pygame.locals import *
+import pygame.font
+
+#MOVEMENT TYPES
+LINEAR = 0
+
+def readDataFile(dataFile):
+ dict = {}
+ file = open(dataFile, "r")
+ fileText = file.read()
+ lines = fileText.splitlines()
+ for line in lines:
+ if not line.startswith("#"):
+ key_value = line.split("=")
+ key = key_value[0].strip()
+ value = key_value[1].strip()
+ if not value.startswith("\""):
+ if value.startswith("("):
+ values = value[1:-1]
+ valuesArray = values.split(",")
+ val = []
+ for v in valuesArray:
+ val.append(int(v))
+ dict[key] = tuple(val)
+ else:
+ value = int(value)
+ dict[key] = value
+ else:
+ dict[key] = value[1:-1]
+ file.close()
+ return dict
+
+#Controls
+class Control(object):
+ def __init__(self, game, x = 0, y = 0, width = 0, height = 0, soundFilePath = 0, layer = 0):
+ self.__x = x
+ self.__y = y
+ self.__width = width
+ self.__height = height
+ self.soundFilePath = soundFilePath
+ self.type = "soundButton"
+ self.__layer = layer
+ self.game = game
+ self.__trajectoryGenerator = None
+ self.__oldX = x
+ self.__oldY = y
+ self.__oldWidth = width
+ self.__oldHeight = height
+ self.__visible = True
+ self.__isBeingDragged = False
+ self.isOrphan = True #Don't play with this property. Only uiMgr should use it.
+ self.__rect = Rect(self.__x, self.__y, self.__width, self.__height)
+ self.__oldRect = Rect(self.__x, self.__y, self.__width, self.__height)
+ self.name = ""
+ self.persistent = False #A persistent object can only be removed from the UIMgr by means of explicit removal
+ self.__fakeMouse = None #used for demos
+
+ #used in drag and drop
+ self.__deltaX = 0
+ self.__deltaY = 0
+ self.__clickable = True
+
+ def setDemoMode(self, fakeMouse):
+ self.__fakeMouse = fakeMouse
+
+ def setLayer(self, value):
+ self.__layer = value
+ if not self.isOrphan:
+ self.game.getUiMgr().removeControl(self)
+ self.game.getUiMgr().addControl(self)
+
+ def getLayer(self):
+ return self.__layer
+
+ def isClickable(self):
+ return self.__clickable
+
+ def setAsClickable(self):
+ self.__clickable = True
+
+ def setAsUnclickable(self):
+ self.__clickable = False
+
+ def collidesWithMousePosition(self, mouseX, mouseY):
+ return self.__rect.collidepoint(mouseX,mouseY)
+
+ def setX(self, newX):
+ self.__oldX = self.__x
+ self.__x = newX
+# self.__updateRect()
+ self.markChanges()
+
+ def setY(self, newY):
+ self.__oldY = self.__y
+ self.__y = newY
+ self.__updateRect()
+ self.markChanges()
+
+ def getX(self):
+ return self.__x
+
+ def getY(self):
+ return self.__y
+
+ def getWidth(self):
+ return self.__width
+
+ def getHeight(self):
+ return self.__height
+
+ def setWidth(self, newWidth): #use prudently
+ self.__oldWidth = self.__width
+ self.__width = newWidth
+ self.__updateRect()
+ self.markChanges()
+
+ def setHeight(self, newHeight): #use with care
+ self.__oldHeight = self.__height
+ self.__height = newHeight
+ self.__updateRect()
+ self.markChanges()
+
+ def __updateRect(self):
+ if self.__rect.x == self.__x and self.__rect.y == self.__y and self.__rect.width == self.__width and self.__rect.height == self.__height: return
+ self.__oldRect.x = self.__oldX
+ self.__oldRect.y = self.__oldY
+ self.__oldRect.width = self.__oldWidth
+ self.__oldRect.height = self.__oldHeight
+ self.__rect.x = self.__x
+ self.__rect.y = self.__y
+# self.__rect.width = self.__width
+ self.__rect.width = self.getWidth() #This must be so because of ImageControls.
+ self.__rect.height = self.getHeight()
+# self.__rect.height = self.__height
+
+ def getRect(self):
+ return Rect(self.__x, self.__y, self.__width, self.__height)
+# return self.__rect
+
+ def startMovement(self, destination, speed, type=LINEAR):
+ self.__trajectoryGenerator = linearTrajectory((self.__x, self.__y), destination, speed)
+
+ def move(self):
+ if not self.__trajectoryGenerator is None:
+ try:
+# (self.__oldX, self.__oldY) = (self.__x, self.__y)
+ (newX, newY) = self.__trajectoryGenerator.next()
+ self.setX(newX)
+ self.setY(newY)
+# self.game.addDirtyRectangle(self.getRect())
+ except StopIteration:
+ self.__trajectoryGenerator = None
+ finally:
+ self.markChanges()
+
+ def markChanges(self):
+ self.game.addDirtyRectangle(self.__oldRect)
+ self.game.addDirtyRectangle(self.__rect)
+ self.game.setScreenAsChanged()
+
+ def isMoving(self):
+ return not (self.__trajectoryGenerator is None)
+
+ def show(self, surface):
+ pass
+
+ def makeVisible(self):
+ if self.isOrphan or self.__visible: return #prevents exceptions.
+ self.game.getUiMgr().makeControlVisible(self)
+ self.__visible = True #WARNING
+
+ def makeInvisible(self):
+ if self.isOrphan or not self.__visible: return
+ self.game.getUiMgr().makeControlInvisible(self)
+ self.__visible = False #WARNING
+
+ def update(self):
+ '''This is called once after updateState. It commits updates to the state in a given main loop iteration'''
+ self.move()
+ self.__drag()
+
+ def __getMousePos(self):
+ if self.__fakeMouse is None:
+ return pygame.mouse.get_pos()
+ else:
+ return (self.__fakeMouse.getX(), self.__fakeMouse.getY())
+
+ def __drag(self):
+ if self.__isBeingDragged:
+# mouse_pos = pygame.mouse.get_pos()
+ mouse_pos = self.__getMousePos()
+ self.setX(mouse_pos[0] + self.__deltaX)
+ self.setY(mouse_pos[1] + self.__deltaY)
+
+ def drag(self):
+# mouse_pos = pygame.mouse.get_pos()
+ mouse_pos = self.__getMousePos()
+ self.__deltaX = self.getX() - mouse_pos[0]
+ self.__deltaY = self.getY() - mouse_pos[1]
+ self.__isBeingDragged = True
+
+ def drop(self):
+ self.__isBeingDragged = False
+
+ def isBeingDragged(self):
+ return self.__isBeingDragged == True
+
+ def isVisible(self):
+ return self.__visible == True
+
+class ImageControl(Control):
+
+ def __init__(self, game, x, y, imageFilePath, soundFilePath = "", imageDivisions = 1):
+ if imageDivisions == 1:
+ self.image = Image(imageFilePath)
+ self.imageType = "single"
+ else:
+ self.image = ImageStrip(imageFilePath, imageDivisions)
+ self.imageType = "strip"
+ Control.__init__(self, game, x, y, self.image.getWidth(),
+ self.image.getHeight(), soundFilePath)
+ self.__scalingGenerator = None
+ self.name = imageFilePath
+
+ def setAlpha(self, alpha):
+ self.image.setAlpha(alpha)
+ self.game.addDirtyRectangle(self.getRect())
+ self.game.setScreenAsChanged()
+
+ def show(self, surface):
+ myRect = self.getRect()
+ portion = self.game.getUnionOfIntersectionsWithDirtyRects(myRect)
+ if portion is None:
+ return
+ else:
+ x = portion.x
+ y = portion.y
+ portion.x = portion.x - myRect.x
+ portion.y = portion.y - myRect.y
+ self.image.show(surface, (x, y), portion)
+
+ def setImageDivisionIndex(self, index):
+ if self.imageType == "single":
+ raise "Not supported. The control holds a common image, not a strip."
+ else:
+ curDivInd = self.image.getDivisionIndex()
+ if curDivInd != index:
+ self.image.setDivisionIndex(index)
+ self.markChanges()
+
+ def getImageDivisionIndex(self):
+ if self.imageType == "single":
+ raise "Not supported. The control holds a common image, not a strip."
+ else:
+ return self.image.getDivisionIndex()
+
+ def increaseDivisionIndex(self, increment):
+ if self.imageType == "single":
+ raise "Not supported. The control holds a common image, not a strip."
+ else:
+ self.image.increaseDivisionIndex(increment)
+ self.game.addDirtyRectangle(self.getRect())
+ self.game.setScreenAsChanged()
+
+ def setColorKey(self, colorKey):
+ self.image.setColorKey(colorKey)
+ self.game.addDirtyRectangle(self.getRect())
+ self.game.setScreenAsChanged()
+
+ def startScaling(self, width, height, speed):
+ self.__scalingGenerator = linearTrajectory((self.getWidth(), self.getHeight()), (width, height), speed)
+
+ def update(self):
+ Control.update(self)
+ if not self.game.isPaused:
+ self.scale()
+
+ def isBeingScaled(self):
+ return not self.__scalingGenerator is None
+
+ def scale(self):
+ if not self.__scalingGenerator is None:
+ try:
+ oldRect = self.getRect()
+ (newWidth, newHeight) = self.__scalingGenerator.next()
+ self.image.scale((newWidth, newHeight))
+ self.setWidth(newWidth)
+ self.setHeight(newHeight)
+ self.game.addDirtyRectangle(oldRect)
+ except StopIteration:
+ self.__scalingGenerator = None
+ finally:
+ self.markChanges()
+
+class SingleColorControl(Control):
+ def __init__(self, game, x, y, width, height, color=0, layer = 0):
+ Control.__init__(self, game, x, y, width, height, "", layer)
+ #self.layer = layer
+ self.color = color
+
+ def setColor(self, color):
+ self.color = color
+
+# def show(self, surface):
+# myRect = self.getRect()
+# dirtyRect = self.game.getDirtyRect()
+# if dirtyRect.colliderect(myRect):
+# portion = myRect.clip(dirtyRect)
+# if portion.width == 0:
+# return
+# else:
+# surface.fill(self.color, portion)
+
+ def show(self, surface):
+ myRect = self.getRect()
+ portion = self.game.getUnionOfIntersectionsWithDirtyRects(myRect)
+ if portion is None:
+ return
+ else:
+ surface.fill(self.color, portion)
+
+class SingleColorControlWithBorder(SingleColorControl):
+ def __init__(self, game, x, y, width, height, color=0, layer=0):
+ SingleColorControl.__init__(self, game, x, y, width, height, color, layer)
+ self.__borderWidth = 1
+ self.__borderColor = (0,0,0)
+
+ def setBorderWidth(self, newWidth):
+ self.__borderWidth = newWidth
+
+ def setBorderColor(self, newColor):
+ self.__borderColor = newColor
+
+ def show(self, surface):
+ dirtyRect = self.game.getDirtyRect()
+ if dirtyRect.colliderect(self.getRect()):
+ SingleColorControl.show(self, surface)
+ pygame.draw.rect(surface, self.__borderColor, self.getRect(), self.__borderWidth)
+
+
+class Label(Control):
+
+ def __init__(self, game, x, y, width, height, font, text, layer = 0):
+ Control.__init__(self, game, x, y, width, height, "", layer)
+ self.font = font
+ self.text = text
+ self.color = (255,255,255, 255)
+ self.background = (0,0,0,0)
+
+ def acquireRenderedSize(self):
+ data = self.font.render(self.text, True, self.color)
+ dataWidth = data.get_width()
+ dataHeight = data.get_height()
+ if dataWidth > self.getWidth() or dataHeight > self.getHeight():
+ self.setWidth(data.get_width())
+ self.setHeight(data.get_height())
+
+ def show(self, surface):
+ if self.background is None:
+ data = self.font.render(self.text, True, self.color)
+ else:
+ data = self.font.render(self.text, True, self.color, self.background)
+ dataWidth = data.get_width()
+ dataHeight = data.get_height()
+ if dataWidth > self.getWidth() or dataHeight > self.getHeight():
+ self.setWidth(data.get_width())
+ self.setHeight(data.get_height())
+ dirtyRect = self.game.getDirtyRect()
+ if dirtyRect.colliderect(self.getRect()):
+ surface.blit(data, self.getRect())
+
+ def isClickable(self):
+ return False
+
+
+class UIManager(object):
+
+ def __init__(self, maxLayerLevel = 10):
+ self.controls = []
+ self.invisibleControls = []
+ self.maxLayerLevel = maxLayerLevel
+ self.controlsWithMaxLayerLevel = 0
+ self.draggingControl = None
+
+ #only to be modified at the beginning
+ self.controlsLeftMargin = 0
+ self.controlsTopMargin = 0
+
+ def dragControl(self, control):
+ #If a control is already dragging, that control must be released before calling this method.
+ #This method should be called inside the on_mouse_down handler.
+ if self.draggingControl is None:
+ self.draggingControl = control
+ control.drag()
+
+ def dropDraggingControl(self):
+ #This method should be called inside the on_mouse_button_up method.
+ if not self.draggingControl is None:
+ self.draggingControl.drop()
+ self.draggingControl = None
+
+ def shiftLayers(self, n):
+ for c in self.controls:
+ c.isOrphan = True
+ c.setLayer(c.getLayer() + n)
+ c.isOrphan = False
+ for c in self.invisibleControls:
+ c.isOrphan = True
+ c.setLayer(c.getLayer() + n)
+ c.isOrphan = False
+ if n > 0:
+ self.maxLayerLevel += n
+ elif n < 0:
+ self.maxLayerLevel -= n
+
+ def deleteGameControls(self, game):
+ self.invisibleControls = [c for c in self.invisibleControls if not c.game is game or c.persistent]
+ self.controls = [c for c in self.controls if not c.game is game or c.persistent]
+ screen = game.getScreen()
+ rect = Rect(0, 0, screen.get_width(), screen.get_height())
+ game.addDirtyRectangle(rect)
+
+ def addControl(self, control):
+ self.__addControlInternal(control)
+ if control.isOrphan:
+ control.setX(control.getX() + self.controlsLeftMargin)
+ control.setY(control.getY() + self.controlsTopMargin)
+ control.isOrphan = False
+
+ def __addControlInternal(self, control):
+ layer = control.getLayer()
+ if layer > self.maxLayerLevel:
+ self.maxLayerLevel = layer
+ if len(self.controls) == 0 or layer == self.maxLayerLevel:
+ self.controls.append(control)
+ else:
+ index = 0
+ added = False
+ for c in self.controls:
+ if c.getLayer() >= layer:
+ self.controls.insert(index, control)
+ added = True
+ break
+ index = index + 1
+ if not added:
+ self.controls.append(control)
+ control.game.addDirtyRectangle(control.getRect())
+ control.game.setScreenAsChanged()
+
+ def removeControl(self, control):
+ self.__removeControlInternal(control)
+ control.isOrphan = True #it is assumed that only one uiMgr is used in the game.
+ control.setX(control.getX() - self.controlsLeftMargin)
+ control.setY(control.getY() - self.controlsTopMargin)
+
+ def __removeControlInternal(self, control):
+ if control.isVisible():
+ self.controls.remove(control)
+ else:
+ self.invisibleControls.remove(control)
+ control.markChanges()
+# control.game.addDirtyRectangle(control.getRect())
+# control.game.setScreenAsChanged()
+
+ #More efficient
+ def getAffectedControl(self):
+ #print self.controls
+ xMouse = pygame.mouse.get_pos()[0]
+ yMouse = pygame.mouse.get_pos()[1]
+ for control in self.controls:
+ if control.isClickable():
+ if control.collidesWithMousePosition(xMouse, yMouse):
+ return control
+ def reset(self):
+ """Clears the screen of all controls. Warning: the background will be removed to. Better use Game.cleanScreen()"""
+ for control in self.controls:
+ control.game.addDirtyRectangle(control.getRect())
+ control.game.setScreenAsChanged()
+ self.controls = []
+ #TODO: take "persistent" into account (good for backgrounds, mouse pointers...)
+
+ def updateControls(self):
+ #Committs changes
+ for control in self.controls:
+ control.update()
+
+ def drawControls(self, screen):
+ for control in reversed(self.controls):
+ control.show(screen)
+
+ def removeControls(self, type):
+ for control in self.controls:
+ if control.type == type:
+ control.game.addDirtyRectangle(control.getRect())
+ control.game.setScreenAsChanged()
+# control.markChanges()
+ self.controls = [c for c in self.controls if c.type != type]
+
+ def makeControlInvisible(self, control):
+ self.__removeControlInternal(control)
+ self.invisibleControls.append(control)
+
+ def makeControlVisible(self, control):
+ self.invisibleControls.remove(control)
+ self.__addControlInternal(control)
+
+def linearTrajectory(start, stop, speed):
+ #speed: pixels per frame
+ currentX = int(round(start[0]))
+ currentY = int(round(start[1]))
+ targetX = int(round(stop[0]))
+ targetY = int(round(stop[1]))
+
+ distX = targetX - currentX
+ distY = targetY - currentY
+ dist = pow(pow(distX,2) + pow(distY,2),0.5)
+ steps = dist/speed
+ if steps != 0:
+ xIncrement = distX/steps
+ yIncrement = distY/steps
+ else:
+ currentX = targetX
+ currentY = targetY
+ yield (currentX, currentY)
+
+ while(currentX != targetX or currentY != targetY):
+ if abs(targetX - currentX) <= abs(xIncrement):
+ currentX = targetX
+ else:
+ currentX = round(currentX + xIncrement)
+
+ if abs(targetY - currentY) <= abs(yIncrement):
+ currentY = targetY
+ else:
+ currentY = round(currentY + yIncrement)
+
+ distX = targetX - currentX
+ distY = targetY - currentY
+ dist = pow(pow(distX,2) + pow(distY,2),0.5)
+ steps = dist/speed
+ if steps > 0:
+ xIncrement = distX/steps
+ yIncrement = distY/steps
+ yield (currentX, currentY)
+
+class ScreenMgr(object):
+ def __init__(self):
+ self.__screenChanged = True
+ self.dirtyRect = None
+ self.dirtyRectangles = []
+
+ def setScreenAsChanged(self):
+ self.__screenChanged = True
+
+ def screenHasChanged(self):
+ return self.__screenChanged
+
+ def addDirtyRectangle(self, rect):
+ if self.dirtyRect is None:
+ self.dirtyRect = rect
+ else:
+ self.dirtyRect = self.dirtyRect.union(rect)
+ self.dirtyRectangles.append(rect)
+
+ def updateScreen(self):
+ #pygame.display.update(self.dirtyRect)
+ pygame.display.update(self.dirtyRectangles)
+ self.dirtyRect = None
+ self.dirtyRectangles = []
+ self.__screenChanged = False
+
+class Game(object):
+
+ SETTINGS_FILE_NAME = "settings.txt"
+ RESOURCES_DIR_NAME = "resources"
+ DATA_FILE_PATH = "data.txt"
+
+ def __init__(self, screenSurface, uiMgr, soundMgr, screenMgr, path):
+ settingsFilePath = os.path.join(path, Game.SETTINGS_FILE_NAME)
+ self.resourcesDir = os.path.join(path, Game.RESOURCES_DIR_NAME)
+ #IN THE XO, THIS VALUE MUST BE CHANGED BY GAMES.TXT
+ self.dataFilePath = os.path.join(path, Game.DATA_FILE_PATH)
+ self.path = path
+ self.settings = {}
+ self.data = {}
+ self.readSettings(settingsFilePath)
+ self.__screen = screenSurface
+ self.__uiMgr = uiMgr
+ self.__soundMgr = soundMgr
+ self.__screenMgr = screenMgr
+ self.isPaused = False
+
+ def getUnionOfIntersectionsWithDirtyRects(self, rect):
+ dirtyRects = self.__screenMgr.dirtyRectangles
+ union = None
+ for dirtyRect in dirtyRects:
+ if rect.colliderect(dirtyRect):
+ intersection = rect.clip(dirtyRect)
+ if union is None:
+ union = intersection
+ else:
+ union = union.union(intersection)
+ return union
+
+ def readSettings(self, settingsFilePath):
+ self.settings = readDataFile(settingsFilePath)
+
+ def readDataFile(self, dataFile):
+ self.data = readDataFile(dataFile)
+
+ def getScreen(self):
+ return self.__screen
+
+ def setScreenAsChanged(self):
+ self.__screenMgr.setScreenAsChanged()
+
+ def screenHasChanged(self):
+ return self.__screenMgr.screenHasChanged()
+
+ def getScreen(self):
+ return self.__screen
+
+ def getUiMgr(self):
+ return self.__uiMgr
+
+ def getSoundMgr(self):
+ return self.__soundMgr
+
+ def getScreenMgr(self):
+ return self.__screenMgr
+
+ def executeMainLoopIteration(self):
+ self.updateState()
+# self.getUiMgr().updateControls() #This is part of updating the state.
+ self.__uiMgr.updateControls()
+ self.updateScreen()
+ self.playSounds()
+
+ def getDirtyRect(self):
+ return self.__screenMgr.dirtyRect
+
+ def playSounds(self):
+ self.getSoundMgr().playSoundsInQueue()
+
+ def updateState(self):
+ pass
+
+ def updateScreen(self):
+ if self.screenHasChanged():
+ self.__uiMgr.drawControls(self.__screen)
+ self.__screenMgr.updateScreen()
+
+ def initializeGameData(self):
+ pass
+
+ def processEvents(self):
+ #This doesn't distinguish what button has been pressed.
+ if self.getSoundMgr().thereAreSoundsPlayingSynchronously():
+ #pygame.mouse.set_cursor(*pygame.cursors.diamond)
+ pass
+ else:
+ #pygame.mouse.set_cursor(*pygame.cursors.arrow)
+ for event in pygame.event.get():
+ if event.type == QUIT:
+ pygame.quit()
+ sys.exit(0)
+ control = self.getUiMgr().getAffectedControl()
+ if event.type == MOUSEBUTTONUP:
+ if not control is None:
+ self.on_mouse_button_up(control)
+ if event.type == MOUSEBUTTONDOWN:
+ if not control is None:
+ self.on_mouse_button_down(control)
+ if event.type == MOUSEMOTION:
+ if not control is None:
+ self.on_mouse_hover(control)
+ if event.type == VIDEOEXPOSE or event.type == VIDEORESIZE:
+ self.addDirtyRectangle(Rect(0,0,self.getScreen().get_width(), self.getScreen().get_height()))
+
+ def on_quit(self):
+ pygame.quit()
+ sys.exit(0)
+
+ def on_mouse_button_down(self, clickedControl):
+ pass
+
+ def on_mouse_button_up(self, clickedControl):
+ pass
+
+ def on_mouse_hover(self, clickedControl):
+ pass
+
+ def addDirtyRectangle(self, rect):
+ self.__screenMgr.addDirtyRectangle(rect)
+
+ def saveAsDone(self):
+ self.data["finished"] = 1
+ self.saveData()
+
+ def isDone(self):
+ return self.data["done"] == True
+
+ def saveData(self):
+ try:
+ file = open(self.dataFilePath, "w")
+ text2Write = ""
+ for key in self.data.keys():
+ text2Write = text2Write + str(key) + " = " + str(self.data[key]) + "\r\n"
+ file.write(text2Write)
+ file.close()
+ except:
+ pass
+
+
+#Game class: the mother of all games.
+class StandaloneGame(Game):
+
+ def __init__(self, fps = 25, screenWidth = 640, screenHeight = 480, gameTitle = ""):
+ self.__screenWidth = screenWidth
+ self.__screenHeight = screenHeight
+ self.__gameTitle = gameTitle
+ screen = self.initPyGame()
+ Game.__init__(self, screen, UIManager(), SoundMgr(), ScreenMgr(), os.curdir)
+ self.fps = fps
+ self.__clock = pygame.time.Clock()
+
+ def initPyGame(self):
+ pygame.init()
+ if os.name == "nt":
+ self.__window = pygame.display.set_mode((self.__screenWidth, self.__screenHeight))
+ else:
+ self.__window = pygame.display.set_mode()
+ pygame.display.set_caption(self.__gameTitle)
+ return pygame.display.get_surface()
+
+ def execute(self):
+ self.initializeGameData()
+ while True:
+ ms = self.__clock.tick(self.fps)
+# ms = self.__clock.tick()
+ self.processEvents()
+ self.executeMainLoopIteration()
+# if ms > 0:
+# print "FPS:" + str(1000/ms)
+
+#Images
+
+class Image(object):
+
+ def __init__(self, path):
+ self.path = path
+ self.data = None
+ self.size = (0,0)
+ self.__scaled = False
+ self.__original = False
+ #self.__alpha = 255
+
+ def load(self):
+ if self.data is None:
+ self.data = pygame.image.load(self.path)
+ self.data.convert()
+ self.size = self.data.get_size()
+
+ def getWidth(self):
+ self.load()
+ return self.size[0]
+
+ def getHeight(self):
+ self.load()
+ return self.size[1]
+
+ def show(self, surface, position, portion = None):
+ self.load()
+ if portion is None:
+ surface.blit(self.data, position)
+ else:
+ surface.blit(self.data, position, portion)
+
+ def setColorKey(self, colorKey):
+ self.load()
+ self.data.set_colorkey(colorKey)
+
+ def setAlpha(self, alpha):
+ self.load()
+ self.data.set_alpha(alpha)
+
+ def scale(self, (width, height)):
+ #New versions of pygame may offer better alternatives, such as smooth scale
+ self.load()
+ if not self.__scaled:
+ self.__original = self.data
+ self.__scaled = True
+ if width == self.__original.get_size()[0] and height == self.__original.get_size()[1]:
+ surface = self.__original
+ else:
+ surface = pygame.transform.scale(self.__original, (int(round(width)), int(round(height))))
+ self.data = surface
+ self.size = (width, height)
+
+
+class ImageStrip(Image):
+
+ def __init__(self, path, numberOfDivisions):
+ Image.__init__(self, path)
+ self.__numberOfDivisions = numberOfDivisions
+ self.__divisionIndex = 0
+ self.__scaled = False
+ self.__original = None
+ #TODO: raise error if width/numberOfDivisions is not an integer
+
+ def getWidth(self):
+ totalWidth = Image.getWidth(self)
+ return totalWidth / self.__numberOfDivisions
+
+ def setDivisionIndex(self, divisionIndex):
+ self.__divisionIndex = divisionIndex
+ #TODO: raise exception if invalid index
+
+ def getDivisionIndex(self):
+ return self.__divisionIndex
+
+ def show(self, surface, position, portion = None):
+ self.load()
+ rectWidth = self.getWidth()
+ rectX = self.__divisionIndex * rectWidth
+ rectArea = Rect(rectX, 0, rectWidth, self.getHeight())
+ if not portion is None:
+ portion.x += rectArea.x
+ else:
+ portion = rectArea
+ try:
+# surface.blit(self.data, position, rectArea)
+ surface.blit(self.data, position, portion)
+ except pygame.error:
+ print position[0] + "," + position[1]
+
+ def showAndMoveNext(self, surface, position):
+ self.show(surface, position)
+ self.setDivisionIndex(self.__divisionIndex + 1)
+
+ def reset(self):
+ self.setDivisionIndex(0)
+
+ def next(self):
+ self.setDivisionIndex(self.__divisionIndex + 1)
+ #TODO: raise exception if EOF
+
+ #TODO: next() method; making this class being capable of functioning like a list, with iterators.
+
+ def increaseDivisionIndex(self, increment):
+ self.setDivisionIndex(self.__divisionIndex + increment)
+
+ def setColorKey(self, colorKey):
+ self.load()
+ self.data.set_colorkey(colorKey)
+
+ def getNumberOfDivisions(self):
+ return self.__numberOfDivisions
+
+ def scale(self, (width, height)):
+ #New versions of pygame may offer better alternatives, such as smooth scale
+ self.load()
+ width = self.__numberOfDivisions * width
+ if not self.__scaled:
+ self.__original = self.data
+ self.__scaled = True
+ if width == self.__original.get_size()[0] and height == self.__original.get_size()[1]:
+ surface = self.__original
+ else:
+ surface = pygame.transform.scale(self.__original, (int(round(width)), int(round(height))))
+ self.data = surface
+ self.size = (width, height)
+
+
+#Sound
+class SoundPlayback(object):
+
+ def __init__(self, sound, synchronous):
+ self.sound = sound
+ self.playSynchronously = synchronous
+ self.channel = None
+ self.playAlone = False
+
+ def play(self):
+ self.channel = self.sound.play()
+
+ def isPlaying(self):
+ return self.channel.get_busy()
+
+ def stop(self):
+ self.sound.stop()
+
+class SoundMgr(object):
+
+ def __init__(self):
+ self.loadedSounds = {}
+ self.soundsPlayingSynchronously = []
+ self.queue = []
+ self.currentlyPlaying = None #used only for sounds of the playAlone type
+ self.soundsPlayingThatMustBeStoppedInCaseAnotherOneArrives = []
+
+ def clearSounds(self):
+ self.loadedSounds = {}
+
+ def thereAreSoundsPlaying(self):
+ return pygame.mixer.get_busy()
+
+ def addSoundForPlayback(self, soundFilePath, synchronous = False, playAlone = False, stopIfAnotherComes = False):
+ self.stopSoundsThatMustBeStoppedInCaseAnotherOneArrives()
+ sound = self.getSound(soundFilePath)
+ soundPlayback = SoundPlayback(sound, synchronous)
+ soundPlayback.playAlone = playAlone
+ if stopIfAnotherComes:
+ self.soundsPlayingThatMustBeStoppedInCaseAnotherOneArrives.append(soundPlayback)
+ self.queue.append(soundPlayback)
+
+ def stopSoundsThatMustBeStoppedInCaseAnotherOneArrives(self):
+ for sound in self.soundsPlayingThatMustBeStoppedInCaseAnotherOneArrives:
+ sound.stop()
+ self.soundsPlayingThatMustBeStoppedInCaseAnotherOneArrives = []
+
+ def playSoundsInQueue(self):
+ if not self.currentlyPlaying is None:
+ if not self.currentlyPlaying.isPlaying():
+ self.currentlyPlaying = None
+ else:
+ return
+ while not len(self.queue) == 0:
+ soundPlayback = self.queue.pop(0)
+ if soundPlayback.playSynchronously:
+ self.soundsPlayingSynchronously.append(soundPlayback)
+ soundPlayback.play()
+ if soundPlayback.playAlone:
+ self.currentlyPlaying = soundPlayback
+ return
+
+ def playSoundImmediately(self, soundFilePath):
+ sound = self.getSound(soundFilePath)
+ soundPlayback = SoundPlayback(sound, False)
+ soundPlayback.play()
+
+ def thereAreSoundsPlayingSynchronously(self):
+ for soundPlayback in self.soundsPlayingSynchronously:
+ if soundPlayback.isPlaying():
+ return True
+ else:
+ self.soundsPlayingSynchronously.remove(soundPlayback)
+
+ def getSound(self, soundFilePath):
+ """If the sound corresponding to soundFilePath is not loaded, loads the sound and stores it in a dictionary.
+ Then returns it."""
+ if self.loadedSounds.has_key(soundFilePath):
+ return self.loadedSounds[soundFilePath]
+ else:
+ sound = self.loadSound(soundFilePath)
+ self.loadedSounds[soundFilePath] = sound
+ return sound
+
+ def loadSound(self, soundFilePath):
+ """Loads the sound info of a sound file into a Sound object, then returns the object.
+ If the pygame mixer isn't woking, returns a dummy sound which does nothing when played."""
+ if not pygame.mixer: return dummysound()
+ try:
+ sound = pygame.mixer.Sound(soundFilePath)
+ return sound
+ except pygame.error:
+ print 'Warning, unable to load,', soundFilePath
+ return dummysound()
+
+ def unloadSound(self, soundFilePath):
+ del self.loadedSounds[soundFilePath]
+
+class dummysound(object):
+ def play(self): pass
+
+class ColorFilterControl(Control):
+ def __init__(self, game, x, y, width, height, color, layer = 0, darknessFactor = 50):
+ Control.__init__(self, game, x, y, width, height, "", layer)
+ #self.layer = layer
+ self.filterSurface = pygame.Surface((width, height), 0, 32)
+ self.filterSurface.fill(color)
+ self.filterSurface.set_alpha(darknessFactor)
+ self.__on = False
+
+ def filterOn(self):
+ if not self.__on:
+ self.__on = True
+ self.markChanges()
+ return True
+ else:
+ return False
+
+ def filterOff(self):
+ if self.__on:
+ self.__on = False
+ self.markChanges()
+ return True
+ else:
+ return False
+
+ def show(self, surface):
+ if self.__on:
+ myRect = self.getRect()
+ portion = self.game.getUnionOfIntersectionsWithDirtyRects(myRect)
+ if portion is None:
+ return
+ else:
+ x = portion.x
+ y = portion.y
+ portion.x = portion.x - myRect.x
+ portion.y = portion.y - myRect.y
+ surface.blit(self.filterSurface, (x,y), portion)
+
+ def isClickable(self):
+ return False
+
+class HighlightedControl(ImageControl):
+ def __init__(self, game, x, y, imagePath, soundPath, divisions):
+ ImageControl.__init__(self, game, x, y, imagePath, soundPath, divisions)
+ self.color = (255,255,255)
+ self.filterIntensity = 100
+ self.filter = ColorFilterControl(game, x, y, self.getWidth(), self.getHeight(),
+ self.color, 0, self.filterIntensity)
+
+ def move(self):
+ Control.move(self)
+ self.filter.move()
+
+ def filterOn(self):
+ if self.filter.filterOn():
+ self.markChanges()
+
+ def filterOff(self):
+ if self.filter.filterOff():
+ self.markChanges()
+
+ def setX(self, newX):
+ Control.setX(self, newX)
+ self.filter.setX(newX)
+
+ def setY(self, newY):
+ Control.setY(self, newY)
+ self.filter.setY(newY)
+
+ def show(self, surface):
+ ImageControl.show(self, surface)
+ self.filter.show(surface)
+
+class AnimatedImageControl(ImageControl):
+
+ def __init__(self, game, x, y, imageFilePath, imageDivisions):
+ ImageControl.__init__(self, game, x, y, imageFilePath, "", imageDivisions)
+ self.__counter = 0
+ self.framesBetweenUpdates = 0
+ self.__frameCounter = 0
+ self.pingpong = False
+ self.__direction = 1
+
+ def isPlaying(self):
+ return self.__counter != 0
+
+ def playAnimation(self, repetitions):
+ if repetitions < 0: repetitions = -2
+ self.__counter = repetitions + 1
+
+ def stop(self):
+ self.pause()
+ self.setImageDivisionIndex(0)
+
+ def pause(self):
+ self.__counter = 0
+
+ def getNumberOfFrames(self):
+ return self.image.getNumberOfDivisions()
+
+ def update(self):
+ #TODO: correct main loop for child games
+ #This will jump if imageDivisions < 2
+ ImageControl.update(self)
+ if self.__frameCounter == 0:
+ if self.__counter > 0 or self.__counter == -1:
+ imageDivisionIndex = self.getImageDivisionIndex()
+ numberOfDivisions = self.getNumberOfFrames()
+ imageDivisionIndex = (imageDivisionIndex + self.__direction)%numberOfDivisions
+ self.setImageDivisionIndex(imageDivisionIndex)
+ if self.pingpong:
+ if imageDivisionIndex == 0 or imageDivisionIndex == (numberOfDivisions-1):
+ self.__direction = -self.__direction
+ if self.__counter > -1 and imageDivisionIndex == numberOfDivisions - 1: #not accurate in ping pong mode.
+ self.__counter = self.__counter - 1
+ self.__frameCounter = (self.__frameCounter + 1)% (self.framesBetweenUpdates+1)
+
+class MultipleFileAnimation(AnimatedImageControl):
+ def __init__(self, game, x, y, dirPath):
+ self.__index = 0
+ self.__framesCollection = os.listdir(dirPath)
+ if "Thumbs.db" in self.__framesCollection:
+ self.__framesCollection.remove("Thumbs.db")
+ self.__framesCollection.sort()
+ self.__dirPath = dirPath
+ firstFrame = os.path.join(dirPath, self.__framesCollection[0])
+ AnimatedImageControl.__init__(self, game, x, y, firstFrame, 1)
+
+ def getNumberOfFrames(self):
+ return len(self.__framesCollection)
+
+ def setImageDivisionIndex(self, index):
+ self.__index = index
+ self.image.path = os.path.join(self.__dirPath, self.__framesCollection[index])
+ self.image.data = None
+ self.image.load()
+ self.markChanges()
+
+ def getImageDivisionIndex(self):
+ return self.__index
+
+
+
+class ProgressBar(Control):
+ def __init__(self, game, x, y, width, height, layer=0):
+ Control.__init__(self, game, x, y, width, height, "", layer)
+ self.maxValue = 100.0
+ self.curValue = 0.0
+ self.borderColor = (0,0,0)
+# self.emptyColor = (127,127,127)
+ self.filledColor = (255,255,255)
+ self.borderWidth = 1
+
+ def setCurValue(self, value):
+ self.curValue = 0.0 + value
+ self.markChanges()
+
+ def show(self, surface):
+ fraction = self.curValue/self.maxValue
+ availableWidth = self.getWidth() - 2*self.borderWidth
+ fillWidth = round(fraction * availableWidth)
+# surface.fill(self.emptyColor, Rect(self.getX(), self.getY(), self.getWidth(), self.getHeight()))
+ fillRect = Rect(self.getX() + self.borderWidth, self.getY(), fillWidth, self.getHeight())
+ surface.fill(self.filledColor, fillRect)
+ pygame.draw.rect(surface, self.borderColor, self.getRect(), self.borderWidth)
+
+class GrowsAndShrinksAnimatedControl(ImageControl):
+
+ (RESTING, GROWING, SHRINKING) = (0,1,2)
+
+ def __init__(self, game, x, y, imageFilePath, soundFilePath, imageDivisions):
+ ImageControl.__init__(self, game, x, y, imageFilePath, soundFilePath, imageDivisions)
+ self.state = GrowsAndShrinksAnimatedControl.RESTING
+ self.__originalWidth = self.getWidth()
+ self.__originalHeight = self.getHeight()
+ self.loop = False
+ self.delay = 0
+
+ def playAnimation(self):
+ self.loop = True
+ if not self.isBeingScaled():
+ self.state = GrowsAndShrinksAnimatedControl.GROWING
+ self.startScaling(1.1*self.getWidth(), 1.1*self.getHeight(), 2)
+
+ def update(self):
+ if self.game.isPaused:
+ return
+ if self.delay > 0:
+ self.delay = self.delay - 1
+ return
+ ImageControl.update(self)
+ if self.state == GrowsAndShrinksAnimatedControl.GROWING:
+ if not self.isBeingScaled():
+ self.startScaling(self.__originalWidth, self.__originalHeight, 2)
+ self.state = GrowsAndShrinksAnimatedControl.SHRINKING
+ elif self.state == GrowsAndShrinksAnimatedControl.SHRINKING:
+ if not self.isBeingScaled():
+ self.state = GrowsAndShrinksAnimatedControl.RESTING
+ elif self.state == GrowsAndShrinksAnimatedControl.RESTING:
+ if self.loop:
+ self.playAnimation()
+
+ def stopAnimation(self):
+ self.loop = False
+
+
+
+
+
+
+
+
+
+
diff --git a/introPlayerWin.py b/introPlayerWin.py
new file mode 100644
index 0000000..12ba480
--- /dev/null
+++ b/introPlayerWin.py
@@ -0,0 +1,60 @@
+import pyglet
+import os
+
+class Player2(pyglet.media.Player):
+ def __init__(self):
+ pass
+ pyglet.media.Player.__init__(self)
+ self.window = None
+
+ def dispatch_events(self, dt=None):
+ try:
+ pyglet.media.Player.dispatch_events(self, dt)
+ except:
+ if not self.window is None:
+ self.window.close()
+
+ def stop(self):
+ pyglet.media.Player.pause(self)
+ self.window.close()
+
+path = os.path.join("Resources", "intro.avi")
+source = pyglet.media.load(path)
+format = source.video_format
+if not format:
+ print 'Not a valid video file'
+ sys.exit(1)
+
+player = Player2()
+
+window = pyglet.window.Window(width=format.width, height=format.height)
+player.window = window
+
+@window.event
+def on_draw():
+ texture = player.get_texture()
+ if not texture is None:
+ texture.blit(0, 0)
+
+@window.event
+def on_close():
+ player.stop()
+
+@player.event
+def on_eos():
+ window.close()
+ return
+
+@window.event
+def on_key_press(symbol, modifiers):
+ player.stop()
+ window.close()
+ return
+
+def playIntro():
+ player.queue(source)
+ player.play()
+ pyglet.app.run()
+
+
+
diff --git a/introPlayerXO.py b/introPlayerXO.py
new file mode 100644
index 0000000..5a2e28e
--- /dev/null
+++ b/introPlayerXO.py
@@ -0,0 +1,108 @@
+import sys, os
+import pygtk, gtk, gobject
+import pygst
+pygst.require("0.10")
+import gst
+
+def playIntro():
+ GTK_Main()
+ gtk.gdk.threads_init()
+ gtk.main()
+
+class GTK_Main:
+
+ def __init__(self):
+
+ self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
+
+ self.window.set_default_size(1200, 900)
+
+ self.window.show_all()
+ self.window.fullscreen()
+ self.window.realize()
+
+ self.window.connect("destroy", gtk.main_quit, "WM destroy")
+ self.window.connect("key_press_event", self.OnKeyPress)
+ self.window.connect("event_after", self.OnEventAfter)
+
+ self.player = gst.Pipeline("player")
+ source = gst.element_factory_make("filesrc", "file-source")
+ demuxer = gst.element_factory_make("oggdemux", "demuxer")
+ demuxer.connect("pad-added", self.demuxer_callback)
+ self.video_decoder = gst.element_factory_make("theoradec", "video-decoder")
+ self.audio_decoder = gst.element_factory_make("vorbisdec", "audio-decoder")
+ audioconv = gst.element_factory_make("audioconvert", "converter")
+ audiosink = gst.element_factory_make("autoaudiosink", "audio-output")
+ videosink = gst.element_factory_make("autovideosink", "video-output")
+ self.queuea = gst.element_factory_make("queue", "queuea")
+ self.queuev = gst.element_factory_make("queue", "queuev")
+ colorspace = gst.element_factory_make("ffmpegcolorspace", "colorspace")
+
+ self.player.add(source, demuxer, self.video_decoder, self.audio_decoder, audioconv,
+ audiosink, videosink, self.queuea, self.queuev, colorspace)
+ gst.element_link_many(source, demuxer)
+
+ gst.element_link_many(self.queuev, self.video_decoder, colorspace, videosink)
+ gst.element_link_many(self.queuea, self.audio_decoder, audioconv, audiosink)
+
+ bus = self.player.get_bus()
+ bus.add_signal_watch()
+ bus.enable_sync_message_emission()
+ bus.connect("message", self.on_message)
+ bus.connect("sync-message::element", self.on_sync_message)
+
+ def play(self):
+ #filepath = "/home/olpc/gstests/auvid.ogv"
+ curdir = os.path.abspath(os.path.curdir)
+ filepath = os.path.join(curdir, "resources")
+ filepath = os.path.join(filepath, "intro.ogv")
+ if os.path.isfile(filepath):
+ self.player.get_by_name("file-source").set_property("location", filepath)
+ self.player.set_state(gst.STATE_PLAYING)
+
+
+ def stop(self):
+ self.player.set_state(gst.STATE_NULL)
+ #gtk.main_quit()
+ self.window.destroy()
+ def on_stop(self, w):
+ self.stop()
+
+ def on_message(self, bus, message):
+ t = message.type
+ if t == gst.MESSAGE_EOS:
+ self.stop()
+ elif t == gst.MESSAGE_ERROR:
+ err, debug = message.parse_error()
+ print "Error: %s" % err, debug
+ self.stop()
+
+ def on_sync_message(self, bus, message):
+ if message.structure is None:
+ return
+ message_name = message.structure.get_name()
+ if message_name == "prepare-xwindow-id":
+ imagesink = message.src
+ imagesink.set_property("force-aspect-ratio", True)
+ imagesink.set_xwindow_id(self.window.window.xid)
+
+ def demuxer_callback(self, demuxer, pad):
+ caps = pad.get_caps()
+
+ if str(caps) == "video/x-theora":
+ qv_pad = self.queuev.get_pad("sink")
+ pad.link(qv_pad)
+ elif str(caps) == "audio/x-vorbis":
+ qa_pad = self.queuea.get_pad("sink")
+ pad.link(qa_pad)
+
+ def OnEventAfter(self, widget, event):
+ if event.type.value_name == "GDK_FOCUS_CHANGE":
+ self.play()
+
+ def OnKeyPress(self, widget, event):
+ self.stop()
+
+
+
+
diff --git a/manifest b/manifest
new file mode 100644
index 0000000..5bc6677
--- /dev/null
+++ b/manifest
@@ -0,0 +1,2390 @@
+activity.py
+eduGames.py
+GamesHelpers.py
+setup.py
+ColorPaint.py
+DragnDrop.py
+Match.py
+introPlayerWin.py
+Games.py
+MultipleChoice.py
+run.py
+Sort.py
+introPlayerXO.py
+Concentrate.py
+Paint.py
+Help.py
+SortHelp.py
+settings.txt
+NEWS
+activity/activity.svg
+activity/activity.info
+olpcgames/svgsprite.py
+olpcgames/activity.py
+olpcgames/camera.py
+olpcgames/util.py
+olpcgames/eventwrap.py
+olpcgames/pangofont.py
+olpcgames/_gtkmain.py
+olpcgames/__init__.py
+olpcgames/textsprite.py
+olpcgames/buildmanifest.py
+olpcgames/canvas.py
+olpcgames/gtkEvent.py
+olpcgames/_version.py
+olpcgames/mesh.py
+olpcgames/pausescreen.py
+olpcgames/_cairoimage.py
+olpcgames/video.py
+olpcgames/dbusproxy.py
+olpcgames/data/sleeping_svg.py
+olpcgames/data/__init__.py
+Activities/Level3/menu_fdo_act.png
+Activities/Level3/ico.png
+Activities/Level3/btn_unit.png
+Activities/Level3/ico_grande.png
+Activities/Level3/2Sports/ico.png
+Activities/Level3/2Sports/unitMarker.png
+Activities/Level3/2Sports/btn_act.bmp
+Activities/Level3/2Sports/btn_act.png
+Activities/Level3/2Sports/sounds/bing.ogg
+Activities/Level3/2Sports/sounds/footballblue.ogg
+Activities/Level3/2Sports/sounds/Twinkle.ogg
+Activities/Level3/2Sports/sounds/hebikes.ogg
+Activities/Level3/2Sports/sounds/heswims.ogg
+Activities/Level3/2Sports/sounds/Q-hehikes.ogg
+Activities/Level3/2Sports/sounds/Q-sheplaysfootball.ogg
+Activities/Level3/2Sports/sounds/tennis.ogg
+Activities/Level3/2Sports/sounds/heplaysbaseball.ogg
+Activities/Level3/2Sports/sounds/shebikes.ogg
+Activities/Level3/2Sports/sounds/sheswims.ogg
+Activities/Level3/2Sports/sounds/Q-sheplaysbasketball.ogg
+Activities/Level3/2Sports/sounds/chord.ogg
+Activities/Level3/2Sports/sounds/biking.ogg
+Activities/Level3/2Sports/sounds/basketballorange.ogg
+Activities/Level3/2Sports/sounds/heplaysfootball.ogg
+Activities/Level3/2Sports/sounds/baseballyellow.ogg
+Activities/Level3/2Sports/sounds/Q-sheplaystennis.ogg
+Activities/Level3/2Sports/sounds/sheplaysvolleyball.ogg
+Activities/Level3/2Sports/sounds/volleyball.ogg
+Activities/Level3/2Sports/sounds/unitSound.ogg
+Activities/Level3/2Sports/sounds/Q-hebikes.ogg
+Activities/Level3/2Sports/sounds/Q-shehikes.ogg
+Activities/Level3/2Sports/sounds/Q-heplaysvolleyball.ogg
+Activities/Level3/2Sports/sounds/Q-heswims.ogg
+Activities/Level3/2Sports/sounds/sheplaysbaseball.ogg
+Activities/Level3/2Sports/sounds/sheridesabike.ogg
+Activities/Level3/2Sports/sounds/Q-heplaystennis.ogg
+Activities/Level3/2Sports/sounds/swimred.ogg
+Activities/Level3/2Sports/sounds/sheplaysfootball.ogg
+Activities/Level3/2Sports/sounds/tenniswhite.ogg
+Activities/Level3/2Sports/sounds/ding.ogg
+Activities/Level3/2Sports/sounds/sheplaysbasketball.ogg
+Activities/Level3/2Sports/sounds/basketball.ogg
+Activities/Level3/2Sports/sounds/Q-heplaysbasketball.ogg
+Activities/Level3/2Sports/sounds/Q-shebikes.ogg
+Activities/Level3/2Sports/sounds/Q-sheswims.ogg
+Activities/Level3/2Sports/sounds/heplaysvolleyball.ogg
+Activities/Level3/2Sports/sounds/Q-heplaysbaseball.ogg
+Activities/Level3/2Sports/sounds/baseball.ogg
+Activities/Level3/2Sports/sounds/hehikes.ogg
+Activities/Level3/2Sports/sounds/hikegreen.ogg
+Activities/Level3/2Sports/sounds/swimming.ogg
+Activities/Level3/2Sports/sounds/shehikes.ogg
+Activities/Level3/2Sports/sounds/bike_f.ogg
+Activities/Level3/2Sports/sounds/volleyballpurple.ogg
+Activities/Level3/2Sports/sounds/bike_m.ogg
+Activities/Level3/2Sports/sounds/football.ogg
+Activities/Level3/2Sports/sounds/Q-sheplaysvolleyball.ogg
+Activities/Level3/2Sports/sounds/Q-sheplaysbaseball.ogg
+Activities/Level3/2Sports/sounds/heplaystennis.ogg
+Activities/Level3/2Sports/sounds/heplaysbasketball.ogg
+Activities/Level3/2Sports/sounds/hiking.ogg
+Activities/Level3/2Sports/sounds/bikeblack.ogg
+Activities/Level3/2Sports/6Concentrate/data.txt
+Activities/Level3/2Sports/6Concentrate/ico.png
+Activities/Level3/2Sports/6Concentrate/screen.txt
+Activities/Level3/2Sports/6Concentrate/settings.txt
+Activities/Level3/2Sports/6Concentrate/resources/_BackFace.png
+Activities/Level3/2Sports/6Concentrate/resources/tennis1.png
+Activities/Level3/2Sports/6Concentrate/resources/tennis2.png
+Activities/Level3/2Sports/6Concentrate/resources/conc_10_mono.jpg
+Activities/Level3/2Sports/6Concentrate/resources/conc_10_color.jpg
+Activities/Level3/2Sports/6Concentrate/resources/biking1.png
+Activities/Level3/2Sports/6Concentrate/resources/biking2.png
+Activities/Level3/2Sports/6Concentrate/resources/football1.png
+Activities/Level3/2Sports/6Concentrate/resources/football2.png
+Activities/Level3/2Sports/6Concentrate/resources/swim1.png
+Activities/Level3/2Sports/6Concentrate/resources/swim2.png
+Activities/Level3/2Sports/6Concentrate/resources/hiking1.png
+Activities/Level3/2Sports/6Concentrate/resources/hiking2.png
+Activities/Level3/2Sports/6Concentrate/resources/basketball1.png
+Activities/Level3/2Sports/6Concentrate/resources/basketball2.png
+Activities/Level3/2Sports/6Concentrate/resources/volleyball1.png
+Activities/Level3/2Sports/6Concentrate/resources/volleyball2.png
+Activities/Level3/2Sports/6Concentrate/resources/baseball1.png
+Activities/Level3/2Sports/6Concentrate/resources/baseball2.png
+Activities/Level3/2Sports/9MultipleC/data.txt
+Activities/Level3/2Sports/9MultipleC/screens.txt
+Activities/Level3/2Sports/9MultipleC/ico.png
+Activities/Level3/2Sports/9MultipleC/settings.txt
+Activities/Level3/2Sports/9MultipleC/resources/girlbaseball.png
+Activities/Level3/2Sports/9MultipleC/resources/girlfootball.png
+Activities/Level3/2Sports/9MultipleC/resources/boytennis.png
+Activities/Level3/2Sports/9MultipleC/resources/boybasketball.png
+Activities/Level3/2Sports/9MultipleC/resources/girlswim.png
+Activities/Level3/2Sports/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/2Sports/9MultipleC/resources/girlvolleyball.png
+Activities/Level3/2Sports/9MultipleC/resources/cara_triste_anim.png
+Activities/Level3/2Sports/9MultipleC/resources/boyhike.png
+Activities/Level3/2Sports/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/2Sports/9MultipleC/resources/boybike.png
+Activities/Level3/2Sports/8Match/data.txt
+Activities/Level3/2Sports/8Match/screens.txt
+Activities/Level3/2Sports/8Match/ico.png
+Activities/Level3/2Sports/8Match/settings.txt
+Activities/Level3/2Sports/8Match/resources/boybaseball.png
+Activities/Level3/2Sports/8Match/resources/boyswimming.png
+Activities/Level3/2Sports/8Match/resources/boytennis.png
+Activities/Level3/2Sports/8Match/resources/tennisTXT.png
+Activities/Level3/2Sports/8Match/resources/volleyballTXT.png
+Activities/Level3/2Sports/8Match/resources/swimmingTXT.png
+Activities/Level3/2Sports/8Match/resources/girlbiking.png
+Activities/Level3/2Sports/8Match/resources/girlvolleyball.png
+Activities/Level3/2Sports/8Match/resources/baseballTXT.png
+Activities/Level3/2Sports/8Match/resources/bikingTXT.png
+Activities/Level3/2Sports/4Paint/data.txt
+Activities/Level3/2Sports/4Paint/screens.txt
+Activities/Level3/2Sports/4Paint/ico.png
+Activities/Level3/2Sports/4Paint/settings.txt
+Activities/Level3/2Sports/4Paint/resources/tennis.png
+Activities/Level3/2Sports/4Paint/resources/volleyball.png
+Activities/Level3/2Sports/4Paint/resources/swim.png
+Activities/Level3/2Sports/4Paint/resources/basketball.png
+Activities/Level3/2Sports/4Paint/resources/baseball.png
+Activities/Level3/2Sports/4Paint/resources/hike.png
+Activities/Level3/2Sports/4Paint/resources/football.png
+Activities/Level3/2Sports/4Paint/resources/bike.png
+Activities/Level3/2Sports/3Match/data.txt
+Activities/Level3/2Sports/3Match/screens.txt
+Activities/Level3/2Sports/3Match/ico.png
+Activities/Level3/2Sports/3Match/settings.txt
+Activities/Level3/2Sports/3Match/resources/swimmingTXT.png
+Activities/Level3/2Sports/3Match/resources/hikingTXT.png
+Activities/Level3/2Sports/3Match/resources/swim.png
+Activities/Level3/2Sports/3Match/resources/basketball.png
+Activities/Level3/2Sports/3Match/resources/ride.png
+Activities/Level3/2Sports/3Match/resources/hike.png
+Activities/Level3/2Sports/3Match/resources/bikingTXT.png
+Activities/Level3/2Sports/3Match/resources/basketballTXT.png
+Activities/Level3/2Sports/3Match/resources/football.png
+Activities/Level3/2Sports/3Match/resources/footballTXT.png
+Activities/Level3/2Sports/5MultipleC/data.txt
+Activities/Level3/2Sports/5MultipleC/screens.txt
+Activities/Level3/2Sports/5MultipleC/ico.png
+Activities/Level3/2Sports/5MultipleC/settings.txt
+Activities/Level3/2Sports/5MultipleC/resources/girlbaseball.png
+Activities/Level3/2Sports/5MultipleC/resources/boyhiking.png
+Activities/Level3/2Sports/5MultipleC/resources/boyswimming.png
+Activities/Level3/2Sports/5MultipleC/resources/boytennis.png
+Activities/Level3/2Sports/5MultipleC/resources/girlhiking.png
+Activities/Level3/2Sports/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/2Sports/5MultipleC/resources/girlvolleyball.png
+Activities/Level3/2Sports/5MultipleC/resources/cara_triste_anim.png
+Activities/Level3/2Sports/5MultipleC/resources/boyswimming2.png
+Activities/Level3/2Sports/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/2Sports/5MultipleC/resources/girlbasketball.png
+Activities/Level3/2Sports/7DragnDrop/data.txt
+Activities/Level3/2Sports/7DragnDrop/screens.txt
+Activities/Level3/2Sports/7DragnDrop/ico.png
+Activities/Level3/2Sports/7DragnDrop/settings.txt
+Activities/Level3/2Sports/7DragnDrop/resources/boyhiking.png
+Activities/Level3/2Sports/7DragnDrop/resources/boyswimming.png
+Activities/Level3/2Sports/7DragnDrop/resources/boybiking.png
+Activities/Level3/2Sports/7DragnDrop/resources/girlvolleyball.png
+Activities/Level3/2Sports/7DragnDrop/resources/icono_play.png
+Activities/Level3/2Sports/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/2Sports/7DragnDrop/resources/girlbasketball.png
+Activities/Level3/2Sports/2Sort/data.txt
+Activities/Level3/2Sports/2Sort/screens.txt
+Activities/Level3/2Sports/2Sort/ico.png
+Activities/Level3/2Sports/2Sort/settings.txt
+Activities/Level3/2Sports/2Sort/resources/tennisSIL.png
+Activities/Level3/2Sports/2Sort/resources/tennis.png
+Activities/Level3/2Sports/2Sort/resources/bikeSIL.png
+Activities/Level3/2Sports/2Sort/resources/volleyballSIL.png
+Activities/Level3/2Sports/2Sort/resources/volleyball.png
+Activities/Level3/2Sports/2Sort/resources/hikeSIL.png
+Activities/Level3/2Sports/2Sort/resources/hike.png
+Activities/Level3/2Sports/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/2Sports/2Sort/resources/bike.png
+Activities/Level3/2Sports/1Sort/data.txt
+Activities/Level3/2Sports/1Sort/screens.txt
+Activities/Level3/2Sports/1Sort/ico.png
+Activities/Level3/2Sports/1Sort/settings.txt
+Activities/Level3/2Sports/1Sort/resources/swimSIL.png
+Activities/Level3/2Sports/1Sort/resources/baseballSIL.png
+Activities/Level3/2Sports/1Sort/resources/swim.png
+Activities/Level3/2Sports/1Sort/resources/basketball.png
+Activities/Level3/2Sports/1Sort/resources/basketballSIL.png
+Activities/Level3/2Sports/1Sort/resources/baseball.png
+Activities/Level3/2Sports/1Sort/resources/footballSIL.png
+Activities/Level3/2Sports/1Sort/resources/football.png
+Activities/Level3/2Sports/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/3Family/ico.png
+Activities/Level3/3Family/unitMarker.png
+Activities/Level3/3Family/btn_act.bmp
+Activities/Level3/3Family/btn_act.png
+Activities/Level3/3Family/sounds/grandmotherpurple.ogg
+Activities/Level3/3Family/sounds/bing.ogg
+Activities/Level3/3Family/sounds/Twinkle.ogg
+Activities/Level3/3Family/sounds/rosayellow.ogg
+Activities/Level3/3Family/sounds/sister.ogg
+Activities/Level3/3Family/sounds/whoisthis_M.ogg
+Activities/Level3/3Family/sounds/Q-thisismysister.ogg
+Activities/Level3/3Family/sounds/Q-mynameisrosa.ogg
+Activities/Level3/3Family/sounds/thisismygrandfather.ogg
+Activities/Level3/3Family/sounds/whoareyou_F.ogg
+Activities/Level3/3Family/sounds/chord.ogg
+Activities/Level3/3Family/sounds/mynameispablo.ogg
+Activities/Level3/3Family/sounds/Q-thisismygrandfather.ogg
+Activities/Level3/3Family/sounds/sisterorange.ogg
+Activities/Level3/3Family/sounds/grandmother.ogg
+Activities/Level3/3Family/sounds/thisismymother.ogg
+Activities/Level3/3Family/sounds/rosa.ogg
+Activities/Level3/3Family/sounds/whoareyou.ogg
+Activities/Level3/3Family/sounds/pablo.ogg
+Activities/Level3/3Family/sounds/unitSound.ogg
+Activities/Level3/3Family/sounds/grandfatherwhite.ogg
+Activities/Level3/3Family/sounds/fathergreen.ogg
+Activities/Level3/3Family/sounds/thisismysister.ogg
+Activities/Level3/3Family/sounds/mynameisrosa.ogg
+Activities/Level3/3Family/sounds/Q-thisismybrother.ogg
+Activities/Level3/3Family/sounds/thisismygrandmother.ogg
+Activities/Level3/3Family/sounds/thisismyfather_f.ogg
+Activities/Level3/3Family/sounds/father.ogg
+Activities/Level3/3Family/sounds/Q-thisismygrandmother.ogg
+Activities/Level3/3Family/sounds/ding.ogg
+Activities/Level3/3Family/sounds/Q-thisismyfather.ogg
+Activities/Level3/3Family/sounds/pablored.ogg
+Activities/Level3/3Family/sounds/motherblue.ogg
+Activities/Level3/3Family/sounds/Q-mynameispablo.ogg
+Activities/Level3/3Family/sounds/brother.ogg
+Activities/Level3/3Family/sounds/whoisthis.ogg
+Activities/Level3/3Family/sounds/thisismybrother.ogg
+Activities/Level3/3Family/sounds/mother.ogg
+Activities/Level3/3Family/sounds/grandfather.ogg
+Activities/Level3/3Family/sounds/thisismyfather.ogg
+Activities/Level3/3Family/sounds/brotherblack.ogg
+Activities/Level3/3Family/sounds/thisismybrother_m.ogg
+Activities/Level3/3Family/sounds/Q-thisismymother.ogg
+Activities/Level3/3Family/6Concentrate/data.txt
+Activities/Level3/3Family/6Concentrate/ico.png
+Activities/Level3/3Family/6Concentrate/screen.txt
+Activities/Level3/3Family/6Concentrate/settings.txt
+Activities/Level3/3Family/6Concentrate/resources/sister.png
+Activities/Level3/3Family/6Concentrate/resources/_BackFace.png
+Activities/Level3/3Family/6Concentrate/resources/grandmother.png
+Activities/Level3/3Family/6Concentrate/resources/conc_11_color.jpg
+Activities/Level3/3Family/6Concentrate/resources/rosa.png
+Activities/Level3/3Family/6Concentrate/resources/pablo.png
+Activities/Level3/3Family/6Concentrate/resources/father.png
+Activities/Level3/3Family/6Concentrate/resources/brother.png
+Activities/Level3/3Family/6Concentrate/resources/conc_11_mono.jpg
+Activities/Level3/3Family/6Concentrate/resources/mother.png
+Activities/Level3/3Family/6Concentrate/resources/grandfather.png
+Activities/Level3/3Family/9MultipleC/data.txt
+Activities/Level3/3Family/9MultipleC/screens.txt
+Activities/Level3/3Family/9MultipleC/ico.png
+Activities/Level3/3Family/9MultipleC/settings.txt
+Activities/Level3/3Family/9MultipleC/resources/sister.png
+Activities/Level3/3Family/9MultipleC/resources/rosa.png
+Activities/Level3/3Family/9MultipleC/resources/pablo.png
+Activities/Level3/3Family/9MultipleC/resources/father.png
+Activities/Level3/3Family/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/3Family/9MultipleC/resources/cara_triste_anim.png
+Activities/Level3/3Family/9MultipleC/resources/brother.png
+Activities/Level3/3Family/9MultipleC/resources/mother.png
+Activities/Level3/3Family/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/3Family/8Match/data.txt
+Activities/Level3/3Family/8Match/screens.txt
+Activities/Level3/3Family/8Match/ico.png
+Activities/Level3/3Family/8Match/settings.txt
+Activities/Level3/3Family/8Match/resources/sister.png
+Activities/Level3/3Family/8Match/resources/grandmother.png
+Activities/Level3/3Family/8Match/resources/fatherTXT.png
+Activities/Level3/3Family/8Match/resources/pablo.png
+Activities/Level3/3Family/8Match/resources/pabloTXT.png
+Activities/Level3/3Family/8Match/resources/father.png
+Activities/Level3/3Family/8Match/resources/grandmotherTXT.png
+Activities/Level3/3Family/8Match/resources/mother.png
+Activities/Level3/3Family/8Match/resources/motherTXT.png
+Activities/Level3/3Family/8Match/resources/sisterTXT.png
+Activities/Level3/3Family/4Paint/data.txt
+Activities/Level3/3Family/4Paint/screens.txt
+Activities/Level3/3Family/4Paint/ico.png
+Activities/Level3/3Family/4Paint/settings.txt
+Activities/Level3/3Family/4Paint/resources/sister.png
+Activities/Level3/3Family/4Paint/resources/grandmother.png
+Activities/Level3/3Family/4Paint/resources/rosa.png
+Activities/Level3/3Family/4Paint/resources/pablo.png
+Activities/Level3/3Family/4Paint/resources/father.png
+Activities/Level3/3Family/4Paint/resources/brother.png
+Activities/Level3/3Family/4Paint/resources/mother.png
+Activities/Level3/3Family/4Paint/resources/grandfather.png
+Activities/Level3/3Family/3Match/data.txt
+Activities/Level3/3Family/3Match/screens.txt
+Activities/Level3/3Family/3Match/ico.png
+Activities/Level3/3Family/3Match/settings.txt
+Activities/Level3/3Family/3Match/resources/grandfatherTXT.png
+Activities/Level3/3Family/3Match/resources/sister.png
+Activities/Level3/3Family/3Match/resources/rosaTXT.png
+Activities/Level3/3Family/3Match/resources/brotherTXT.png
+Activities/Level3/3Family/3Match/resources/rosa.png
+Activities/Level3/3Family/3Match/resources/fatherTXT.png
+Activities/Level3/3Family/3Match/resources/father.png
+Activities/Level3/3Family/3Match/resources/brother.png
+Activities/Level3/3Family/3Match/resources/grandfather.png
+Activities/Level3/3Family/3Match/resources/sisterTXT.png
+Activities/Level3/3Family/5MultipleC/data.txt
+Activities/Level3/3Family/5MultipleC/screens.txt
+Activities/Level3/3Family/5MultipleC/ico.png
+Activities/Level3/3Family/5MultipleC/settings.txt
+Activities/Level3/3Family/5MultipleC/resources/grandmother.png
+Activities/Level3/3Family/5MultipleC/resources/pablo.png
+Activities/Level3/3Family/5MultipleC/resources/father.png
+Activities/Level3/3Family/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/3Family/5MultipleC/resources/cara_triste_anim.png
+Activities/Level3/3Family/5MultipleC/resources/brother.png
+Activities/Level3/3Family/5MultipleC/resources/mother.png
+Activities/Level3/3Family/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/3Family/5MultipleC/resources/grandfather.png
+Activities/Level3/3Family/7DragnDrop/data.txt
+Activities/Level3/3Family/7DragnDrop/screens.txt
+Activities/Level3/3Family/7DragnDrop/ico.png
+Activities/Level3/3Family/7DragnDrop/settings.txt
+Activities/Level3/3Family/7DragnDrop/resources/sister.png
+Activities/Level3/3Family/7DragnDrop/resources/grandmother.png
+Activities/Level3/3Family/7DragnDrop/resources/father.png
+Activities/Level3/3Family/7DragnDrop/resources/icono_play.png
+Activities/Level3/3Family/7DragnDrop/resources/brother.png
+Activities/Level3/3Family/7DragnDrop/resources/mother.png
+Activities/Level3/3Family/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/3Family/2Sort/data.txt
+Activities/Level3/3Family/2Sort/screens.txt
+Activities/Level3/3Family/2Sort/ico.png
+Activities/Level3/3Family/2Sort/settings.txt
+Activities/Level3/3Family/2Sort/resources/brotherSIL.png
+Activities/Level3/3Family/2Sort/resources/grandmother.png
+Activities/Level3/3Family/2Sort/resources/rosa.png
+Activities/Level3/3Family/2Sort/resources/grandmotherSIL.png
+Activities/Level3/3Family/2Sort/resources/brother.png
+Activities/Level3/3Family/2Sort/resources/grandfatherSIL.png
+Activities/Level3/3Family/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/3Family/2Sort/resources/grandfather.png
+Activities/Level3/3Family/2Sort/resources/rosaSIL.png
+Activities/Level3/3Family/1Sort/data.txt
+Activities/Level3/3Family/1Sort/screens.txt
+Activities/Level3/3Family/1Sort/ico.png
+Activities/Level3/3Family/1Sort/settings.txt
+Activities/Level3/3Family/1Sort/resources/sister.png
+Activities/Level3/3Family/1Sort/resources/fatherSIL.png
+Activities/Level3/3Family/1Sort/resources/pabloSIL.png
+Activities/Level3/3Family/1Sort/resources/pablo.png
+Activities/Level3/3Family/1Sort/resources/father.png
+Activities/Level3/3Family/1Sort/resources/motherSIL.png
+Activities/Level3/3Family/1Sort/resources/sisterSIL.png
+Activities/Level3/3Family/1Sort/resources/mother.png
+Activities/Level3/3Family/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/1Things/ico.png
+Activities/Level3/1Things/unitMarker.png
+Activities/Level3/1Things/btn_act.bmp
+Activities/Level3/1Things/btn_act.png
+Activities/Level3/1Things/sounds/bing.ogg
+Activities/Level3/1Things/sounds/itisachair.ogg
+Activities/Level3/1Things/sounds/Twinkle.ogg
+Activities/Level3/1Things/sounds/itisaball.ogg
+Activities/Level3/1Things/sounds/cup.ogg
+Activities/Level3/1Things/sounds/itisabook.ogg
+Activities/Level3/1Things/sounds/chair.ogg
+Activities/Level3/1Things/sounds/whatisit.ogg
+Activities/Level3/1Things/sounds/Q-itisaphone.ogg
+Activities/Level3/1Things/sounds/tablewhite.ogg
+Activities/Level3/1Things/sounds/chord.ogg
+Activities/Level3/1Things/sounds/itisacup.ogg
+Activities/Level3/1Things/sounds/chairred.ogg
+Activities/Level3/1Things/sounds/unitSound.ogg
+Activities/Level3/1Things/sounds/Q-itisachair.ogg
+Activities/Level3/1Things/sounds/computer.ogg
+Activities/Level3/1Things/sounds/itisatable.ogg
+Activities/Level3/1Things/sounds/ball.ogg
+Activities/Level3/1Things/sounds/book.ogg
+Activities/Level3/1Things/sounds/Q-itisacomputer.ogg
+Activities/Level3/1Things/sounds/table.ogg
+Activities/Level3/1Things/sounds/phoneblue.ogg
+Activities/Level3/1Things/sounds/bookblack.ogg
+Activities/Level3/1Things/sounds/ding.ogg
+Activities/Level3/1Things/sounds/cuppurple.ogg
+Activities/Level3/1Things/sounds/ballorange.ogg
+Activities/Level3/1Things/sounds/computergreen.ogg
+Activities/Level3/1Things/sounds/Q-itisatable.ogg
+Activities/Level3/1Things/sounds/Q-itisacup.ogg
+Activities/Level3/1Things/sounds/Q-itisapencil.ogg
+Activities/Level3/1Things/sounds/itisaphone.ogg
+Activities/Level3/1Things/sounds/pencil.ogg
+Activities/Level3/1Things/sounds/pencilyellow.ogg
+Activities/Level3/1Things/sounds/phone.ogg
+Activities/Level3/1Things/sounds/Q-itisaball.ogg
+Activities/Level3/1Things/sounds/Q-itisabook.ogg
+Activities/Level3/1Things/sounds/itisacomputer.ogg
+Activities/Level3/1Things/sounds/itisapencil.ogg
+Activities/Level3/1Things/6Concentrate/data.txt
+Activities/Level3/1Things/6Concentrate/ico.png
+Activities/Level3/1Things/6Concentrate/screen.txt
+Activities/Level3/1Things/6Concentrate/settings.txt
+Activities/Level3/1Things/6Concentrate/resources/chair1.png
+Activities/Level3/1Things/6Concentrate/resources/chair2.png
+Activities/Level3/1Things/6Concentrate/resources/_BackFace.png
+Activities/Level3/1Things/6Concentrate/resources/table1.png
+Activities/Level3/1Things/6Concentrate/resources/table2.png
+Activities/Level3/1Things/6Concentrate/resources/computer1.png
+Activities/Level3/1Things/6Concentrate/resources/computer2.png
+Activities/Level3/1Things/6Concentrate/resources/ball1.png
+Activities/Level3/1Things/6Concentrate/resources/ball2.png
+Activities/Level3/1Things/6Concentrate/resources/cup1.png
+Activities/Level3/1Things/6Concentrate/resources/cup2.png
+Activities/Level3/1Things/6Concentrate/resources/conc_09_color.jpg
+Activities/Level3/1Things/6Concentrate/resources/phone1.png
+Activities/Level3/1Things/6Concentrate/resources/phone2.png
+Activities/Level3/1Things/6Concentrate/resources/book1.png
+Activities/Level3/1Things/6Concentrate/resources/book2.png
+Activities/Level3/1Things/6Concentrate/resources/pencil1.png
+Activities/Level3/1Things/6Concentrate/resources/pencil2.png
+Activities/Level3/1Things/6Concentrate/resources/conc_09_mono.jpg
+Activities/Level3/1Things/9MultipleC/data.txt
+Activities/Level3/1Things/9MultipleC/screens.txt
+Activities/Level3/1Things/9MultipleC/ico.png
+Activities/Level3/1Things/9MultipleC/settings.txt
+Activities/Level3/1Things/9MultipleC/resources/cup.png
+Activities/Level3/1Things/9MultipleC/resources/chair.png
+Activities/Level3/1Things/9MultipleC/resources/ball.png
+Activities/Level3/1Things/9MultipleC/resources/book.png
+Activities/Level3/1Things/9MultipleC/resources/table.png
+Activities/Level3/1Things/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/1Things/9MultipleC/resources/phone1.png
+Activities/Level3/1Things/9MultipleC/resources/phone2.png
+Activities/Level3/1Things/9MultipleC/resources/cara_triste_anim.png
+Activities/Level3/1Things/9MultipleC/resources/pencil.png
+Activities/Level3/1Things/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/1Things/8Match/data.txt
+Activities/Level3/1Things/8Match/screens.txt
+Activities/Level3/1Things/8Match/ico.png
+Activities/Level3/1Things/8Match/settings.txt
+Activities/Level3/1Things/8Match/resources/cup.png
+Activities/Level3/1Things/8Match/resources/bookTXT.png
+Activities/Level3/1Things/8Match/resources/chair.png
+Activities/Level3/1Things/8Match/resources/cupTXT.png
+Activities/Level3/1Things/8Match/resources/pencilTXT.png
+Activities/Level3/1Things/8Match/resources/ball.png
+Activities/Level3/1Things/8Match/resources/book.png
+Activities/Level3/1Things/8Match/resources/ballTXT.png
+Activities/Level3/1Things/8Match/resources/pencil.png
+Activities/Level3/1Things/8Match/resources/chairTXT.png
+Activities/Level3/1Things/4Paint/data.txt
+Activities/Level3/1Things/4Paint/screens.txt
+Activities/Level3/1Things/4Paint/ico.png
+Activities/Level3/1Things/4Paint/settings.txt
+Activities/Level3/1Things/4Paint/resources/cup.png
+Activities/Level3/1Things/4Paint/resources/chair.png
+Activities/Level3/1Things/4Paint/resources/computer.png
+Activities/Level3/1Things/4Paint/resources/ball.png
+Activities/Level3/1Things/4Paint/resources/book.png
+Activities/Level3/1Things/4Paint/resources/table.png
+Activities/Level3/1Things/4Paint/resources/pencil.png
+Activities/Level3/1Things/4Paint/resources/phone.png
+Activities/Level3/1Things/3Match/data.txt
+Activities/Level3/1Things/3Match/screens.txt
+Activities/Level3/1Things/3Match/ico.png
+Activities/Level3/1Things/3Match/settings.txt
+Activities/Level3/1Things/3Match/resources/bookTXT.png
+Activities/Level3/1Things/3Match/resources/chair.png
+Activities/Level3/1Things/3Match/resources/phoneTXT.png
+Activities/Level3/1Things/3Match/resources/computer.png
+Activities/Level3/1Things/3Match/resources/computerTXT.png
+Activities/Level3/1Things/3Match/resources/book.png
+Activities/Level3/1Things/3Match/resources/table.png
+Activities/Level3/1Things/3Match/resources/tableTXT.png
+Activities/Level3/1Things/3Match/resources/phone.png
+Activities/Level3/1Things/3Match/resources/chairTXT.png
+Activities/Level3/1Things/5MultipleC/data.txt
+Activities/Level3/1Things/5MultipleC/screens.txt
+Activities/Level3/1Things/5MultipleC/ico.png
+Activities/Level3/1Things/5MultipleC/settings.txt
+Activities/Level3/1Things/5MultipleC/resources/cup.png
+Activities/Level3/1Things/5MultipleC/resources/table1.png
+Activities/Level3/1Things/5MultipleC/resources/table2.png
+Activities/Level3/1Things/5MultipleC/resources/computer.png
+Activities/Level3/1Things/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/1Things/5MultipleC/resources/cara_triste_anim.png
+Activities/Level3/1Things/5MultipleC/resources/pencil.png
+Activities/Level3/1Things/5MultipleC/resources/phone.png
+Activities/Level3/1Things/5MultipleC/resources/book1.png
+Activities/Level3/1Things/5MultipleC/resources/book2.png
+Activities/Level3/1Things/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/1Things/7DragnDrop/data.txt
+Activities/Level3/1Things/7DragnDrop/screens.txt
+Activities/Level3/1Things/7DragnDrop/ico.png
+Activities/Level3/1Things/7DragnDrop/settings.txt
+Activities/Level3/1Things/7DragnDrop/resources/computer.png
+Activities/Level3/1Things/7DragnDrop/resources/book.png
+Activities/Level3/1Things/7DragnDrop/resources/table.png
+Activities/Level3/1Things/7DragnDrop/resources/icono_play.png
+Activities/Level3/1Things/7DragnDrop/resources/pencil.png
+Activities/Level3/1Things/7DragnDrop/resources/phone.png
+Activities/Level3/1Things/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/1Things/2Sort/data.txt
+Activities/Level3/1Things/2Sort/screens.txt
+Activities/Level3/1Things/2Sort/ico.png
+Activities/Level3/1Things/2Sort/settings.txt
+Activities/Level3/1Things/2Sort/resources/cup.png
+Activities/Level3/1Things/2Sort/resources/pencilSIL.png
+Activities/Level3/1Things/2Sort/resources/ball.png
+Activities/Level3/1Things/2Sort/resources/book.png
+Activities/Level3/1Things/2Sort/resources/ballSIL.png
+Activities/Level3/1Things/2Sort/resources/pencil.png
+Activities/Level3/1Things/2Sort/resources/bookSIL.png
+Activities/Level3/1Things/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/1Things/2Sort/resources/cupSIL.png
+Activities/Level3/1Things/1Sort/data.txt
+Activities/Level3/1Things/1Sort/screens.txt
+Activities/Level3/1Things/1Sort/ico.png
+Activities/Level3/1Things/1Sort/settings.txt
+Activities/Level3/1Things/1Sort/resources/chair.png
+Activities/Level3/1Things/1Sort/resources/computerSIL.png
+Activities/Level3/1Things/1Sort/resources/computer.png
+Activities/Level3/1Things/1Sort/resources/tableSIL.png
+Activities/Level3/1Things/1Sort/resources/table.png
+Activities/Level3/1Things/1Sort/resources/chairSIL.png
+Activities/Level3/1Things/1Sort/resources/phone.png
+Activities/Level3/1Things/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/1Things/1Sort/resources/phoneSIL.png
+Activities/Level3/4Jobs/ico.png
+Activities/Level3/4Jobs/unitMarker.png
+Activities/Level3/4Jobs/btn_act.bmp
+Activities/Level3/4Jobs/btn_act.png
+Activities/Level3/4Jobs/sounds/bing.ogg
+Activities/Level3/4Jobs/sounds/sheisamechanic.ogg
+Activities/Level3/4Jobs/sounds/heisapoliceofficer.ogg
+Activities/Level3/4Jobs/sounds/Twinkle.ogg
+Activities/Level3/4Jobs/sounds/whatdoesshedo.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisateacher.ogg
+Activities/Level3/4Jobs/sounds/teacher.ogg
+Activities/Level3/4Jobs/sounds/sheisacook.ogg
+Activities/Level3/4Jobs/sounds/Q-heisateacher.ogg
+Activities/Level3/4Jobs/sounds/sheisapoliceofficer.ogg
+Activities/Level3/4Jobs/sounds/drivergreen.ogg
+Activities/Level3/4Jobs/sounds/chord.ogg
+Activities/Level3/4Jobs/sounds/teacherorange.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisapoliceofficer.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisabuilder.ogg
+Activities/Level3/4Jobs/sounds/builder.ogg
+Activities/Level3/4Jobs/sounds/cook.ogg
+Activities/Level3/4Jobs/sounds/Q-heisabuilder.ogg
+Activities/Level3/4Jobs/sounds/Q-heisafarmer.ogg
+Activities/Level3/4Jobs/sounds/mechanicwhite.ogg
+Activities/Level3/4Jobs/sounds/Q-heisadriver.ogg
+Activities/Level3/4Jobs/sounds/doctorred.ogg
+Activities/Level3/4Jobs/sounds/heisamechanic.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisafarmer.ogg
+Activities/Level3/4Jobs/sounds/farmer.ogg
+Activities/Level3/4Jobs/sounds/unitSound.ogg
+Activities/Level3/4Jobs/sounds/builderyellow.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisadriver.ogg
+Activities/Level3/4Jobs/sounds/driver.ogg
+Activities/Level3/4Jobs/sounds/cookpurple.ogg
+Activities/Level3/4Jobs/sounds/heisateacher.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisacook.ogg
+Activities/Level3/4Jobs/sounds/whatdoeshedo.ogg
+Activities/Level3/4Jobs/sounds/heisadriver.ogg
+Activities/Level3/4Jobs/sounds/Q-heisacook.ogg
+Activities/Level3/4Jobs/sounds/heisabuilder.ogg
+Activities/Level3/4Jobs/sounds/sheisateacher.ogg
+Activities/Level3/4Jobs/sounds/ding.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisadoctor.ogg
+Activities/Level3/4Jobs/sounds/doctor.ogg
+Activities/Level3/4Jobs/sounds/sheisafarmer.ogg
+Activities/Level3/4Jobs/sounds/heisacook.ogg
+Activities/Level3/4Jobs/sounds/Q-sheisamechanic.ogg
+Activities/Level3/4Jobs/sounds/sheisadriver.ogg
+Activities/Level3/4Jobs/sounds/sheisabuilder.ogg
+Activities/Level3/4Jobs/sounds/heisadoctor.ogg
+Activities/Level3/4Jobs/sounds/mechanic.ogg
+Activities/Level3/4Jobs/sounds/policeofficer.ogg
+Activities/Level3/4Jobs/sounds/policeofficerblue.ogg
+Activities/Level3/4Jobs/sounds/Q-heisamechanic.ogg
+Activities/Level3/4Jobs/sounds/farmerblack.ogg
+Activities/Level3/4Jobs/sounds/sheisadoctor.ogg
+Activities/Level3/4Jobs/6Concentrate/data.txt
+Activities/Level3/4Jobs/6Concentrate/ico.png
+Activities/Level3/4Jobs/6Concentrate/screen.txt
+Activities/Level3/4Jobs/6Concentrate/settings.txt
+Activities/Level3/4Jobs/6Concentrate/resources/conc_12_color.jpg
+Activities/Level3/4Jobs/6Concentrate/resources/_BackFace.png
+Activities/Level3/4Jobs/6Concentrate/resources/teacher1.png
+Activities/Level3/4Jobs/6Concentrate/resources/teacher2.png
+Activities/Level3/4Jobs/6Concentrate/resources/driver1.png
+Activities/Level3/4Jobs/6Concentrate/resources/driver2.png
+Activities/Level3/4Jobs/6Concentrate/resources/mechanic1.png
+Activities/Level3/4Jobs/6Concentrate/resources/mechanic2.png
+Activities/Level3/4Jobs/6Concentrate/resources/conc_12_mono.jpg
+Activities/Level3/4Jobs/6Concentrate/resources/builder1.png
+Activities/Level3/4Jobs/6Concentrate/resources/builder2.png
+Activities/Level3/4Jobs/6Concentrate/resources/cook1.png
+Activities/Level3/4Jobs/6Concentrate/resources/cook2.png
+Activities/Level3/4Jobs/6Concentrate/resources/farmer1.png
+Activities/Level3/4Jobs/6Concentrate/resources/farmer2.png
+Activities/Level3/4Jobs/6Concentrate/resources/doctor1.png
+Activities/Level3/4Jobs/6Concentrate/resources/doctor2.png
+Activities/Level3/4Jobs/6Concentrate/resources/police1.png
+Activities/Level3/4Jobs/6Concentrate/resources/police2.png
+Activities/Level3/4Jobs/9MultipleC/data.txt
+Activities/Level3/4Jobs/9MultipleC/screens.txt
+Activities/Level3/4Jobs/9MultipleC/ico.png
+Activities/Level3/4Jobs/9MultipleC/settings.txt
+Activities/Level3/4Jobs/9MultipleC/resources/teacher.png
+Activities/Level3/4Jobs/9MultipleC/resources/cook.png
+Activities/Level3/4Jobs/9MultipleC/resources/farmer.png
+Activities/Level3/4Jobs/9MultipleC/resources/driver.png
+Activities/Level3/4Jobs/9MultipleC/resources/police.png
+Activities/Level3/4Jobs/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/4Jobs/9MultipleC/resources/builder1.png
+Activities/Level3/4Jobs/9MultipleC/resources/builder2.png
+Activities/Level3/4Jobs/9MultipleC/resources/cara_triste_anim.png
+Activities/Level3/4Jobs/9MultipleC/resources/mechanic.png
+Activities/Level3/4Jobs/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/4Jobs/8Match/data.txt
+Activities/Level3/4Jobs/8Match/screens.txt
+Activities/Level3/4Jobs/8Match/ico.png
+Activities/Level3/4Jobs/8Match/settings.txt
+Activities/Level3/4Jobs/8Match/resources/driverTXT.png
+Activities/Level3/4Jobs/8Match/resources/teacher.png
+Activities/Level3/4Jobs/8Match/resources/builder.png
+Activities/Level3/4Jobs/8Match/resources/cook.png
+Activities/Level3/4Jobs/8Match/resources/driver.png
+Activities/Level3/4Jobs/8Match/resources/builderTXT.png
+Activities/Level3/4Jobs/8Match/resources/mechanicTXT.png
+Activities/Level3/4Jobs/8Match/resources/mechanic.png
+Activities/Level3/4Jobs/8Match/resources/teacherTXT.png
+Activities/Level3/4Jobs/8Match/resources/cookTXT.png
+Activities/Level3/4Jobs/4Paint/data.txt
+Activities/Level3/4Jobs/4Paint/screens.txt
+Activities/Level3/4Jobs/4Paint/ico.png
+Activities/Level3/4Jobs/4Paint/settings.txt
+Activities/Level3/4Jobs/4Paint/resources/teacher.png
+Activities/Level3/4Jobs/4Paint/resources/builder.png
+Activities/Level3/4Jobs/4Paint/resources/cook.png
+Activities/Level3/4Jobs/4Paint/resources/farmer.png
+Activities/Level3/4Jobs/4Paint/resources/driver.png
+Activities/Level3/4Jobs/4Paint/resources/police.png
+Activities/Level3/4Jobs/4Paint/resources/doctor.png
+Activities/Level3/4Jobs/4Paint/resources/mechanic.png
+Activities/Level3/4Jobs/3Match/data.txt
+Activities/Level3/4Jobs/3Match/screens.txt
+Activities/Level3/4Jobs/3Match/ico.png
+Activities/Level3/4Jobs/3Match/settings.txt
+Activities/Level3/4Jobs/3Match/resources/doctorTXT.png
+Activities/Level3/4Jobs/3Match/resources/driverTXT.png
+Activities/Level3/4Jobs/3Match/resources/cook.png
+Activities/Level3/4Jobs/3Match/resources/farmer.png
+Activities/Level3/4Jobs/3Match/resources/driver.png
+Activities/Level3/4Jobs/3Match/resources/police.png
+Activities/Level3/4Jobs/3Match/resources/policeTXT.png
+Activities/Level3/4Jobs/3Match/resources/doctor.png
+Activities/Level3/4Jobs/3Match/resources/farmerTXT.png
+Activities/Level3/4Jobs/3Match/resources/cookTXT.png
+Activities/Level3/4Jobs/5MultipleC/data.txt
+Activities/Level3/4Jobs/5MultipleC/screens.txt
+Activities/Level3/4Jobs/5MultipleC/ico.png
+Activities/Level3/4Jobs/5MultipleC/settings.txt
+Activities/Level3/4Jobs/5MultipleC/resources/teacher.png
+Activities/Level3/4Jobs/5MultipleC/resources/builder.png
+Activities/Level3/4Jobs/5MultipleC/resources/cook.png
+Activities/Level3/4Jobs/5MultipleC/resources/farmer.png
+Activities/Level3/4Jobs/5MultipleC/resources/driver.png
+Activities/Level3/4Jobs/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level3/4Jobs/5MultipleC/resources/doctor.png
+Activities/Level3/4Jobs/5MultipleC/resources/cara_triste_anim.png
+Activities/Level3/4Jobs/5MultipleC/resources/mechanic.png
+Activities/Level3/4Jobs/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/4Jobs/7DragnDrop/data.txt
+Activities/Level3/4Jobs/7DragnDrop/screens.txt
+Activities/Level3/4Jobs/7DragnDrop/ico.png
+Activities/Level3/4Jobs/7DragnDrop/settings.txt
+Activities/Level3/4Jobs/7DragnDrop/resources/teacher.png
+Activities/Level3/4Jobs/7DragnDrop/resources/builder.png
+Activities/Level3/4Jobs/7DragnDrop/resources/cook.png
+Activities/Level3/4Jobs/7DragnDrop/resources/driver.png
+Activities/Level3/4Jobs/7DragnDrop/resources/mechanic.png
+Activities/Level3/4Jobs/7DragnDrop/resources/icono_play.png
+Activities/Level3/4Jobs/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/4Jobs/2Sort/data.txt
+Activities/Level3/4Jobs/2Sort/screens.txt
+Activities/Level3/4Jobs/2Sort/ico.png
+Activities/Level3/4Jobs/2Sort/settings.txt
+Activities/Level3/4Jobs/2Sort/resources/builder.png
+Activities/Level3/4Jobs/2Sort/resources/cook.png
+Activities/Level3/4Jobs/2Sort/resources/builderSIL.png
+Activities/Level3/4Jobs/2Sort/resources/mechanicSIL.png
+Activities/Level3/4Jobs/2Sort/resources/doctor.png
+Activities/Level3/4Jobs/2Sort/resources/mechanic.png
+Activities/Level3/4Jobs/2Sort/resources/cookSIL.png
+Activities/Level3/4Jobs/2Sort/resources/doctorSIL.png
+Activities/Level3/4Jobs/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level3/4Jobs/1Sort/data.txt
+Activities/Level3/4Jobs/1Sort/screens.txt
+Activities/Level3/4Jobs/1Sort/ico.png
+Activities/Level3/4Jobs/1Sort/settings.txt
+Activities/Level3/4Jobs/1Sort/resources/teacher.png
+Activities/Level3/4Jobs/1Sort/resources/farmer.png
+Activities/Level3/4Jobs/1Sort/resources/policeSIL.png
+Activities/Level3/4Jobs/1Sort/resources/driver.png
+Activities/Level3/4Jobs/1Sort/resources/police.png
+Activities/Level3/4Jobs/1Sort/resources/farmerSIL.png
+Activities/Level3/4Jobs/1Sort/resources/teacherSIL.png
+Activities/Level3/4Jobs/1Sort/resources/driverSIL.png
+Activities/Level3/4Jobs/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/menu_fdo_act.png
+Activities/Level2/ico.png
+Activities/Level2/btn_unit.png
+Activities/Level2/ico_grande.png
+Activities/Level2/3Transport/ico.png
+Activities/Level2/3Transport/unitMarker.png
+Activities/Level2/3Transport/btn_act.bmp
+Activities/Level2/3Transport/btn_act.png
+Activities/Level2/3Transport/sounds/bing.ogg
+Activities/Level2/3Transport/sounds/train.ogg
+Activities/Level2/3Transport/sounds/Twinkle.ogg
+Activities/Level2/3Transport/sounds/plane.ogg
+Activities/Level2/3Transport/sounds/itisacar.ogg
+Activities/Level2/3Transport/sounds/whatisit.ogg
+Activities/Level2/3Transport/sounds/itisabus.ogg
+Activities/Level2/3Transport/sounds/chord.ogg
+Activities/Level2/3Transport/sounds/carblack.ogg
+Activities/Level2/3Transport/sounds/traingreen.ogg
+Activities/Level2/3Transport/sounds/truckpurple.ogg
+Activities/Level2/3Transport/sounds/motorcycle.ogg
+Activities/Level2/3Transport/sounds/itisatruck.ogg
+Activities/Level2/3Transport/sounds/boat.ogg
+Activities/Level2/3Transport/sounds/unitSound.ogg
+Activities/Level2/3Transport/sounds/truck.ogg
+Activities/Level2/3Transport/sounds/motorcycleorange.ogg
+Activities/Level2/3Transport/sounds/busyellow.ogg
+Activities/Level2/3Transport/sounds/boatwhite.ogg
+Activities/Level2/3Transport/sounds/ding.ogg
+Activities/Level2/3Transport/sounds/itisabike.ogg
+Activities/Level2/3Transport/sounds/bikered.ogg
+Activities/Level2/3Transport/sounds/planegreen.ogg
+Activities/Level2/3Transport/sounds/itisamotorcycle.ogg
+Activities/Level2/3Transport/sounds/car.ogg
+Activities/Level2/3Transport/sounds/itisatrain.ogg
+Activities/Level2/3Transport/sounds/bike.ogg
+Activities/Level2/3Transport/sounds/itisaplane.ogg
+Activities/Level2/3Transport/sounds/itisaboat.ogg
+Activities/Level2/3Transport/sounds/bus.ogg
+Activities/Level2/3Transport/6Concentrate/data.txt
+Activities/Level2/3Transport/6Concentrate/ico.png
+Activities/Level2/3Transport/6Concentrate/screen.txt
+Activities/Level2/3Transport/6Concentrate/settings.txt
+Activities/Level2/3Transport/6Concentrate/resources/train1.png
+Activities/Level2/3Transport/6Concentrate/resources/train2.png
+Activities/Level2/3Transport/6Concentrate/resources/_BackFace.png
+Activities/Level2/3Transport/6Concentrate/resources/car1.png
+Activities/Level2/3Transport/6Concentrate/resources/car2.png
+Activities/Level2/3Transport/6Concentrate/resources/motorcycle1.png
+Activities/Level2/3Transport/6Concentrate/resources/motorcycle2.png
+Activities/Level2/3Transport/6Concentrate/resources/plane1.png
+Activities/Level2/3Transport/6Concentrate/resources/plane2.png
+Activities/Level2/3Transport/6Concentrate/resources/truck1.png
+Activities/Level2/3Transport/6Concentrate/resources/truck2.png
+Activities/Level2/3Transport/6Concentrate/resources/conc_07_mono.jpg
+Activities/Level2/3Transport/6Concentrate/resources/bike1.png
+Activities/Level2/3Transport/6Concentrate/resources/bike2.png
+Activities/Level2/3Transport/6Concentrate/resources/bus1.png
+Activities/Level2/3Transport/6Concentrate/resources/bus2.png
+Activities/Level2/3Transport/6Concentrate/resources/boat1.png
+Activities/Level2/3Transport/6Concentrate/resources/boat2.png
+Activities/Level2/3Transport/6Concentrate/resources/conc_07_color.jpg
+Activities/Level2/3Transport/9MultipleC/data.txt
+Activities/Level2/3Transport/9MultipleC/screens.txt
+Activities/Level2/3Transport/9MultipleC/ico.png
+Activities/Level2/3Transport/9MultipleC/settings.txt
+Activities/Level2/3Transport/9MultipleC/resources/train.png
+Activities/Level2/3Transport/9MultipleC/resources/motorcycle.png
+Activities/Level2/3Transport/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/3Transport/9MultipleC/resources/truck1.png
+Activities/Level2/3Transport/9MultipleC/resources/truck2.png
+Activities/Level2/3Transport/9MultipleC/resources/cara_triste_anim.png
+Activities/Level2/3Transport/9MultipleC/resources/bus1.png
+Activities/Level2/3Transport/9MultipleC/resources/bus2.png
+Activities/Level2/3Transport/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/3Transport/9MultipleC/resources/bike.png
+Activities/Level2/3Transport/8Match/data.txt
+Activities/Level2/3Transport/8Match/screens.txt
+Activities/Level2/3Transport/8Match/ico.png
+Activities/Level2/3Transport/8Match/settings.txt
+Activities/Level2/3Transport/8Match/resources/plane.png
+Activities/Level2/3Transport/8Match/resources/motorcycle.png
+Activities/Level2/3Transport/8Match/resources/boatTXT.png
+Activities/Level2/3Transport/8Match/resources/boat.png
+Activities/Level2/3Transport/8Match/resources/motorcycleTXT.png
+Activities/Level2/3Transport/8Match/resources/bikeTXT.png
+Activities/Level2/3Transport/8Match/resources/planeTXT.png
+Activities/Level2/3Transport/8Match/resources/busTXT.png
+Activities/Level2/3Transport/8Match/resources/bike.png
+Activities/Level2/3Transport/8Match/resources/bus.png
+Activities/Level2/3Transport/4Paint/data.txt
+Activities/Level2/3Transport/4Paint/screens.txt
+Activities/Level2/3Transport/4Paint/ico.png
+Activities/Level2/3Transport/4Paint/settings.txt
+Activities/Level2/3Transport/4Paint/resources/train.png
+Activities/Level2/3Transport/4Paint/resources/plane.png
+Activities/Level2/3Transport/4Paint/resources/motorcycle.png
+Activities/Level2/3Transport/4Paint/resources/boat.png
+Activities/Level2/3Transport/4Paint/resources/truck.png
+Activities/Level2/3Transport/4Paint/resources/car.png
+Activities/Level2/3Transport/4Paint/resources/bike.png
+Activities/Level2/3Transport/4Paint/resources/bus.png
+Activities/Level2/3Transport/3Match/data.txt
+Activities/Level2/3Transport/3Match/screens.txt
+Activities/Level2/3Transport/3Match/ico.png
+Activities/Level2/3Transport/3Match/settings.txt
+Activities/Level2/3Transport/3Match/resources/train.png
+Activities/Level2/3Transport/3Match/resources/trainTXT.png
+Activities/Level2/3Transport/3Match/resources/boatTXT.png
+Activities/Level2/3Transport/3Match/resources/boat.png
+Activities/Level2/3Transport/3Match/resources/truck.png
+Activities/Level2/3Transport/3Match/resources/truckTXT.png
+Activities/Level2/3Transport/3Match/resources/carTXT.png
+Activities/Level2/3Transport/3Match/resources/car.png
+Activities/Level2/3Transport/3Match/resources/busTXT.png
+Activities/Level2/3Transport/3Match/resources/bus.png
+Activities/Level2/3Transport/5MultipleC/data.txt
+Activities/Level2/3Transport/5MultipleC/screens.txt
+Activities/Level2/3Transport/5MultipleC/ico.png
+Activities/Level2/3Transport/5MultipleC/settings.txt
+Activities/Level2/3Transport/5MultipleC/resources/train.png
+Activities/Level2/3Transport/5MultipleC/resources/motorcycle.png
+Activities/Level2/3Transport/5MultipleC/resources/boat.png
+Activities/Level2/3Transport/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/3Transport/5MultipleC/resources/truck1.png
+Activities/Level2/3Transport/5MultipleC/resources/truck2.png
+Activities/Level2/3Transport/5MultipleC/resources/cara_triste_anim.png
+Activities/Level2/3Transport/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/3Transport/5MultipleC/resources/car.png
+Activities/Level2/3Transport/5MultipleC/resources/bike.png
+Activities/Level2/3Transport/5MultipleC/resources/bus.png
+Activities/Level2/3Transport/7DragnDrop/data.txt
+Activities/Level2/3Transport/7DragnDrop/screens.txt
+Activities/Level2/3Transport/7DragnDrop/ico.png
+Activities/Level2/3Transport/7DragnDrop/settings.txt
+Activities/Level2/3Transport/7DragnDrop/resources/train.png
+Activities/Level2/3Transport/7DragnDrop/resources/motorcycle.png
+Activities/Level2/3Transport/7DragnDrop/resources/truck.png
+Activities/Level2/3Transport/7DragnDrop/resources/icono_play.png
+Activities/Level2/3Transport/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/3Transport/7DragnDrop/resources/car.png
+Activities/Level2/3Transport/7DragnDrop/resources/bike.png
+Activities/Level2/3Transport/2Sort/data.txt
+Activities/Level2/3Transport/2Sort/screens.txt
+Activities/Level2/3Transport/2Sort/ico.png
+Activities/Level2/3Transport/2Sort/settings.txt
+Activities/Level2/3Transport/2Sort/resources/boatSIL.png
+Activities/Level2/3Transport/2Sort/resources/motorcycleSIL.png
+Activities/Level2/3Transport/2Sort/resources/bikeSIL.png
+Activities/Level2/3Transport/2Sort/resources/motorcycle.png
+Activities/Level2/3Transport/2Sort/resources/boat.png
+Activities/Level2/3Transport/2Sort/resources/busSIL.png
+Activities/Level2/3Transport/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/3Transport/2Sort/resources/bike.png
+Activities/Level2/3Transport/2Sort/resources/bus.png
+Activities/Level2/3Transport/1Sort/data.txt
+Activities/Level2/3Transport/1Sort/screens.txt
+Activities/Level2/3Transport/1Sort/ico.png
+Activities/Level2/3Transport/1Sort/settings.txt
+Activities/Level2/3Transport/1Sort/resources/train.png
+Activities/Level2/3Transport/1Sort/resources/plane.png
+Activities/Level2/3Transport/1Sort/resources/truckSIL.png
+Activities/Level2/3Transport/1Sort/resources/carSIL.png
+Activities/Level2/3Transport/1Sort/resources/truck.png
+Activities/Level2/3Transport/1Sort/resources/planeSIL.png
+Activities/Level2/3Transport/1Sort/resources/trainSIL.png
+Activities/Level2/3Transport/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/3Transport/1Sort/resources/car.png
+Activities/Level2/1Animals/ico.png
+Activities/Level2/1Animals/unitMarker.png
+Activities/Level2/1Animals/btn_act.bmp
+Activities/Level2/1Animals/btn_act.png
+Activities/Level2/1Animals/sounds/bing.ogg
+Activities/Level2/1Animals/sounds/froggreen.ogg
+Activities/Level2/1Animals/sounds/bird.ogg
+Activities/Level2/1Animals/sounds/Twinkle.ogg
+Activities/Level2/1Animals/sounds/itisacat.ogg
+Activities/Level2/1Animals/sounds/dog.ogg
+Activities/Level2/1Animals/sounds/fishpurple.ogg
+Activities/Level2/1Animals/sounds/itisalizard.ogg
+Activities/Level2/1Animals/sounds/chord.ogg
+Activities/Level2/1Animals/sounds/fish.ogg
+Activities/Level2/1Animals/sounds/itisadog.ogg
+Activities/Level2/1Animals/sounds/itisabear.ogg
+Activities/Level2/1Animals/sounds/unitSound.ogg
+Activities/Level2/1Animals/sounds/catorange.ogg
+Activities/Level2/1Animals/sounds/lizardblue.ogg
+Activities/Level2/1Animals/sounds/itisafrog.ogg
+Activities/Level2/1Animals/sounds/ding.ogg
+Activities/Level2/1Animals/sounds/bear.ogg
+Activities/Level2/1Animals/sounds/itisabird.ogg
+Activities/Level2/1Animals/sounds/horseblack.ogg
+Activities/Level2/1Animals/sounds/bearwhite.ogg
+Activities/Level2/1Animals/sounds/itisahorse.ogg
+Activities/Level2/1Animals/sounds/itisafish.ogg
+Activities/Level2/1Animals/sounds/frog.ogg
+Activities/Level2/1Animals/sounds/dogyellow.ogg
+Activities/Level2/1Animals/sounds/horse.ogg
+Activities/Level2/1Animals/sounds/cat.ogg
+Activities/Level2/1Animals/sounds/birdred.ogg
+Activities/Level2/1Animals/sounds/lizard.ogg
+Activities/Level2/1Animals/6Concentrate/data.txt
+Activities/Level2/1Animals/6Concentrate/ico.png
+Activities/Level2/1Animals/6Concentrate/screen.txt
+Activities/Level2/1Animals/6Concentrate/settings.txt
+Activities/Level2/1Animals/6Concentrate/resources/_BackFace.png
+Activities/Level2/1Animals/6Concentrate/resources/conc_05_color.jpg
+Activities/Level2/1Animals/6Concentrate/resources/cat1.png
+Activities/Level2/1Animals/6Concentrate/resources/cat2.png
+Activities/Level2/1Animals/6Concentrate/resources/bird1.png
+Activities/Level2/1Animals/6Concentrate/resources/bird2.png
+Activities/Level2/1Animals/6Concentrate/resources/frog1.png
+Activities/Level2/1Animals/6Concentrate/resources/frog2.png
+Activities/Level2/1Animals/6Concentrate/resources/lizard1.png
+Activities/Level2/1Animals/6Concentrate/resources/lizard2.png
+Activities/Level2/1Animals/6Concentrate/resources/conc_05_mono.jpg
+Activities/Level2/1Animals/6Concentrate/resources/fish1.png
+Activities/Level2/1Animals/6Concentrate/resources/fish2.png
+Activities/Level2/1Animals/6Concentrate/resources/bear1.png
+Activities/Level2/1Animals/6Concentrate/resources/bear2.png
+Activities/Level2/1Animals/6Concentrate/resources/dog1.png
+Activities/Level2/1Animals/6Concentrate/resources/dog2.png
+Activities/Level2/1Animals/6Concentrate/resources/horse1.png
+Activities/Level2/1Animals/6Concentrate/resources/horse2.png
+Activities/Level2/1Animals/9MultipleC/data.txt
+Activities/Level2/1Animals/9MultipleC/screens.txt
+Activities/Level2/1Animals/9MultipleC/ico.png
+Activities/Level2/1Animals/9MultipleC/settings.txt
+Activities/Level2/1Animals/9MultipleC/resources/bird.png
+Activities/Level2/1Animals/9MultipleC/resources/dog.png
+Activities/Level2/1Animals/9MultipleC/resources/fish.png
+Activities/Level2/1Animals/9MultipleC/resources/frog1.png
+Activities/Level2/1Animals/9MultipleC/resources/frog2.png
+Activities/Level2/1Animals/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/1Animals/9MultipleC/resources/cara_triste_anim.png
+Activities/Level2/1Animals/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/1Animals/9MultipleC/resources/cat.png
+Activities/Level2/1Animals/9MultipleC/resources/bear1.png
+Activities/Level2/1Animals/9MultipleC/resources/bear2.png
+Activities/Level2/1Animals/9MultipleC/resources/lizard.png
+Activities/Level2/1Animals/9MultipleC/resources/horse1.png
+Activities/Level2/1Animals/9MultipleC/resources/horse2.png
+Activities/Level2/1Animals/8Match/data.txt
+Activities/Level2/1Animals/8Match/screens.txt
+Activities/Level2/1Animals/8Match/ico.png
+Activities/Level2/1Animals/8Match/settings.txt
+Activities/Level2/1Animals/8Match/resources/dog.png
+Activities/Level2/1Animals/8Match/resources/catTXT.png
+Activities/Level2/1Animals/8Match/resources/frogTXT.png
+Activities/Level2/1Animals/8Match/resources/dogTXT.png
+Activities/Level2/1Animals/8Match/resources/bearTXT.png
+Activities/Level2/1Animals/8Match/resources/bear.png
+Activities/Level2/1Animals/8Match/resources/frog.png
+Activities/Level2/1Animals/8Match/resources/lizardTXT.png
+Activities/Level2/1Animals/8Match/resources/cat.png
+Activities/Level2/1Animals/8Match/resources/lizard.png
+Activities/Level2/1Animals/4Paint/data.txt
+Activities/Level2/1Animals/4Paint/screens.txt
+Activities/Level2/1Animals/4Paint/ico.png
+Activities/Level2/1Animals/4Paint/settings.txt
+Activities/Level2/1Animals/4Paint/resources/bird.png
+Activities/Level2/1Animals/4Paint/resources/dog.png
+Activities/Level2/1Animals/4Paint/resources/fish.png
+Activities/Level2/1Animals/4Paint/resources/bear.png
+Activities/Level2/1Animals/4Paint/resources/frog.png
+Activities/Level2/1Animals/4Paint/resources/horse.png
+Activities/Level2/1Animals/4Paint/resources/cat.png
+Activities/Level2/1Animals/4Paint/resources/lizard.png
+Activities/Level2/1Animals/3Match/data.txt
+Activities/Level2/1Animals/3Match/screens.txt
+Activities/Level2/1Animals/3Match/ico.png
+Activities/Level2/1Animals/3Match/settings.txt
+Activities/Level2/1Animals/3Match/resources/bird.png
+Activities/Level2/1Animals/3Match/resources/dog.png
+Activities/Level2/1Animals/3Match/resources/fishTXT.png
+Activities/Level2/1Animals/3Match/resources/fish.png
+Activities/Level2/1Animals/3Match/resources/frogTXT.png
+Activities/Level2/1Animals/3Match/resources/dogTXT.png
+Activities/Level2/1Animals/3Match/resources/horseTXT.png
+Activities/Level2/1Animals/3Match/resources/birdTXT.png
+Activities/Level2/1Animals/3Match/resources/frog.png
+Activities/Level2/1Animals/3Match/resources/horse.png
+Activities/Level2/1Animals/5MultipleC/data.txt
+Activities/Level2/1Animals/5MultipleC/screens.txt
+Activities/Level2/1Animals/5MultipleC/ico.png
+Activities/Level2/1Animals/5MultipleC/settings.txt
+Activities/Level2/1Animals/5MultipleC/resources/dog.png
+Activities/Level2/1Animals/5MultipleC/resources/fish.png
+Activities/Level2/1Animals/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/1Animals/5MultipleC/resources/bear.png
+Activities/Level2/1Animals/5MultipleC/resources/cara_triste_anim.png
+Activities/Level2/1Animals/5MultipleC/resources/frog.png
+Activities/Level2/1Animals/5MultipleC/resources/horse.png
+Activities/Level2/1Animals/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/1Animals/5MultipleC/resources/cat.png
+Activities/Level2/1Animals/5MultipleC/resources/lizard.png
+Activities/Level2/1Animals/5MultipleC/resources/racehorse.png
+Activities/Level2/1Animals/7DragnDrop/data.txt
+Activities/Level2/1Animals/7DragnDrop/screens.txt
+Activities/Level2/1Animals/7DragnDrop/ico.png
+Activities/Level2/1Animals/7DragnDrop/settings.txt
+Activities/Level2/1Animals/7DragnDrop/resources/dog.png
+Activities/Level2/1Animals/7DragnDrop/resources/fish.png
+Activities/Level2/1Animals/7DragnDrop/resources/bear.png
+Activities/Level2/1Animals/7DragnDrop/resources/icono_play.png
+Activities/Level2/1Animals/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/1Animals/7DragnDrop/resources/cat.png
+Activities/Level2/1Animals/7DragnDrop/resources/lizard.png
+Activities/Level2/1Animals/2Sort/data.txt
+Activities/Level2/1Animals/2Sort/screens.txt
+Activities/Level2/1Animals/2Sort/ico.png
+Activities/Level2/1Animals/2Sort/settings.txt
+Activities/Level2/1Animals/2Sort/resources/bird.png
+Activities/Level2/1Animals/2Sort/resources/frogSIL.png
+Activities/Level2/1Animals/2Sort/resources/fish.png
+Activities/Level2/1Animals/2Sort/resources/birdSIL.png
+Activities/Level2/1Animals/2Sort/resources/lizardSIL.png
+Activities/Level2/1Animals/2Sort/resources/frog.png
+Activities/Level2/1Animals/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/1Animals/2Sort/resources/fishSIL.png
+Activities/Level2/1Animals/2Sort/resources/lizard.png
+Activities/Level2/1Animals/1Sort/data.txt
+Activities/Level2/1Animals/1Sort/screens.txt
+Activities/Level2/1Animals/1Sort/ico.png
+Activities/Level2/1Animals/1Sort/settings.txt
+Activities/Level2/1Animals/1Sort/resources/dog.png
+Activities/Level2/1Animals/1Sort/resources/dogSIL.png
+Activities/Level2/1Animals/1Sort/resources/horseSIL.png
+Activities/Level2/1Animals/1Sort/resources/bearSIL.png
+Activities/Level2/1Animals/1Sort/resources/bear.png
+Activities/Level2/1Animals/1Sort/resources/horse.png
+Activities/Level2/1Animals/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/1Animals/1Sort/resources/cat.png
+Activities/Level2/1Animals/1Sort/resources/catSIL.png
+Activities/Level2/4Weather/ico.png
+Activities/Level2/4Weather/unitMarker.png
+Activities/Level2/4Weather/btn_act.bmp
+Activities/Level2/4Weather/btn_act.png
+Activities/Level2/4Weather/sounds/bing.ogg
+Activities/Level2/4Weather/sounds/snow.ogg
+Activities/Level2/4Weather/sounds/rainbowblack.ogg
+Activities/Level2/4Weather/sounds/Twinkle.ogg
+Activities/Level2/4Weather/sounds/snowwhite.ogg
+Activities/Level2/4Weather/sounds/starsred.ogg
+Activities/Level2/4Weather/sounds/whatisit.ogg
+Activities/Level2/4Weather/sounds/lightningyellow.ogg
+Activities/Level2/4Weather/sounds/chord.ogg
+Activities/Level2/4Weather/sounds/rain.ogg
+Activities/Level2/4Weather/sounds/sun.ogg
+Activities/Level2/4Weather/sounds/moon.ogg
+Activities/Level2/4Weather/sounds/itisacloud.ogg
+Activities/Level2/4Weather/sounds/itislightning.ogg
+Activities/Level2/4Weather/sounds/itisarainbow.ogg
+Activities/Level2/4Weather/sounds/unitSound.ogg
+Activities/Level2/4Weather/sounds/cloud.ogg
+Activities/Level2/4Weather/sounds/moonblue.ogg
+Activities/Level2/4Weather/sounds/itissnow.ogg
+Activities/Level2/4Weather/sounds/raingreen.ogg
+Activities/Level2/4Weather/sounds/lightning.ogg
+Activities/Level2/4Weather/sounds/rainbow.ogg
+Activities/Level2/4Weather/sounds/sunorange.ogg
+Activities/Level2/4Weather/sounds/ding.ogg
+Activities/Level2/4Weather/sounds/itisrain.ogg
+Activities/Level2/4Weather/sounds/whatarethey.ogg
+Activities/Level2/4Weather/sounds/theyarestars.ogg
+Activities/Level2/4Weather/sounds/whatisit_f.ogg
+Activities/Level2/4Weather/sounds/itisthesun.ogg
+Activities/Level2/4Weather/sounds/rainpurple.ogg
+Activities/Level2/4Weather/sounds/stars.ogg
+Activities/Level2/4Weather/sounds/cloudpurple.ogg
+Activities/Level2/4Weather/sounds/itistherain.ogg
+Activities/Level2/4Weather/sounds/itisthemoon.ogg
+Activities/Level2/4Weather/6Concentrate/data.txt
+Activities/Level2/4Weather/6Concentrate/ico.png
+Activities/Level2/4Weather/6Concentrate/screen.txt
+Activities/Level2/4Weather/6Concentrate/settings.txt
+Activities/Level2/4Weather/6Concentrate/resources/snow1.png
+Activities/Level2/4Weather/6Concentrate/resources/snow2.png
+Activities/Level2/4Weather/6Concentrate/resources/_BackFace.png
+Activities/Level2/4Weather/6Concentrate/resources/rainbow1.png
+Activities/Level2/4Weather/6Concentrate/resources/rainbow2.png
+Activities/Level2/4Weather/6Concentrate/resources/cloud1.png
+Activities/Level2/4Weather/6Concentrate/resources/cloud2.png
+Activities/Level2/4Weather/6Concentrate/resources/conc_08_mono.jpg
+Activities/Level2/4Weather/6Concentrate/resources/rain1.png
+Activities/Level2/4Weather/6Concentrate/resources/rain2.png
+Activities/Level2/4Weather/6Concentrate/resources/sun1.png
+Activities/Level2/4Weather/6Concentrate/resources/sun2.png
+Activities/Level2/4Weather/6Concentrate/resources/moon1.png
+Activities/Level2/4Weather/6Concentrate/resources/moon2.png
+Activities/Level2/4Weather/6Concentrate/resources/stars1.png
+Activities/Level2/4Weather/6Concentrate/resources/stars2.png
+Activities/Level2/4Weather/6Concentrate/resources/conc_08_color.jpg
+Activities/Level2/4Weather/6Concentrate/resources/lightning1.png
+Activities/Level2/4Weather/6Concentrate/resources/lightning2.png
+Activities/Level2/4Weather/9MultipleC/data.txt
+Activities/Level2/4Weather/9MultipleC/screens.txt
+Activities/Level2/4Weather/9MultipleC/ico.png
+Activities/Level2/4Weather/9MultipleC/settings.txt
+Activities/Level2/4Weather/9MultipleC/resources/moon.png
+Activities/Level2/4Weather/9MultipleC/resources/cloud.png
+Activities/Level2/4Weather/9MultipleC/resources/rain1.png
+Activities/Level2/4Weather/9MultipleC/resources/rain2.png
+Activities/Level2/4Weather/9MultipleC/resources/rainbow.png
+Activities/Level2/4Weather/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/4Weather/9MultipleC/resources/cara_triste_anim.png
+Activities/Level2/4Weather/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/4Weather/9MultipleC/resources/lightning1.png
+Activities/Level2/4Weather/9MultipleC/resources/lightning2.png
+Activities/Level2/4Weather/8Match/data.txt
+Activities/Level2/4Weather/8Match/screens.txt
+Activities/Level2/4Weather/8Match/ico.png
+Activities/Level2/4Weather/8Match/settings.txt
+Activities/Level2/4Weather/8Match/resources/moonTXT.png
+Activities/Level2/4Weather/8Match/resources/lightningTXT.png
+Activities/Level2/4Weather/8Match/resources/rain.png
+Activities/Level2/4Weather/8Match/resources/moon.png
+Activities/Level2/4Weather/8Match/resources/rainTXT.png
+Activities/Level2/4Weather/8Match/resources/cloud.png
+Activities/Level2/4Weather/8Match/resources/lightning.png
+Activities/Level2/4Weather/8Match/resources/starsTXT.png
+Activities/Level2/4Weather/8Match/resources/stars.png
+Activities/Level2/4Weather/8Match/resources/cloudTXT.png
+Activities/Level2/4Weather/4Paint/data.txt
+Activities/Level2/4Weather/4Paint/screens.txt
+Activities/Level2/4Weather/4Paint/ico.png
+Activities/Level2/4Weather/4Paint/settings.txt
+Activities/Level2/4Weather/4Paint/resources/snow.png
+Activities/Level2/4Weather/4Paint/resources/rain.png
+Activities/Level2/4Weather/4Paint/resources/sun.png
+Activities/Level2/4Weather/4Paint/resources/moon.png
+Activities/Level2/4Weather/4Paint/resources/cloud.png
+Activities/Level2/4Weather/4Paint/resources/lightning.png
+Activities/Level2/4Weather/4Paint/resources/rainbow.png
+Activities/Level2/4Weather/4Paint/resources/stars.png
+Activities/Level2/4Weather/3Match/data.txt
+Activities/Level2/4Weather/3Match/screens.txt
+Activities/Level2/4Weather/3Match/ico.png
+Activities/Level2/4Weather/3Match/settings.txt
+Activities/Level2/4Weather/3Match/resources/snow.png
+Activities/Level2/4Weather/3Match/resources/sun.png
+Activities/Level2/4Weather/3Match/resources/snowTXT.png
+Activities/Level2/4Weather/3Match/resources/cloud.png
+Activities/Level2/4Weather/3Match/resources/sunTXT.png
+Activities/Level2/4Weather/3Match/resources/rainbow.png
+Activities/Level2/4Weather/3Match/resources/rainbowTXT.png
+Activities/Level2/4Weather/3Match/resources/starsTXT.png
+Activities/Level2/4Weather/3Match/resources/stars.png
+Activities/Level2/4Weather/3Match/resources/cloudTXT.png
+Activities/Level2/4Weather/5MultipleC/data.txt
+Activities/Level2/4Weather/5MultipleC/screens.txt
+Activities/Level2/4Weather/5MultipleC/ico.png
+Activities/Level2/4Weather/5MultipleC/settings.txt
+Activities/Level2/4Weather/5MultipleC/resources/cloud1.png
+Activities/Level2/4Weather/5MultipleC/resources/cloud2.png
+Activities/Level2/4Weather/5MultipleC/resources/rain.png
+Activities/Level2/4Weather/5MultipleC/resources/sun.png
+Activities/Level2/4Weather/5MultipleC/resources/lightning.png
+Activities/Level2/4Weather/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/4Weather/5MultipleC/resources/cara_triste_anim.png
+Activities/Level2/4Weather/5MultipleC/resources/stars1.png
+Activities/Level2/4Weather/5MultipleC/resources/stars2.png
+Activities/Level2/4Weather/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/4Weather/7DragnDrop/data.txt
+Activities/Level2/4Weather/7DragnDrop/screens.txt
+Activities/Level2/4Weather/7DragnDrop/ico.png
+Activities/Level2/4Weather/7DragnDrop/settings.txt
+Activities/Level2/4Weather/7DragnDrop/resources/snow.png
+Activities/Level2/4Weather/7DragnDrop/resources/rain.png
+Activities/Level2/4Weather/7DragnDrop/resources/sun.png
+Activities/Level2/4Weather/7DragnDrop/resources/moon.png
+Activities/Level2/4Weather/7DragnDrop/resources/lightning.png
+Activities/Level2/4Weather/7DragnDrop/resources/icono_play.png
+Activities/Level2/4Weather/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/4Weather/2Sort/data.txt
+Activities/Level2/4Weather/2Sort/screens.txt
+Activities/Level2/4Weather/2Sort/ico.png
+Activities/Level2/4Weather/2Sort/settings.txt
+Activities/Level2/4Weather/2Sort/resources/snow.png
+Activities/Level2/4Weather/2Sort/resources/lightningSIL.png
+Activities/Level2/4Weather/2Sort/resources/snowSIL.png
+Activities/Level2/4Weather/2Sort/resources/rainSIL.png
+Activities/Level2/4Weather/2Sort/resources/rain.png
+Activities/Level2/4Weather/2Sort/resources/cloud.png
+Activities/Level2/4Weather/2Sort/resources/lightning.png
+Activities/Level2/4Weather/2Sort/resources/cloudSIL.png
+Activities/Level2/4Weather/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/4Weather/1Sort/data.txt
+Activities/Level2/4Weather/1Sort/screens.txt
+Activities/Level2/4Weather/1Sort/ico.png
+Activities/Level2/4Weather/1Sort/settings.txt
+Activities/Level2/4Weather/1Sort/resources/sun.png
+Activities/Level2/4Weather/1Sort/resources/moon.png
+Activities/Level2/4Weather/1Sort/resources/sunSIL.png
+Activities/Level2/4Weather/1Sort/resources/rainbowSIL.png
+Activities/Level2/4Weather/1Sort/resources/rainbow.png
+Activities/Level2/4Weather/1Sort/resources/starsSIL.png
+Activities/Level2/4Weather/1Sort/resources/moonSIL.png
+Activities/Level2/4Weather/1Sort/resources/stars.png
+Activities/Level2/4Weather/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/2Actions/ico.png
+Activities/Level2/2Actions/unitMarker.png
+Activities/Level2/2Actions/btn_act.bmp
+Activities/Level2/2Actions/btn_act.png
+Activities/Level2/2Actions/sounds/bing.ogg
+Activities/Level2/2Actions/sounds/colorhergreen.ogg
+Activities/Level2/2Actions/sounds/Twinkle.ogg
+Activities/Level2/2Actions/sounds/eat.ogg
+Activities/Level2/2Actions/sounds/colorheryellow.ogg
+Activities/Level2/2Actions/sounds/colorhimpurple.ogg
+Activities/Level2/2Actions/sounds/colorherred.ogg
+Activities/Level2/2Actions/sounds/run.ogg
+Activities/Level2/2Actions/sounds/chord.ogg
+Activities/Level2/2Actions/sounds/hejumps.ogg
+Activities/Level2/2Actions/sounds/walk.ogg
+Activities/Level2/2Actions/sounds/colorhimred.ogg
+Activities/Level2/2Actions/sounds/shejumps.ogg
+Activities/Level2/2Actions/sounds/jump.ogg
+Activities/Level2/2Actions/sounds/colorhimblack.ogg
+Activities/Level2/2Actions/sounds/sheruns.ogg
+Activities/Level2/2Actions/sounds/colorhimorange.ogg
+Activities/Level2/2Actions/sounds/colorherblue.ogg
+Activities/Level2/2Actions/sounds/colorhimblue.ogg
+Activities/Level2/2Actions/sounds/colorhimgreen.ogg
+Activities/Level2/2Actions/sounds/unitSound.ogg
+Activities/Level2/2Actions/sounds/heruns.ogg
+Activities/Level2/2Actions/sounds/play.ogg
+Activities/Level2/2Actions/sounds/heplays.ogg
+Activities/Level2/2Actions/sounds/sheeats.ogg
+Activities/Level2/2Actions/sounds/sheplays.ogg
+Activities/Level2/2Actions/sounds/colorherwhite.ogg
+Activities/Level2/2Actions/sounds/heeats.ogg
+Activities/Level2/2Actions/sounds/colorhimyellow.ogg
+Activities/Level2/2Actions/sounds/ding.ogg
+Activities/Level2/2Actions/sounds/herides.ogg
+Activities/Level2/2Actions/sounds/sleep.ogg
+Activities/Level2/2Actions/sounds/colorherpurple.ogg
+Activities/Level2/2Actions/sounds/shesleeps.ogg
+Activities/Level2/2Actions/sounds/sherides.ogg
+Activities/Level2/2Actions/sounds/hesleeps.ogg
+Activities/Level2/2Actions/sounds/ride.ogg
+Activities/Level2/2Actions/sounds/hewalks.ogg
+Activities/Level2/2Actions/sounds/colorhimwhite.ogg
+Activities/Level2/2Actions/sounds/colorherorange.ogg
+Activities/Level2/2Actions/sounds/stand.ogg
+Activities/Level2/2Actions/sounds/shewalks.ogg
+Activities/Level2/2Actions/sounds/shestands.ogg
+Activities/Level2/2Actions/sounds/hestands.ogg
+Activities/Level2/2Actions/sounds/colorherblack.ogg
+Activities/Level2/2Actions/6Concentrate/data.txt
+Activities/Level2/2Actions/6Concentrate/ico.png
+Activities/Level2/2Actions/6Concentrate/screen.txt
+Activities/Level2/2Actions/6Concentrate/settings.txt
+Activities/Level2/2Actions/6Concentrate/resources/conc_06_color.jpg
+Activities/Level2/2Actions/6Concentrate/resources/conc_06_mono.jpg
+Activities/Level2/2Actions/6Concentrate/resources/play1.png
+Activities/Level2/2Actions/6Concentrate/resources/play2.png
+Activities/Level2/2Actions/6Concentrate/resources/sleep1.png
+Activities/Level2/2Actions/6Concentrate/resources/sleep2.png
+Activities/Level2/2Actions/6Concentrate/resources/_BackFace.png
+Activities/Level2/2Actions/6Concentrate/resources/stand1.png
+Activities/Level2/2Actions/6Concentrate/resources/stand2.png
+Activities/Level2/2Actions/6Concentrate/resources/ride1.png
+Activities/Level2/2Actions/6Concentrate/resources/ride2.png
+Activities/Level2/2Actions/6Concentrate/resources/walk1.png
+Activities/Level2/2Actions/6Concentrate/resources/walk2.png
+Activities/Level2/2Actions/6Concentrate/resources/run1.png
+Activities/Level2/2Actions/6Concentrate/resources/run2.png
+Activities/Level2/2Actions/6Concentrate/resources/eat1.png
+Activities/Level2/2Actions/6Concentrate/resources/eat2.png
+Activities/Level2/2Actions/6Concentrate/resources/jump1.png
+Activities/Level2/2Actions/6Concentrate/resources/jump2.png
+Activities/Level2/2Actions/9MultipleC/data.txt
+Activities/Level2/2Actions/9MultipleC/screens.txt
+Activities/Level2/2Actions/9MultipleC/ico.png
+Activities/Level2/2Actions/9MultipleC/settings.txt
+Activities/Level2/2Actions/9MultipleC/resources/girljump.png
+Activities/Level2/2Actions/9MultipleC/resources/boysleep.png
+Activities/Level2/2Actions/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/2Actions/9MultipleC/resources/girlsleep.png
+Activities/Level2/2Actions/9MultipleC/resources/girleat.png
+Activities/Level2/2Actions/9MultipleC/resources/cara_triste_anim.png
+Activities/Level2/2Actions/9MultipleC/resources/boyride.png
+Activities/Level2/2Actions/9MultipleC/resources/girlrun.png
+Activities/Level2/2Actions/9MultipleC/resources/boyeat.png
+Activities/Level2/2Actions/9MultipleC/resources/boyrun.png
+Activities/Level2/2Actions/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/2Actions/8Match/data.txt
+Activities/Level2/2Actions/8Match/screens.txt
+Activities/Level2/2Actions/8Match/ico.png
+Activities/Level2/2Actions/8Match/settings.txt
+Activities/Level2/2Actions/8Match/resources/playTXT.png
+Activities/Level2/2Actions/8Match/resources/standTXT.png
+Activities/Level2/2Actions/8Match/resources/girlwalk.png
+Activities/Level2/2Actions/8Match/resources/boyplay.png
+Activities/Level2/2Actions/8Match/resources/eatTXT.png
+Activities/Level2/2Actions/8Match/resources/boystand.png
+Activities/Level2/2Actions/8Match/resources/walkTXT.png
+Activities/Level2/2Actions/8Match/resources/girlrun.png
+Activities/Level2/2Actions/8Match/resources/boyeat.png
+Activities/Level2/2Actions/8Match/resources/runTXT.png
+Activities/Level2/2Actions/4Paint/data.txt
+Activities/Level2/2Actions/4Paint/screens.txt
+Activities/Level2/2Actions/4Paint/ico.png
+Activities/Level2/2Actions/4Paint/settings.txt
+Activities/Level2/2Actions/4Paint/resources/eat.png
+Activities/Level2/2Actions/4Paint/resources/run.png
+Activities/Level2/2Actions/4Paint/resources/walk.png
+Activities/Level2/2Actions/4Paint/resources/jump.png
+Activities/Level2/2Actions/4Paint/resources/play.png
+Activities/Level2/2Actions/4Paint/resources/sleep.png
+Activities/Level2/2Actions/4Paint/resources/ride.png
+Activities/Level2/2Actions/4Paint/resources/stand.png
+Activities/Level2/2Actions/3Match/data.txt
+Activities/Level2/2Actions/3Match/screens.txt
+Activities/Level2/2Actions/3Match/ico.png
+Activities/Level2/2Actions/3Match/settings.txt
+Activities/Level2/2Actions/3Match/resources/girljump.png
+Activities/Level2/2Actions/3Match/resources/rideTXT.png
+Activities/Level2/2Actions/3Match/resources/jumpTXT.png
+Activities/Level2/2Actions/3Match/resources/eatTXT.png
+Activities/Level2/2Actions/3Match/resources/boysleep.png
+Activities/Level2/2Actions/3Match/resources/girlride.png
+Activities/Level2/2Actions/3Match/resources/girleat.png
+Activities/Level2/2Actions/3Match/resources/sleepTXT.png
+Activities/Level2/2Actions/3Match/resources/boyrun.png
+Activities/Level2/2Actions/3Match/resources/runTXT.png
+Activities/Level2/2Actions/5MultipleC/data.txt
+Activities/Level2/2Actions/5MultipleC/screens.txt
+Activities/Level2/2Actions/5MultipleC/ico.png
+Activities/Level2/2Actions/5MultipleC/settings.txt
+Activities/Level2/2Actions/5MultipleC/resources/boyjump.png
+Activities/Level2/2Actions/5MultipleC/resources/girlplay.png
+Activities/Level2/2Actions/5MultipleC/resources/boyplay.png
+Activities/Level2/2Actions/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level2/2Actions/5MultipleC/resources/girleat.png
+Activities/Level2/2Actions/5MultipleC/resources/cara_triste_anim.png
+Activities/Level2/2Actions/5MultipleC/resources/boyride.png
+Activities/Level2/2Actions/5MultipleC/resources/girlstand.png
+Activities/Level2/2Actions/5MultipleC/resources/boyrun.png
+Activities/Level2/2Actions/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/2Actions/7DragnDrop/data.txt
+Activities/Level2/2Actions/7DragnDrop/screens.txt
+Activities/Level2/2Actions/7DragnDrop/ico.png
+Activities/Level2/2Actions/7DragnDrop/settings.txt
+Activities/Level2/2Actions/7DragnDrop/resources/manride.png
+Activities/Level2/2Actions/7DragnDrop/resources/girlsleep.png
+Activities/Level2/2Actions/7DragnDrop/resources/girleat.png
+Activities/Level2/2Actions/7DragnDrop/resources/icono_play.png
+Activities/Level2/2Actions/7DragnDrop/resources/girlrun.png
+Activities/Level2/2Actions/7DragnDrop/resources/girlstand.png
+Activities/Level2/2Actions/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/2Actions/2Sort/data.txt
+Activities/Level2/2Actions/2Sort/screens.txt
+Activities/Level2/2Actions/2Sort/ico.png
+Activities/Level2/2Actions/2Sort/settings.txt
+Activities/Level2/2Actions/2Sort/resources/girlrideSIL.png
+Activities/Level2/2Actions/2Sort/resources/boyplay.png
+Activities/Level2/2Actions/2Sort/resources/boyeatSIL.png
+Activities/Level2/2Actions/2Sort/resources/boyplaySIL.png
+Activities/Level2/2Actions/2Sort/resources/girlride.png
+Activities/Level2/2Actions/2Sort/resources/girlsleep.png
+Activities/Level2/2Actions/2Sort/resources/boyeat.png
+Activities/Level2/2Actions/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level2/2Actions/2Sort/resources/girlsleepSIL.png
+Activities/Level2/2Actions/1Sort/data.txt
+Activities/Level2/2Actions/1Sort/screens.txt
+Activities/Level2/2Actions/1Sort/ico.png
+Activities/Level2/2Actions/1Sort/settings.txt
+Activities/Level2/2Actions/1Sort/resources/girlrunSIL.png
+Activities/Level2/2Actions/1Sort/resources/boywalkSIL.png
+Activities/Level2/2Actions/1Sort/resources/boywalk.png
+Activities/Level2/2Actions/1Sort/resources/boyjump.png
+Activities/Level2/2Actions/1Sort/resources/girlstandSIL.png
+Activities/Level2/2Actions/1Sort/resources/girlrun.png
+Activities/Level2/2Actions/1Sort/resources/boyjumpSIL.png
+Activities/Level2/2Actions/1Sort/resources/girlstand.png
+Activities/Level2/2Actions/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/menu_fdo_act.png
+Activities/Level1/ico.png
+Activities/Level1/btn_unit.png
+Activities/Level1/ico_grande.png
+Activities/Level1/4Clothes/ico.png
+Activities/Level1/4Clothes/unitMarker.png
+Activities/Level1/4Clothes/btn_act.bmp
+Activities/Level1/4Clothes/btn_act.png
+Activities/Level1/4Clothes/sounds/bing.ogg
+Activities/Level1/4Clothes/sounds/pantspurple.ogg
+Activities/Level1/4Clothes/sounds/Twinkle.ogg
+Activities/Level1/4Clothes/sounds/red.ogg
+Activities/Level1/4Clothes/sounds/shoesblack.ogg
+Activities/Level1/4Clothes/sounds/purple.ogg
+Activities/Level1/4Clothes/sounds/chord.ogg
+Activities/Level1/4Clothes/sounds/shoes.ogg
+Activities/Level1/4Clothes/sounds/skirt.ogg
+Activities/Level1/4Clothes/sounds/blue.ogg
+Activities/Level1/4Clothes/sounds/pants.ogg
+Activities/Level1/4Clothes/sounds/orange.ogg
+Activities/Level1/4Clothes/sounds/hat.ogg
+Activities/Level1/4Clothes/sounds/sweaterwhite.ogg
+Activities/Level1/4Clothes/sounds/unitSound.ogg
+Activities/Level1/4Clothes/sounds/blouseorange.ogg
+Activities/Level1/4Clothes/sounds/black.ogg
+Activities/Level1/4Clothes/sounds/shirtblue.ogg
+Activities/Level1/4Clothes/sounds/skirtgreen.ogg
+Activities/Level1/4Clothes/sounds/green.ogg
+Activities/Level1/4Clothes/sounds/yellow.ogg
+Activities/Level1/4Clothes/sounds/hatred.ogg
+Activities/Level1/4Clothes/sounds/shoe.ogg
+Activities/Level1/4Clothes/sounds/skirts.ogg
+Activities/Level1/4Clothes/sounds/ding.ogg
+Activities/Level1/4Clothes/sounds/blouse.ogg
+Activities/Level1/4Clothes/sounds/socksyellow.ogg
+Activities/Level1/4Clothes/sounds/shirt.ogg
+Activities/Level1/4Clothes/sounds/sweater.ogg
+Activities/Level1/4Clothes/sounds/socks.ogg
+Activities/Level1/4Clothes/sounds/white.ogg
+Activities/Level1/4Clothes/sounds/sock.ogg
+Activities/Level1/4Clothes/6Concentrate/data.txt
+Activities/Level1/4Clothes/6Concentrate/ico.png
+Activities/Level1/4Clothes/6Concentrate/screen.txt
+Activities/Level1/4Clothes/6Concentrate/settings.txt
+Activities/Level1/4Clothes/6Concentrate/resources/shoe1.png
+Activities/Level1/4Clothes/6Concentrate/resources/shoe2.png
+Activities/Level1/4Clothes/6Concentrate/resources/shirt1.png
+Activities/Level1/4Clothes/6Concentrate/resources/shirt2.png
+Activities/Level1/4Clothes/6Concentrate/resources/_BackFace.png
+Activities/Level1/4Clothes/6Concentrate/resources/hat1.png
+Activities/Level1/4Clothes/6Concentrate/resources/hat2.png
+Activities/Level1/4Clothes/6Concentrate/resources/sweater1.png
+Activities/Level1/4Clothes/6Concentrate/resources/sweater2.png
+Activities/Level1/4Clothes/6Concentrate/resources/conc_04_color.jpg
+Activities/Level1/4Clothes/6Concentrate/resources/skirt1.png
+Activities/Level1/4Clothes/6Concentrate/resources/skirt2.png
+Activities/Level1/4Clothes/6Concentrate/resources/blouse1.png
+Activities/Level1/4Clothes/6Concentrate/resources/blouse2.png
+Activities/Level1/4Clothes/6Concentrate/resources/conc_04_mono.jpg
+Activities/Level1/4Clothes/6Concentrate/resources/sock1.png
+Activities/Level1/4Clothes/6Concentrate/resources/sock2.png
+Activities/Level1/4Clothes/6Concentrate/resources/pants1.png
+Activities/Level1/4Clothes/6Concentrate/resources/pants2.png
+Activities/Level1/4Clothes/9MultipleC/data.txt
+Activities/Level1/4Clothes/9MultipleC/screens.txt
+Activities/Level1/4Clothes/9MultipleC/ico.png
+Activities/Level1/4Clothes/9MultipleC/settings.txt
+Activities/Level1/4Clothes/9MultipleC/resources/shoes.png
+Activities/Level1/4Clothes/9MultipleC/resources/skirt.png
+Activities/Level1/4Clothes/9MultipleC/resources/pants.png
+Activities/Level1/4Clothes/9MultipleC/resources/hat.png
+Activities/Level1/4Clothes/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/4Clothes/9MultipleC/resources/blouse.png
+Activities/Level1/4Clothes/9MultipleC/resources/cara_triste_anim.png
+Activities/Level1/4Clothes/9MultipleC/resources/shirt.png
+Activities/Level1/4Clothes/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/4Clothes/9MultipleC/resources/sweater.png
+Activities/Level1/4Clothes/9MultipleC/resources/socks.png
+Activities/Level1/4Clothes/8Match/data.txt
+Activities/Level1/4Clothes/8Match/screens.txt
+Activities/Level1/4Clothes/8Match/ico.png
+Activities/Level1/4Clothes/8Match/settings.txt
+Activities/Level1/4Clothes/8Match/resources/shoes.png
+Activities/Level1/4Clothes/8Match/resources/skirt.png
+Activities/Level1/4Clothes/8Match/resources/pants.png
+Activities/Level1/4Clothes/8Match/resources/socksTXT.png
+Activities/Level1/4Clothes/8Match/resources/skirtTXT.png
+Activities/Level1/4Clothes/8Match/resources/shirtTXT.png
+Activities/Level1/4Clothes/8Match/resources/shirt.png
+Activities/Level1/4Clothes/8Match/resources/pantsTXT.png
+Activities/Level1/4Clothes/8Match/resources/socks.png
+Activities/Level1/4Clothes/8Match/resources/shoesTXT.png
+Activities/Level1/4Clothes/4Paint/data.txt
+Activities/Level1/4Clothes/4Paint/screens.txt
+Activities/Level1/4Clothes/4Paint/ico.png
+Activities/Level1/4Clothes/4Paint/settings.txt
+Activities/Level1/4Clothes/4Paint/resources/shoes.png
+Activities/Level1/4Clothes/4Paint/resources/skirt.png
+Activities/Level1/4Clothes/4Paint/resources/pants.png
+Activities/Level1/4Clothes/4Paint/resources/hat.png
+Activities/Level1/4Clothes/4Paint/resources/blouse.png
+Activities/Level1/4Clothes/4Paint/resources/shirt.png
+Activities/Level1/4Clothes/4Paint/resources/sweater.png
+Activities/Level1/4Clothes/4Paint/resources/socks.png
+Activities/Level1/4Clothes/4Paint/resources/boygirl.png
+Activities/Level1/4Clothes/3Match/data.txt
+Activities/Level1/4Clothes/3Match/screens.txt
+Activities/Level1/4Clothes/3Match/ico.png
+Activities/Level1/4Clothes/3Match/settings.txt
+Activities/Level1/4Clothes/3Match/resources/shoeTXT.png
+Activities/Level1/4Clothes/3Match/resources/hatTXT.png
+Activities/Level1/4Clothes/3Match/resources/pants.png
+Activities/Level1/4Clothes/3Match/resources/hat.png
+Activities/Level1/4Clothes/3Match/resources/blouseTXT.png
+Activities/Level1/4Clothes/3Match/resources/shoe.png
+Activities/Level1/4Clothes/3Match/resources/sweaterTXT.png
+Activities/Level1/4Clothes/3Match/resources/blouse.png
+Activities/Level1/4Clothes/3Match/resources/pantsTXT.png
+Activities/Level1/4Clothes/3Match/resources/sweater.png
+Activities/Level1/4Clothes/5MultipleC/data.txt
+Activities/Level1/4Clothes/5MultipleC/screens.txt
+Activities/Level1/4Clothes/5MultipleC/ico.png
+Activities/Level1/4Clothes/5MultipleC/settings.txt
+Activities/Level1/4Clothes/5MultipleC/resources/boypants.png
+Activities/Level1/4Clothes/5MultipleC/resources/girlshoes.png
+Activities/Level1/4Clothes/5MultipleC/resources/girlskirt.png
+Activities/Level1/4Clothes/5MultipleC/resources/boyshirt.png
+Activities/Level1/4Clothes/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/4Clothes/5MultipleC/resources/boysocks.png
+Activities/Level1/4Clothes/5MultipleC/resources/cara_triste_anim.png
+Activities/Level1/4Clothes/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/4Clothes/5MultipleC/resources/girlblouse.png
+Activities/Level1/4Clothes/7DragnDrop/data.txt
+Activities/Level1/4Clothes/7DragnDrop/screens.txt
+Activities/Level1/4Clothes/7DragnDrop/ico.png
+Activities/Level1/4Clothes/7DragnDrop/settings.txt
+Activities/Level1/4Clothes/7DragnDrop/resources/skirt.png
+Activities/Level1/4Clothes/7DragnDrop/resources/hat.png
+Activities/Level1/4Clothes/7DragnDrop/resources/shoe.png
+Activities/Level1/4Clothes/7DragnDrop/resources/icono_play.png
+Activities/Level1/4Clothes/7DragnDrop/resources/shirt.png
+Activities/Level1/4Clothes/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/4Clothes/7DragnDrop/resources/sock.png
+Activities/Level1/4Clothes/2Sort/data.txt
+Activities/Level1/4Clothes/2Sort/screens.txt
+Activities/Level1/4Clothes/2Sort/ico.png
+Activities/Level1/4Clothes/2Sort/settings.txt
+Activities/Level1/4Clothes/2Sort/resources/girl.png
+Activities/Level1/4Clothes/2Sort/resources/hatSIL.png
+Activities/Level1/4Clothes/2Sort/resources/skirtSIL.png
+Activities/Level1/4Clothes/2Sort/resources/skirt.png
+Activities/Level1/4Clothes/2Sort/resources/blouseSIL.png
+Activities/Level1/4Clothes/2Sort/resources/hat.png
+Activities/Level1/4Clothes/2Sort/resources/sweaterSIL.png
+Activities/Level1/4Clothes/2Sort/resources/blouse.png
+Activities/Level1/4Clothes/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/4Clothes/2Sort/resources/sweater.png
+Activities/Level1/4Clothes/1Sort/data.txt
+Activities/Level1/4Clothes/1Sort/screens.txt
+Activities/Level1/4Clothes/1Sort/ico.png
+Activities/Level1/4Clothes/1Sort/settings.txt
+Activities/Level1/4Clothes/1Sort/resources/socksSIL.png
+Activities/Level1/4Clothes/1Sort/resources/shoes.png
+Activities/Level1/4Clothes/1Sort/resources/pants.png
+Activities/Level1/4Clothes/1Sort/resources/shirtSIL.png
+Activities/Level1/4Clothes/1Sort/resources/pantsSIL.png
+Activities/Level1/4Clothes/1Sort/resources/shoesSIL.png
+Activities/Level1/4Clothes/1Sort/resources/shirt.png
+Activities/Level1/4Clothes/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/4Clothes/1Sort/resources/socks.png
+Activities/Level1/4Clothes/1Sort/resources/boy.png
+Activities/Level1/1Colors/ico.png
+Activities/Level1/1Colors/unitMarker.png
+Activities/Level1/1Colors/btn_act.png
+Activities/Level1/1Colors/sounds/bing.ogg
+Activities/Level1/1Colors/sounds/Twinkle.ogg
+Activities/Level1/1Colors/sounds/red.ogg
+Activities/Level1/1Colors/sounds/purple.ogg
+Activities/Level1/1Colors/sounds/chord.ogg
+Activities/Level1/1Colors/sounds/blue.ogg
+Activities/Level1/1Colors/sounds/orange.ogg
+Activities/Level1/1Colors/sounds/unitSound.ogg
+Activities/Level1/1Colors/sounds/black.ogg
+Activities/Level1/1Colors/sounds/green.ogg
+Activities/Level1/1Colors/sounds/yellow.ogg
+Activities/Level1/1Colors/sounds/ding.ogg
+Activities/Level1/1Colors/sounds/white.ogg
+Activities/Level1/1Colors/9MultipleC/data.txt
+Activities/Level1/1Colors/9MultipleC/Thumbs.db
+Activities/Level1/1Colors/9MultipleC/screens.txt
+Activities/Level1/1Colors/9MultipleC/ico.png
+Activities/Level1/1Colors/9MultipleC/settings.txt
+Activities/Level1/1Colors/9MultipleC/resources/autoblanco.png
+Activities/Level1/1Colors/9MultipleC/resources/ballenaazul.png
+Activities/Level1/1Colors/9MultipleC/resources/pajarorojo.png
+Activities/Level1/1Colors/9MultipleC/resources/tractornaranja.png
+Activities/Level1/1Colors/9MultipleC/resources/limaverde.png
+Activities/Level1/1Colors/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/1Colors/9MultipleC/resources/zapatillaazul.png
+Activities/Level1/1Colors/9MultipleC/resources/cara_triste_anim.png
+Activities/Level1/1Colors/9MultipleC/resources/conejoblanco.png
+Activities/Level1/1Colors/9MultipleC/resources/camionamarillo.png
+Activities/Level1/1Colors/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/1Colors/8ColorPaint/data.txt
+Activities/Level1/1Colors/8ColorPaint/Thumbs.db
+Activities/Level1/1Colors/8ColorPaint/screens.txt
+Activities/Level1/1Colors/8ColorPaint/ico.png
+Activities/Level1/1Colors/8ColorPaint/settings.txt
+Activities/Level1/1Colors/8ColorPaint/resources/libro.png
+Activities/Level1/1Colors/8ColorPaint/resources/automovil.png
+Activities/Level1/1Colors/8ColorPaint/resources/bandera.png
+Activities/Level1/1Colors/8ColorPaint/resources/flor.png
+Activities/Level1/1Colors/8ColorPaint/resources/remera.png
+Activities/Level1/1Colors/8ColorPaint/resources/vaso_de_jugo.png
+Activities/Level1/1Colors/8ColorPaint/resources/telefono.png
+Activities/Level1/1Colors/8ColorPaint/resources/caballo.png
+Activities/Level1/1Colors/6DragnDrop/data.txt
+Activities/Level1/1Colors/6DragnDrop/Thumbs.db
+Activities/Level1/1Colors/6DragnDrop/screens.txt
+Activities/Level1/1Colors/6DragnDrop/ico.png
+Activities/Level1/1Colors/6DragnDrop/settings.txt
+Activities/Level1/1Colors/6DragnDrop/resources/bicicleta_verde.png
+Activities/Level1/1Colors/6DragnDrop/resources/pajaro_naranja.png
+Activities/Level1/1Colors/6DragnDrop/resources/pez_rojo.png
+Activities/Level1/1Colors/6DragnDrop/resources/icono_play.png
+Activities/Level1/1Colors/6DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/1Colors/6DragnDrop/resources/taza_azul.png
+Activities/Level1/1Colors/6DragnDrop/resources/luna_amarilla.png
+Activities/Level1/1Colors/3Match/data.txt
+Activities/Level1/1Colors/3Match/Thumbs.db
+Activities/Level1/1Colors/3Match/screens.txt
+Activities/Level1/1Colors/3Match/ico.png
+Activities/Level1/1Colors/3Match/settings.txt
+Activities/Level1/1Colors/3Match/resources/crayon_azul.png
+Activities/Level1/1Colors/3Match/resources/crayon_amarillo.png
+Activities/Level1/1Colors/3Match/resources/automovil_naranja.png
+Activities/Level1/1Colors/3Match/resources/pajaro_verde.png
+Activities/Level1/1Colors/3Match/resources/pajaro_verdeold.png
+Activities/Level1/1Colors/3Match/resources/circulo_azul.png
+Activities/Level1/1Colors/3Match/resources/cuadrado_rojo.png
+Activities/Level1/1Colors/3Match/resources/crayon_rojo.png
+Activities/Level1/1Colors/3Match/resources/crayon_naranja.png
+Activities/Level1/1Colors/3Match/resources/crayon_verde.png
+Activities/Level1/1Colors/3Match/resources/pajaro_amarillo.png
+Activities/Level1/1Colors/7Concentrate/data.txt
+Activities/Level1/1Colors/7Concentrate/Thumbs.db
+Activities/Level1/1Colors/7Concentrate/ico.png
+Activities/Level1/1Colors/7Concentrate/screen.txt
+Activities/Level1/1Colors/7Concentrate/settings.txt
+Activities/Level1/1Colors/7Concentrate/resources/cometanaranja.png
+Activities/Level1/1Colors/7Concentrate/resources/gallinaamarilla.png
+Activities/Level1/1Colors/7Concentrate/resources/_BackFace.png
+Activities/Level1/1Colors/7Concentrate/resources/sombreronegro.png
+Activities/Level1/1Colors/7Concentrate/resources/limonamarillo.png
+Activities/Level1/1Colors/7Concentrate/resources/diamanteverde.png
+Activities/Level1/1Colors/7Concentrate/resources/casaazul.png
+Activities/Level1/1Colors/7Concentrate/resources/diamanteverde2.png
+Activities/Level1/1Colors/7Concentrate/resources/estrellaverde.png
+Activities/Level1/1Colors/7Concentrate/resources/osoblanco.png
+Activities/Level1/1Colors/7Concentrate/resources/globonaranja.png
+Activities/Level1/1Colors/7Concentrate/resources/circulonegro.png
+Activities/Level1/1Colors/7Concentrate/resources/circulorojo.png
+Activities/Level1/1Colors/7Concentrate/resources/zapatillavioleta.png
+Activities/Level1/1Colors/7Concentrate/resources/conc_01_color.jpg
+Activities/Level1/1Colors/7Concentrate/resources/autovioleta.png
+Activities/Level1/1Colors/7Concentrate/resources/bicicletaroja.png
+Activities/Level1/1Colors/7Concentrate/resources/libroazul.png
+Activities/Level1/1Colors/7Concentrate/resources/lunablanca.png
+Activities/Level1/1Colors/7Concentrate/resources/conc_01_mono.jpg
+Activities/Level1/1Colors/5MultipleC/data.txt
+Activities/Level1/1Colors/5MultipleC/Thumbs.db
+Activities/Level1/1Colors/5MultipleC/screens.txt
+Activities/Level1/1Colors/5MultipleC/ico.png
+Activities/Level1/1Colors/5MultipleC/settings.txt
+Activities/Level1/1Colors/5MultipleC/resources/pez_verde.png
+Activities/Level1/1Colors/5MultipleC/resources/estrella_amarilla.png
+Activities/Level1/1Colors/5MultipleC/resources/caja_roja.png
+Activities/Level1/1Colors/5MultipleC/resources/oso_polar.png
+Activities/Level1/1Colors/5MultipleC/resources/bicicleta_roja.png
+Activities/Level1/1Colors/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/1Colors/5MultipleC/resources/cara_triste_anim.png
+Activities/Level1/1Colors/5MultipleC/resources/banana.png
+Activities/Level1/1Colors/5MultipleC/resources/casa_azul.png
+Activities/Level1/1Colors/5MultipleC/resources/estrella_azul.png
+Activities/Level1/1Colors/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/1Colors/4ColorPaint/data.txt
+Activities/Level1/1Colors/4ColorPaint/Thumbs.db
+Activities/Level1/1Colors/4ColorPaint/screens.txt
+Activities/Level1/1Colors/4ColorPaint/ico.png
+Activities/Level1/1Colors/4ColorPaint/settings.txt
+Activities/Level1/1Colors/4ColorPaint/resources/_pajaro.png
+Activities/Level1/1Colors/4ColorPaint/resources/_taza.png
+Activities/Level1/1Colors/4ColorPaint/resources/_lapiz.png
+Activities/Level1/1Colors/4ColorPaint/resources/_guitarra.png
+Activities/Level1/1Colors/4ColorPaint/resources/_automovil.png
+Activities/Level1/1Colors/4ColorPaint/resources/_reptil.png
+Activities/Level1/1Colors/2Sort/data.txt
+Activities/Level1/1Colors/2Sort/Thumbs.db
+Activities/Level1/1Colors/2Sort/screens.txt
+Activities/Level1/1Colors/2Sort/ico.png
+Activities/Level1/1Colors/2Sort/settings.txt
+Activities/Level1/1Colors/2Sort/resources/crayolavioleta.png
+Activities/Level1/1Colors/2Sort/resources/cajavioleta.png
+Activities/Level1/1Colors/2Sort/resources/crayolablanca.png
+Activities/Level1/1Colors/2Sort/resources/crayolanaranja.png
+Activities/Level1/1Colors/2Sort/resources/cajanaranja.png
+Activities/Level1/1Colors/2Sort/resources/cajanegra.png
+Activities/Level1/1Colors/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/1Colors/2Sort/resources/crayolanegra.png
+Activities/Level1/1Colors/2Sort/resources/cajablanca.png
+Activities/Level1/1Colors/1Sort/data.txt
+Activities/Level1/1Colors/1Sort/Thumbs.db
+Activities/Level1/1Colors/1Sort/screens.txt
+Activities/Level1/1Colors/1Sort/ico.png
+Activities/Level1/1Colors/1Sort/settings.txt
+Activities/Level1/1Colors/1Sort/resources/cajaverde.png
+Activities/Level1/1Colors/1Sort/resources/cajaroja.png
+Activities/Level1/1Colors/1Sort/resources/crayolaverde.png
+Activities/Level1/1Colors/1Sort/resources/crayolaamarilla.png
+Activities/Level1/1Colors/1Sort/resources/cajaazul.png
+Activities/Level1/1Colors/1Sort/resources/crayolaroja.png
+Activities/Level1/1Colors/1Sort/resources/cajaamarilla.png
+Activities/Level1/1Colors/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/1Colors/1Sort/resources/crayolaazul.png
+Activities/Level1/3Body/ico.png
+Activities/Level1/3Body/unitMarker.png
+Activities/Level1/3Body/btn_act.bmp
+Activities/Level1/3Body/btn_act.png
+Activities/Level1/3Body/sounds/bing.ogg
+Activities/Level1/3Body/sounds/Twinkle.ogg
+Activities/Level1/3Body/sounds/red.ogg
+Activities/Level1/3Body/sounds/nose.ogg
+Activities/Level1/3Body/sounds/mouth.ogg
+Activities/Level1/3Body/sounds/armyellow.ogg
+Activities/Level1/3Body/sounds/purple.ogg
+Activities/Level1/3Body/sounds/chord.ogg
+Activities/Level1/3Body/sounds/hand.ogg
+Activities/Level1/3Body/sounds/eye.ogg
+Activities/Level1/3Body/sounds/blue.ogg
+Activities/Level1/3Body/sounds/orange.ogg
+Activities/Level1/3Body/sounds/legyellow.ogg
+Activities/Level1/3Body/sounds/hands.ogg
+Activities/Level1/3Body/sounds/unitSound.ogg
+Activities/Level1/3Body/sounds/noseorange.ogg
+Activities/Level1/3Body/sounds/head.ogg
+Activities/Level1/3Body/sounds/black.ogg
+Activities/Level1/3Body/sounds/eyes.ogg
+Activities/Level1/3Body/sounds/green.ogg
+Activities/Level1/3Body/sounds/yellow.ogg
+Activities/Level1/3Body/sounds/eyegreen.ogg
+Activities/Level1/3Body/sounds/mouthred.ogg
+Activities/Level1/3Body/sounds/ding.ogg
+Activities/Level1/3Body/sounds/leg.ogg
+Activities/Level1/3Body/sounds/foot.ogg
+Activities/Level1/3Body/sounds/legs.ogg
+Activities/Level1/3Body/sounds/headwhite.ogg
+Activities/Level1/3Body/sounds/footblue.ogg
+Activities/Level1/3Body/sounds/arms.ogg
+Activities/Level1/3Body/sounds/handpurple.ogg
+Activities/Level1/3Body/sounds/arm.ogg
+Activities/Level1/3Body/sounds/white.ogg
+Activities/Level1/3Body/sounds/sounds/bing.ogg
+Activities/Level1/3Body/sounds/sounds/train.ogg
+Activities/Level1/3Body/sounds/sounds/Twinkle.ogg
+Activities/Level1/3Body/sounds/sounds/plane.ogg
+Activities/Level1/3Body/sounds/sounds/itisacar.ogg
+Activities/Level1/3Body/sounds/sounds/whatisit.ogg
+Activities/Level1/3Body/sounds/sounds/itisabus.ogg
+Activities/Level1/3Body/sounds/sounds/chord.ogg
+Activities/Level1/3Body/sounds/sounds/carblack.ogg
+Activities/Level1/3Body/sounds/sounds/traingreen.ogg
+Activities/Level1/3Body/sounds/sounds/truckpurple.ogg
+Activities/Level1/3Body/sounds/sounds/motorcycle.ogg
+Activities/Level1/3Body/sounds/sounds/itisatruck.ogg
+Activities/Level1/3Body/sounds/sounds/boat.ogg
+Activities/Level1/3Body/sounds/sounds/unitSound.ogg
+Activities/Level1/3Body/sounds/sounds/truck.ogg
+Activities/Level1/3Body/sounds/sounds/motorcycleorange.ogg
+Activities/Level1/3Body/sounds/sounds/busyellow.ogg
+Activities/Level1/3Body/sounds/sounds/boatwhite.ogg
+Activities/Level1/3Body/sounds/sounds/ding.ogg
+Activities/Level1/3Body/sounds/sounds/itisabike.ogg
+Activities/Level1/3Body/sounds/sounds/bikered.ogg
+Activities/Level1/3Body/sounds/sounds/planegreen.ogg
+Activities/Level1/3Body/sounds/sounds/itisamotorcycle.ogg
+Activities/Level1/3Body/sounds/sounds/car.ogg
+Activities/Level1/3Body/sounds/sounds/itisatrain.ogg
+Activities/Level1/3Body/sounds/sounds/bike.ogg
+Activities/Level1/3Body/sounds/sounds/itisaplane.ogg
+Activities/Level1/3Body/sounds/sounds/itisaboat.ogg
+Activities/Level1/3Body/sounds/sounds/bus.ogg
+Activities/Level1/3Body/6Concentrate/data.txt
+Activities/Level1/3Body/6Concentrate/ico.png
+Activities/Level1/3Body/6Concentrate/screen.txt
+Activities/Level1/3Body/6Concentrate/settings.txt
+Activities/Level1/3Body/6Concentrate/resources/foot1.png
+Activities/Level1/3Body/6Concentrate/resources/foot2.png
+Activities/Level1/3Body/6Concentrate/resources/_BackFace.png
+Activities/Level1/3Body/6Concentrate/resources/conc_03_mono.jpg
+Activities/Level1/3Body/6Concentrate/resources/hand1.png
+Activities/Level1/3Body/6Concentrate/resources/hand2.png
+Activities/Level1/3Body/6Concentrate/resources/conc_03_color.jpg
+Activities/Level1/3Body/6Concentrate/resources/eye1.png
+Activities/Level1/3Body/6Concentrate/resources/eye2.png
+Activities/Level1/3Body/6Concentrate/resources/head1.png
+Activities/Level1/3Body/6Concentrate/resources/head2.png
+Activities/Level1/3Body/6Concentrate/resources/nose1.png
+Activities/Level1/3Body/6Concentrate/resources/nose2.png
+Activities/Level1/3Body/6Concentrate/resources/mouth1.png
+Activities/Level1/3Body/6Concentrate/resources/mouth2.png
+Activities/Level1/3Body/6Concentrate/resources/leg1.png
+Activities/Level1/3Body/6Concentrate/resources/leg2.png
+Activities/Level1/3Body/6Concentrate/resources/arm1.png
+Activities/Level1/3Body/6Concentrate/resources/arm2.png
+Activities/Level1/3Body/9MultipleC/data.txt
+Activities/Level1/3Body/9MultipleC/screens.txt
+Activities/Level1/3Body/9MultipleC/ico.png
+Activities/Level1/3Body/9MultipleC/settings.txt
+Activities/Level1/3Body/9MultipleC/resources/nose.png
+Activities/Level1/3Body/9MultipleC/resources/mouth.png
+Activities/Level1/3Body/9MultipleC/resources/hands.png
+Activities/Level1/3Body/9MultipleC/resources/eyes.png
+Activities/Level1/3Body/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/3Body/9MultipleC/resources/foot.png
+Activities/Level1/3Body/9MultipleC/resources/legs.png
+Activities/Level1/3Body/9MultipleC/resources/cara_triste_anim.png
+Activities/Level1/3Body/9MultipleC/resources/arms.png
+Activities/Level1/3Body/9MultipleC/resources/arm.png
+Activities/Level1/3Body/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/3Body/8Match/data.txt
+Activities/Level1/3Body/8Match/screens.txt
+Activities/Level1/3Body/8Match/ico.png
+Activities/Level1/3Body/8Match/settings.txt
+Activities/Level1/3Body/8Match/resources/nose.png
+Activities/Level1/3Body/8Match/resources/eye.png
+Activities/Level1/3Body/8Match/resources/hands.png
+Activities/Level1/3Body/8Match/resources/noseTXT.png
+Activities/Level1/3Body/8Match/resources/foot.png
+Activities/Level1/3Body/8Match/resources/handsTXT.png
+Activities/Level1/3Body/8Match/resources/legs.png
+Activities/Level1/3Body/8Match/resources/legsTXT.png
+Activities/Level1/3Body/8Match/resources/eyeTXT.png
+Activities/Level1/3Body/8Match/resources/footTXT.png
+Activities/Level1/3Body/4Paint/data.txt
+Activities/Level1/3Body/4Paint/screens.txt
+Activities/Level1/3Body/4Paint/ico.png
+Activities/Level1/3Body/4Paint/settings.txt
+Activities/Level1/3Body/4Paint/resources/nose.png
+Activities/Level1/3Body/4Paint/resources/mouth.png
+Activities/Level1/3Body/4Paint/resources/hands.png
+Activities/Level1/3Body/4Paint/resources/back.png
+Activities/Level1/3Body/4Paint/resources/head.png
+Activities/Level1/3Body/4Paint/resources/eyes.png
+Activities/Level1/3Body/4Paint/resources/foot.png
+Activities/Level1/3Body/4Paint/resources/legs.png
+Activities/Level1/3Body/4Paint/resources/arms.png
+Activities/Level1/3Body/4Paint/resources/old.rar
+Activities/Level1/3Body/3Match/data.txt
+Activities/Level1/3Body/3Match/screens.txt
+Activities/Level1/3Body/3Match/ico.png
+Activities/Level1/3Body/3Match/settings.txt
+Activities/Level1/3Body/3Match/resources/mouth.png
+Activities/Level1/3Body/3Match/resources/armTXT.png
+Activities/Level1/3Body/3Match/resources/handTXT.png
+Activities/Level1/3Body/3Match/resources/hand.png
+Activities/Level1/3Body/3Match/resources/mouthTXT.png
+Activities/Level1/3Body/3Match/resources/head.png
+Activities/Level1/3Body/3Match/resources/headTXT.png
+Activities/Level1/3Body/3Match/resources/foot.png
+Activities/Level1/3Body/3Match/resources/footTXT.png
+Activities/Level1/3Body/3Match/resources/arm.png
+Activities/Level1/3Body/5MultipleC/data.txt
+Activities/Level1/3Body/5MultipleC/screens.txt
+Activities/Level1/3Body/5MultipleC/ico.png
+Activities/Level1/3Body/5MultipleC/settings.txt
+Activities/Level1/3Body/5MultipleC/resources/1.png
+Activities/Level1/3Body/5MultipleC/resources/2.png
+Activities/Level1/3Body/5MultipleC/resources/3.png
+Activities/Level1/3Body/5MultipleC/resources/4.png
+Activities/Level1/3Body/5MultipleC/resources/5.png
+Activities/Level1/3Body/5MultipleC/resources/6.png
+Activities/Level1/3Body/5MultipleC/resources/7.png
+Activities/Level1/3Body/5MultipleC/resources/8.png
+Activities/Level1/3Body/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/3Body/5MultipleC/resources/cara_triste_anim.png
+Activities/Level1/3Body/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/3Body/7DragnDrop/data.txt
+Activities/Level1/3Body/7DragnDrop/screens.txt
+Activities/Level1/3Body/7DragnDrop/ico.png
+Activities/Level1/3Body/7DragnDrop/settings.txt
+Activities/Level1/3Body/7DragnDrop/resources/mouth.png
+Activities/Level1/3Body/7DragnDrop/resources/eye.png
+Activities/Level1/3Body/7DragnDrop/resources/head.png
+Activities/Level1/3Body/7DragnDrop/resources/leg.png
+Activities/Level1/3Body/7DragnDrop/resources/icono_play.png
+Activities/Level1/3Body/7DragnDrop/resources/arm.png
+Activities/Level1/3Body/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/3Body/2Sort/data.txt
+Activities/Level1/3Body/2Sort/screens.txt
+Activities/Level1/3Body/2Sort/ico.png
+Activities/Level1/3Body/2Sort/settings.txt
+Activities/Level1/3Body/2Sort/resources/head_bck.png
+Activities/Level1/3Body/2Sort/resources/nose.png
+Activities/Level1/3Body/2Sort/resources/mouth.png
+Activities/Level1/3Body/2Sort/resources/mouthSIL.png
+Activities/Level1/3Body/2Sort/resources/eye.png
+Activities/Level1/3Body/2Sort/resources/noseSIL.png
+Activities/Level1/3Body/2Sort/resources/headSIL.png
+Activities/Level1/3Body/2Sort/resources/head.png
+Activities/Level1/3Body/2Sort/resources/eyeSIL.png
+Activities/Level1/3Body/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/3Body/1Sort/data.txt
+Activities/Level1/3Body/1Sort/screens.txt
+Activities/Level1/3Body/1Sort/ico.png
+Activities/Level1/3Body/1Sort/settings.txt
+Activities/Level1/3Body/1Sort/resources/handSIL.png
+Activities/Level1/3Body/1Sort/resources/hand.png
+Activities/Level1/3Body/1Sort/resources/legSIL.png
+Activities/Level1/3Body/1Sort/resources/kid.png
+Activities/Level1/3Body/1Sort/resources/leg.png
+Activities/Level1/3Body/1Sort/resources/footSIL.png
+Activities/Level1/3Body/1Sort/resources/foot.png
+Activities/Level1/3Body/1Sort/resources/arm.png
+Activities/Level1/3Body/1Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/3Body/1Sort/resources/armSIL.png
+Activities/Level1/2Food/ico.png
+Activities/Level1/2Food/unitMarker.png
+Activities/Level1/2Food/btn_act.png
+Activities/Level1/2Food/sounds/bing.ogg
+Activities/Level1/2Food/sounds/Twinkle.ogg
+Activities/Level1/2Food/sounds/red.ogg
+Activities/Level1/2Food/sounds/icecream.ogg
+Activities/Level1/2Food/sounds/apple.ogg
+Activities/Level1/2Food/sounds/purple.ogg
+Activities/Level1/2Food/sounds/chord.ogg
+Activities/Level1/2Food/sounds/blue.ogg
+Activities/Level1/2Food/sounds/corn.ogg
+Activities/Level1/2Food/sounds/chicken.ogg
+Activities/Level1/2Food/sounds/orange.ogg
+Activities/Level1/2Food/sounds/unitSound.ogg
+Activities/Level1/2Food/sounds/black.ogg
+Activities/Level1/2Food/sounds/green.ogg
+Activities/Level1/2Food/sounds/yellow.ogg
+Activities/Level1/2Food/sounds/pizza.ogg
+Activities/Level1/2Food/sounds/ding.ogg
+Activities/Level1/2Food/sounds/chorange.ogg
+Activities/Level1/2Food/sounds/cornblue.ogg
+Activities/Level1/2Food/sounds/banana.ogg
+Activities/Level1/2Food/sounds/milk.ogg
+Activities/Level1/2Food/sounds/hamburguer.ogg
+Activities/Level1/2Food/sounds/hamburger.ogg
+Activities/Level1/2Food/sounds/white.ogg
+Activities/Level1/2Food/6Concentrate/data.txt
+Activities/Level1/2Food/6Concentrate/ico.png
+Activities/Level1/2Food/6Concentrate/screen.txt
+Activities/Level1/2Food/6Concentrate/settings.txt
+Activities/Level1/2Food/6Concentrate/resources/pizza1.png
+Activities/Level1/2Food/6Concentrate/resources/pizza2.png
+Activities/Level1/2Food/6Concentrate/resources/_BackFace.png
+Activities/Level1/2Food/6Concentrate/resources/banana1.png
+Activities/Level1/2Food/6Concentrate/resources/banana2.png
+Activities/Level1/2Food/6Concentrate/resources/milk1.png
+Activities/Level1/2Food/6Concentrate/resources/milk2.png
+Activities/Level1/2Food/6Concentrate/resources/icecream1.png
+Activities/Level1/2Food/6Concentrate/resources/icecream2.png
+Activities/Level1/2Food/6Concentrate/resources/conc_02_mono.jpg
+Activities/Level1/2Food/6Concentrate/resources/conc_02_color.jpg
+Activities/Level1/2Food/6Concentrate/resources/hamburger1.png
+Activities/Level1/2Food/6Concentrate/resources/hamburger2.png
+Activities/Level1/2Food/6Concentrate/resources/apple1.png
+Activities/Level1/2Food/6Concentrate/resources/apple2.png
+Activities/Level1/2Food/6Concentrate/resources/corn1.png
+Activities/Level1/2Food/6Concentrate/resources/corn2.png
+Activities/Level1/2Food/6Concentrate/resources/chicken1.png
+Activities/Level1/2Food/6Concentrate/resources/chicken2.png
+Activities/Level1/2Food/9MultipleC/data.txt
+Activities/Level1/2Food/9MultipleC/screens.txt
+Activities/Level1/2Food/9MultipleC/ico.png
+Activities/Level1/2Food/9MultipleC/settings.txt
+Activities/Level1/2Food/9MultipleC/resources/icecream.png
+Activities/Level1/2Food/9MultipleC/resources/apple.png
+Activities/Level1/2Food/9MultipleC/resources/corn.png
+Activities/Level1/2Food/9MultipleC/resources/chicken.png
+Activities/Level1/2Food/9MultipleC/resources/pizza.png
+Activities/Level1/2Food/9MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/2Food/9MultipleC/resources/cara_triste_anim.png
+Activities/Level1/2Food/9MultipleC/resources/banana.png
+Activities/Level1/2Food/9MultipleC/resources/milk.png
+Activities/Level1/2Food/9MultipleC/resources/hamburger.png
+Activities/Level1/2Food/9MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/2Food/8Match/data.txt
+Activities/Level1/2Food/8Match/screens.txt
+Activities/Level1/2Food/8Match/ico.png
+Activities/Level1/2Food/8Match/settings.txt
+Activities/Level1/2Food/8Match/resources/icecream.png
+Activities/Level1/2Food/8Match/resources/bananaTXT.png
+Activities/Level1/2Food/8Match/resources/icecreamTXT.png
+Activities/Level1/2Food/8Match/resources/hamburgerTXT.png
+Activities/Level1/2Food/8Match/resources/milkTXT.png
+Activities/Level1/2Food/8Match/resources/pizza.png
+Activities/Level1/2Food/8Match/resources/pizzaTXT.png
+Activities/Level1/2Food/8Match/resources/banana.png
+Activities/Level1/2Food/8Match/resources/milk.png
+Activities/Level1/2Food/8Match/resources/hamburger.png
+Activities/Level1/2Food/4Paint/data.txt
+Activities/Level1/2Food/4Paint/screens.txt
+Activities/Level1/2Food/4Paint/ico.png
+Activities/Level1/2Food/4Paint/settings.txt
+Activities/Level1/2Food/4Paint/resources/icecream.png
+Activities/Level1/2Food/4Paint/resources/apple.png
+Activities/Level1/2Food/4Paint/resources/corn.png
+Activities/Level1/2Food/4Paint/resources/chicken.png
+Activities/Level1/2Food/4Paint/resources/pizza.png
+Activities/Level1/2Food/4Paint/resources/banana.png
+Activities/Level1/2Food/4Paint/resources/milk.png
+Activities/Level1/2Food/4Paint/resources/hamburguer.png
+Activities/Level1/2Food/3Match/data.txt
+Activities/Level1/2Food/3Match/screens.txt
+Activities/Level1/2Food/3Match/ico.png
+Activities/Level1/2Food/3Match/settings.txt
+Activities/Level1/2Food/3Match/resources/apple.png
+Activities/Level1/2Food/3Match/resources/bananaTXT.png
+Activities/Level1/2Food/3Match/resources/cornTXT.png
+Activities/Level1/2Food/3Match/resources/corn.png
+Activities/Level1/2Food/3Match/resources/chicken.png
+Activities/Level1/2Food/3Match/resources/appleTXT.png
+Activities/Level1/2Food/3Match/resources/chickenTXT.png
+Activities/Level1/2Food/3Match/resources/pizza.png
+Activities/Level1/2Food/3Match/resources/pizzaTXT.png
+Activities/Level1/2Food/3Match/resources/banana.png
+Activities/Level1/2Food/5MultipleC/data.txt
+Activities/Level1/2Food/5MultipleC/screens.txt
+Activities/Level1/2Food/5MultipleC/ico.png
+Activities/Level1/2Food/5MultipleC/settings.txt
+Activities/Level1/2Food/5MultipleC/resources/icecream.png
+Activities/Level1/2Food/5MultipleC/resources/apple.png
+Activities/Level1/2Food/5MultipleC/resources/corn.png
+Activities/Level1/2Food/5MultipleC/resources/chicken.png
+Activities/Level1/2Food/5MultipleC/resources/pizza.png
+Activities/Level1/2Food/5MultipleC/resources/cara_sonriente_anim.png
+Activities/Level1/2Food/5MultipleC/resources/cara_triste_anim.png
+Activities/Level1/2Food/5MultipleC/resources/banana.png
+Activities/Level1/2Food/5MultipleC/resources/milk.png
+Activities/Level1/2Food/5MultipleC/resources/hamburger.png
+Activities/Level1/2Food/5MultipleC/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/2Food/7DragnDrop/data.txt
+Activities/Level1/2Food/7DragnDrop/screens.txt
+Activities/Level1/2Food/7DragnDrop/ico.png
+Activities/Level1/2Food/7DragnDrop/settings.txt
+Activities/Level1/2Food/7DragnDrop/resources/corn.png
+Activities/Level1/2Food/7DragnDrop/resources/pizza.png
+Activities/Level1/2Food/7DragnDrop/resources/icono_play.png
+Activities/Level1/2Food/7DragnDrop/resources/banana.png
+Activities/Level1/2Food/7DragnDrop/resources/milk.png
+Activities/Level1/2Food/7DragnDrop/resources/hamburger.png
+Activities/Level1/2Food/7DragnDrop/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/2Food/2Sort/data.txt
+Activities/Level1/2Food/2Sort/screens.txt
+Activities/Level1/2Food/2Sort/ico.png
+Activities/Level1/2Food/2Sort/settings.txt
+Activities/Level1/2Food/2Sort/resources/cornSIL.png
+Activities/Level1/2Food/2Sort/resources/corn.png
+Activities/Level1/2Food/2Sort/resources/chicken.png
+Activities/Level1/2Food/2Sort/resources/milk2SIL.png
+Activities/Level1/2Food/2Sort/resources/chickenSIL.png
+Activities/Level1/2Food/2Sort/resources/pizzaSIL.png
+Activities/Level1/2Food/2Sort/resources/milk2.png
+Activities/Level1/2Food/2Sort/resources/pizza.png
+Activities/Level1/2Food/2Sort/resources/Helvetica LT Condensed Black.ttf
+Activities/Level1/2Food/1Sort/data.txt
+Activities/Level1/2Food/1Sort/screens.txt
+Activities/Level1/2Food/1Sort/ico.png
+Activities/Level1/2Food/1Sort/settings.txt
+Activities/Level1/2Food/1Sort/resources/bananaSIL.png
+Activities/Level1/2Food/1Sort/resources/icecream.png
+Activities/Level1/2Food/1Sort/resources/apple.png
+Activities/Level1/2Food/1Sort/resources/icecreamSIL.png
+Activities/Level1/2Food/1Sort/resources/hamburgerSIL.png
+Activities/Level1/2Food/1Sort/resources/appleSIL.png
+Activities/Level1/2Food/1Sort/resources/banana.png
+Activities/Level1/2Food/1Sort/resources/hamburger.png
+Activities/Level1/2Food/1Sort/resources/Helvetica LT Condensed Black.ttf
+Help/mousePointerS.png
+Help/mousePointerSmall.png
+Help/mousePointer.png
+Help/mousePointerDrag.png
+Help/click.wav
+Help/PaintHelp/data.txt
+Help/PaintHelp/screens.txt
+Help/PaintHelp/demoscript.txt
+Help/PaintHelp/settings.txt
+Help/PaintHelp/resources/pincel_purple.png
+Help/PaintHelp/resources/pincel_blue.png
+Help/PaintHelp/resources/sound.png
+Help/PaintHelp/resources/pincel_orange.png
+Help/PaintHelp/resources/pincel_black.png
+Help/PaintHelp/resources/pincel_green.png
+Help/PaintHelp/resources/pincel_yellow.png
+Help/PaintHelp/resources/_acuarelas.png
+Help/PaintHelp/resources/pincel_red.png
+Help/PaintHelp/resources/hamburguer.png
+Help/PaintHelp/resources/pincel_white.png
+Help/PaintHelp/resources/pincel.png
+Help/MultipleCHelp/data.txt
+Help/MultipleCHelp/screens.txt
+Help/MultipleCHelp/demoscript.txt
+Help/MultipleCHelp/settings.txt
+Help/MultipleCHelp/resources/sound.png
+Help/MultipleCHelp/resources/sandwich.png
+Help/MultipleCHelp/resources/cara_sonriente_anim.png
+Help/MultipleCHelp/resources/cara_triste_anim.png
+Help/MultipleCHelp/resources/Helvetica LT Condensed Black.ttf
+Help/MultipleCHelp/resources/pera.png
+Help/ColorPaintHelp/data.txt
+Help/ColorPaintHelp/screens.txt
+Help/ColorPaintHelp/demoscript.txt
+Help/ColorPaintHelp/settings.txt
+Help/ColorPaintHelp/resources/pincel_purple.png
+Help/ColorPaintHelp/resources/pincel_blue.png
+Help/ColorPaintHelp/resources/sound.png
+Help/ColorPaintHelp/resources/pincel_orange.png
+Help/ColorPaintHelp/resources/pincel_black.png
+Help/ColorPaintHelp/resources/pincel_green.png
+Help/ColorPaintHelp/resources/pincel_yellow.png
+Help/ColorPaintHelp/resources/_acuarelas.png
+Help/ColorPaintHelp/resources/pincel_red.png
+Help/ColorPaintHelp/resources/_sandwich.png
+Help/ColorPaintHelp/resources/pincel_white.png
+Help/ColorPaintHelp/resources/pincel.png
+Help/MainHelp/demoscript.txt
+Help/MainHelp/settings.txt
+Help/MatchHelp/data.txt
+Help/MatchHelp/screens.txt
+Help/MatchHelp/demoscript.txt
+Help/MatchHelp/settings.txt
+Help/MatchHelp/resources/repolloSil.png
+Help/MatchHelp/resources/repollo.png
+Help/MatchHelp/resources/carrot.png
+Help/MatchHelp/resources/carrotSil.png
+Help/SortHelp/data.txt
+Help/SortHelp/screens.txt
+Help/SortHelp/demoscript.txt
+Help/SortHelp/settings.txt
+Help/DragnDropHelp/data.txt
+Help/DragnDropHelp/screens.txt
+Help/DragnDropHelp/demoscript.txt
+Help/DragnDropHelp/settings.txt
+Help/ConcentrationHelp/data.txt
+Help/ConcentrationHelp/screen.txt
+Help/ConcentrationHelp/demoscript.txt
+Help/ConcentrationHelp/settings.txt
+resources/menu_fdo_lvl.png
+resources/intro.avi
+resources/intro.ogv
+resources/congrats_btn_next.png
+resources/pincel_purple.png
+resources/Congratulations.ogg
+resources/congrats_backg.png
+resources/Correct.ogg
+resources/cabezal_base.png
+resources/btn_next.png
+resources/Btn_WELCOME_ok.png
+resources/pincel_blue.png
+resources/sound.png
+resources/pincel_orange.png
+resources/MarcoBarra_base.png
+resources/Great.ogg
+resources/activity.svg
+resources/btn_help.png
+resources/tick.png
+resources/pincel_black.png
+resources/logo.png
+resources/lvl_marker_1.png
+resources/lvl_marker_2.png
+resources/lvl_marker_3.png
+resources/pincel_green.png
+resources/pincel_yellow.png
+resources/_acuarelas.png
+resources/eduGames.ico
+resources/Pant_WELCOME.png
+resources/pincel_red.png
+resources/menu_fdo_unit.png
+resources/success.ogg
+resources/btn_quit.png
+resources/background1.png
+resources/background2.png
+resources/background3.png
+resources/background4.png
+resources/background5.png
+resources/background6.png
+resources/background7.png
+resources/background8.png
+resources/background9.png
+resources/niobbl_.ttf
+resources/EFF_credits.png
+resources/Good.ogg
+resources/btn_lvl.png
+resources/Excellent.ogg
+resources/btn_archivero.png
+resources/arrow.xbm
+resources/background10.png
+resources/background11.png
+resources/background12.png
+resources/niobrg_.ttf
+resources/pincel_white.png
+resources/welcome.ogg
+resources/Barra_base.png
+resources/pincel.png
+resources/Helvetica LT Condensed Black.ttf
+resources/arrow-mask.xbm
+resources/mouseCursorTest.py
+resources/btn_previous.png
+resources/kid_welcome/Thumbs.db
+resources/kid_welcome/welcome_anim0001.png
+resources/kid_welcome/welcome_anim0002.png
+resources/kid_welcome/welcome_anim0003.png
+resources/kid_welcome/welcome_anim0004.png
+resources/kid_welcome/welcome_anim0005.png
+resources/kid_welcome/welcome_anim0006.png
+resources/kid_welcome/welcome_anim0007.png
+resources/kid_welcome/welcome_anim0008.png
+resources/kid_welcome/welcome_anim0009.png
+resources/kid_welcome/welcome_anim0010.png
+resources/kid_welcome/welcome_anim0011.png
+resources/kid_welcome/welcome_anim0012.png
+resources/kid_welcome/welcome_anim0013.png
+resources/kid_welcome/welcome_anim0014.png
+resources/kid_welcome/welcome_anim0015.png
+resources/kid_welcome/welcome_anim0016.png
+resources/kid_welcome/welcome_anim0017.png
+resources/kid_welcome/welcome_anim0018.png
+resources/kid_welcome/welcome_anim0019.png
+resources/kid_welcome/welcome_anim0020.png
+resources/kid_welcome/welcome_anim0021.png
+resources/kid_welcome/welcome_anim0022.png
+resources/kid_welcome/welcome_anim0023.png
+resources/kid_welcome/welcome_anim0024.png
+resources/kid_welcome/welcome_anim0025.png
+resources/kid_welcome/welcome_anim0026.png
+resources/kid_welcome/welcome_anim0027.png
+resources/kid_welcome/welcome_anim0028.png
+resources/kid_welcome/welcome_anim0029.png
+resources/kid_welcome/welcome_anim0030.png
+resources/kid_welcome/welcome_anim0031.png
+resources/kid_welcome/welcome_anim0032.png
+resources/kid_welcome/welcome_anim0033.png
+resources/kid_welcome/welcome_anim0034.png
+resources/kid_welcome/welcome_anim0035.png
+resources/kid_welcome/welcome_anim0036.png
+resources/kid_welcome/welcome_anim0037.png
+resources/kid_welcome/welcome_anim0038.png
+resources/kid_welcome/welcome_anim0039.png
+resources/kid_welcome/welcome_anim0040.png
+resources/kid_welcome/welcome_anim0041.png
+resources/kid_welcome/welcome_anim0042.png
+resources/kid_welcome/welcome_anim0043.png
+resources/kid_welcome/welcome_anim0044.png
+resources/kid_welcome/welcome_anim0045.png
+resources/kid_welcome/welcome_anim0046.png
+resources/kid_welcome/welcome_anim0047.png
+resources/kid_welcome/welcome_anim0048.png
+resources/kid_welcome/welcome_anim0049.png
+resources/kid_welcome/welcome_anim0050.png
+resources/kid_welcome/welcome_anim0051.png
+resources/kid_welcome/welcome_anim0052.png
+resources/kid_welcome/welcome_anim0053.png
+resources/kid_welcome/welcome_anim0054.png
+resources/kid_welcome/welcome_anim0055.png
+resources/kid_welcome/welcome_anim0056.png
+resources/kid_welcome/welcome_anim0057.png
+resources/kid_welcome/welcome_anim0058.png
+resources/kid_welcome/welcome_anim0059.png
+resources/kid_welcome/welcome_anim0060.png
+resources/kid_welcome/welcome_anim0061.png
+resources/kid_welcome/welcome_anim0062.png
+resources/kid_welcome/welcome_anim0063.png
+resources/kid_welcome/welcome_anim0064.png
+resources/kid_welcome/welcome_anim0065.png
+resources/kid_welcome/welcome_anim0066.png
+resources/kid_welcome/welcome_anim0067.png
+resources/kid_welcome/welcome_anim0068.png
+resources/kid_welcome/welcome_anim0069.png
+resources/kid_welcome/welcome_anim0070.png
+resources/kid_welcome/welcome_anim0071.png
+resources/kid_welcome/welcome_anim0072.png
+resources/CongratsAnim/Longman_kid_000.png
+resources/CongratsAnim/Longman_kid_001.png
+resources/CongratsAnim/Longman_kid_002.png
+resources/CongratsAnim/Longman_kid_003.png
+resources/CongratsAnim/Longman_kid_004.png
+resources/CongratsAnim/Longman_kid_005.png
+resources/CongratsAnim/Longman_kid_006.png
+resources/CongratsAnim/Longman_kid_007.png
+resources/CongratsAnim/Longman_kid_008.png
+resources/CongratsAnim/Longman_kid_009.png
+resources/CongratsAnim/Longman_kid_010.png
+resources/CongratsAnim/Longman_kid_011.png
+resources/CongratsAnim/Longman_kid_012.png
+resources/CongratsAnim/Longman_kid_013.png
+resources/CongratsAnim/Longman_kid_014.png
+resources/CongratsAnim/Longman_kid_015.png
+resources/CongratsAnim/Longman_kid_016.png
+resources/CongratsAnim/Longman_kid_017.png
+resources/CongratsAnim/Longman_kid_018.png
+resources/CongratsAnim/Longman_kid_019.png
+resources/CongratsAnim/Longman_kid_020.png
+resources/CongratsAnim/Longman_kid_021.png
+resources/CongratsAnim/Longman_kid_022.png
+resources/CongratsAnim/Longman_kid_023.png
+resources/CongratsAnim/Longman_kid_024.png
+resources/CongratsAnim/Longman_kid_025.png
+resources/CongratsAnim/Longman_kid_026.png
+resources/CongratsAnim/Longman_kid_027.png
+resources/CongratsAnim/Longman_kid_028.png
+resources/CongratsAnim/Longman_kid_029.png
+resources/CongratsAnim/Longman_kid_030.png
+resources/CongratsAnim/Longman_kid_031.png
+resources/CongratsAnim/Longman_kid_032.png
+resources/CongratsAnim/Longman_kid_033.png
+resources/CongratsAnim/Longman_kid_034.png
+resources/CongratsAnim/Longman_kid_035.png
+resources/CongratsAnim/Longman_kid_036.png
+resources/CongratsAnim/Longman_kid_037.png
+resources/CongratsAnim/Longman_kid_038.png
+resources/CongratsAnim/Longman_kid_039.png
+resources/CongratsAnim/Longman_kid_040.png
+resources/CongratsAnim/Longman_kid_041.png
+resources/CongratsAnim/Longman_kid_042.png
+resources/CongratsAnim/Longman_kid_043.png
+resources/CongratsAnim/Longman_kid_044.png
+resources/CongratsAnim/Longman_kid_045.png
+resources/CongratsAnim/Longman_kid_046.png
+resources/CongratsAnim/Longman_kid_047.png
+resources/CongratsAnim/Longman_kid_048.png
+resources/CongratsAnim/Longman_kid_049.png
+resources/CongratsAnim/Longman_kid_050.png
+resources/CongratsAnim/Longman_kid_051.png
+resources/CongratsAnim/Longman_kid_052.png
+resources/CongratsAnim/Longman_kid_053.png
+resources/CongratsAnim/Longman_kid_054.png
+resources/CongratsAnim/Longman_kid_055.png
+resources/CongratsAnim/Longman_kid_056.png
+resources/CongratsAnim/Longman_kid_057.png
+resources/CongratsAnim/Longman_kid_058.png
+resources/CongratsAnim/Longman_kid_059.png
+resources/CongratsAnim/Longman_kid_060.png
+resources/CongratsAnim/Longman_kid_061.png
+resources/CongratsAnim/Longman_kid_062.png
+resources/CongratsAnim/Longman_kid_063.png
+resources/CongratsAnim/Longman_kid_064.png
+resources/CongratsAnim/Longman_kid_065.png
+resources/CongratsAnim/Longman_kid_066.png
+resources/CongratsAnim/Longman_kid_067.png
+resources/CongratsAnim/Longman_kid_068.png
+resources/CongratsAnim/Longman_kid_069.png
+resources/CongratsAnim/Longman_kid_070.png
+resources/CongratsAnim/Longman_kid_071.png
+resources/CongratsAnim/Thumbs.db \ No newline at end of file
diff --git a/news b/news
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/news
diff --git a/olpcgames/__init__.py b/olpcgames/__init__.py
new file mode 100644
index 0000000..504388c
--- /dev/null
+++ b/olpcgames/__init__.py
@@ -0,0 +1,102 @@
+"""Wrapper/adaptation system for writing/porting Pygame games to OLPC/Sugar
+
+The wrapper system attempts to substitute various pieces of the Pygame
+implementation in order to make code written without knowledge of the
+OLPC/Sugar environment run "naturally" under the GTK environment of
+Sugar. It also provides some convenience mechanisms for dealing with
+e.g. the Camera and Mesh Network system.
+
+Considerations for Developers:
+
+Pygame programs running under OLPCGames will generally not have
+"hardware" surfaces, and will not be able to have a reduced-resolution
+full-screen view to optimise rendering. The Pygame code will run in
+a secondary thread, with the main GTK UI running in the primary thread.
+A third "mainloop" thread will occasionally be created to handle the
+GStreamer interface to the camera.
+
+Attributes of Note:
+
+ ACTIVITY -- if not None, then the activity instance which represents
+ this activity at the Sugar shell level.
+ WIDGET -- PygameCanvas instance, a GTK widget with an embedded
+ socket object which is a proxy for the SDL window Pygame to which
+ pygame renders.
+
+ Constants: All event constants used by the package are defined at this
+ level. Note that eventually we will need to switch to using UserEvent
+ and making these values sub-types rather than top-level types.
+
+
+Pygame events at the Activity Level:
+
+ pygame.USEREVENT
+ code == olpcgames.FILE_READ_REQUEST
+ filename (unicode/string) -- filename from which to read
+ metadata (dictionary-like) -- mapping from key to string values
+
+ Note: due to a limitation in the Sugar API, the GTK event loop
+ will be *frozen* during this operation, as a result you cannot
+ make any DBUS or GTK calls, nor can you use GUI during the
+ call to provide input. That is, you have to process this event
+ synchronously.
+
+ code == olpcgames.FILE_WRITE_REQUEST
+ filename (unicode/string) -- file name to which to write
+ metadata (dictionary-like) -- mapping from key: value where all
+ values must (currently) be strings
+
+ Note: due to a limitation in the Sugar API, the GTK event loop
+ will be *frozen* during this operation, as a result you cannot
+ make any DBUS or GTK calls, nor can you use GUI during the
+ call to provide input. That is, you have to process this event
+ synchronously.
+
+see also the mesh and camera modules for more events.
+
+Deprecated:
+
+ This module includes the activity.PyGameActivity class currently,
+ this is a deprecated mechanism for accessing the activity class,
+ and uses the deprecated spelling (case) of the name. Use:
+
+ from olpcgames import activity
+
+ class MyActivity( activity.PygameActivity ):
+ ...
+
+ to define your PygameActivity subclass (note the case of the
+ spelling, which now matches Pygame's own spelling).
+"""
+from olpcgames._version import __version__
+ACTIVITY = None
+widget = WIDGET = None
+
+# XXX problem here, we're filling up the entirety of the Pygame
+# event-set with just this small bit of functionality, obviously
+# Pygame is not intending for this kind of usage!
+(
+ CAMERA_LOAD, CAMERA_LOAD_FAIL,
+
+ CONNECT,PARTICIPANT_ADD,
+ PARTICIPANT_REMOVE,
+ MESSAGE_UNI,MESSAGE_MULTI,
+) = range( 25, 32 )
+
+# These events use UserEvent.code, eventually *all* events should be
+# delivered as UserEvent with code set to the values defined here...
+
+(
+ #NET_CONNECT, NET_PARTICIPANT_ADD,NET_PARTICIPANT_REMOVE,
+ #NET_MESSAGE_UNICAST, NET_MESSAGE_MULTICAST,
+ #CAMERA_LOAD, CAMERA_LOAD_FAIL,
+ FILE_READ_REQUEST, FILE_WRITE_REQUEST,
+) = range(
+ 2**16, 2**16+2,
+)
+
+try:
+ from olpcgames.activity import PygameActivity as PyGameActivity
+except ImportError, err:
+ PyGameActivity = None
+
diff --git a/olpcgames/_cairoimage.py b/olpcgames/_cairoimage.py
new file mode 100644
index 0000000..3cfa22c
--- /dev/null
+++ b/olpcgames/_cairoimage.py
@@ -0,0 +1,135 @@
+"""Utility functions for cairo-specific operations
+
+USE_BASE_ARRAY -- if False (default), uses numpy arrays,
+ currently this is the only version that works on 32-bit
+ machines.
+"""
+import pygame, struct, logging
+big_endian = struct.pack( '=i', 1 ) == struct.pack( '>i', 1 )
+
+log = logging.getLogger( 'olpcgames._cairoimage' )
+##log.setLevel( logging.DEBUG )
+
+USE_BASE_ARRAY = False
+
+def newContext( width, height ):
+ """Create a new render-to-image context
+
+ width, height -- pixel dimensions to be rendered
+
+ Produces an ARGB format Cairo ImageSurface for
+ rendering your data into using rsvg, Cairo or Pango.
+
+ returns (ImageSurface, CairoContext) for rendering
+ """
+ import cairo
+ csrf = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
+ context = cairo.Context (csrf)
+ #log.info( 'Format (expect: %s): %s', cairo.FORMAT_ARGB32, csrf.get_format())
+ return csrf, context
+
+def mangle_color(color):
+ """Mange a colour depending on endian-ness, and swap-necessity
+
+ Converts a 3 or 4 int (or float) value in the range 0-255 into a
+ 4-float value in the range 0.0-1.0
+ """
+ r,g,b = color[:3]
+ if len(color) > 3:
+ a = color[3]
+ else:
+ a = 255.0
+ return map(_fixColorBase, (r,g,b,a) )
+
+def _fixColorBase( v ):
+ """Return a properly clamped colour in floating-point space"""
+ return max((0,min((v,255.0))))/255.0
+
+def asImage( csrf ):
+ """Get the pixels in csrf as a Pygame image
+
+ Note that Pygame 1.7.1 on (Gentoo Linux) AMD64 is incorrectly
+ calculating the required size ARGB images, so this code will *not* work
+ on that platform with that version of the library. Pygame-ctypes
+ does work correctly there.
+
+ Note also that Pygame 1.7.1 is showing a strange colour rotation
+ bug on 32-bit platforms, such that ARGB mode cannot be used for
+ images there. Instead we have to do an expensive bit-shift operation
+ to produce an RGBA image from the ARGB native Cairo format.
+
+ Will raise a ValueError if passed a Null image (i.e. dimension of 0)
+
+ returns Pygame.Surface (image) with convert_alpha() called for it.
+ """
+ # Create and return a new Pygame Image derived from the Cairo Surface
+ format = 'ARGB'
+ if hasattr(csrf,'get_data'):
+ # more recent API, native-format, but have to (potentially) convert the format...
+ log.debug( 'Native-mode api (get_data)' )
+ data = csrf.get_data()
+ if not big_endian:
+ # we use array here because it's considerably lighter-weight
+ # to import than the numpy module
+ log.debug( 'Not big-endian, byte-swapping array' )
+ if USE_BASE_ARRAY:
+ import array
+ a = array.array( 'I' )
+ a.fromstring( data )
+ a.byteswap()
+ data = a.tostring()
+ else:
+ import numpy
+ n = numpy.fromstring( data, dtype='I' )
+ n = ((n & 0xff000000) >> 24 ) | ((n & 0x00ffffff) << 8 )
+ n = n.byteswap()
+ data = n.tostring()
+ format = 'RGBA'
+ else:
+ log.debug( 'Big-endian, array unchanged' )
+ data = str(data) # there's one copy
+ else:
+ # older api, not native, but we know what it is...
+ log.debug( 'Non-native mode api, explicitly RGBA' )
+ data = csrf.get_data_as_rgba()
+ data = str(data) # there's one copy
+ format = 'RGBA'
+ width, height = csrf.get_width(),csrf.get_height()
+
+ try:
+ log.info( 'Format = %s', format )
+ return pygame.image.fromstring(
+ data,
+ (width,height),
+ format
+ ) # there's the next
+ except ValueError, err:
+ err.args += (len(data), (width,height), width*height*4,format )
+ raise
+
+if __name__ == "__main__":
+ import unittest
+ logging.basicConfig()
+ class Tests( unittest.TestCase ):
+ def test_colours( self ):
+ """Test that colours are correctly translated
+
+ If we draw a given colour in cairo, we want the same
+ colour to show up in Pygame, let's test that...
+ """
+ for sourceColour in [
+ (255,0,0, 255),
+ (0,255,0, 255),
+ (0,0,255, 255),
+ (255,255,0, 255),
+ (0,255,255,255),
+ (255,0,255,255),
+ ]:
+ csrf,cctx = newContext( 1,1 )
+ background = mangle_color( sourceColour )
+ cctx.set_source_rgba(*background)
+ cctx.paint()
+ img = asImage( csrf )
+ colour = img.get_at( (0,0))
+ assert colour == sourceColour, (sourceColour,mangle_color(sourceColour),colour)
+ unittest.main()
diff --git a/olpcgames/_gtkmain.py b/olpcgames/_gtkmain.py
new file mode 100644
index 0000000..33a6a83
--- /dev/null
+++ b/olpcgames/_gtkmain.py
@@ -0,0 +1,70 @@
+"""Support for GObject mainloop-requiring libraries when not inside GTK
+
+INITIALIZED -- whether we have a running gobject loop yet...
+LOOP_TRACKER -- if present, the manual gtk event loop used to
+ support gobject-based code running in a non-Gobject event loop
+
+Holder -- objects which can be held as attributes to keep the mainloop running
+"""
+import threading, logging
+log = logging.getLogger( 'olpcgames._gtkmain' )
+##log.setLevel( logging.DEBUG )
+
+INITIALIZED = False
+LOOP_TRACKER = None
+
+class _TrackLoop( object ):
+ """Tracks the number of open loops and stops when finished"""
+ count = 0
+ _mainloop = None
+ def increment( self ):
+ log.info( 'Increment from %s', self.count )
+ self.count += 1 # XXX race condition here?
+ if self.count == 1:
+ log.info( 'Creating GObject mainloop')
+ self.t_loop = threading.Thread(target=self.loop)
+ self.t_loop.setDaemon( True )
+ self.t_loop.start()
+ def decrement( self ):
+ log.info( 'Decrement from %s', self.count )
+ self.count -= 1
+ def loop( self ):
+ """Little thread loop that replicates the gtk mainloop"""
+ import gtk
+ while self.count >= 1:
+ log.debug( 'GTK loop restarting' )
+ while gtk.events_pending():
+ gtk.main_iteration()
+ log.debug( 'GTK loop exiting' )
+ try:
+ del self.t_loop
+ except AttributeError, err:
+ pass
+
+class Holder():
+ """Object which, while held, keeps the gtk mainloop running"""
+ def __init__( self ):
+ log.info( 'Beginning hold on GTK mainloop with Holder object' )
+ startGTK()
+ def __del__( self ):
+ log.info( 'Releasing hold on GTK mainloop with Holder object' )
+ stopGTK()
+
+def startGTK( ):
+ """GTK support is required here, process..."""
+ if not INITIALIZED:
+ init()
+ if LOOP_TRACKER:
+ LOOP_TRACKER.increment()
+def stopGTK( ):
+ """GTK support is no longer required, release"""
+ if LOOP_TRACKER:
+ LOOP_TRACKER.decrement()
+def init( ):
+ """Create a gobject mainloop in a sub-thread (you don't need to call this normally)"""
+ global INITIALIZED, LOOP_TRACKER
+ if not INITIALIZED:
+ if not LOOP_TRACKER:
+ LOOP_TRACKER = _TrackLoop()
+ INITIALIZED = True
+ return LOOP_TRACKER
diff --git a/olpcgames/_version.py b/olpcgames/_version.py
new file mode 100644
index 0000000..6a4e1db
--- /dev/null
+++ b/olpcgames/_version.py
@@ -0,0 +1,2 @@
+"""Module defining the current version of the library"""
+__version__ = '1.6'
diff --git a/olpcgames/activity.py b/olpcgames/activity.py
new file mode 100644
index 0000000..538ba13
--- /dev/null
+++ b/olpcgames/activity.py
@@ -0,0 +1,241 @@
+"""Embeds the Canvas widget into a Sugar-specific Activity environment
+
+The olpcgames.activity module encapsulates creation of a Pygame activity.
+Your Activity should inherit from this class. Simply setting some class
+attributes is all you need to do in a class inheriting from
+olpcgames.activity.PygameActivity in order to get Pygame to work.
+
+(The skeleton builder script creates this file automatically for you).
+
+Note:
+ You should not import pygame into your activity file, as the olpcgames
+ wrapper needs to be initialized before pygame is imported the first time.
+
+Example usage:
+
+ class PygameActivity(activity.Activity):
+ game_name = None
+ game_title = 'Pygame Game'
+ game_size = (units.grid_to_pixels(16),
+ units.grid_to_pixels(11))
+ pygame_mode = 'SDL'
+"""
+import logging
+logging.root.setLevel( logging.WARN )
+log = logging.getLogger( 'olpcgames.activity' )
+##log.setLevel( logging.DEBUG )
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import gtk.gdk
+import os
+
+from sugar.activity import activity
+from sugar.graphics import style
+from olpcgames.canvas import PygameCanvas
+from olpcgames import mesh, util
+
+__all__ = ['PygameActivity']
+
+class PygameActivity(activity.Activity):
+ """Pygame-specific activity type, provides boilerplate toolbar, creates canvas
+
+ Subclass Overrides:
+
+ game_name -- specifies a fully-qualified name for the game's main-loop
+ format like so:
+ 'package.module:main'
+ if no function name is provided, "main" is assumed.
+
+ game_handler -- DEPRECATED. alternate specification via direct
+ reference to a main-loop function.
+
+ game_size -- two-value tuple specifying the size of the display in pixels,
+ this is currently static, so once the window is created it cannot be
+ changed.
+
+ If None, use the bulk of the screen for the Pygame surface based on
+ the values reported by the gtk.gdk functions. Note that None is
+ *not* the default value.
+
+ game_title -- title to be displayed in the Sugar Shell UI
+
+ pygame_mode -- chooses the rendering engine used for handling the
+ Pygame drawing mode, 'SDL' chooses the standard Pygame renderer,
+ 'Cairo' chooses the experimental pygamecairo renderer.
+
+ Note: You likely do *not* want to use Cairo, it is no longer maintained.
+
+ PYGAME_CANVAS_CLASS -- normally PygameCanvas, but can be overridden
+ if you want to provide a different canvas class, e.g. to provide a different
+ internal layout. Note: only used where pygame_mode == 'SDL'
+
+ The Activity, once created, will be made available as olpcgames.ACTIVITY,
+ and that access mechanism should allow code to test for the presence of the
+ activity before accessing Sugar-specific functionality.
+
+ XXX Note that currently the toolbar and window layout are hard-coded into
+ this super-class, with no easy way of overriding without completely rewriting
+ the __init__ method. We should allow for customising both the UI layout and
+ the toolbar contents/layout/connection.
+
+ XXX Note that if you change the title of your activity in the toolbar you may
+ see the same focus issues as we have patched around in the build_toolbar
+ method. If so, please report them to Mike Fletcher.
+ """
+ game_name = None
+ game_title = 'Pygame Game'
+ game_handler = None
+ game_size = (16 * style.GRID_CELL_SIZE,
+ 11 * style.GRID_CELL_SIZE)
+ pygame_mode = 'SDL'
+
+ def __init__(self, handle):
+ """Initialise the Activity with the activity-description handle"""
+ super(PygameActivity, self).__init__(handle)
+ self.make_global()
+ if self.game_size is None:
+ width,height = gtk.gdk.screen_width(), gtk.gdk.screen_height()
+ log.info( 'Total screen size: %s %s', width,height)
+ # for now just fudge the toolbar size...
+ self.game_size = width, height - (1*style.GRID_CELL_SIZE)
+ self.set_title(self.game_title)
+ toolbar = self.build_toolbar()
+ log.debug( 'Toolbar size: %s', toolbar.get_size_request())
+ canvas = self.build_canvas()
+ self.connect( 'configure-event', canvas._translator.do_resize_event )
+
+ def make_global( self ):
+ """Hack to make olpcgames.ACTIVITY point to us
+ """
+ import weakref, olpcgames
+ assert not olpcgames.ACTIVITY, """Activity.make_global called twice, have you created two Activity instances in a single process?"""
+ olpcgames.ACTIVITY = weakref.proxy( self )
+
+ def build_toolbar( self ):
+ """Build our Activity toolbar for the Sugar system
+
+ This is a customisation point for those games which want to
+ provide custom toolbars when running under Sugar.
+ """
+ toolbar = activity.ActivityToolbar(self)
+ toolbar.show()
+ self.set_toolbox(toolbar)
+ def shared_cb(*args, **kwargs):
+ log.info( 'shared: %s, %s', args, kwargs )
+ try:
+ mesh.activity_shared(self)
+ except Exception, err:
+ log.error( """Failure signaling activity sharing to mesh module: %s""", util.get_traceback(err) )
+ else:
+ log.info( 'mesh activity shared message sent, trying to grab focus' )
+ try:
+ self._pgc.grab_focus()
+ except Exception, err:
+ log.warn( 'Focus failed: %s', err )
+ else:
+ log.info( 'asserting focus' )
+ assert self._pgc.is_focus(), """Did not successfully set pygame canvas focus"""
+ log.info( 'callback finished' )
+
+ def joined_cb(*args, **kwargs):
+ log.info( 'joined: %s, %s', args, kwargs )
+ mesh.activity_joined(self)
+ self._pgc.grab_focus()
+ self.connect("shared", shared_cb)
+ self.connect("joined", joined_cb)
+
+ if self.get_shared():
+ # if set at this point, it means we've already joined (i.e.,
+ # launched from Neighborhood)
+ joined_cb()
+
+ toolbar.title.unset_flags(gtk.CAN_FOCUS)
+ return toolbar
+
+ PYGAME_CANVAS_CLASS = PygameCanvas
+ def build_canvas( self ):
+ """Construct the Pygame or PygameCairo canvas for drawing"""
+ assert self.game_handler or self.game_name, 'You must specify a game_handler or game_name on your Activity (%r)'%(
+ self.game_handler or self.game_name
+ )
+ if self.pygame_mode != 'Cairo':
+ self._pgc = self.PYGAME_CANVAS_CLASS(*self.game_size)
+ self.set_canvas(self._pgc)
+ self._pgc.grab_focus()
+ self._pgc.connect_game(self.game_handler or self.game_name)
+ # XXX Bad coder, do not hide in a widely subclassed operation
+ # map signal does not appear to show up on socket instances
+ gtk.gdk.threads_init()
+ return self._pgc
+ else:
+ import hippo
+ self._drawarea = gtk.DrawingArea()
+ canvas = hippo.Canvas()
+ canvas.grab_focus()
+ self.set_canvas(canvas)
+ self.show_all()
+
+ import pygamecairo
+ pygamecairo.install()
+
+ pygamecairo.display.init(canvas)
+ app = self.game_handler or self.game_name
+ if ':' not in app:
+ app += ':main'
+ mod_name, fn_name = app.split(':')
+ mod = __import__(mod_name, globals(), locals(), [])
+ fn = getattr(mod, fn_name)
+ fn()
+ def read_file(self, file_path):
+ """Handle request to read the given file on the Pygame side
+
+ This is complicated rather noticeably by the silly semantics of the Journal
+ where it unlinks the file as soon as this method returns. We either have to
+ handle the file-opening in PyGTK (not acceptable), block this thread until
+ the Pygame thread handles the event (which it may never do) or we have
+ to make the silly thing use a non-standard file-opening interface.
+ """
+ log.info( 'read_file: %s %s', file_path, self.metadata )
+ import olpcgames, pygame
+ from olpcgames import eventwrap
+ event = eventwrap.Event(
+ type = pygame.USEREVENT,
+ code = olpcgames.FILE_READ_REQUEST,
+ filename = file_path,
+ metadata = self.metadata,
+ )
+ eventwrap.post( event )
+ event.block()
+ def write_file( self, file_path ):
+ """Handle request to write to the given file on the Pygame side
+
+ This is rather complicated by the need to have the file complete by the
+ time the function returns. Very poor API, after all, if I have to write a
+ multi-hundred-megabyte file it might take many minutes to complete
+ writing.
+ """
+ log.info( 'write_file: %s %s', file_path, self.metadata )
+ if os.path.exists( file_path ):
+ self.read_file( file_path )
+ import olpcgames, pygame
+ from olpcgames import eventwrap
+ event = eventwrap.Event(
+ type = pygame.USEREVENT,
+ code = olpcgames.FILE_WRITE_REQUEST,
+ filename = file_path,
+ metadata = self.metadata,
+ )
+ eventwrap.post( event )
+ event.block()
+ if not os.path.exists( file_path ):
+ log.warn( '''No file created in %r''', file_path )
+ raise NotImplementedError( """Pygame Activity code did not produce a file for %s"""%( file_path, ))
+ else:
+ log.info( '''Stored file in %r''', file_path )
+
+
+import olpcgames
+olpcgames.PyGameActivity = PygameActivity
+PyGameActivity = PygameActivity
diff --git a/olpcgames/buildmanifest.py b/olpcgames/buildmanifest.py
new file mode 100644
index 0000000..899433b
--- /dev/null
+++ b/olpcgames/buildmanifest.py
@@ -0,0 +1,33 @@
+#! /usr/bin/env python
+"""Stupid little script to automate generation of MANIFEST and po/POTFILES.in
+
+Really this should have been handled by using distutils, but oh well,
+distutils is a hoary beast and I can't fault people for not wanting to
+spend days spelunking around inside it to find the solutions...
+"""
+from distutils.filelist import FileList
+import os
+
+def fileList( template ):
+ """Produce a formatted file-list for storing in a file"""
+ files = FileList()
+ for line in filter(None,template.splitlines()):
+ files.process_template_line( line )
+ content = '\n'.join( files.files )
+ return content
+
+
+def main( ):
+ """Do the quicky finding of files for our manifests"""
+ content = fileList( open('MANIFEST.in').read() )
+ open( 'MANIFEST','w').write( content )
+
+ content = fileList( open('POTFILES.in').read() )
+ try:
+ os.makedirs( 'po' )
+ except OSError, err:
+ pass
+ open( os.path.join('po','POTFILES.in'), 'w').write( content )
+
+if __name__ == "__main__":
+ main()
diff --git a/olpcgames/camera.py b/olpcgames/camera.py
new file mode 100644
index 0000000..249f295
--- /dev/null
+++ b/olpcgames/camera.py
@@ -0,0 +1,221 @@
+"""Accesses OLPC Camera functionality via gstreamer
+
+Depends upon:
+ pygame
+ gstreamer (particularly gst-launch)
+
+Activity demonstrating usage:
+
+ http://dev.laptop.org/git?p=projects/games-misc;a=tree;f=cameratest.activity;hb=HEAD
+
+
+"""
+import threading, subprocess
+import logging
+import olpcgames
+import time
+import os
+import pygame
+from olpcgames.util import get_activity_root
+
+log = logging.getLogger( 'olpcgames.camera' )
+#log.setLevel( logging.DEBUG )
+
+CAMERA_LOAD, CAMERA_LOAD_FAIL = olpcgames.CAMERA_LOAD, olpcgames.CAMERA_LOAD
+
+class Camera(object):
+ """A class representing a still-picture camera
+
+ Produces a simple gstreamer bus that terminates in a filesink, that is,
+ it stores the results in a file. When a picture is "snapped" the gstreamer
+ stream is iterated until it finishes processing and then the file can be
+ read.
+
+ There are two APIs available, a synchronous API which can potentially
+ stall your activity's GUI (and is NOT recommended) and an
+ asynchronous API which returns immediately and delivers the captured
+ camera image via a Pygame event. To be clear, it is recommended
+ that you use the snap_async method, *not* the snap method.
+
+ Note:
+
+ The Camera class is simply a convenience wrapper around a fairly
+ straightforward gst-launch bus. If you have more involved
+ requirements for your camera manipulations you will probably
+ find it easier to write your own camera implementation than to
+ use this one. Basically we provide here the "normal" use case of
+ snapping a picture into a pygame image.
+
+ Note:
+
+ With the current camera implementation taking a single photograph
+ requires about 6 seconds! Obviously we'll need to figure out what's
+ taking gstreamer so long to process the pipe and fix that.
+
+ """
+ _aliases = {
+ 'camera': 'v4l2src',
+ 'test': 'videotestsrc',
+ 'testing': 'videotestsrc',
+ 'png': 'pngenc',
+ 'jpeg': 'jpegenc',
+ 'jpg': 'jpegenc',
+ }
+ def __init__(self, source='camera', format='png', filename=None, directory = None):
+ """Initialises the Camera's internal description
+
+ source -- the gstreamer source for the video to capture, useful values:
+ 'v4l2src','camera' -- the camera
+ 'videotestsrc','test' -- test pattern generator source
+ format -- the gstreamer encoder to use for the capture, useful values:
+ 'pngenc','png' -- PNG format graphic
+ 'jpegenc','jpg','jpeg' -- JPEG format graphic
+ filename -- the filename to use for the capture, if not specified defaults
+ to a random UUID + '.' + format
+ directory -- the directory in which to create the temporary file, defaults
+ to get_activity_root() + 'tmp'
+ """
+ log.info( 'Creating camera' )
+ if not filename:
+ import uuid
+ filename = '%s.%s'%( uuid.uuid4(), format )
+ self.source = self._aliases.get( source, source )
+ self.format = self._aliases.get( format, format )
+ self.filename = filename
+ self.directory = directory
+ SNAP_PIPELINE = 'gst-launch','%(source)s','!','ffmpegcolorspace','!','%(format)s','!','filesink','location="%(filename)s"'
+ def _create_subprocess( self ):
+ """Method to create the gstreamer subprocess from our settings"""
+ if not self.directory:
+ path = os.path.join( get_activity_root(), 'tmp' )
+ try:
+ os.makedirs( path )
+ log.info( 'Created temporary directory: %s', path )
+ except (OSError,IOError), err:
+ pass
+ else:
+ path = self.directory
+ filename = os.path.join( path, self.filename )
+ format = self.format
+ source = self.source
+ pipeline = [s%locals() for s in self.SNAP_PIPELINE ]
+ return filename, subprocess.Popen(
+ pipeline,stderr = subprocess.PIPE
+ )
+
+ def snap(self):
+ """Snap a picture via the camera by iterating gstreamer until finished
+
+ Note: this is an unsafe implementation, it will cause the whole
+ activity to hang until the capture finishes. Time to finish is often
+ measured in whole seconds (3-6s).
+
+ It is *strongly* recommended that you use snap_async instead of snap!
+ """
+ log.debug( 'Starting snap' )
+ filename, pipe = self._create_subprocess()
+ if not pipe.wait():
+ log.debug( 'Ending snap, loading: %s', filename )
+ return self._load_and_clean( filename )
+ else:
+ raise IOError( """Unable to complete snapshot: %s""", pipe.stderr.read() )
+ def _load_and_clean( self, filename ):
+ """Use pygame to load given filename, delete after loading/attempt"""
+ try:
+ log.info( 'Loading snapshot file: %s', filename )
+ return pygame.image.load(filename)
+ finally:
+ try:
+ os.remove( filename )
+ except (IOError,OSError), err:
+ pass
+ def snap_async( self, token=None ):
+ """Snap a picture asynchronously generating event on success/failure
+
+ token -- passed back as attribute of the event which signals that capture
+ is finished
+
+ We return events of type CAMERA_LOAD with an attribute "succeed"
+ depending on whether we succeed or not. Attributes of the events which
+ are returned:
+
+ success -- whether the loading process succeeded
+ token -- as passed to this method
+ image -- pygame image.load result if successful, None otherwise
+ filename -- the filename in our temporary directory we used to store
+ the file temporarily (this file will be deleted before the event
+ is sent, the name is for informational purposes only).
+ err -- Exception instance if failed, None otherwise
+
+ Basically identical to the snap method, save that it posts a message
+ to the event bus in pygame.event instead of blocking and returning...
+
+ Example:
+ if event == pygame.MOUSEBUTTONDOWN:
+ camera = Camera( source='test', filename = 'picture32' )
+ camera.snap_async( myIdentifier )
+ ...
+ elif event.type == olpcgames.CAMERA_LOAD:
+ if event.token == myIdentifier:
+ doSomething( event.image )
+ """
+ log.debug( 'beginning async snap')
+ t = threading.Thread(target=self._background_snap, args=[token])
+ t.start()
+ return token
+
+ def _background_snap(
+ self,
+ token = None,
+ ):
+ """Process gst messages until pipe is finished
+
+ pipe -- gstreamer pipe definition for parse_launch, normally it will
+ produce a file into which the camera should store an image
+
+ We consider pipe to be finished when we have had two "state changed"
+ gstreamer events where the pending state is VOID, the first for when
+ we begin playing, the second for when we finish.
+ """
+ log.debug( 'Background thread kicking off gstreamer capture begun' )
+ from pygame.event import Event, post
+ filename, pipe = self._create_subprocess()
+ if not pipe.wait():
+ success = True
+ log.debug( 'Ending capture, loading: %s', filename )
+ try:
+ image = self._load_and_clean( filename )
+ except Exception, err:
+ image = None
+ success = False
+ else:
+ err = None
+ else:
+ success = False
+ err = pipe.stderr.read()
+ image = None
+ evt = Event(
+ CAMERA_LOAD,
+ dict(
+ filename=filename,
+ success = success,
+ token = token,
+ image=image,
+ err=err
+ )
+ )
+ post( evt )
+
+def snap():
+ """Dump a snapshot from the camera to a pygame surface in background thread
+
+ See Camera.snap
+ """
+ return Camera().snap()
+
+def snap_async( token=None, **named ):
+ """Dump snapshot from camera return asynchronously as event in Pygame
+
+ See Camera.snap_async
+ """
+ return Camera(**named).snap_async( token )
diff --git a/olpcgames/canvas.py b/olpcgames/canvas.py
new file mode 100644
index 0000000..2583827
--- /dev/null
+++ b/olpcgames/canvas.py
@@ -0,0 +1,171 @@
+"""Implements bridge connection between Sugar/GTK and Pygame"""
+import os
+import sys
+import logging
+log = logging.getLogger( 'olpcgames.canvas' )
+##log.setLevel( logging.DEBUG )
+import threading
+from pprint import pprint
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import gobject
+import pygame
+
+from olpcgames import gtkEvent, util
+
+__all__ = ['PygameCanvas']
+
+class PygameCanvas(gtk.Layout):
+ """Canvas providing bridge methods to run Pygame in GTK
+
+ The PygameCanvas creates a secondary thread in which the Pygame instance will
+ live, providing synthetic Pygame events to that thread via a Queue. The GUI
+ connection is done by having the Pygame canvas use a GTK Port object as it's
+ window pointer, it draws to that X-level window in order to produce output.
+ """
+ mod_name = None
+ def __init__(self, width, height):
+ """Initializes the Canvas Object
+
+ width,height -- passed to the inner EventBox in order to request a given size,
+ the Socket is the only child of this EventBox, and the Pygame commands
+ will be writing to the Window ID of the socket. The internal EventBox is
+ centered via an Alignment instance within the PygameCanvas instance.
+
+ XXX Should refactor so that the internal setup can be controlled by the
+ sub-class, e.g. to get size from the host window, or something similar.
+ """
+ # Build the main widget
+ log.info( 'Creating the pygame canvas' )
+ super(PygameCanvas,self).__init__()
+ self.set_flags(gtk.CAN_FOCUS)
+
+ # Build the sub-widgets
+ self._align = gtk.Alignment(0.5, 0.5)
+ self._inner_evb = gtk.EventBox()
+ self._socket = gtk.Socket()
+
+
+ # Add internal widgets
+ self._inner_evb.set_size_request(width, height)
+ self._inner_evb.add(self._socket)
+
+ self._socket.show()
+
+ self._align.add(self._inner_evb)
+ self._inner_evb.show()
+
+ self._align.show()
+
+ self.put(self._align, 0,0)
+
+ # Construct a gtkEvent.Translator
+ self._translator = gtkEvent.Translator(self, self._inner_evb)
+ # <Cue Thus Spract Zarathustra>
+ self.show()
+ def connect_game(self, app):
+ """Imports the given main-loop and starts processing in secondary thread
+
+ app -- fully-qualified Python path-name for the game's main-loop, with
+ name within module as :functionname, if no : character is present then
+ :main will be assumed.
+
+ Side effects:
+
+ Sets the SDL_WINDOWID variable to our socket's window ID
+ Calls Pygame init
+ Causes the gtkEvent.Translator to "hook" Pygame
+ Creates and starts secondary thread for Game/Pygame event processing.
+ """
+ log.info( 'Connecting the pygame canvas' )
+ # Setup the embedding
+ os.environ['SDL_WINDOWID'] = str(self._socket.get_id())
+ #print 'Socket ID=%s'%os.environ['SDL_WINDOWID']
+ pygame.init()
+
+ self._translator.hook_pygame()
+
+ # Load the modules
+ # NOTE: This is delayed because pygame.init() must come after the embedding is up
+ if ':' not in app:
+ app += ':main'
+ mod_name, fn_name = app.split(':')
+ self.mod_name = mod_name
+ mod = __import__(mod_name, globals(), locals(), [])
+ fn = getattr(mod, fn_name)
+
+ # Start Pygame
+ self.__thread = threading.Thread(target=self._start, args=[fn])
+ self.__thread.start()
+
+ def _start(self, fn):
+ """The method that actually runs in the background thread"""
+ log.info( 'Staring the mainloop' )
+ import olpcgames
+ olpcgames.widget = olpcgames.WIDGET = self
+ try:
+ import sugar.activity.activity,os
+ except ImportError, err:
+ log.info( """Running outside Sugar""" )
+ else:
+ try:
+ os.chdir(sugar.activity.activity.get_bundle_path())
+ except KeyError, err:
+ pass
+
+ try:
+ try:
+ try:
+ log.info( '''Running mainloop: %s''', fn )
+ fn()
+ except Exception, err:
+ log.error(
+ """Uncaught top-level exception: %s""",
+ util.get_traceback( err ),
+ )
+ raise
+ else:
+ log.info( "Mainloop exited" )
+ finally:
+ log.debug( "Clearing any pending events" )
+ from olpcgames import eventwrap
+ eventwrap.clear()
+ finally:
+ log.info( 'Main function finished, calling main_quit' )
+ gtk.main_quit()
+
+ source_object_id = None
+ def view_source(self):
+ """Implement the 'view source' key by saving
+ datastore, and then telling the Journal to view it."""
+ if self.source_object_id is None:
+ from sugar import profile
+ from sugar.datastore import datastore
+ from sugar.activity.activity import get_bundle_name, get_bundle_path
+ from gettext import gettext as _
+ import os.path
+ jobject = datastore.create()
+ metadata = {
+ 'title': _('%s Source') % get_bundle_name(),
+ 'title_set_by_user': '1',
+ 'suggested_filename': 'pippy_app.py',
+ 'icon-color': profile.get_color().to_string(),
+ 'mime_type': 'text/x-python',
+ }
+ for k,v in metadata.items():
+ jobject.metadata[k] = v # dict.update method is missing =(
+ jobject.file_path = os.path.join(get_bundle_path(), 'pippy_app.py')
+ datastore.write(jobject)
+ self.__source_object_id = jobject.object_id
+ jobject.destroy()
+ self.journal_show_object(self.__source_object_id)
+ def journal_show_object(self, object_id):
+ """Invoke journal_show_object from sugar.activity.activity if it
+ exists."""
+ try:
+ from sugar.activity.activity import show_object_in_journal
+ show_object_in_journal(object_id)
+ except ImportError:
+ pass # no love from sugar.
diff --git a/olpcgames/data/__init__.py b/olpcgames/data/__init__.py
new file mode 100644
index 0000000..8510186
--- /dev/null
+++ b/olpcgames/data/__init__.py
@@ -0,0 +1,36 @@
+"""Design-time __init__.py for resourcepackage
+
+This is the scanning version of __init__.py for your
+resource modules. You replace it with a blank or doc-only
+init when ready to release.
+"""
+try:
+ __file__
+except NameError:
+ pass
+else:
+ import os
+ if os.path.splitext(os.path.basename( __file__ ))[0] == "__init__":
+ try:
+ from resourcepackage import package, defaultgenerators
+ generators = defaultgenerators.generators.copy()
+
+ ### CUSTOMISATION POINT
+ ## import specialised generators here, such as for wxPython
+ #from resourcepackage import wxgenerators
+ #generators.update( wxgenerators.generators )
+ except ImportError:
+ pass
+ else:
+ package = package.Package(
+ packageName = __name__,
+ directory = os.path.dirname( os.path.abspath(__file__) ),
+ generators = generators,
+ )
+ package.scan(
+ ### CUSTOMISATION POINT
+ ## force true -> always re-loads from external files, otherwise
+ ## only reloads if the file is newer than the generated .py file.
+ # force = 1,
+ )
+
diff --git a/olpcgames/data/sleeping_svg.py b/olpcgames/data/sleeping_svg.py
new file mode 100644
index 0000000..c52398a
--- /dev/null
+++ b/olpcgames/data/sleeping_svg.py
@@ -0,0 +1,61 @@
+# -*- coding: ISO-8859-1 -*-
+"""Resource sleeping_svg (from file sleeping.svg)"""
+# written by resourcepackage: (1, 0, 1)
+source = 'sleeping.svg'
+package = 'olpcgames.data'
+data = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\012<svg\012\
+ xmlns=\"http://www.w3.org/2000/svg\"\012 xmlns:xlink=\"http:/\
+/www.w3.org/1999/xlink\"\012 width=\"737\"\012 height=\"923\"\012 ve\
+rsion=\"1.0\">\012 <defs>\012 <linearGradient\012 id=\"linearG\
+radient3152\">\012 <stop\012 style=\"stop-color:#b8ffb4\
+;stop-opacity:1;\"\012 offset=\"0\" />\012 <stop\012 \
+ offset=\"0.5\"\012 style=\"stop-color:#2eff22;stop-opaci\
+ty:0.5;\" />\012 <stop\012 style=\"stop-color:#ffffff;s\
+top-opacity:0;\"\012 offset=\"1\" />\012 </linearGradient>\
+\012 <radialGradient\012 xlink:href=\"#linearGradient3152\"\
+\012 id=\"radialGradient3158\"\012 cx=\"260\"\012 cy=\"2\
+35\"\012 fx=\"260\"\012 fy=\"235\"\012 r=\"259\"\012 gr\
+adientTransform=\"matrix(1,0,0,1.2531846,0,-59.560934)\"\012 \
+ gradientUnits=\"userSpaceOnUse\" />\012 </defs>\012 <g\012 tran\
+sform=\"translate(-3,-73)\">\012 <path\012 style=\"opacity:1\
+;color:#000000;fill:url(#radialGradient3158);fill-opacity:1;\
+fill-rule:evenodd;stroke:none;stroke-width:1.5;stroke-lineca\
+p:butt;stroke-linejoin:miter;marker:none;marker-start:none;m\
+arker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-da\
+sharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility\
+:visible;display:inline;overflow:visible\"\012 id=\"path217\
+8\"\012 d=\"M 519 235 A 259 324 0 1 1 0,235 A 259 324 0 1 \
+1 519 235 z\"\012 transform=\"matrix(1.4203822,0,0,1.42038\
+22,0,200)\" />\012 <path\012 style=\"fill:#000000;fill-opac\
+ity:0.75;fill-rule:nonzero;stroke:none;stroke-width:1pt;stro\
+ke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"\012 \
+ d=\"M 420,366 C 438,381 455,400 478,408 C 523,427 576,424 \
+620,405 C 632,400 644,393 655,387 C 652,389 638,397 649,391 \
+C 658,385 666,379 676,376 C 688,370 673,379 669,382 C 637,40\
+1 604,421 566,427 C 526,435 482,429 446,408 C 431,398 419,38\
+5 405,374 C 410,371 415,368 420,366 z \" />\012 <path\012 \
+style=\"fill:#000000;fill-opacity:0.75;fill-rule:nonzero;stro\
+ke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin\
+:miter;stroke-opacity:1\"\012 d=\"M 322,366 C 303,381 286,4\
+00 263,408 C 218,427 166,424 121,405 C 109,400 98,393 86,387\
+ C 89,389 103,397 93,391 C 84,385 75,379 65,376 C 53,370 68,\
+379 72,382 C 104,401 137,421 175,427 C 216,435 260,429 295,4\
+08 C 310,398 322,385 336,374 C 331,371 326,368 322,366 z \" /\
+>\012 <path\012 style=\"fill:#000000;fill-opacity:0.75;fil\
+l-rule:nonzero;stroke:none;stroke-width:1pt;stroke-linecap:b\
+utt;stroke-linejoin:miter;stroke-opacity:1\"\012 d=\"M 363,\
+383 C 347,418 353,458 345,495 C 339,525 324,551 312,579 C 30\
+4,598 298,620 309,639 C 317,655 335,667 353,669 C 379,671 40\
+5,664 429,653 C 442,646 405,667 423,656 C 429,652 434,647 44\
+1,645 C 455,639 439,650 434,653 C 408,669 378,679 347,679 C \
+327,679 308,667 297,651 C 285,634 287,613 294,594 C 302,570 \
+316,548 324,523 C 335,493 335,460 338,428 C 340,415 342,401 \
+349,390 C 353,388 358,385 363,383 z \" />\012 <path\012 st\
+yle=\"fill:#000000;fill-opacity:0.75;fill-rule:nonzero;stroke\
+:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:m\
+iter;stroke-opacity:1\"\012 d=\"M 206,735 C 245,737 285,740\
+ 324,744 C 357,745 391,746 424,744 C 468,738 510,723 550,703\
+ C 552,703 544,709 541,711 C 531,718 518,722 507,727 C 474,7\
+40 440,751 405,754 C 360,756 314,754 268,749 C 243,747 218,7\
+46 193,745 C 197,741 201,738 206,735 z \" />\012 </g>\012</svg>\012"
+### end
diff --git a/olpcgames/dbusproxy.py b/olpcgames/dbusproxy.py
new file mode 100644
index 0000000..a103e28
--- /dev/null
+++ b/olpcgames/dbusproxy.py
@@ -0,0 +1,93 @@
+"""Spike test for a safer networking system for DBUS-based objects"""
+from olpcgames import eventwrap, util
+from dbus import proxies
+import logging
+log = logging.getLogger( 'dbus' )
+log.setLevel( logging.DEBUG )
+
+def wrap( value, tube=None,path=None ):
+ """Wrap object with any required pygame-side proxies"""
+ if isinstance( value,proxies._ProxyMethod ):
+ return DBUSMethod( value, tube=tube, path=path )
+ elif isinstance( value, proxies._DeferredMethod ):
+ value._proxy_method = DBUSMethod( value._proxy_method, tube=tube, path=path )
+ return value
+ elif isinstance( value, proxies.ProxyObject ):
+ return DBUSProxy( value, tube=tube, path=path )
+ else:
+ return value
+
+class DBUSProxy( object ):
+ """Proxy for the DBUS Proxy object"""
+ def __init__( self, proxy, tube=None, path=None ):
+ log.info( 'Creating Pygame-side proxy for %s (%s)', proxy,path )
+ self.__proxy = proxy
+ self.__tube = tube
+ self.__path = path
+ def __getattr__( self, key ):
+ """Retrieve attribute of given key"""
+ from dbus import proxies
+ return wrap( getattr( self.__proxy, key ) )
+ def add_signal_receiver( self, callback, eventName, interface, path=None, sender_keyword='sender'):
+ """Add a new signal handler (which will be called many times) for given signal
+ """
+ log.info( """Setting signal receiver %s for event %s on interface %s (object path %s) with sender_keyword = %r""",
+ callback, eventName, interface, path, sender_keyword,
+ )
+ log.debug( """proxy: %s proxy.tube: %s""", self.__proxy, self.__proxy.tube )
+ self.__tube.add_signal_receiver(
+ Callback( callback ),
+ eventName,
+ interface,
+ path = path or self.__path,
+ sender_keyword = sender_keyword,
+ )
+
+class DBUSMethod( object ):
+ """DBUS method which does callbacks in the Pygame (eventwrapper) thread"""
+ def __init__( self, proxy, tube,path ):
+ log.info( 'Creating Pygame-side method proxy for %s', proxy )
+ self.__proxy = proxy
+ self.__tube = tube
+ self.__path = path
+ def __call__( self, *args, **named ):
+ """Perform the asynchronous call"""
+ log.info( 'Calling proxy for %s with *%s, **%s', self.__proxy, args, named )
+ callback, errback = named.get( 'reply_handler'), named.get( 'error_handler' )
+ if not callback:
+ raise TypeError( """Require a reply_handler named argument to do any asynchronous call""" )
+ else:
+ callback = Callback( callback )
+ if not errback:
+ errback = defaultErrback
+ else:
+ errback = Callback( errback )
+ named['reply_handler'] = callback
+ named['error_handler'] = errback
+ return self.__proxy( *args, **named )
+
+def defaultErrback( error ):
+ """Log the error to stderr/log"""
+ log.error( """Failure in DBUS call: %s""", error )
+
+class Callback( object ):
+ """PyGTK-side callback which generates a CallbackResult to process on the Pygame side"""
+ def __init__( self, callable, callContext = None):
+ """Initialize the callback to process results"""
+ self.callable = callable
+ if callContext is None:
+ callContext = util.get_traceback( None )
+ self.callContext = callContext
+ def __call__( self, *args, **named ):
+ """PyGTK-side callback operation"""
+ log.info( 'Callback %s return value *%s, **%s', self.callable, args, named )
+ from olpcgames import eventwrap
+ args = [wrap(a) for a in args]
+ named = dict([
+ (k,wrap(v)) for k,v in named.items()
+ ])
+ eventwrap.post(
+ eventwrap.CallbackResult(
+ self.callable, args, named, callContext = self.callContext
+ )
+ )
diff --git a/olpcgames/eventwrap.py b/olpcgames/eventwrap.py
new file mode 100644
index 0000000..402109c
--- /dev/null
+++ b/olpcgames/eventwrap.py
@@ -0,0 +1,388 @@
+"""Provides substitute for Pygame's "event" module using gtkEvent
+
+Provides methods which will be substituted into Pygame in order to
+provide the synthetic events that we will feed into the Pygame queue.
+These methods are registered by the "install" method.
+
+This event queue does not support getting events only of a certain type.
+You need to get all pending events at a time, or filter them yourself. You
+can, however, block and unblock events of certain types, so that may be
+useful to you.
+
+Set_grab doesn't do anything (you are not allowed to grab events). Sorry.
+
+Extensions:
+
+ wait( timeout=None ) -- allows you to wait for only a specified period
+ before you return to the application. Can be used to e.g. wait for a
+ short period, then release some resources, then wait a bit more, then
+ release a few more resources, then a bit more...
+"""
+import pygame
+import gtk
+import Queue
+import thread, threading
+import logging
+from olpcgames import util
+
+log = logging.getLogger( 'olpcgames.eventwrap' )
+
+from pygame.event import Event, event_name, pump as pygame_pump, get as pygame_get
+
+class Event(object):
+ """Mock pygame events"""
+ def __init__(self, type, dict=None,**named):
+ """Initialise the new event variables from dictionary and named become attributes"""
+ self.type = type
+ if dict:
+ self.__dict__.update( dict )
+ self.__dict__.update( named )
+ def _get_dict( self ):
+ return self.__dict__
+ dict = property( _get_dict )
+ def __repr__( self ):
+ result = []
+ for key,value in self.__dict__.items():
+ if not key.startswith( '_' ):
+ result.append( '%s = %r'%( key, value ))
+ return '%s( %s, %s )'%(
+ self.__class__.__name__,
+ self.type,
+ ",".join( result ),
+ )
+ def block( self ):
+ """Block until this event is finished processing
+
+ Event process is only finalized on the *next* call to retrieve an event
+ after the processing operation in which the event is processed. In some
+ extremely rare cases we might actually see that happen, were the
+ file-saving event (for example) causes the Pygame event loop to exit.
+ In that case, the GTK event loop *could* hang.
+ """
+ log.info( '''Blocking GTK thread on event: %s''', self )
+ self.__lock = threading.Event()
+ self.__lock.wait()
+ def retire( self ):
+ """Block the GTK event loop until this event is processed"""
+ try:
+ self.__lock.set()
+ log.info( '''Released GTK thread on event: %s''', self )
+ except AttributeError, err:
+ pass
+
+class CallbackResult( object ):
+ def __init__( self, callable, args, named, callContext=None ):
+ """Perform callback in Pygame loop with args and named
+
+ callContext is used to provide more information when there is
+ a failure in the callback (for debugging purposes)
+ """
+ self.callable = callable
+ self.args = args
+ self.named = named
+ if callContext is None:
+ callContext = util.get_traceback( None )
+ self.callContext = callContext
+ def __call__( self ):
+ """Perform the actual callback in the Pygame event loop"""
+ try:
+ self.callable( *self.args, **self.named )
+ except Exception, err:
+ log.error(
+ """Failure in callback %s( *%s, **%s ): %s\n%s""",
+ getattr(self.callable, '__name__',self.callable),
+ self.args, self.named,
+ util.get_traceback( err ),
+ self.callContext
+ )
+
+
+_EVENTS_TO_RETIRE = []
+
+def _releaseEvents( ):
+ """Release/retire previously-processed events"""
+ if _EVENTS_TO_RETIRE:
+ for event in _EVENTS_TO_RETIRE:
+ try:
+ event.retire()
+ except AttributeError, err:
+ pass
+
+def _processCallbacks( events ):
+ """Process any callbacks in events and remove from the stream"""
+ result = []
+ for event in events:
+ if isinstance( event, CallbackResult ):
+ event()
+ else:
+ result.append( event )
+ if events and not result:
+ result.append(
+ Event( type=pygame.NOEVENT )
+ )
+ return result
+
+def _recordEvents( events ):
+ """Record the set of events to retire on the next iteration"""
+ global _EVENTS_TO_RETIRE
+ events = _processCallbacks( events )
+ _EVENTS_TO_RETIRE = events
+ return events
+
+def install():
+ """Installs this module (eventwrap) as an in-place replacement for the pygame.event module.
+
+ Use install() when you need to interact with Pygame code written
+ without reference to the olpcgames wrapper mechanisms to have the
+ code use this module's event queue.
+
+ XXX Really, use it everywhere you want to use olpcgames, as olpcgames
+ registers the handler itself, so you will always wind up with it registered when
+ you use olpcgames (the gtkEvent.Translator.hook_pygame method calls it).
+ """
+ log.info( 'Installing OLPCGames event wrapper' )
+ from olpcgames import eventwrap
+ import pygame
+ pygame.event = eventwrap
+ import sys
+ sys.modules["pygame.event"] = eventwrap
+
+# Event queue:
+class _FilterQueue( Queue.Queue ):
+ """Simple Queue sub-class with a put_left method"""
+ def get_type( self, filterFunction, block=True, timeout=None ):
+ """Get events of a given type
+
+ Note: can raise Empty *even* when blocking if someone else
+ pops the event off the queue before we get around to it.
+ """
+ self.not_empty.acquire()
+ try:
+ if not block:
+ if self._empty_type( filterFunction ):
+ raise Queue.Empty
+ elif timeout is None:
+ while self._empty_type( filterFunction ):
+ self.not_empty.wait()
+ else:
+ if timeout < 0:
+ raise ValueError("'timeout' must be a positive number")
+ endtime = _time() + timeout
+ while self._empty_type( filterFunction ):
+ remaining = endtime - _time()
+ if remaining <= 0.0:
+ raise Queue.Empty
+ self.not_empty.wait(remaining)
+ item = self._get_type( filterFunction )
+ self.not_full.notify()
+ return item
+ finally:
+ self.not_empty.release()
+ def _empty_type( self, filterFunction ):
+ """Are we empty with respect to filterFunction?"""
+ for element in self.queue:
+ if filterFunction( element ):
+ return False
+ return True
+ def _get_type( self, filterFunction ):
+ """Get the first instance which matches filterFunction"""
+ for element in self.queue:
+ if filterFunction( element ):
+ self.queue.remove( element )
+ return element
+ # someone popped the event off the queue before we got to it!
+ raise Queue.Empty
+ def peek_type( self, filterFunction= lambda x: True ):
+ """Peek to see if we have filterFunction-matching element
+
+ Note: obviously this is *not* thread safe, it's just informative...
+ """
+ try:
+ for element in self.queue:
+ if filterFunction( element ):
+ return element
+ return None
+ except RuntimeError, err:
+ return None # none yet, at least
+
+g_events = _FilterQueue()
+
+# Set of blocked events as set by set
+g_blocked = set()
+g_blockedlock = thread.allocate_lock() # should use threading instead
+g_blockAll = False
+
+def _typeChecker( types ):
+ """Create check whether an event is in types"""
+ try:
+ if 1 in types:
+ pass
+ def check( element ):
+ return element.type in types
+ return check
+ except TypeError, err:
+ def check( element ):
+ return element.type == types
+ return check
+
+def pump():
+ """Handle any window manager and other external events that aren't passed to the user
+
+ Call this periodically (once a frame) if you don't call get(), poll() or wait()
+ """
+ pygame_pump()
+ _releaseEvents()
+
+def get( types=None):
+ """Get a list of all pending events
+
+ types -- either an integer event-type or a sequence of integer event types
+ which restrict the set of event-types returned from the queue. Keep in mind
+ that if you do not remove events you may wind up with an eternally growing
+ queue or a full queue. Normally you will want to remove all events in your
+ top-level event-loop and propagate them yourself.
+
+ Note: if you use types you lose all event ordering guarantees, events
+ may show up after events which were originally produced before them due to
+ the re-ordering of the queue on filtering!
+ """
+ pump()
+ eventlist = []
+ try:
+ if types:
+ check = _typeChecker( types )
+ while True:
+ eventlist.append(g_events.get_type( check, block=False))
+ else:
+ while True:
+ eventlist.append(g_events.get(block=False))
+ except Queue.Empty:
+ pass
+
+ pygameEvents = pygame_get()
+ if pygameEvents:
+ log.info( 'Raw Pygame events: %s', pygameEvents)
+ eventlist.extend( pygameEvents )
+ return _recordEvents( eventlist )
+
+def poll():
+ """Get the next pending event if exists. Otherwise, return pygame.NOEVENT."""
+ pump()
+ try:
+ result = g_events.get(block=False)
+ return _recordEvents( [result] )[0]
+ except Queue.Empty:
+ return Event(pygame.NOEVENT)
+
+
+def wait( timeout = None):
+ """Get the next pending event, wait up to timeout if none
+
+ timeout -- if present, only wait up to timeout seconds, if we
+ do not find an event before then, return None. timeout
+ is an OLPCGames-specific extension.
+ """
+ pump()
+ try:
+ result = None
+ result = g_events.get(block=True, timeout=timeout)
+ try:
+ return _recordEvents( [result] )[0]
+ except IndexError, err:
+ return Event( type=pygame.NOEVENT )
+ except Queue.Empty, err:
+ return None
+
+def peek(types=None):
+ """True if there is any pending event
+
+ types -- optional set of event-types used to check whether
+ an event is of interest. If specified must be either a sequence
+ of integers/longs or an integer/long.
+ """
+ if types:
+ check = _typeChecker( types )
+ return g_events.peek_type( check ) is not None
+ return not g_events.empty()
+
+def clear():
+ """Clears the entire pending queue of events
+
+ Rarely used
+ """
+ try:
+ discarded = []
+ while True:
+ discarded.append( g_events.get(block=False) )
+ discarded = _recordEvents( discarded )
+ _releaseEvents()
+ return discarded
+ except Queue.Empty:
+ pass
+
+def set_blocked(item):
+ """Block item/items from being added to the event queue"""
+ g_blockedlock.acquire()
+ try:
+ # FIXME: we do not currently know how to block all event types when
+ # you set_blocked(none).
+ [g_blocked.add(x) for x in makeseq(item)]
+ finally:
+ g_blockedlock.release()
+
+def set_allowed(item):
+ """Allow item/items to be added to the event queue"""
+ g_blockedlock.acquire()
+ try:
+ if item is None:
+ # Allow all events when you set_allowed(none). Strange, eh?
+ # Pygame is a wonderful API.
+ g_blocked.clear()
+ else:
+ [g_blocked.remove(x) for x in makeseq(item)]
+ finally:
+ g_blockedlock.release()
+
+def get_blocked(*args, **kwargs):
+ g_blockedlock.acquire()
+ try:
+ blocked = frozenset(g_blocked)
+ return blocked
+ finally:
+ g_blockedlock.release()
+
+def set_grab(grabbing):
+ """This method will not be implemented"""
+
+def get_grab():
+ """This method will not be implemented"""
+
+def post(event):
+ """Post a new event to the Queue of events"""
+ g_blockedlock.acquire()
+ try:
+ if getattr(event,'type',None) not in g_blocked:
+ g_events.put(event, block=False)
+ finally:
+ g_blockedlock.release()
+
+def makeseq(obj):
+ """Accept either a scalar object or a sequence, and return a sequence
+ over which we can iterate. If we were passed a sequence, return it
+ unchanged. If we were passed a scalar, return a tuple containing only
+ that scalar. This allows the caller to easily support one-or-many.
+ """
+ # Strings are the exception because you can iterate over their chars
+ # -- yet, for all the purposes I've ever cared about, I want to treat
+ # a string as a scalar.
+ if isinstance(obj, basestring):
+ return (obj,)
+ try:
+ # Except as noted above, if you can get an iter() from an object,
+ # it's a collection.
+ iter(obj)
+ return obj
+ except TypeError:
+ # obj is a scalar. Wrap it in a tuple so we can iterate over the
+ # one item.
+ return (obj,)
diff --git a/olpcgames/gtkEvent.py b/olpcgames/gtkEvent.py
new file mode 100644
index 0000000..6b20102
--- /dev/null
+++ b/olpcgames/gtkEvent.py
@@ -0,0 +1,289 @@
+"""gtkEvent.py: translate GTK events into Pygame events."""
+import pygtk
+pygtk.require('2.0')
+import gtk
+import gobject
+import pygame
+from olpcgames import eventwrap
+import logging
+log = logging.getLogger( 'olpcgames.gtkevent' )
+##log.setLevel( logging.DEBUG )
+
+class _MockEvent(object):
+ """Used to inject key-repeat events on the gtk side."""
+ def __init__(self, keyval):
+ self.keyval = keyval
+
+class Translator(object):
+ """Utility class to translate GTK events into Pygame events
+
+ The Translator object interprets incoming GTK events and generates
+ Pygame events in the eventwrap module's queue as a result.
+ It also handles generating Pygame style key-repeat events
+ by synthesizing them via a GTK timer.
+ """
+ key_trans = {
+ 'Alt_L': pygame.K_LALT,
+ 'Alt_R': pygame.K_RALT,
+ 'Control_L': pygame.K_LCTRL,
+ 'Control_R': pygame.K_RCTRL,
+ 'Shift_L': pygame.K_LSHIFT,
+ 'Shift_R': pygame.K_RSHIFT,
+ 'Super_L': pygame.K_LSUPER,
+ 'Super_R': pygame.K_RSUPER,
+ 'KP_Page_Up' : pygame.K_KP9,
+ 'KP_Page_Down' : pygame.K_KP3,
+ 'KP_End' : pygame.K_KP1,
+ 'KP_Home' : pygame.K_KP7,
+ 'KP_Up' : pygame.K_KP8,
+ 'KP_Down' : pygame.K_KP2,
+ 'KP_Left' : pygame.K_KP4,
+ 'KP_Right' : pygame.K_KP6,
+
+ }
+
+ mod_map = {
+ pygame.K_LALT: pygame.KMOD_LALT,
+ pygame.K_RALT: pygame.KMOD_RALT,
+ pygame.K_LCTRL: pygame.KMOD_LCTRL,
+ pygame.K_RCTRL: pygame.KMOD_RCTRL,
+ pygame.K_LSHIFT: pygame.KMOD_LSHIFT,
+ pygame.K_RSHIFT: pygame.KMOD_RSHIFT,
+ }
+
+ def __init__(self, mainwindow, mouselistener=None):
+ """Initialise the Translator with the windows to which to listen"""
+ # _inner_evb is Mouselistener
+ self._mainwindow = mainwindow
+ if mouselistener is None:
+ mouselistener = mainwindow
+
+ self._inner_evb = mouselistener
+
+ # Need to set our X event masks so we see mouse motion and stuff --
+ mainwindow.set_events(
+ gtk.gdk.KEY_PRESS_MASK | \
+ gtk.gdk.KEY_RELEASE_MASK \
+ )
+
+ self._inner_evb.set_events(
+ gtk.gdk.POINTER_MOTION_MASK | \
+ gtk.gdk.POINTER_MOTION_HINT_MASK | \
+ gtk.gdk.BUTTON_MOTION_MASK | \
+ gtk.gdk.BUTTON_PRESS_MASK | \
+ gtk.gdk.BUTTON_RELEASE_MASK
+ )
+
+ # Callback functions to link the event systems
+ mainwindow.connect('unrealize', self._quit)
+ mainwindow.connect('key_press_event', self._keydown)
+ mainwindow.connect('key_release_event', self._keyup)
+ self._inner_evb.connect('button_press_event', self._mousedown)
+ self._inner_evb.connect('button_release_event', self._mouseup)
+ self._inner_evb.connect('motion-notify-event', self._mousemove)
+
+ # You might need to do this
+ mainwindow.set_flags(gtk.CAN_FOCUS)
+ self._inner_evb.set_flags(gtk.CAN_FOCUS)
+
+ # Internal data
+ self.__stopped = False
+ self.__keystate = [0] * 323
+ self.__button_state = [0,0,0]
+ self.__mouse_pos = (0,0)
+ self.__repeat = (None, None)
+ self.__held = set()
+ self.__held_time_left = {}
+ self.__held_last_time = {}
+ self.__tick_id = None
+
+ #print "translator initialized"
+ self._inner_evb.connect( 'expose-event', self.do_expose_event )
+# screen = gtk.gdk.screen_get_default()
+# screen.connect( 'size-changed', self.do_resize_event )
+ self._inner_evb.connect( 'configure-event', self.do_resize_event )
+ def do_expose_event(self, event, widget):
+ """Handle exposure event (trigger redraw by gst)"""
+ log.info( 'Expose event: %s', event )
+ from olpcgames import eventwrap
+ eventwrap.post( eventwrap.Event( eventwrap.pygame.VIDEOEXPOSE ))
+ return True
+ def do_resize_event( self, activity, event ):
+ """Our screen (actually, the default screen) has resized"""
+ log.info( 'Resize event: %s %s', activity, event )
+ log.info( 'Event values: %s', (event.width,event.height) )
+# from olpcgames import eventwrap
+# # shouldn't the activity's window have this information too?
+# eventwrap.post(
+# eventwrap.Event(
+# eventwrap.pygame.VIDEORESIZE,
+# dict(size=(event.width,event.height), width=event.width, height=event.height)
+# )
+# )
+ return False # continue processing
+ def hook_pygame(self):
+ """Hook the various Pygame features so that we implement the event APIs"""
+ # Pygame should be initialized. Hijack their key and mouse methods
+ pygame.key.get_pressed = self._get_pressed
+ pygame.key.set_repeat = self._set_repeat
+ pygame.mouse.get_pressed = self._get_mouse_pressed
+ pygame.mouse.get_pos = self._get_mouse_pos
+ import eventwrap
+ eventwrap.install()
+
+ def _quit(self, data=None):
+ self.__stopped = True
+ eventwrap.post(eventwrap.Event(pygame.QUIT))
+
+ def _keydown(self, widget, event):
+ key = event.keyval
+ log.debug( 'key down: %s', key )
+ if key in self.__held:
+ return True
+ else:
+ if self.__repeat[0] is not None:
+ self.__held_last_time[key] = pygame.time.get_ticks()
+ self.__held_time_left[key] = self.__repeat[0]
+ self.__held.add(key)
+
+ return self._keyevent(widget, event, pygame.KEYDOWN)
+
+ def _keyup(self, widget, event):
+ key = event.keyval
+ if self.__repeat[0] is not None:
+ if key in self.__held:
+ # This is possibly false if set_repeat() is called with a key held
+ del self.__held_time_left[key]
+ del self.__held_last_time[key]
+ self.__held.discard(key)
+
+ return self._keyevent(widget, event, pygame.KEYUP)
+
+ def _keymods(self):
+ """Extract the keymods as they stand currently."""
+ mod = 0
+ for key_val, mod_val in self.mod_map.iteritems():
+ mod |= self.__keystate[key_val] and mod_val
+ return mod
+
+
+ def _keyevent(self, widget, event, type):
+ key = gtk.gdk.keyval_name(event.keyval)
+ if key is None:
+ # No idea what this key is.
+ return False
+
+ keycode = None
+ if key in self.key_trans:
+ keycode = self.key_trans[key]
+ elif hasattr(pygame, 'K_'+key.upper()):
+ keycode = getattr(pygame, 'K_'+key.upper())
+ elif hasattr(pygame, 'K_'+key.lower()):
+ keycode = getattr(pygame, 'K_'+key.lower())
+ elif key == 'XF86Start':
+ # view source request, specially handled...
+ self._mainwindow.view_source()
+ else:
+ print 'Key %s unrecognized'%key
+
+ if keycode is not None:
+ if type == pygame.KEYDOWN:
+ mod = self._keymods()
+ self.__keystate[keycode] = type == pygame.KEYDOWN
+ if type == pygame.KEYUP:
+ mod = self._keymods()
+ ukey = unichr(gtk.gdk.keyval_to_unicode(event.keyval))
+ if ukey == '\000':
+ ukey = ''
+ evt = eventwrap.Event(type, key=keycode, unicode=ukey, mod=mod)
+ assert evt.key, evt
+ self._post(evt)
+ return True
+
+ def _get_pressed(self):
+ """Retrieve map/array of which keys are currently depressed (held down)"""
+ return self.__keystate
+
+ def _get_mouse_pressed(self):
+ """Return three-element array of which mouse-buttons are currently depressed (held down)"""
+ return self.__button_state
+
+ def _mousedown(self, widget, event):
+ self.__button_state[event.button-1] = 1
+ return self._mouseevent(widget, event, pygame.MOUSEBUTTONDOWN)
+
+ def _mouseup(self, widget, event):
+ self.__button_state[event.button-1] = 0
+ return self._mouseevent(widget, event, pygame.MOUSEBUTTONUP)
+
+ def _mouseevent(self, widget, event, type):
+
+ evt = eventwrap.Event(type,
+ button=event.button,
+ pos=(event.x, event.y))
+ self._post(evt)
+ return True
+
+ def _mousemove(self, widget, event):
+ # From http://www.learningpython.com/2006/07/25/writing-a-custom-widget-using-pygtk/
+ # if this is a hint, then let's get all the necessary
+ # information, if not it's all we need.
+ if event.is_hint:
+ x, y, state = event.window.get_pointer()
+ else:
+ x = event.x
+ y = event.y
+ state = event.state
+
+ rel = (x - self.__mouse_pos[0],
+ y - self.__mouse_pos[1])
+ self.__mouse_pos = (x, y)
+
+ self.__button_state = [
+ state & gtk.gdk.BUTTON1_MASK and 1 or 0,
+ state & gtk.gdk.BUTTON2_MASK and 1 or 0,
+ state & gtk.gdk.BUTTON3_MASK and 1 or 0,
+ ]
+
+ evt = eventwrap.Event(pygame.MOUSEMOTION,
+ pos=self.__mouse_pos,
+ rel=rel,
+ buttons=self.__button_state)
+ self._post(evt)
+ return True
+
+ def _tick(self):
+ """Generate synthetic events for held-down keys"""
+ cur_time = pygame.time.get_ticks()
+ for key in self.__held:
+ delta = cur_time - self.__held_last_time[key]
+ self.__held_last_time[key] = cur_time
+
+ self.__held_time_left[key] -= delta
+ if self.__held_time_left[key] <= 0:
+ self.__held_time_left[key] = self.__repeat[1]
+ self._keyevent(None, _MockEvent(key), pygame.KEYDOWN)
+
+ return True
+
+ def _set_repeat(self, delay=None, interval=None):
+ """Set the key-repetition frequency for held-down keys"""
+ if delay is not None and self.__repeat[0] is None:
+ self.__tick_id = gobject.timeout_add(10, self._tick)
+ elif delay is None and self.__repeat[0] is not None:
+ gobject.source_remove(self.__tick_id)
+ self.__repeat = (delay, interval)
+
+ def _get_mouse_pos(self):
+ """Retrieve the current mouse position as a two-tuple of integers"""
+ return self.__mouse_pos
+
+ def _post(self, evt):
+ try:
+ eventwrap.post(evt)
+ except pygame.error, e:
+ if str(e) == 'Event queue full':
+ print "Event queue full!"
+ pass
+ else:
+ raise e
diff --git a/olpcgames/mesh.py b/olpcgames/mesh.py
new file mode 100644
index 0000000..1ad4c43
--- /dev/null
+++ b/olpcgames/mesh.py
@@ -0,0 +1,583 @@
+'''Utilities for wrapping the telepathy network for Pygame
+
+The 'mesh' module allows your Pygame game to be Shared
+across the OLPC networking infrastructure (D-bus and Tubes).
+It offers a simplified view of the Telepathy system.
+
+All Sugar activities have a 'Share' menu (toolbar) which is
+intended to allow other people to join the activity instance
+and collaborate with you. When you select Share, the activity's
+icon appears on the Neighborhood view of other laptops.
+
+If you do nothing else with networking, this is all that will
+happen: if anyone selects your shared activity icon, they will
+just spawn a new instance of the activity, and they will get to
+play your game alone.
+
+The mesh module automatically sets up a connection from each
+participant to every other participant. It provides (string based)
+communications channels that let you either broadcast messages
+to other users or communicate point-to-point to one other user.
+
+You can use the "handles" which uniquely idenify users to send
+messages to an individual user (send_to( handle, message )) or
+broadcast( message ) to send a message to all participants.
+
+More advanced (structured) networking can be handled by using
+the get_object( handle, path ) function, which looks up an object
+(by DBUS path) shared by the user "handle" and returns a
+DBUS/Telepathy proxy for that object. The object you get back is
+actually an olpcgames.dbusproxy.DBUSProxy instance, which
+enforces asynchronous operations and runs your
+reply_handler/error_handler in the Pygame event loop.
+
+NOTE:
+ You *cannot* make synchronous calls on these objects!
+ You must use the named arguments:
+
+ reply_handler, error_handler
+
+ for every call which you perform on a shared object (normally
+ these are ExportedGObject instances).
+
+If you want to run your callbacks in the GTK event loop (for instance
+because they need to handle GTK-side objects), you can use the
+dbus_get_object function. This is *not* recommended for normal
+usage, as any call to Pygame operations within the GTK event loop
+can cause a segfault/core of your entire Activity.
+
+Note:
+
+ mesh sets up N**2 connections for each shared activity, obviously
+ that will not scale to very large shared activities.
+
+Note:
+
+ The intention is that mesh will be refactored, possibly as a
+ new module called "olpcgames.network", which would break out
+ the various components so that there is no longer an assumed
+ networking layout. We will attempt to retain the mesh module's
+ API as we do so.
+
+Events produced:
+
+ olpcgames.CONNECT -- The tube connection was started. (i.e., the
+ user clicked Share or started the activity from the Neighborhood
+ screen).
+
+ Event properties:
+
+ id -- a unique identifier for this connection. (shouldn't be needed
+ for anything)
+
+ olpcgames.PARTICIPANT_ADD -- A participant joined the activity.
+ This will trigger for the local user as well as any arriving remote
+ users. Note that this *only* occurs after the activity is shared,
+ that is, the local user does not appear until after they have
+ shared a locally-started activity.
+
+ Event properties:
+
+ handle -- the arriving user's handle (a uniquely identifying string
+ assigned to the user by the Telepathy system, not human
+ readable), see lookup_buddy to retrieve human-readable
+ descriptions of the user.
+
+ olpcgames.PARTICIPANT_REMOVE -- A participant quit the activity.
+
+ Event properties:
+
+ handle -- the departing user's handle.
+
+ olpcgames.MESSAGE_UNI -- A message was sent to you.
+
+ Event properties:
+
+ content -- the content of the message (a string)
+ handle -- the handle of the sending user.
+
+ olpcgames.MESSAGE_MULTI -- A message was sent to everyone.
+
+ Event properties:
+
+ content -- the content of the message (a string)
+ handle -- the handle of the sending user.
+
+Note:
+
+ Eventually we will stop using top-level Pygame event types for the
+ various networking message types (currently four of them). We will
+ likely use UserEvent with a sub-type specifier for the various events
+ that OLPCGames produces.
+
+See Also:
+
+ http://blog.vrplumber.com/2016 -- Discussion of how Productive uses
+ the mesh module and raw Telepathy (ExportedGObject instances)
+'''
+import logging
+log = logging.getLogger( 'olpcgames.mesh' )
+##log.setLevel( logging.DEBUG )
+import olpcgames
+from olpcgames.util import get_traceback
+try:
+ from sugar.presence.tubeconn import TubeConnection
+except ImportError, err:
+ TubeConnection = object
+try:
+ from dbus.gobject_service import ExportedGObject
+except ImportError, err:
+ ExportedGObject = object
+from dbus.service import method, signal
+
+try:
+ import telepathy
+except ImportError, err:
+ telepathy = None
+
+try:
+ import sugar.presence.presenceservice
+except Exception, err:
+ pass
+import pygame.event as PEvent
+
+class OfflineError( Exception ):
+ """Raised when we cannot complete an operation due to being offline"""
+
+DBUS_IFACE="org.laptop.games.pygame"
+DBUS_PATH="/org/laptop/games/pygame"
+DBUS_SERVICE = None
+
+
+### NEW PYGAME EVENTS ###
+
+CONNECT = olpcgames.CONNECT
+PARTICIPANT_ADD = olpcgames.PARTICIPANT_ADD
+PARTICIPANT_REMOVE = olpcgames.PARTICIPANT_REMOVE
+MESSAGE_UNI = olpcgames.MESSAGE_UNI
+MESSAGE_MULTI = olpcgames.MESSAGE_MULTI
+
+
+# Private objects for useful purposes!
+pygametubes = []
+text_chan, tubes_chan = (None, None)
+conn = None
+initiating = False
+joining = False
+
+connect_callback = None
+
+def is_initiating():
+ '''A version of is_initiator that's a bit less goofy, and can be used
+ before the Tube comes up.'''
+ global initiating
+ return initiating
+
+def is_joining():
+ '''Returns True if the activity was started up by means of the
+ Neighbourhood mesh view.'''
+ global joining
+ return joining
+
+def set_connect_callback(cb):
+ '''Just the same as the Pygame event loop can listen for CONNECT,
+ this is just an ugly callback that the glib side can use to be aware
+ of when the Tube is ready.'''
+ global connect_callback
+ connect_callback = cb
+
+def activity_shared(activity):
+ '''Called when the user clicks Share.'''
+
+ global initiating
+ initiating = True
+
+ _setup(activity)
+
+
+ log.debug('This is my activity: making a tube...')
+ channel = tubes_chan[telepathy.CHANNEL_TYPE_TUBES]
+ if hasattr( channel, 'OfferDBusTube' ):
+ id = channel.OfferDBusTube(
+ DBUS_SERVICE, {})
+ else:
+ id = channel.OfferTube(
+ telepathy.TUBE_TYPE_DBUS, DBUS_SERVICE, {})
+
+ global connect_callback
+ if connect_callback is not None:
+ connect_callback()
+
+def activity_joined(activity):
+ '''Called at the startup of our Activity, when the user started it via Neighborhood intending to join an existing activity.'''
+
+ # Find out who's already in the shared activity:
+ log.debug('Joined an existing shared activity')
+
+ for buddy in activity._shared_activity.get_joined_buddies():
+ log.debug('Buddy %s is already in the activity' % buddy.props.nick)
+
+
+ global initiating
+ global joining
+ initiating = False
+ joining = True
+
+
+ _setup(activity)
+
+ tubes_chan[telepathy.CHANNEL_TYPE_TUBES].ListTubes(
+ reply_handler=_list_tubes_reply_cb,
+ error_handler=_list_tubes_error_cb)
+
+ global connect_callback
+ if connect_callback is not None:
+ connect_callback()
+
+def _getConn( activity ):
+ log.debug( '_getConn' )
+ global conn
+ if conn:
+ return conn
+ else:
+ if hasattr( activity._shared_activity, 'telepathy_conn' ):
+ log.debug( '''new-style api for retrieving telepathy connection present''' )
+ conn = activity._shared_activity.telepathy_conn
+ else:
+ pservice = _get_presence_service()
+ log.debug( '_get_presence_service -> %s', pservice )
+ name, path = pservice.get_preferred_connection()
+ log.debug( '_get_presence_service -> %s, %s', name, path)
+ conn = telepathy.client.Connection(name, path)
+ log.debug( 'Telepathy Client Connection: %s', conn )
+ return conn
+
+
+
+def _setup(activity):
+ '''Determines text and tube channels for the current Activity. If no tube
+channel present, creates one. Updates text_chan and tubes_chan.
+
+setup(sugar.activity.Activity, telepathy.client.Connection)'''
+ global text_chan, tubes_chan, DBUS_SERVICE
+ log.info( 'Setup for %s', activity )
+ if not DBUS_SERVICE:
+ DBUS_SERVICE = activity.get_bundle_id()
+ if not activity.get_shared():
+ log.error('Failed to share or join activity')
+ raise "Failure"
+
+ if hasattr( activity._shared_activity, 'telepathy_tubes_chan' ):
+ log.debug( '''Improved channel setup API available''' )
+ _getConn( activity )
+ conn = activity._shared_activity.telepathy_conn
+ tubes_chan = activity._shared_activity.telepathy_tubes_chan
+ text_chan = activity._shared_activity.telepathy_text_chan
+ else:
+ log.debug( '''Old-style setup API''' )
+ bus_name, conn_path, channel_paths = activity._shared_activity.get_channels()
+ _getConn( activity )
+
+ # Work out what our room is called and whether we have Tubes already
+ room = None
+ tubes_chan = None
+ text_chan = None
+ for channel_path in channel_paths:
+ log.debug( 'Testing channel path: %s', channel_path)
+ channel = telepathy.client.Channel(bus_name, channel_path)
+ htype, handle = channel.GetHandle()
+ log.debug( ' Handle Type: %s Handle: %s', htype, handle)
+ if htype == telepathy.HANDLE_TYPE_ROOM:
+ log.debug('Found our room: it has handle#%d "%s"',
+ handle, conn.InspectHandles(htype, [handle])[0])
+ room = handle
+ ctype = channel.GetChannelType()
+ if ctype == telepathy.CHANNEL_TYPE_TUBES:
+ log.debug('Found our Tubes channel at %s', channel_path)
+ tubes_chan = channel
+ elif ctype == telepathy.CHANNEL_TYPE_TEXT:
+ log.debug('Found our Text channel at %s', channel_path)
+ text_chan = channel
+
+ if room is None:
+ log.error("Presence service didn't create a room")
+ raise "Failure"
+ if text_chan is None:
+ log.error("Presence service didn't create a text channel")
+ raise "Failure"
+
+ # Make sure we have a Tubes channel - PS doesn't yet provide one
+ if tubes_chan is None:
+ log.debug("Didn't find our Tubes channel, requesting one...")
+ tubes_chan = conn.request_channel(telepathy.CHANNEL_TYPE_TUBES,
+ telepathy.HANDLE_TYPE_ROOM, room, True)
+
+ tubes_chan[telepathy.CHANNEL_TYPE_TUBES].connect_to_signal('NewTube',
+ new_tube_cb)
+
+ log.info( 'Setup for %s complete', activity )
+ return (text_chan, tubes_chan)
+
+def new_tube_cb(id, initiator, type, service, params, state):
+ log.debug("New_tube_cb called: %s %s %s" % (id, initiator, type))
+ if (type == telepathy.TUBE_TYPE_DBUS and service == DBUS_SERVICE):
+ if state == telepathy.TUBE_STATE_LOCAL_PENDING:
+ channel = tubes_chan[telepathy.CHANNEL_TYPE_TUBES]
+ if hasattr( channel, 'AcceptDBusTube' ):
+ channel.AcceptDBusTube( id )
+ else:
+ channel.AcceptTube(id)
+
+ tube_conn = TubeConnection(conn,
+ tubes_chan[telepathy.CHANNEL_TYPE_TUBES],
+ id, group_iface=text_chan[telepathy.CHANNEL_INTERFACE_GROUP])
+
+ global pygametubes, initiating
+ pygametubes.append(PygameTube(tube_conn, initiating, len(pygametubes)))
+
+
+def _list_tubes_reply_cb(tubes):
+ for tube_info in tubes:
+ new_tube_cb(*tube_info)
+
+def _list_tubes_error_cb(e):
+ log.error('ListTubes() failed: %s', e)
+
+def lookup_buddy( dbus_handle, callback, errback=None ):
+ """Do a lookup on the buddy information, callback with the information
+
+ Calls callback( buddy ) with the result of the lookup, or errback( error ) with
+ a dbus description of the error in the lookup process.
+
+ returns None
+ """
+ log.debug('Trying to find owner of handle %s...', dbus_handle)
+ cs_handle = instance().tube.bus_name_to_handle[dbus_handle]
+ log.debug('Trying to find my handle in %s...', cs_handle)
+ group = text_chan[telepathy.CHANNEL_INTERFACE_GROUP]
+ log.debug( 'Calling GetSelfHandle' )
+ if not errback:
+ def errback( error ):
+ log.error( """Failure retrieving handle for buddy lookup: %s""", error )
+ def with_my_csh( my_csh ):
+ log.debug('My handle in that group is %s', my_csh)
+ def _withHandle( handle ):
+ """process the results of the handle values"""
+ # XXX: we're assuming that we have Buddy objects for all contacts -
+ # this might break when the server becomes scalable.
+ pservice = _get_presence_service()
+ name, path = pservice.get_preferred_connection()
+ callback( pservice.get_buddy_by_telepathy_handle(name, path, handle) )
+ if my_csh == cs_handle:
+ conn.GetSelfHandle(reply_handler = _withHandle, error_handler=errback)
+ log.debug('CS handle %s belongs to me, looking up with GetSelfHandle', cs_handle)
+ elif group.GetGroupFlags() & telepathy.CHANNEL_GROUP_FLAG_CHANNEL_SPECIFIC_HANDLES:
+ handle = group.GetHandleOwners([cs_handle])[0]
+ log.debug('CS handle %s belongs to %s', cs_handle, handle)
+ _withHandle( handle )
+ else:
+ handle = cs_handle
+ log.debug('non-CS handle %s belongs to itself', handle)
+ _withHandle( handle )
+ group.GetSelfHandle( reply_handler = with_my_csh, error_handler = errback)
+
+
+
+def get_buddy(dbus_handle):
+ """DEPRECATED: Get a Buddy from a handle
+
+ THIS API WAS NOT THREAD SAFE! It has been removed to avoid
+ extremely hard-to-debug failures in activities. Use lookup_buddy
+ instead!
+
+ Code that read:
+
+ get_buddy( handle )
+ doSomething( handle, buddy )
+ doSomethingElse( buddy )
+
+ Translates to:
+
+ def withBuddy( buddy ):
+ doSomething( handle, buddy )
+ doSomethingElse( buddy )
+ lookup_buddy( handle, callback=withBuddy )
+ """
+ raise RuntimeError(
+ """get_buddy is not thread safe and will crash your activity (hard). Use lookup_buddy."""
+ )
+
+def _get_presence_service( ):
+ """Attempt to retrieve the presence service (check for offline condition)
+
+ The presence service, when offline, has no preferred connection type,
+ so we check that before returning the object...
+ """
+ log.debug( """About to import sugar.presence.presenceservice""" )
+ try:
+ log.debug( 'About to retrieve presence service instance' )
+ pservice = sugar.presence.presenceservice.get_instance()
+ try:
+ log.debug( ' Retrieved presence service instance: %s', pservice )
+ name, path = pservice.get_preferred_connection()
+ log.debug( ' Name = %s Path = %s', name, path )
+ except (TypeError,ValueError), err:
+ log.warn('Working in offline mode, cannot retrieve buddy information for %s: %s', handle, err )
+ raise OfflineError( """Unable to retrieve buddy information, currently offline""" )
+ else:
+ return pservice
+ except Exception, err:
+ log.error( """Failure in _get_presence_service: %s""", get_traceback( err ))
+
+def instance(idx=0):
+ return pygametubes[idx]
+
+
+class PygameTube(ExportedGObject):
+ '''The object whose instance is shared across D-bus
+
+ Call instance() to get the instance of this object for your activity service.
+ Its 'tube' property contains the underlying D-bus Connection.
+ '''
+ def __init__(self, tube, is_initiator, tube_id):
+ super(PygameTube, self).__init__(tube, DBUS_PATH)
+ log.info( 'PygameTube init' )
+ self.tube = tube
+ self.is_initiator = is_initiator
+ self.entered = False
+ self.ordered_bus_names = []
+ PEvent.post(PEvent.Event(CONNECT, id=tube_id))
+
+ if not self.is_initiator:
+ self.tube.add_signal_receiver(self.new_participant_cb, 'NewParticipants', DBUS_IFACE, path=DBUS_PATH)
+ self.tube.watch_participants(self.participant_change_cb)
+ self.tube.add_signal_receiver(self.broadcast_cb, 'Broadcast', DBUS_IFACE, path=DBUS_PATH, sender_keyword='sender')
+
+
+ def participant_change_cb(self, added, removed):
+ log.debug( 'participant_change_cb: %s %s', added, removed )
+ for handle, bus_name in added:
+ dbus_handle = self.tube.participants[handle]
+ self.ordered_bus_names.append(dbus_handle)
+ PEvent.post(PEvent.Event(PARTICIPANT_ADD, handle=dbus_handle))
+
+ for handle in removed:
+ dbus_handle = self.tube.participants[handle]
+ self.ordered_bus_names.remove(dbus_handle)
+ PEvent.post(PEvent.Event(PARTICIPANT_REMOVE, handle=dbus_handle))
+
+ if self.is_initiator:
+ if not self.entered:
+ # Initiator will broadcast a new ordered_bus_names each time
+ # a participant joins.
+ self.ordered_bus_names = [self.tube.get_unique_name()]
+ self.NewParticipants(self.ordered_bus_names)
+
+ self.entered = True
+
+ @signal(dbus_interface=DBUS_IFACE, signature='as')
+ def NewParticipants(self, ordered_bus_names):
+ '''This is the NewParticipants signal, sent when the authoritative list of ordered_bus_names changes.'''
+ log.debug("sending NewParticipants: %s" % ordered_bus_names)
+ pass
+
+ @signal(dbus_interface=DBUS_IFACE, signature='s')
+ def Broadcast(self, content):
+ '''This is the Broadcast signal; it sends a message to all other activity participants.'''
+ pass
+
+ @method(dbus_interface=DBUS_IFACE, in_signature='s', out_signature='', sender_keyword='sender')
+ def Tell(self, content, sender=None):
+ '''This is the targeted-message interface; called when a message is received that was sent directly to me.'''
+ PEvent.post(PEvent.Event(MESSAGE_UNI, handle=sender, content=content))
+
+ def broadcast_cb(self, content, sender=None):
+ '''This is the Broadcast callback, fired when someone sends a Broadcast signal along the bus.'''
+ PEvent.post(PEvent.Event(MESSAGE_MULTI, handle=sender, content=content))
+
+ def new_participant_cb(self, new_bus_names):
+ '''This is the NewParticipants callback, fired when someone joins or leaves.'''
+ log.debug("new participant. new bus names %s, old %s" % (new_bus_names, self.ordered_bus_names))
+ if self.ordered_bus_names != new_bus_names:
+ log.warn("ordered bus names out of sync with server, resyncing")
+ self.ordered_bus_names = new_bus_names
+
+def send_to(handle, content=""):
+ '''Sends the given message to the given buddy identified by handle.'''
+ log.debug( 'send_to: %s %s', handle, content )
+ remote_proxy = dbus_get_object(handle, DBUS_PATH)
+ remote_proxy.Tell(content, reply_handler=dbus_msg, error_handler=dbus_err)
+
+def dbus_msg():
+ log.debug("async reply to send_to")
+def dbus_err(e):
+ log.error("async error: %s" % e)
+
+def broadcast(content=""):
+ '''Sends the given message to all participants.'''
+ log.debug( 'Broadcast: %s', content )
+ instance().Broadcast(content)
+
+def my_handle():
+ '''Returns the handle of this user
+
+ Note, you can get a DBusException from this if you have
+ not yet got a unique ID assigned by the bus. You may need
+ to delay calling until you are sure you are connected.
+ '''
+ log.debug( 'my handle' )
+ return instance().tube.get_unique_name()
+
+def is_initiator():
+ '''Returns the handle of this user.'''
+ log.debug( 'is initiator' )
+ return instance().is_initiator
+
+def get_participants():
+ '''Returns the list of active participants, in order of arrival.
+ List is maintained by the activity creator; if that person leaves it may not stay in sync.'''
+ log.debug( 'get_participants' )
+ try:
+ return instance().ordered_bus_names[:]
+ except IndexError, err:
+ return [] # no participants yet, as we don't yet have a connection
+
+def dbus_get_object(handle, path, warning=True):
+ '''Get a D-bus object from another participant
+
+ Note: this *must* be called *only* from the GTK mainloop, calling
+ it from Pygame will cause crashes! If you are *sure* you only ever
+ want to call methods on this proxy from GTK, you can use
+ warning=False to silence the warning log message.
+ '''
+ if warning:
+ log.warn( 'Use of dbus_get_object is only safe from the GTK mainloop, use dbus_get_object_proxy instead: %s %s', handle, path )
+ return instance().tube.get_object(handle, path)
+
+def get_object(handle, path):
+ '''Get a D-BUS proxy object from another participant for use in Pygame
+
+ This is how you can communicate with other participants using
+ arbitrary D-bus objects without having to manage the participants
+ yourself. You can use the returned proxy's methods from Pygame,
+ with your callbacks occuring in the Pygame thread, rather than
+ in the DBUS/GTK event loop.
+
+ Simply define a D-bus class with an interface and path that you
+ choose; when you want a reference to the corresponding remote
+ object on a participant, call this method.
+
+ returns an olpcgames.dbusproxy.DBUSProxy( ) object wrapping
+ the DBUSProxy object.
+
+ The dbus_get_object_proxy name is deprecated
+ '''
+ log.debug( 'DBUS get_object( %r %r )', handle, path )
+ from olpcgames import dbusproxy
+ return dbusproxy.DBUSProxy(
+ instance().tube.get_object( handle, path),
+ tube=instance().tube,
+ path=path
+ )
+
+dbus_get_object_proxy = get_object
diff --git a/olpcgames/pangofont.py b/olpcgames/pangofont.py
new file mode 100644
index 0000000..441dfd1
--- /dev/null
+++ b/olpcgames/pangofont.py
@@ -0,0 +1,346 @@
+"""Implement Pygame's font interface using Pango for international support
+
+Depends on:
+
+ pygtk (to get the pango context)
+ pycairo (for the pango rendering context)
+ python-pango (obviously)
+ numpy
+ (pygame)
+
+As soon as you import this module you have loaded *all* of the above.
+You can still use pygame.font until you decide to call install(), which
+will replace pygame.font with this module.
+
+Notes:
+
+ * no ability to load TTF files, PangoFont uses the font files registered
+ with GTK/X to render graphics, it cannot load an arbitrary TTF file.
+ Most non-Sugar Pygame games use bundled TTF files, which means
+ that you will likely need at least some changes to your font handling.
+
+ Note, however, that the Pygame Font class is available to load the TTF
+ files, so if you don't want to take advantage of PangoFont for already
+ written code, but want to use it for "system font" operations, you can
+ mix the two.
+
+ * metrics are missing, Pango can provide the information, but the more
+ involved metrics system means that translating to the simplified model
+ in Pygame has as of yet not been accomplished.
+
+ * better support for "exotic" languages and scripts (which is why we use it)
+
+The main problem with SDL_ttf is that it doesn't handle internationalization
+nearly as well as Pango (in fact, pretty much nothing does). However, it is
+fairly fast and it has a rich interface. You should avoid fonts where possible,
+prerender using Pango for internationalizable text, and use Pango or SDL_ttf
+for text that really needs to be rerendered each frame. (Use SDL_ttf if profiling
+demonstrates that performance is poor with Pango.)
+
+Note:
+ Font -- is the original Pygame Font class, which allows you to load
+ fonts from TTF files/filenames
+ PangoFont -- is the Pango-specific rendering engine which allows
+ for the more involved cross-lingual rendering operations.
+"""
+import pango
+import logging
+import pangocairo
+import pygame.rect, pygame.image
+import gtk
+import struct
+from pygame import surface
+from pygame.font import Font
+from olpcgames import _cairoimage
+
+log = logging.getLogger( 'olpcgames.pangofont' )
+##log.setLevel( logging.DEBUG )
+
+# Install myself on top of pygame.font
+def install():
+ """Replace Pygame's font module with this module"""
+ log.info( 'installing' )
+ from olpcgames import pangofont
+ import pygame
+ pygame.font = pangofont
+ import sys
+ sys.modules["pygame.font"] = pangofont
+
+class PangoFont(object):
+ """Base class for a pygame.font.Font-like object drawn by Pango
+
+ Attributes of note:
+
+ fd -- instances Pango FontDescription object
+ WEIGHT_* -- parameters for use with set_weight
+ STYLE_* -- parameters for use with set_style
+
+ """
+ WEIGHT_BOLD = pango.WEIGHT_BOLD
+ WEIGHT_HEAVY = pango.WEIGHT_HEAVY
+ WEIGHT_LIGHT = pango.WEIGHT_LIGHT
+ WEIGHT_NORMAL = pango.WEIGHT_NORMAL
+ WEIGHT_SEMIBOLD = pango.WEIGHT_SEMIBOLD
+ WEIGHT_ULTRABOLD = pango.WEIGHT_ULTRABOLD
+ WEIGHT_ULTRALIGHT = pango.WEIGHT_ULTRALIGHT
+ STYLE_NORMAL = pango.STYLE_NORMAL
+ STYLE_ITALIC = pango.STYLE_ITALIC
+ STYLE_OBLIQUE = pango.STYLE_OBLIQUE
+ def __init__(self, family=None, size=None, bold=False, italic=False, underline=False, fd=None):
+ """If you know what pango.FontDescription (fd) you want, pass it in as
+ 'fd'. Otherwise, specify any number of family, size, bold, or italic,
+ and we will try to match something up for you."""
+
+ # Always set the FontDescription (FIXME - only set it if the user wants
+ # to change something?)
+ if fd is None:
+ fd = pango.FontDescription()
+ if family is not None:
+ fd.set_family(family)
+ if size is not None:
+ log.debug( 'Pre-conversion size: %s', size )
+ size = int(size*1024)
+ log.debug( 'Font size: %s', size, )
+ fd.set_size(size) # XXX magic number, pango's scaling
+ self.fd = fd
+ self.set_bold( bold )
+ self.set_italic( italic )
+ self.set_underline( underline )
+
+ def render(self, text, antialias=True, color=(255,255,255), background=None ):
+ """Render the font onto a new Surface and return it.
+ We ignore 'antialias' and use system settings.
+
+ text -- (unicode) string with the text to render
+ antialias -- attempt to antialias the text or not
+ color -- three or four-tuple of 0-255 values specifying rendering
+ colour for the text
+ background -- three or four-tuple of 0-255 values specifying rendering
+ colour for the background, or None for trasparent background
+
+ returns a pygame image instance
+ """
+ log.info( 'render: %r, antialias = %s, color=%s, background=%s', text, antialias, color, background )
+
+ layout = self._createLayout( text )
+ # determine pixel size
+ (logical, ink) = layout.get_pixel_extents()
+ ink = pygame.rect.Rect(ink)
+
+ # Create a new Cairo ImageSurface
+ csrf,cctx = _cairoimage.newContext( ink.w, ink.h )
+ cctx = pangocairo.CairoContext(cctx)
+
+ # Mangle the colors on little-endian machines. The reason for this
+ # is that Cairo writes native-endian 32-bit ARGB values whereas
+ # Pygame expects endian-independent values in whatever format. So we
+ # tell our users not to expect transparency here (avoiding the A issue)
+ # and we swizzle all the colors around.
+
+ # render onto it
+ if background is not None:
+ background = _cairoimage.mangle_color( background )
+ cctx.set_source_rgba(*background)
+ cctx.paint()
+
+ log.debug( 'incoming color: %s', color )
+ color = _cairoimage.mangle_color( color )
+ log.debug( ' translated color: %s', color )
+
+ cctx.new_path()
+ cctx.layout_path(layout)
+ cctx.set_source_rgba(*color)
+ cctx.fill()
+
+ # Create and return a new Pygame Image derived from the Cairo Surface
+ return _cairoimage.asImage( csrf )
+
+ def set_bold( self, bold=True):
+ """Set our font description's weight to "bold" or "normal"
+
+ bold -- boolean, whether to set the value to "bold" weight or not
+ """
+ if bold:
+ self.set_weight( self.WEIGHT_BOLD )
+ else:
+ self.set_weight( self.WEIGHT_NORMAL )
+ def set_weight( self, weight ):
+ """Explicitly set our pango-style weight value"""
+ self.fd.set_weight( weight )
+ return self.get_weight()
+ def get_weight( self ):
+ """Explicitly get our pango-style weight value"""
+ return self.fd.get_weight()
+ def get_bold( self ):
+ """Return whether our font's weight is bold (or above)"""
+ return self.fd.get_weight() >= pango.WEIGHT_BOLD
+
+ def set_italic( self, italic=True ):
+ """Set our "italic" value (style)"""
+ if italic:
+ self.set_style( self.STYLE_ITALIC )
+ else:
+ self.set_style( self.STYLE_NORMAL )
+ def set_style( self, style ):
+ """Set our font description's pango-style"""
+ self.fd.set_style( style )
+ return self.fd.get_style()
+ def get_style( self ):
+ """Get our font description's pango-style"""
+ return self.fd.get_style()
+ def get_italic( self ):
+ """Return whether we are currently italicised"""
+ return self.fd.get_style() == self.STYLE_ITALIC # what about oblique?
+
+ def set_underline( self, underline=True ):
+ """Set our current underlining properly"""
+ self.underline = underline
+ def get_underline( self ):
+ """Retrieve our current underline setting"""
+ return self.underline
+
+ def _createLayout( self, text ):
+ """Produces a Pango layout describing this text in this font"""
+ # create layout
+ layout = pango.Layout(gtk.gdk.pango_context_get())
+ layout.set_font_description(self.fd)
+ if self.underline:
+ attrs = layout.get_attributes()
+ if not attrs:
+ attrs = pango.AttrList()
+ attrs.insert(pango.AttrUnderline(pango.UNDERLINE_SINGLE, 0, 32767))
+ layout.set_attributes( attrs )
+ layout.set_text(text)
+ return layout
+
+ def size( self, text ):
+ """Determine space required to render given text
+
+ returns tuple of (width,height)
+ """
+ layout = self._createLayout( text )
+ (logical, ink) = layout.get_pixel_extents()
+ ink = pygame.rect.Rect(ink)
+ return (ink.width,ink.height)
+
+## def get_linesize( self ):
+## """Determine inter-line spacing for the font"""
+## font = self.get_context().load_font( self.fd )
+## metrics = font.get_metrics()
+## return pango.PIXELS( metrics.get_ascent() )
+## def get_height( self ):
+## def get_ascent( self ):
+## def get_descent( self ):
+
+
+class SysFont(PangoFont):
+ """Construct a PangoFont from a font description (name), size in pixels,
+ bold, and italic designation. Similar to SysFont from Pygame."""
+ def __init__(self, name, size, bold=False, italic=False):
+ fd = pango.FontDescription(name)
+ fd.set_absolute_size(size*pango.SCALE)
+ if bold:
+ fd.set_weight(pango.WEIGHT_BOLD)
+ if italic:
+ fd.set_style(pango.STYLE_OBLIQUE)
+ super(SysFont, self).__init__(fd=fd)
+
+# originally defined a new class, no reason for that...
+NotImplemented = NotImplementedError
+
+def match_font(name,bold=False,italic=False):
+ """Stub, does not work, use fontByDesc instead"""
+ raise NotImplementedError("PangoFont doesn't support match_font directly, use SysFont or .fontByDesc")
+
+def fontByDesc(desc="",bold=False,italic=False):
+ """Constructs a FontDescription from the given string representation.
+
+The format of the fontByDesc string representation is passed directly
+to the pango.FontDescription constructor and documented at:
+
+ http://www.pygtk.org/docs/pygtk/class-pangofontdescription.html#constructor-pangofontdescription
+
+Bold and italic are provided as a convenience.
+
+The format of the string representation is:
+
+ "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]"
+
+where FAMILY-LIST is a comma separated list of families optionally terminated by a comma, STYLE_OPTIONS is a whitespace separated list of words where each WORD describes one of style, variant, weight, or stretch, and SIZE is an decimal number (size in points). For example the following are all valid string representations:
+
+ "sans bold 12"
+ "serif,monospace bold italic condensed 16"
+ "normal 10"
+
+The commonly available font families are: Normal, Sans, Serif and Monospace. The available styles are:
+Normal the font is upright.
+Oblique the font is slanted, but in a roman style.
+Italic the font is slanted in an italic style.
+
+The available weights are:
+Ultra-Light the ultralight weight (= 200)
+Light the light weight (=300)
+Normal the default weight (= 400)
+Bold the bold weight (= 700)
+Ultra-Bold the ultra-bold weight (= 800)
+Heavy the heavy weight (= 900)
+
+The available variants are:
+Normal
+Small-Caps
+
+The available stretch styles are:
+Ultra-Condensed the smallest width
+Extra-Condensed
+Condensed
+Semi-Condensed
+Normal the normal width
+Semi-Expanded
+Expanded
+Extra-Expanded
+Ultra-Expanded the widest width
+ """
+ fd = pango.FontDescription(name)
+ if bold:
+ fd.set_weight(pango.WEIGHT_BOLD)
+ if italic:
+ fd.set_style(pango.STYLE_OBLIQUE)
+ return PangoFont(fd=fd)
+
+def get_init():
+ """Return boolean indicating whether we are initialised
+
+ Always returns True
+ """
+ return True
+
+def init():
+ """Initialise the module (null operation)"""
+ pass
+
+def quit():
+ """De-initialise the module (null operation)"""
+ pass
+
+def get_default_font():
+ """Return default-font specification to be passed to e.g. fontByDesc"""
+ return "sans"
+
+def get_fonts():
+ """Return the set of all fonts available (currently just 3 generic types)"""
+ return ["sans","serif","monospace"]
+
+
+def stdcolor(color):
+ """Produce a 4-element 0.0-1.0 color value from input"""
+ def fixlen(color):
+ if len(color) == 3:
+ return tuple(color) + (255,)
+ elif len(color) == 4:
+ return color
+ else:
+ raise TypeError("What sort of color is this: %s" % (color,))
+ return [_fixColorBase(x) for x in fixlen(color)]
+def _fixColorBase( v ):
+ """Return a properly clamped colour in floating-point space"""
+ return max((0,min((v,255.0))))/255.0
diff --git a/olpcgames/pausescreen.py b/olpcgames/pausescreen.py
new file mode 100644
index 0000000..113a0ea
--- /dev/null
+++ b/olpcgames/pausescreen.py
@@ -0,0 +1,116 @@
+"""Display a "paused" version of the currently-displayed screen
+
+This code is largely cribbed from the Pippy activity's display code,
+but we try to be a little more generally usable than they are, as
+we have more involved activities using the code.
+
+We use svgsprite to render a graphic which is stored in the
+olpcgames data directory over a dimmed version of the current
+screen contents.
+
+_LAST_EVENT_TIME -- tracks the last time that we saw an event
+ come across the wire.
+"""
+import logging
+log = logging.getLogger( 'olpcgames.pausescreen' )
+import pygame
+from pygame import sprite
+
+_LAST_EVENT_TIME = 0
+
+def _set_last_event_time( time=None ):
+ """Set time as the last event time
+
+ time -- if None, pygame.time.get_ticks() is used
+
+ returns time set
+ """
+ global _LAST_EVENT_TIME
+ if time is None:
+ time = pygame.time.get_ticks()
+ _LAST_EVENT_TIME = time
+ return time
+
+def last_event_time( ):
+ """Return the duration since last event for pausing operations
+
+ returns time in seconds
+ """
+ global _LAST_EVENT_TIME
+ return (pygame.time.get_ticks() - _LAST_EVENT_TIME)/1000.
+
+
+def get_events( sleep_timeout = 10, pause=None, **args ):
+ """Retrieve the set of pending events or sleep
+
+ sleep_timeout -- dormant period before we invoke pause_screen
+ pause -- callable to produce visual notification of pausing, normally
+ by taking the current screen and modifying it in some way. Defaults
+ to pauseScreen in this module. If you return nothing from this
+ function then no restoration or display-flipping will occur
+ *args -- if present, passed to 'pause' to configuration operation (e.g.
+ to specify a different overlaySVG file)
+
+ returns set of pending events (potentially empty)
+ """
+ if not pause:
+ pause = pauseScreen
+ events = pygame.event.get( )
+ if not events:
+ log.info( 'No events in queue' )
+ old_screen = None
+ if last_event_time() > sleep_timeout:
+ # we've been waiting long enough, go to sleep visually
+ log.warn( 'Pausing activity after %s with function %s', sleep_timeout, pause )
+ old_screen = pause( )
+ if old_screen:
+ pygame.display.flip()
+ # now we wait until there *are* some events (efficiently)
+ # and retrieve any extra events that are waiting...
+ events = [ pygame.event.wait() ] + pygame.event.get()
+ log.warn( 'Activity restarted')
+ if old_screen:
+ restoreScreen( old_screen )
+ if events:
+ _set_last_event_time()
+ return events
+
+def pauseScreen( overlaySVG=None ):
+ """Display a "Paused" screen and suspend
+
+ This default implementation will not do anything to shut down your
+ simulation or other code running in other threads. It will merely block
+ this thread (the pygame thread) until an event shows up in the
+ eventwrap queue.
+
+ Returns a surface to pass to restoreScreen to continue...
+ """
+ from olpcgames import svgsprite
+ if not overlaySVG:
+ from olpcgames.data import sleeping_svg
+ overlaySVG = sleeping_svg.data
+ screen = pygame.display.get_surface()
+ old_screen = screen.copy() # save this for later.
+ pause_sprite = svgsprite.SVGSprite(
+ overlaySVG,
+ )
+ pause_sprite.rect.center = screen.get_rect().center
+ group = sprite.RenderUpdates( )
+ group.add( pause_sprite )
+
+ # dim the screen and display the 'paused' message in the center.
+ BLACK = (0,0,0)
+ WHITE = (255,255,255)
+ dimmed = screen.copy()
+ dimmed.set_alpha(128)
+ screen.fill(BLACK)
+ screen.blit(dimmed, (0,0))
+
+ group.draw( screen )
+ return old_screen
+
+def restoreScreen( old_screen ):
+ """Restore the original screen and return"""
+ screen = pygame.display.get_surface()
+ screen.blit(old_screen, (0,0))
+ return old_screen
diff --git a/olpcgames/svgsprite.py b/olpcgames/svgsprite.py
new file mode 100644
index 0000000..ad247dd
--- /dev/null
+++ b/olpcgames/svgsprite.py
@@ -0,0 +1,84 @@
+"""RSVG/Cairo-based rendering of SVG into Pygame Images"""
+from pygame import sprite, Rect
+from olpcgames import _cairoimage
+
+class SVGSprite( sprite.Sprite ):
+ """Sprite class which renders SVG source-code as a Pygame image
+
+ Note:
+
+ Currently this sprite class is a bit over-engineered, it gets in the way
+ if you want to, e.g. animate among a number of SVG drawings, as it
+ assumes that setSVG will always set a single SVG file for rendering.
+ """
+ rect = image = None
+ resolution = None
+ def __init__(
+ self, svg=None, size=None, *args
+ ):
+ """Initialise the svg sprite
+
+ svg -- svg source text (i.e. content of an svg file)
+ size -- optional, to constrain size, (width,height), leaving one
+ as None or 0 causes proportional scaling, leaving both
+ as None or 0 causes natural scaling (screen resolution)
+ args -- if present, groups to which to automatically add
+ """
+ self.size = size
+ super( SVGSprite, self ).__init__( *args )
+ if svg:
+ self.setSVG( svg )
+ def setSVG( self, svg ):
+ """Set our SVG source"""
+ self.svg = svg
+ # XXX could delay this until actually asked to display...
+ if self.size:
+ width,height = self.size
+ else:
+ width,height = None,None
+ self.image = self._render( width,height ).convert_alpha()
+ rect = self.image.get_rect()
+ if self.rect:
+ rect.move( self.rect ) # should let something higher-level do that...
+ self.rect = rect
+
+ def _render( self, width, height ):
+ """Render our SVG to a Pygame image"""
+ import rsvg
+ handle = rsvg.Handle( data = self.svg )
+ originalSize = (width,height)
+ scale = 1.0
+ hw,hh = handle.get_dimension_data()[:2]
+ if hw and hh:
+ if not width:
+ if not height:
+ width,height = hw,hh
+ else:
+ scale = float(height)/hh
+ width = hh/float(hw) * height
+ elif not height:
+ scale = float(width)/hw
+ height = hw/float(hh) * width
+ else:
+ # scale only, only rendering as large as it is...
+ if width/height > hw/hh:
+ # want it taller than it is...
+ width = hh/float(hw) * height
+ else:
+ height = hw/float(hh) * width
+ scale = float(height)/hh
+
+ csrf, ctx = _cairoimage.newContext( int(width), int(height) )
+ ctx.scale( scale, scale )
+ handle.render_cairo( ctx )
+ return _cairoimage.asImage( csrf )
+ return None
+ def copy( self ):
+ """Create a copy of this sprite without reloading the svg image"""
+ result = self.__class__(
+ size = self.size
+ )
+ result.image = self.image
+ result.rect = Rect(self.rect)
+ result.resolution = self.resolution
+ return result
diff --git a/olpcgames/textsprite.py b/olpcgames/textsprite.py
new file mode 100644
index 0000000..7663630
--- /dev/null
+++ b/olpcgames/textsprite.py
@@ -0,0 +1,40 @@
+"""Simple Sprite sub-class that renders via a PangoFont"""
+from pygame import sprite
+from olpcgames import pangofont
+
+class TextSprite( sprite.Sprite ):
+ """Sprite with a simple text renderer"""
+ image = rect = text = color = background = None
+ def __init__( self, text=None, family=None, size=None, bold=False, italic=False, color=None, background=None ):
+ super( TextSprite, self ).__init__( )
+ self.font = pangofont.PangoFont( family=family, size=size, bold=bold, italic=italic )
+ self.set_color( color )
+ self.set_background( background )
+ self.set_text( text )
+ def set_text( self, text ):
+ """Set our text string and render to a graphic"""
+ self.text = text
+ self.render( )
+ def set_color( self, color =None):
+ """Set our rendering colour (default white)"""
+ self.color = color or (255,255,255)
+ self.render()
+ def set_background( self, color=None ):
+ """Set our background color, default transparent"""
+ self.background = color
+ self.render()
+ def render( self ):
+ """Render our image and rect (or None,None)
+
+ After a render you will need to move the rect member to the
+ correct location on the screen.
+ """
+ if self.text:
+ self.image = self.font.render( self.text, color = self.color, background = self.background )
+ currentRect = self.rect
+ self.rect = self.image.get_rect()
+ if currentRect:
+ self.rect.center = currentRect.center
+ else:
+ self.rect = None
+ self.image = None
diff --git a/olpcgames/util.py b/olpcgames/util.py
new file mode 100644
index 0000000..49a23b0
--- /dev/null
+++ b/olpcgames/util.py
@@ -0,0 +1,79 @@
+"""Abstraction layer for working outside the Sugar environment"""
+import traceback, cStringIO
+import logging
+log = logging.getLogger( 'olpcgames.util' )
+import os
+import os.path
+
+NON_SUGAR_ROOT = '~/.sugar/default/olpcgames'
+
+try:
+ from sugar.activity.activity import get_bundle_path as _get_bundle_path
+ def get_bundle_path( ):
+ """Retrieve bundle path from activity with fix for silly registration bug"""
+ path = _get_bundle_path()
+ if path.endswith( '.activity.activity' ):
+ log.warn( '''Found double .activity suffix in bundle path, truncating: %s''', path )
+ path = path[:-9]
+ return path
+except ImportError:
+ log.warn( '''Do not appear to be running under Sugar, stubbing-in get_bundle_path''' )
+ def get_bundle_path():
+ """Retrieve a substitute data-path for non OLPC systems"""
+ return os.getcwd()
+
+
+def get_activity_root( ):
+ """Return the activity root for data storage operations
+
+ If the activity is present, returns the activity's root,
+ otherwise returns NON_SUGAR_ROOT as the directory.
+ """
+ import olpcgames
+ if olpcgames.ACTIVITY:
+ return olpcgames.ACTIVITY.get_activity_root()
+ else:
+ return os.path.expanduser( NON_SUGAR_ROOT )
+
+def data_path(file_name):
+ """Return the full path to a file in the data sub-directory of the bundle"""
+ return os.path.join(get_bundle_path(), 'data', file_name)
+def tmp_path(file_name):
+ """Return the full path to a file in the temporary directory"""
+ return os.path.join(get_activity_root(), 'tmp', file_name)
+
+def get_traceback(error):
+ """Get formatted traceback from current exception
+
+ error -- Exception instance raised
+
+ Attempts to produce a 10-level traceback as a string
+ that you can log off. Use like so:
+
+ try:
+ doSomething()
+ except Exception, err:
+ log.error(
+ '''Failure during doSomething with X,Y,Z parameters: %s''',
+ util.get_traceback( err ),
+ )
+ """
+ if error is None:
+ error = []
+ for (f,l,func,statement) in traceback.extract_stack()[:-2]:
+ if statement:
+ statement = ': %s'%( statement, )
+ if func:
+ error.append( '%s.%s (%s)%s'%( f,func,l, statement))
+ else:
+ error.append( '%s (%s)%s'%( f,l, statement))
+ return "\n".join( error )
+ else:
+ exception = str(error)
+ file = cStringIO.StringIO()
+ try:
+ traceback.print_exc( limit=10, file = file )
+ exception = file.getvalue()
+ finally:
+ file.close()
+ return exception
diff --git a/olpcgames/video.py b/olpcgames/video.py
new file mode 100644
index 0000000..032aa13
--- /dev/null
+++ b/olpcgames/video.py
@@ -0,0 +1,178 @@
+"""Video widget for displaying a gstreamer pipe
+
+Note: currently this module is not all that elegant or useful,
+we need a better recipe for using and working with Video
+under OLPCGames.
+"""
+import logging
+log = logging.getLogger( 'olpcgames.video' )
+#log.setLevel( logging.INFO )
+import os
+import signal
+import pygame
+import weakref
+import olpcgames
+from olpcgames import _gtkmain
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import gst
+
+class VideoWidget(gtk.DrawingArea):
+ """Widget to render GStreamer video over our Pygame Canvas
+
+ The VideoWidget is a simple GTK window which is
+ held by the PygameCanvas, just as is the Pygame
+ window we normally use. As such this approach
+ *cannot* work without the GTK wrapper.
+
+ It *should* be possible to use raw X11 operations
+ to create a child window of the Pygame/SDL window
+ and use that for the same purpose, but that would
+ require some pretty low-level ctypes hacking.
+
+ Attributes of Note:
+
+ rect -- Pygame rectangle which tells us where to
+ display ourselves, setting the rect changes the
+ position and size of the window.
+ """
+ _imagesink = None
+ _renderedRect = None
+ def __init__(self, rect=None, force_aspect_ratio=True):
+ super(VideoWidget, self).__init__()
+ self.unset_flags(gtk.DOUBLE_BUFFERED)
+ if rect is None:
+ rect = pygame.Rect( (0,0), (160,120))
+ self.rect = rect
+ self.force_aspect_ratio = force_aspect_ratio
+ self.set_size_request(rect.width,rect.height)
+ olpcgames.WIDGET.put( self, rect.left,rect.top)
+ self._renderedRect = rect
+ self.show()
+
+ def set_rect( self, rect ):
+ """Set our rectangle (area of the screen)"""
+ log.debug( 'Set rectangle: %s', rect )
+ self.set_size_request(rect.width,rect.height)
+ olpcgames.WIDGET.move( self, rect.left,rect.top)
+ self.rect = rect
+
+ def do_expose_event(self, event):
+ """Handle exposure event (trigger redraw by gst)"""
+ if self._imagesink:
+ self._imagesink.expose()
+ return False
+ else:
+ return True
+
+ def set_sink(self, sink):
+ """Set our window-sink for output"""
+ assert self.window.xid
+ self._imagesink = sink
+ self._imagesink.set_xwindow_id(self.window.xid)
+ self._imagesink.set_property('force-aspect-ratio', self.force_aspect_ratio)
+
+class PygameWidget( object ):
+ """Render "full-screen" video to the entire Pygame screen
+
+ Not particularly useful unless this happens to be exactly what you need.
+ """
+ def __init__( self ):
+ try:
+ window_id = pygame.display.get_wm_info()['window']
+ except KeyError, err: # pygame-ctypes...
+ window_id = int(os.environ['SDL_WINDOWID'])
+ self.window_id = window_id
+ self._imagesink = None
+ #self._holder = _gtkmain.Holder()
+ def set_sink( self, sink ):
+ """Set up our gst sink"""
+ log.info( 'Setting sink: %s', sink )
+ self._imagesink = sink
+ sink.set_xwindow_id( self.window_id )
+
+#pipe_desc = 'v4l2src ! video/x-raw-yuv,width=160,height=120 ! ffmpegcolorspace ! xvimagesink'
+class Player(object):
+ pipe_desc = 'v4l2src ! ffmpegcolorspace ! video/x-raw-yuv ! xvimagesink'
+ test_pipe_desc = 'videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv ! xvimagesink'
+ _synchronized = False
+ def __init__(self, videowidget, pipe_desc=pipe_desc):
+ self._playing = False
+ self._videowidget = videowidget
+
+ self._pipeline = gst.parse_launch(pipe_desc)
+
+ bus = self._pipeline.get_bus()
+ bus.enable_sync_message_emission()
+ bus.add_signal_watch()
+ bus.connect('sync-message::element', self.on_sync_message)
+ bus.connect('message', self.on_message)
+
+ def play(self):
+ log.info( 'Play' )
+ if self._playing == False:
+ self._pipeline.set_state(gst.STATE_PLAYING)
+ self._playing = True
+
+ def pause(self):
+ log.info( 'Pause' )
+ if self._playing == True:
+ if self._synchronized:
+ log.debug( ' pause already sync\'d' )
+ self._pipeline.set_state(gst.STATE_PAUSED)
+ self._playing = False
+ def stop( self ):
+ """Stop all playback"""
+ self._pipeline.set_state( gst.STATE_NULL )
+
+ def on_sync_message(self, bus, message):
+ log.info( 'Sync: %s', message )
+ if message.structure is None:
+ return
+ if message.structure.get_name() == 'prepare-xwindow-id':
+ self._synchronized = True
+ self._videowidget.set_sink(message.src)
+
+ def on_message(self, bus, message):
+ log.info( 'Message: %s', message )
+ t = message.type
+ if t == gst.MESSAGE_ERROR:
+ err, debug = message.parse_error()
+ log.warn("Video error: (%s) %s" ,err, debug)
+ self._playing = False
+
+if __name__ == "__main__":
+ # Simple testing code...
+ logging.basicConfig()
+ log.setLevel( logging.DEBUG )
+ from pygame import image,display, event
+ import pygame
+ def main():
+ display.init()
+ maxX,maxY = display.list_modes()[0]
+ screen = display.set_mode( (maxX/3, maxY/3 ) )
+
+ display.flip()
+
+ pgw = PygameWidget( )
+ p = Player( pgw, pipe_desc=Player.test_pipe_desc )
+ p.play()
+
+ clock = pygame.time.Clock()
+
+ running = True
+ while running:
+ clock.tick( 60 )
+ for evt in [pygame.event.wait()] + pygame.event.get():
+ if evt.type == pygame.KEYDOWN:
+ if p._playing:
+ p.pause()
+ else:
+ p.play()
+ elif evt.type == pygame.QUIT:
+ p.stop()
+ running = False
+ #display.flip()
+ main()
diff --git a/resources/Barra_base.png b/resources/Barra_base.png
new file mode 100644
index 0000000..f60ef3d
--- /dev/null
+++ b/resources/Barra_base.png
Binary files differ
diff --git a/resources/Btn_WELCOME_ok.png b/resources/Btn_WELCOME_ok.png
new file mode 100644
index 0000000..ee91d63
--- /dev/null
+++ b/resources/Btn_WELCOME_ok.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_000.png b/resources/CongratsAnim/Longman_kid_000.png
new file mode 100644
index 0000000..338d85b
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_000.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_001.png b/resources/CongratsAnim/Longman_kid_001.png
new file mode 100644
index 0000000..a9fad28
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_001.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_002.png b/resources/CongratsAnim/Longman_kid_002.png
new file mode 100644
index 0000000..ed11cdb
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_002.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_003.png b/resources/CongratsAnim/Longman_kid_003.png
new file mode 100644
index 0000000..e877828
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_003.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_004.png b/resources/CongratsAnim/Longman_kid_004.png
new file mode 100644
index 0000000..2dcf89f
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_004.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_005.png b/resources/CongratsAnim/Longman_kid_005.png
new file mode 100644
index 0000000..c7b3ea0
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_005.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_006.png b/resources/CongratsAnim/Longman_kid_006.png
new file mode 100644
index 0000000..ac9004b
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_006.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_007.png b/resources/CongratsAnim/Longman_kid_007.png
new file mode 100644
index 0000000..e79c1a6
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_007.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_008.png b/resources/CongratsAnim/Longman_kid_008.png
new file mode 100644
index 0000000..ceef81d
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_008.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_009.png b/resources/CongratsAnim/Longman_kid_009.png
new file mode 100644
index 0000000..f384e04
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_009.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_010.png b/resources/CongratsAnim/Longman_kid_010.png
new file mode 100644
index 0000000..a2decc4
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_010.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_011.png b/resources/CongratsAnim/Longman_kid_011.png
new file mode 100644
index 0000000..8be5817
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_011.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_012.png b/resources/CongratsAnim/Longman_kid_012.png
new file mode 100644
index 0000000..05ac91d
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_012.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_013.png b/resources/CongratsAnim/Longman_kid_013.png
new file mode 100644
index 0000000..ec61329
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_013.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_014.png b/resources/CongratsAnim/Longman_kid_014.png
new file mode 100644
index 0000000..347884e
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_014.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_015.png b/resources/CongratsAnim/Longman_kid_015.png
new file mode 100644
index 0000000..fb646f9
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_015.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_016.png b/resources/CongratsAnim/Longman_kid_016.png
new file mode 100644
index 0000000..79af00f
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_016.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_017.png b/resources/CongratsAnim/Longman_kid_017.png
new file mode 100644
index 0000000..650ece4
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_017.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_018.png b/resources/CongratsAnim/Longman_kid_018.png
new file mode 100644
index 0000000..0d28c8f
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_018.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_019.png b/resources/CongratsAnim/Longman_kid_019.png
new file mode 100644
index 0000000..6c707c9
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_019.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_020.png b/resources/CongratsAnim/Longman_kid_020.png
new file mode 100644
index 0000000..75327cb
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_020.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_021.png b/resources/CongratsAnim/Longman_kid_021.png
new file mode 100644
index 0000000..fee3af3
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_021.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_022.png b/resources/CongratsAnim/Longman_kid_022.png
new file mode 100644
index 0000000..f9c8615
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_022.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_023.png b/resources/CongratsAnim/Longman_kid_023.png
new file mode 100644
index 0000000..1efe56a
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_023.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_024.png b/resources/CongratsAnim/Longman_kid_024.png
new file mode 100644
index 0000000..69fd2bd
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_024.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_025.png b/resources/CongratsAnim/Longman_kid_025.png
new file mode 100644
index 0000000..3a5d99e
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_025.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_026.png b/resources/CongratsAnim/Longman_kid_026.png
new file mode 100644
index 0000000..edb1780
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_026.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_027.png b/resources/CongratsAnim/Longman_kid_027.png
new file mode 100644
index 0000000..67b0066
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_027.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_028.png b/resources/CongratsAnim/Longman_kid_028.png
new file mode 100644
index 0000000..136cf46
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_028.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_029.png b/resources/CongratsAnim/Longman_kid_029.png
new file mode 100644
index 0000000..12a098a
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_029.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_030.png b/resources/CongratsAnim/Longman_kid_030.png
new file mode 100644
index 0000000..96a9e0b
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_030.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_031.png b/resources/CongratsAnim/Longman_kid_031.png
new file mode 100644
index 0000000..d8b185c
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_031.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_032.png b/resources/CongratsAnim/Longman_kid_032.png
new file mode 100644
index 0000000..51d274c
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_032.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_033.png b/resources/CongratsAnim/Longman_kid_033.png
new file mode 100644
index 0000000..e1e7a27
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_033.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_034.png b/resources/CongratsAnim/Longman_kid_034.png
new file mode 100644
index 0000000..600bc6b
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_034.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_035.png b/resources/CongratsAnim/Longman_kid_035.png
new file mode 100644
index 0000000..3792321
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_035.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_036.png b/resources/CongratsAnim/Longman_kid_036.png
new file mode 100644
index 0000000..0608ecf
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_036.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_037.png b/resources/CongratsAnim/Longman_kid_037.png
new file mode 100644
index 0000000..4632094
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_037.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_038.png b/resources/CongratsAnim/Longman_kid_038.png
new file mode 100644
index 0000000..4910026
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_038.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_039.png b/resources/CongratsAnim/Longman_kid_039.png
new file mode 100644
index 0000000..c6548a1
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_039.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_040.png b/resources/CongratsAnim/Longman_kid_040.png
new file mode 100644
index 0000000..714f9f7
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_040.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_041.png b/resources/CongratsAnim/Longman_kid_041.png
new file mode 100644
index 0000000..65ffcd2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_041.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_042.png b/resources/CongratsAnim/Longman_kid_042.png
new file mode 100644
index 0000000..e87b181
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_042.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_043.png b/resources/CongratsAnim/Longman_kid_043.png
new file mode 100644
index 0000000..e39fe0d
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_043.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_044.png b/resources/CongratsAnim/Longman_kid_044.png
new file mode 100644
index 0000000..a40491a
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_044.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_045.png b/resources/CongratsAnim/Longman_kid_045.png
new file mode 100644
index 0000000..8a65d75
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_045.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_046.png b/resources/CongratsAnim/Longman_kid_046.png
new file mode 100644
index 0000000..03d2650
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_046.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_047.png b/resources/CongratsAnim/Longman_kid_047.png
new file mode 100644
index 0000000..9143fbe
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_047.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_048.png b/resources/CongratsAnim/Longman_kid_048.png
new file mode 100644
index 0000000..03da066
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_048.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_049.png b/resources/CongratsAnim/Longman_kid_049.png
new file mode 100644
index 0000000..4d2be73
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_049.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_050.png b/resources/CongratsAnim/Longman_kid_050.png
new file mode 100644
index 0000000..73215af
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_050.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_051.png b/resources/CongratsAnim/Longman_kid_051.png
new file mode 100644
index 0000000..13510b4
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_051.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_052.png b/resources/CongratsAnim/Longman_kid_052.png
new file mode 100644
index 0000000..ca77cca
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_052.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_053.png b/resources/CongratsAnim/Longman_kid_053.png
new file mode 100644
index 0000000..57caa8a
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_053.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_054.png b/resources/CongratsAnim/Longman_kid_054.png
new file mode 100644
index 0000000..7ec37b8
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_054.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_055.png b/resources/CongratsAnim/Longman_kid_055.png
new file mode 100644
index 0000000..cf5bcbd
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_055.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_056.png b/resources/CongratsAnim/Longman_kid_056.png
new file mode 100644
index 0000000..09842a7
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_056.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_057.png b/resources/CongratsAnim/Longman_kid_057.png
new file mode 100644
index 0000000..55bd366
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_057.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_058.png b/resources/CongratsAnim/Longman_kid_058.png
new file mode 100644
index 0000000..28c5dd3
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_058.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_059.png b/resources/CongratsAnim/Longman_kid_059.png
new file mode 100644
index 0000000..44674d6
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_059.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_060.png b/resources/CongratsAnim/Longman_kid_060.png
new file mode 100644
index 0000000..358a02c
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_060.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_061.png b/resources/CongratsAnim/Longman_kid_061.png
new file mode 100644
index 0000000..30b8392
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_061.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_062.png b/resources/CongratsAnim/Longman_kid_062.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_062.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_063.png b/resources/CongratsAnim/Longman_kid_063.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_063.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_064.png b/resources/CongratsAnim/Longman_kid_064.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_064.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_065.png b/resources/CongratsAnim/Longman_kid_065.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_065.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_066.png b/resources/CongratsAnim/Longman_kid_066.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_066.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_067.png b/resources/CongratsAnim/Longman_kid_067.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_067.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_068.png b/resources/CongratsAnim/Longman_kid_068.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_068.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_069.png b/resources/CongratsAnim/Longman_kid_069.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_069.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_070.png b/resources/CongratsAnim/Longman_kid_070.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_070.png
Binary files differ
diff --git a/resources/CongratsAnim/Longman_kid_071.png b/resources/CongratsAnim/Longman_kid_071.png
new file mode 100644
index 0000000..2d9cab2
--- /dev/null
+++ b/resources/CongratsAnim/Longman_kid_071.png
Binary files differ
diff --git a/resources/CongratsAnim/Thumbs.db b/resources/CongratsAnim/Thumbs.db
new file mode 100644
index 0000000..0da1975
--- /dev/null
+++ b/resources/CongratsAnim/Thumbs.db
Binary files differ
diff --git a/resources/Congratulations.ogg b/resources/Congratulations.ogg
new file mode 100644
index 0000000..5848f4d
--- /dev/null
+++ b/resources/Congratulations.ogg
Binary files differ
diff --git a/resources/Correct.ogg b/resources/Correct.ogg
new file mode 100644
index 0000000..e50519e
--- /dev/null
+++ b/resources/Correct.ogg
Binary files differ
diff --git a/resources/EFF_credits.png b/resources/EFF_credits.png
new file mode 100644
index 0000000..2ec3906
--- /dev/null
+++ b/resources/EFF_credits.png
Binary files differ
diff --git a/resources/Excellent.ogg b/resources/Excellent.ogg
new file mode 100644
index 0000000..1168fff
--- /dev/null
+++ b/resources/Excellent.ogg
Binary files differ
diff --git a/resources/Good.ogg b/resources/Good.ogg
new file mode 100644
index 0000000..b20f623
--- /dev/null
+++ b/resources/Good.ogg
Binary files differ
diff --git a/resources/Great.ogg b/resources/Great.ogg
new file mode 100644
index 0000000..e273e90
--- /dev/null
+++ b/resources/Great.ogg
Binary files differ
diff --git a/resources/Helvetica LT Condensed Black.ttf b/resources/Helvetica LT Condensed Black.ttf
new file mode 100644
index 0000000..c591d3d
--- /dev/null
+++ b/resources/Helvetica LT Condensed Black.ttf
Binary files differ
diff --git a/resources/MarcoBarra_base.png b/resources/MarcoBarra_base.png
new file mode 100644
index 0000000..1534c2a
--- /dev/null
+++ b/resources/MarcoBarra_base.png
Binary files differ
diff --git a/resources/Pant_WELCOME.png b/resources/Pant_WELCOME.png
new file mode 100644
index 0000000..0612cca
--- /dev/null
+++ b/resources/Pant_WELCOME.png
Binary files differ
diff --git a/resources/_acuarelas.png b/resources/_acuarelas.png
new file mode 100644
index 0000000..206bfc9
--- /dev/null
+++ b/resources/_acuarelas.png
Binary files differ
diff --git a/resources/activity.svg b/resources/activity.svg
new file mode 100644
index 0000000..271b625
--- /dev/null
+++ b/resources/activity.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY stroke_color "#666666">
+ <!ENTITY fill_color "#FFFFFF">
+]>
+<svg xmlns="http://www.w3.org/2000/svg" width="55" height="55">
+ <rect id="front_cent"
+ x="5"
+ y="25"
+ width="35"
+ height="25"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="lat_sup"
+ d="M 40,27 C 40,27 39,8 45,4 C 51,0 51,17 51,17 L 40,27 L 40,27 L 40,27 z"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="front_sup"
+ d="M 5,27 C 5,27 4.2448854,7.5306869 10.244885,3.5306872 C 24.706706,3.4859225 35.10302,3.5137054 46.877557,3.3877863 C 39.910166,3.5897234 39.716123,21.66666 39.998279,27 C 39.268038,27.003503 5,27 5,27 L 5,27 z"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="lat_inf"
+ d="M 40,27 L 40,50 L 51,39 L 51,17 L 40,27 zz"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linejoin="round"
+ />
+ <path id="xo_1"
+ d="M 18,45 L 28,35"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linecap="round"
+ />
+ <path id="xo_2"
+ d="M 18,35 L 28,45"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="3.5"
+ stroke-linecap="round"
+ />
+ <path id="xo_3"
+ d="M 23,32 L 23,32"
+ stroke="&stroke_color;"
+ fill="&fill_color;"
+ stroke-width="5"
+ stroke-linecap="round"
+ />
+</svg>
diff --git a/resources/arrow-mask.xbm b/resources/arrow-mask.xbm
new file mode 100644
index 0000000..5d035fa
--- /dev/null
+++ b/resources/arrow-mask.xbm
@@ -0,0 +1,20 @@
+#define arrow_mask_width 40
+#define arrow_mask_height 40
+static unsigned char arrow_mask_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x7f, 0x00, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff,
+ 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff,
+ 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x7f, 0x00, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff,
+ 0x3f, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0x01, 0x00, 0xff, 0xff, 0xff, 0x03, 0x00, 0xff,
+ 0xff, 0xff, 0x07, 0x00, 0xff, 0xff, 0xff, 0x0f, 0x00, 0xff, 0xff, 0xff,
+ 0x1f, 0x00, 0xff, 0xef, 0xff, 0x3f, 0x00, 0xff, 0xcf, 0xff, 0x7f, 0x00,
+ 0xff, 0x8f, 0xff, 0xff, 0x00, 0xff, 0x0f, 0xff, 0xff, 0x01, 0xff, 0x0f,
+ 0xfe, 0xff, 0x03, 0xff, 0x0f, 0xfc, 0xff, 0x07, 0xff, 0x0f, 0xf8, 0xff,
+ 0x07, 0xff, 0x0f, 0xf0, 0xff, 0x07, 0xff, 0x0f, 0xe0, 0xff, 0x07, 0xff,
+ 0x0f, 0xc0, 0xff, 0x07, 0xfe, 0x07, 0x80, 0xff, 0x07, 0xfc, 0x03, 0x00,
+ 0xff, 0x07, 0xf8, 0x01, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0xfc, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/resources/arrow.xbm b/resources/arrow.xbm
new file mode 100644
index 0000000..58d6f0a
--- /dev/null
+++ b/resources/arrow.xbm
@@ -0,0 +1,20 @@
+#define arrow_width 40
+#define arrow_height 40
+static unsigned char arrow_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0xff, 0x7f,
+ 0x00, 0xfc, 0xff, 0xff, 0xff, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x00, 0xfc,
+ 0xff, 0xff, 0xff, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x00, 0xfc, 0xff, 0xff,
+ 0x7f, 0x00, 0xfc, 0xff, 0xff, 0x3f, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00,
+ 0xfc, 0xff, 0x01, 0x00, 0x00, 0xfc, 0xff, 0x03, 0x00, 0x00, 0xfc, 0xff,
+ 0x07, 0x00, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0xfc, 0xff, 0x1f, 0x00,
+ 0x00, 0xfc, 0xfb, 0x3f, 0x00, 0x00, 0xfc, 0xf3, 0x7f, 0x00, 0x00, 0xfc,
+ 0xe3, 0xff, 0x00, 0x00, 0xfc, 0xc3, 0xff, 0x01, 0x00, 0xfc, 0x83, 0xff,
+ 0x03, 0x00, 0xfc, 0x03, 0xff, 0x07, 0x00, 0xfc, 0x03, 0xfe, 0x0f, 0x00,
+ 0xfc, 0x03, 0xfc, 0x1f, 0x00, 0xfc, 0x03, 0xf8, 0x3f, 0x00, 0xfc, 0x03,
+ 0xf0, 0x7f, 0x00, 0xfc, 0x03, 0xe0, 0xff, 0x00, 0xfc, 0x03, 0xc0, 0xff,
+ 0x01, 0xfc, 0x03, 0x80, 0xff, 0x01, 0xfc, 0x03, 0x00, 0xff, 0x03, 0xf8,
+ 0x01, 0x00, 0xfe, 0x01, 0xf0, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x00,
+ 0xf8, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/resources/background1.png b/resources/background1.png
new file mode 100644
index 0000000..88f8617
--- /dev/null
+++ b/resources/background1.png
Binary files differ
diff --git a/resources/background10.png b/resources/background10.png
new file mode 100644
index 0000000..03fe7ef
--- /dev/null
+++ b/resources/background10.png
Binary files differ
diff --git a/resources/background11.png b/resources/background11.png
new file mode 100644
index 0000000..30f5926
--- /dev/null
+++ b/resources/background11.png
Binary files differ
diff --git a/resources/background12.png b/resources/background12.png
new file mode 100644
index 0000000..bbf7478
--- /dev/null
+++ b/resources/background12.png
Binary files differ
diff --git a/resources/background2.png b/resources/background2.png
new file mode 100644
index 0000000..ab4fea4
--- /dev/null
+++ b/resources/background2.png
Binary files differ
diff --git a/resources/background3.png b/resources/background3.png
new file mode 100644
index 0000000..ae50d55
--- /dev/null
+++ b/resources/background3.png
Binary files differ
diff --git a/resources/background4.png b/resources/background4.png
new file mode 100644
index 0000000..c15992d
--- /dev/null
+++ b/resources/background4.png
Binary files differ
diff --git a/resources/background5.png b/resources/background5.png
new file mode 100644
index 0000000..75b45bb
--- /dev/null
+++ b/resources/background5.png
Binary files differ
diff --git a/resources/background6.png b/resources/background6.png
new file mode 100644
index 0000000..7656653
--- /dev/null
+++ b/resources/background6.png
Binary files differ
diff --git a/resources/background7.png b/resources/background7.png
new file mode 100644
index 0000000..e15284c
--- /dev/null
+++ b/resources/background7.png
Binary files differ
diff --git a/resources/background8.png b/resources/background8.png
new file mode 100644
index 0000000..4acef17
--- /dev/null
+++ b/resources/background8.png
Binary files differ
diff --git a/resources/background9.png b/resources/background9.png
new file mode 100644
index 0000000..5ef10c5
--- /dev/null
+++ b/resources/background9.png
Binary files differ
diff --git a/resources/btn_archivero.png b/resources/btn_archivero.png
new file mode 100644
index 0000000..b519cd2
--- /dev/null
+++ b/resources/btn_archivero.png
Binary files differ
diff --git a/resources/btn_help.png b/resources/btn_help.png
new file mode 100644
index 0000000..ebae14a
--- /dev/null
+++ b/resources/btn_help.png
Binary files differ
diff --git a/resources/btn_lvl.png b/resources/btn_lvl.png
new file mode 100644
index 0000000..6ef86a6
--- /dev/null
+++ b/resources/btn_lvl.png
Binary files differ
diff --git a/resources/btn_next.png b/resources/btn_next.png
new file mode 100644
index 0000000..c4b6621
--- /dev/null
+++ b/resources/btn_next.png
Binary files differ
diff --git a/resources/btn_previous.png b/resources/btn_previous.png
new file mode 100644
index 0000000..3c56c99
--- /dev/null
+++ b/resources/btn_previous.png
Binary files differ
diff --git a/resources/btn_quit.png b/resources/btn_quit.png
new file mode 100644
index 0000000..89b333c
--- /dev/null
+++ b/resources/btn_quit.png
Binary files differ
diff --git a/resources/cabezal_base.png b/resources/cabezal_base.png
new file mode 100644
index 0000000..e0f31e4
--- /dev/null
+++ b/resources/cabezal_base.png
Binary files differ
diff --git a/resources/congrats_backg.png b/resources/congrats_backg.png
new file mode 100644
index 0000000..540fed0
--- /dev/null
+++ b/resources/congrats_backg.png
Binary files differ
diff --git a/resources/congrats_btn_next.png b/resources/congrats_btn_next.png
new file mode 100644
index 0000000..9c364e9
--- /dev/null
+++ b/resources/congrats_btn_next.png
Binary files differ
diff --git a/resources/eduGames.ico b/resources/eduGames.ico
new file mode 100644
index 0000000..95731d4
--- /dev/null
+++ b/resources/eduGames.ico
Binary files differ
diff --git a/resources/intro.avi b/resources/intro.avi
new file mode 100644
index 0000000..619bdb3
--- /dev/null
+++ b/resources/intro.avi
Binary files differ
diff --git a/resources/intro.ogv b/resources/intro.ogv
new file mode 100644
index 0000000..774ca4f
--- /dev/null
+++ b/resources/intro.ogv
Binary files differ
diff --git a/resources/kid_welcome/Thumbs.db b/resources/kid_welcome/Thumbs.db
new file mode 100644
index 0000000..0cbe573
--- /dev/null
+++ b/resources/kid_welcome/Thumbs.db
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0001.png b/resources/kid_welcome/welcome_anim0001.png
new file mode 100644
index 0000000..f11817e
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0001.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0002.png b/resources/kid_welcome/welcome_anim0002.png
new file mode 100644
index 0000000..dfb53ca
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0002.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0003.png b/resources/kid_welcome/welcome_anim0003.png
new file mode 100644
index 0000000..aa4c714
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0003.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0004.png b/resources/kid_welcome/welcome_anim0004.png
new file mode 100644
index 0000000..f08ebdf
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0004.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0005.png b/resources/kid_welcome/welcome_anim0005.png
new file mode 100644
index 0000000..3268f45
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0005.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0006.png b/resources/kid_welcome/welcome_anim0006.png
new file mode 100644
index 0000000..51a1869
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0006.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0007.png b/resources/kid_welcome/welcome_anim0007.png
new file mode 100644
index 0000000..de17b7d
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0007.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0008.png b/resources/kid_welcome/welcome_anim0008.png
new file mode 100644
index 0000000..ce04873
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0008.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0009.png b/resources/kid_welcome/welcome_anim0009.png
new file mode 100644
index 0000000..ef1b6c4
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0009.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0010.png b/resources/kid_welcome/welcome_anim0010.png
new file mode 100644
index 0000000..0f5db13
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0010.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0011.png b/resources/kid_welcome/welcome_anim0011.png
new file mode 100644
index 0000000..f0c9a66
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0011.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0012.png b/resources/kid_welcome/welcome_anim0012.png
new file mode 100644
index 0000000..5d1f112
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0012.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0013.png b/resources/kid_welcome/welcome_anim0013.png
new file mode 100644
index 0000000..a60453e
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0013.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0014.png b/resources/kid_welcome/welcome_anim0014.png
new file mode 100644
index 0000000..0b13294
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0014.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0015.png b/resources/kid_welcome/welcome_anim0015.png
new file mode 100644
index 0000000..9ab7fba
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0015.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0016.png b/resources/kid_welcome/welcome_anim0016.png
new file mode 100644
index 0000000..645454b
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0016.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0017.png b/resources/kid_welcome/welcome_anim0017.png
new file mode 100644
index 0000000..3acc10f
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0017.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0018.png b/resources/kid_welcome/welcome_anim0018.png
new file mode 100644
index 0000000..bab45d0
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0018.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0019.png b/resources/kid_welcome/welcome_anim0019.png
new file mode 100644
index 0000000..3383644
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0019.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0020.png b/resources/kid_welcome/welcome_anim0020.png
new file mode 100644
index 0000000..ea2bab2
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0020.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0021.png b/resources/kid_welcome/welcome_anim0021.png
new file mode 100644
index 0000000..3fc276f
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0021.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0022.png b/resources/kid_welcome/welcome_anim0022.png
new file mode 100644
index 0000000..c7918f6
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0022.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0023.png b/resources/kid_welcome/welcome_anim0023.png
new file mode 100644
index 0000000..a9a0ed0
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0023.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0024.png b/resources/kid_welcome/welcome_anim0024.png
new file mode 100644
index 0000000..20bf254
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0024.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0025.png b/resources/kid_welcome/welcome_anim0025.png
new file mode 100644
index 0000000..18c655c
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0025.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0026.png b/resources/kid_welcome/welcome_anim0026.png
new file mode 100644
index 0000000..d044f70
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0026.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0027.png b/resources/kid_welcome/welcome_anim0027.png
new file mode 100644
index 0000000..b9404d9
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0027.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0028.png b/resources/kid_welcome/welcome_anim0028.png
new file mode 100644
index 0000000..0d2f8ca
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0028.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0029.png b/resources/kid_welcome/welcome_anim0029.png
new file mode 100644
index 0000000..6bae459
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0029.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0030.png b/resources/kid_welcome/welcome_anim0030.png
new file mode 100644
index 0000000..9aa7ed6
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0030.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0031.png b/resources/kid_welcome/welcome_anim0031.png
new file mode 100644
index 0000000..2bfbff2
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0031.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0032.png b/resources/kid_welcome/welcome_anim0032.png
new file mode 100644
index 0000000..ab29a81
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0032.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0033.png b/resources/kid_welcome/welcome_anim0033.png
new file mode 100644
index 0000000..9bc6031
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0033.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0034.png b/resources/kid_welcome/welcome_anim0034.png
new file mode 100644
index 0000000..b551e71
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0034.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0035.png b/resources/kid_welcome/welcome_anim0035.png
new file mode 100644
index 0000000..fc726a2
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0035.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0036.png b/resources/kid_welcome/welcome_anim0036.png
new file mode 100644
index 0000000..5d03f84
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0036.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0037.png b/resources/kid_welcome/welcome_anim0037.png
new file mode 100644
index 0000000..ccda4f5
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0037.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0038.png b/resources/kid_welcome/welcome_anim0038.png
new file mode 100644
index 0000000..d0a093a
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0038.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0039.png b/resources/kid_welcome/welcome_anim0039.png
new file mode 100644
index 0000000..e1e8f71
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0039.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0040.png b/resources/kid_welcome/welcome_anim0040.png
new file mode 100644
index 0000000..0812aa7
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0040.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0041.png b/resources/kid_welcome/welcome_anim0041.png
new file mode 100644
index 0000000..f263cb4
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0041.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0042.png b/resources/kid_welcome/welcome_anim0042.png
new file mode 100644
index 0000000..12b76aa
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0042.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0043.png b/resources/kid_welcome/welcome_anim0043.png
new file mode 100644
index 0000000..4bcdafd
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0043.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0044.png b/resources/kid_welcome/welcome_anim0044.png
new file mode 100644
index 0000000..e531bee
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0044.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0045.png b/resources/kid_welcome/welcome_anim0045.png
new file mode 100644
index 0000000..934a652
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0045.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0046.png b/resources/kid_welcome/welcome_anim0046.png
new file mode 100644
index 0000000..bab9aeb
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0046.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0047.png b/resources/kid_welcome/welcome_anim0047.png
new file mode 100644
index 0000000..bd64b6b
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0047.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0048.png b/resources/kid_welcome/welcome_anim0048.png
new file mode 100644
index 0000000..25465bb
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0048.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0049.png b/resources/kid_welcome/welcome_anim0049.png
new file mode 100644
index 0000000..9dd9897
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0049.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0050.png b/resources/kid_welcome/welcome_anim0050.png
new file mode 100644
index 0000000..b673834
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0050.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0051.png b/resources/kid_welcome/welcome_anim0051.png
new file mode 100644
index 0000000..e365828
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0051.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0052.png b/resources/kid_welcome/welcome_anim0052.png
new file mode 100644
index 0000000..c50fc19
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0052.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0053.png b/resources/kid_welcome/welcome_anim0053.png
new file mode 100644
index 0000000..0cb7c3b
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0053.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0054.png b/resources/kid_welcome/welcome_anim0054.png
new file mode 100644
index 0000000..5f52f00
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0054.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0055.png b/resources/kid_welcome/welcome_anim0055.png
new file mode 100644
index 0000000..24a05e3
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0055.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0056.png b/resources/kid_welcome/welcome_anim0056.png
new file mode 100644
index 0000000..744abca
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0056.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0057.png b/resources/kid_welcome/welcome_anim0057.png
new file mode 100644
index 0000000..fcb145e
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0057.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0058.png b/resources/kid_welcome/welcome_anim0058.png
new file mode 100644
index 0000000..af95208
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0058.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0059.png b/resources/kid_welcome/welcome_anim0059.png
new file mode 100644
index 0000000..8ca46d8
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0059.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0060.png b/resources/kid_welcome/welcome_anim0060.png
new file mode 100644
index 0000000..92a443f
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0060.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0061.png b/resources/kid_welcome/welcome_anim0061.png
new file mode 100644
index 0000000..c9199f4
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0061.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0062.png b/resources/kid_welcome/welcome_anim0062.png
new file mode 100644
index 0000000..844eb1c
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0062.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0063.png b/resources/kid_welcome/welcome_anim0063.png
new file mode 100644
index 0000000..d7c53ef
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0063.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0064.png b/resources/kid_welcome/welcome_anim0064.png
new file mode 100644
index 0000000..874ece3
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0064.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0065.png b/resources/kid_welcome/welcome_anim0065.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0065.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0066.png b/resources/kid_welcome/welcome_anim0066.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0066.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0067.png b/resources/kid_welcome/welcome_anim0067.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0067.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0068.png b/resources/kid_welcome/welcome_anim0068.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0068.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0069.png b/resources/kid_welcome/welcome_anim0069.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0069.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0070.png b/resources/kid_welcome/welcome_anim0070.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0070.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0071.png b/resources/kid_welcome/welcome_anim0071.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0071.png
Binary files differ
diff --git a/resources/kid_welcome/welcome_anim0072.png b/resources/kid_welcome/welcome_anim0072.png
new file mode 100644
index 0000000..009d136
--- /dev/null
+++ b/resources/kid_welcome/welcome_anim0072.png
Binary files differ
diff --git a/resources/logo.png b/resources/logo.png
new file mode 100644
index 0000000..818d400
--- /dev/null
+++ b/resources/logo.png
Binary files differ
diff --git a/resources/lvl_marker_1.png b/resources/lvl_marker_1.png
new file mode 100644
index 0000000..7029f45
--- /dev/null
+++ b/resources/lvl_marker_1.png
Binary files differ
diff --git a/resources/lvl_marker_2.png b/resources/lvl_marker_2.png
new file mode 100644
index 0000000..277b712
--- /dev/null
+++ b/resources/lvl_marker_2.png
Binary files differ
diff --git a/resources/lvl_marker_3.png b/resources/lvl_marker_3.png
new file mode 100644
index 0000000..20a5648
--- /dev/null
+++ b/resources/lvl_marker_3.png
Binary files differ
diff --git a/resources/menu_fdo_lvl.png b/resources/menu_fdo_lvl.png
new file mode 100644
index 0000000..629ab7a
--- /dev/null
+++ b/resources/menu_fdo_lvl.png
Binary files differ
diff --git a/resources/menu_fdo_unit.png b/resources/menu_fdo_unit.png
new file mode 100644
index 0000000..3e79bd8
--- /dev/null
+++ b/resources/menu_fdo_unit.png
Binary files differ
diff --git a/resources/mouseCursorTest.py b/resources/mouseCursorTest.py
new file mode 100644
index 0000000..10aa057
--- /dev/null
+++ b/resources/mouseCursorTest.py
@@ -0,0 +1,16 @@
+import pygame, sys, os
+from pygame.locals import *
+
+pygame.init()
+window = pygame.display.set_mode()
+pygame.display.set_caption("Test")
+surface = pygame.display.get_surface()
+clock = pygame.time.Clock()
+
+mouseImage = "arrow.xbm"
+mouseMask = "arrow-mask.xbm"
+a, b, c, d = pygame.cursors.load_xbm(mouseImage, mouseMask)
+pygame.mouse.set_cursor(a, b, c, d)
+
+while(True):
+ clock.tick(1) \ No newline at end of file
diff --git a/resources/niobbl_.ttf b/resources/niobbl_.ttf
new file mode 100644
index 0000000..913a3c6
--- /dev/null
+++ b/resources/niobbl_.ttf
Binary files differ
diff --git a/resources/niobrg_.ttf b/resources/niobrg_.ttf
new file mode 100644
index 0000000..ea484e2
--- /dev/null
+++ b/resources/niobrg_.ttf
Binary files differ
diff --git a/resources/pincel.png b/resources/pincel.png
new file mode 100644
index 0000000..bcc234f
--- /dev/null
+++ b/resources/pincel.png
Binary files differ
diff --git a/resources/pincel_black.png b/resources/pincel_black.png
new file mode 100644
index 0000000..09b942b
--- /dev/null
+++ b/resources/pincel_black.png
Binary files differ
diff --git a/resources/pincel_blue.png b/resources/pincel_blue.png
new file mode 100644
index 0000000..c3150d8
--- /dev/null
+++ b/resources/pincel_blue.png
Binary files differ
diff --git a/resources/pincel_green.png b/resources/pincel_green.png
new file mode 100644
index 0000000..9458213
--- /dev/null
+++ b/resources/pincel_green.png
Binary files differ
diff --git a/resources/pincel_orange.png b/resources/pincel_orange.png
new file mode 100644
index 0000000..9edf145
--- /dev/null
+++ b/resources/pincel_orange.png
Binary files differ
diff --git a/resources/pincel_purple.png b/resources/pincel_purple.png
new file mode 100644
index 0000000..3c38c40
--- /dev/null
+++ b/resources/pincel_purple.png
Binary files differ
diff --git a/resources/pincel_red.png b/resources/pincel_red.png
new file mode 100644
index 0000000..b8c262f
--- /dev/null
+++ b/resources/pincel_red.png
Binary files differ
diff --git a/resources/pincel_white.png b/resources/pincel_white.png
new file mode 100644
index 0000000..e39b745
--- /dev/null
+++ b/resources/pincel_white.png
Binary files differ
diff --git a/resources/pincel_yellow.png b/resources/pincel_yellow.png
new file mode 100644
index 0000000..e713884
--- /dev/null
+++ b/resources/pincel_yellow.png
Binary files differ
diff --git a/resources/sound.png b/resources/sound.png
new file mode 100644
index 0000000..ed93829
--- /dev/null
+++ b/resources/sound.png
Binary files differ
diff --git a/resources/success.ogg b/resources/success.ogg
new file mode 100644
index 0000000..a590a9b
--- /dev/null
+++ b/resources/success.ogg
Binary files differ
diff --git a/resources/tick.png b/resources/tick.png
new file mode 100644
index 0000000..d071750
--- /dev/null
+++ b/resources/tick.png
Binary files differ
diff --git a/resources/welcome.ogg b/resources/welcome.ogg
new file mode 100644
index 0000000..a36be6f
--- /dev/null
+++ b/resources/welcome.ogg
Binary files differ
diff --git a/run.py b/run.py
new file mode 100644
index 0000000..b430d78
--- /dev/null
+++ b/run.py
@@ -0,0 +1,41 @@
+#! /usr/bin/env python
+"""Skeleton project file mainloop for new OLPCGames users"""
+import olpcgames, pygame, logging
+from olpcgames import pausescreen
+
+log = logging.getLogger( 'EnglishForFun run' )
+log.setLevel( logging.DEBUG )
+
+def main():
+ """The mainloop which is specified in the activity.py file
+
+ "main" is the assumed function name
+ """
+ size = (800,600)
+ if olpcgames.ACTIVITY:
+ size = olpcgames.ACTIVITY.game_size
+ screen = pygame.display.set_mode(size)
+
+ clock = pygame.time.Clock()
+
+ running = True
+ while running:
+ screen.fill( (0,0,128))
+ milliseconds = clock.tick(25) # maximum number of frames per second
+
+ # Event-management loop with support for pausing after X seconds (20 here)
+ events = pausescreen.get_events()
+ # Now the main event-processing loop
+ if events:
+ for event in events:
+ log.debug( "Event: %s", event )
+ if event.type == pygame.QUIT:
+ running = False
+ elif event.type == pygame.KEYDOWN:
+ if event.key == pygame.K_ESCAPE:
+ running = False
+ pygame.display.flip()
+
+if __name__ == "__main__":
+ logging.basicConfig()
+ main()
diff --git a/settings.txt b/settings.txt
new file mode 100644
index 0000000..207c4d7
--- /dev/null
+++ b/settings.txt
@@ -0,0 +1,33 @@
+rootActivitiesDir = "Activities"
+resourcesDir = "resources"
+fps = 25
+screenWidth = 1200
+screenHeight = 900
+gameTitle = "Activities"
+backgroundColor = (0,0,0)
+rootIconX = 80
+rootIconY = 560
+skipIntro = 0
+resetScoreOnStart = 1
+quitButtonX = 1091
+quitButtonY = 14
+helpButtonX = 1030
+helpButtonY = 218
+previousButtonX = 545
+previousButtonY = 616
+nextButtonX = 627
+nextButtonY = 730
+logoX = 875
+logoY = 590
+menuBaseX = 68
+menuBaseY = 272
+jumpingGuyX = 706
+jumpingGuyY = 325
+unitNameLabelX = 400
+unitNameLabelY = 90
+actTypeNameX = 720
+actTypeNameY = 90
+welcomeGuyX = 790
+welcomeGuyY = 370
+exitPopupX = 219
+exitPopupY = 150 \ No newline at end of file
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..c17765c
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,4 @@
+#!/usr/bin/env python
+from sugar.activity import bundlebuilder
+if __name__ == "__main__":
+ bundlebuilder.start("EnglishForFun")