Liste des projets de rattrapage J2ME et XML

Transcription

Liste des projets de rattrapage J2ME et XML
Liste des projets de rattrapage J2ME et XML
Moı̈se Valvassori et Nicolas Jouandeau
Mon Mar 6 11:31:29 2006
Choisir un projet dans la liste et envoyer ce choix par courrier électronique avant le 10 mars 2006
([email protected] et [email protected]). Les travaux (exercice + projet) sont à
rendre avant le 24 avril 2006. Une soutenance est prévue le 27 avril 2006. Les projets sont individuels.
Les voeux seront affectés dans leurs ordres de réception. Ce choix est définitif. Les critères de notation
sont entre autre : complétude et correction des programmes proposés, justification et explication de tous les
choix critiques, clarté et pertinence du rapport, respect des délais.
Les mots-clés (( doit )), (( ne doit pas)), (( requis)), (( devra)), (( ne devra pas)), (( devrait )), (( ne devrait pas)),
(( recommandé)), (( peut )) et (( optionnel )) doivent être interprétés comme décrit dans la RFC 2119.
1
Exercice
Les questions sont dépendantes. Les solutions proposées sont indépendantes, correctes, complètes et
justifiées.
1. Programmer à partir de rien un parseur XML compact de type pull.
2. Programmer à partir d’un parseur pull, un modèle arborescent représentant un document XML quelconque. La bibliothèque et le modèle devront être compacts en vu d’être utilisés dans une MIDlet.
3. Programmer un client XML-RPC à partir de votre bibliothèque.
2
2.1
Projets
Shell en XML
Réaliser une bibliothèque qui interprète des commandes shell contenues dans un document XML. Le
format XML doit être spécifié. Le format et la bibliothèque devront pouvoir évoluer.
2.2
Musique en XML
Réaliser une bibliothèque qui interprète des commandes musicales contenues dans un document XML.
Le format XML doit être spécifié. Le format et la bibliothèque devront pouvoir évoluer.
2.3
Dessin en XML
Réaliser une bibliothèque qui interprète des commandes graphiques contenues dans un document XML.
Le format XML doit être spécifié. Le format et la bibliothèque devront pouvoir évoluer.
1
2.4
Ascii Art
Réaliser un éditeur Ascii Art. On doit pouvoir sauver le dessin sur le téléphone et sur un serveur.
2.5
Diagramme Ascii Art
Faire un port d’une bibliothèque qui convertit de l’Ascii Art en image. http://ditaa.sourceforge.net/
2.6
Grapheur
Faire une bibliothèque qui réalise des graphes. Les données des graphes doivent être fournies dans un
document XML.
2.7
Présentateur
Réaliser un éditeur et un visualisateur de présentation. La format de la présentation est XML.
2.8
Slide show
Faire un programme de visualisation d’image. Les transitions entre les images devront être soignées.
On doit pouvoir ajouter facilement de nouvelles transitions (sans refaire tout le programme).
2.9
Jeu de go
Faire un interprète du format SGF. Les règles GM[1]FF[3] sont utilisées. Les propriétés suivantes
doivent être reconnues : RU, SZ, HA, KM, PW, PB, TM, RE, B, BL, W, Wl, (AE ?), AB, AW, TW, TB.
http://www.red-bean.com/sgf/
Idem avec le protocole GTP http://www.lysator.liu.se/˜gunnar/gtp/
2.10
Port et optimization de Bzip2
Réaliser, optimiser et valider un port de la bibliothèque BZip2. Les classes doivent hériter de InputStream
et OutputStream.
On peut partir de ce port : http://jakarta.apache.org/commons/sandbox/compress/
2.11
Chat
Réaliser un système de discutions entre deux utilisateurs. Les dialogues doivent être relayer par un
serveur.
Le serveur doit être spécifié mais son implémentation est optionnelle.
2.12
Lecture .obj
Lecteur de fichier 3D OBJ http://www.google.fr/search ?q=obj+format. Les modèles
3D obtenus devront être visualisés sous tous les angles.
2.13 Éditeur Wikipedia
Réaliser un éditeur de contenu pour les wikis et les blogs. L’éditeur doit fonctionner hors connexions.
Une implémentation pour wikipédia est recommandée.
2
2.14
Benchmark 3D
Réaliser un banc d’essais pour les fonctions 3D des téléphones portables.
2.15
Nouveaux Composants
Réaliser un des nouveaux composants proposés ci-dessous.
2.15.1
Composant HTML
Réaliser un composant permettant de visualiser de l’HTML1. Le composant doit hériter de la classe
Item.
2.15.2
sous-menu pour les commandes
2.15.3
composants graphiques redimensionnables
2.15.4
composants graphiques skinables
2.15.5
layout manquant
Par exemple BorderLayout, GridLayout, ...
2.15.6
gestionnaire d’ecran avec bureau virtuel
2.15.7
sprite 3D
2.15.8
canvas 3D
2.16
Jeux
Les ressources des jeux seront téléchargées lors du premier chargement de celui-ci. Cela permettra à
l’éditeur du jeu d’effectuer des contrôles sur l’utilisateur.
2.16.1
Sudoku
2.16.2
first-person shooter
avec les 4 niveaux genre les initiaux de doom1
2.16.3
shoot-them-up
avec 2 niveaux, comprenant boss et demi-boss
2.16.4
jeu de baseball
imaginer
2.16.5
pac-man
avec 10 niveaux, bien connu
3
2.16.6
bubble bubble
avec 10 niveaux, vénéré
2.16.7
pang
avec 10 niveaux et pour le multijoueur ?
2.16.8
mario kart
avec un grand prix, nintendomaniac ?
2.16.9
Pong
2.16.10
Taquin
2.16.11
Casse Brique
2.16.12
Course de voiture en 3d
2.16.13
Nethack 3d
4