Programmation Orientée Objet avec Java

publicité
Le Tic Tac Toe
C’est le jeu de morpion limité à un tableau de 3 cases sur trois cases. Il y a deux
joueurs, chacun marquant une case par sa marque O ou X ; le but est d’aligner
trois marques identiques. Le plateau de jeu devra se présenter ainsi
|?|?|?|
|?|?|?|
|?|?|?|
les ? étant remplacés au fur et à mesure du jeu par X ou bien O.
# Une classe Jeu contiendra le plateau de jeu, les deux joueurs et le joueur en
train de jouer.
# Une interface Joueur a une méthode jouer(Jeu j).
# Une classe abstraite JoueurLambda définit un Joueur par son nom, sa marque
et implémente Joueur
# Une classe JoueurOrdi hérite de JoueurLambda et implémente la méthode
jouer
# Une classe JoueurHumain hérite de JoueurLambda et implémente la méthode
jouer (un joueur humain doit donner les coordonnées de la case où il veut jouer :
prévoir des exceptions sur la saisie)
()
Programmation Orientée Objet avec Java
25 novembre 2013
1/6
Exercices ArrayList
Écrire un programme qui accepte, sur la ligne de commande, une suite de
nombres et qui stocke dans un ArrayList ceux qui sont positifs
Écrire un programme qui accepte, sur la ligne de commande, une suite de
chaı̂nes de caractères et qui stocke dans un ArrayList celles qui contiennent
au moins une fois le caractère ’a’
Faire afficher à l’écran toutes les chaı̂nes ainsi stockées dans la structure
ArrayList
Ecrire une méthode qui classe le ArrayList par ordre de longueur de chaı̂nes
croissantes
()
Programmation Orientée Objet avec Java
25 novembre 2013
2/6
la structure de Tas pour implémenter une file de priorité
Une file de priorité a pour spécifications :
type file de priorité
utilise type Booléen, type Elément
signature
init : → file de priorité
insérer : (file de priorité, Elément)→ file de priorité
supprimer : file de priorité → file de priorité
premier : file de priorité → Elément
vide : file de priorité → booléen
et vérifie les axiomes suivants
premier(insérer(f,E))
=
(
E
si vide(f) ou E a priorité sur premier(f)
premier (f ) sinon
supprimer(insérer(f,E))=
(
f
si vide(f)ou E a priorité sur premier(f)
insérer (supprimer (f ), E ) sinon
()
Programmation Orientée Objet avec Java
25 novembre 2013
3/6
Tas
Définition
Un tas est un arbre binaire ayant les deux caractéristiques suivantes :
arbre parfait : c’est un arbre binaire dont tous les niveaux hiérarchiques sont
remplis, sauf éventuellement le dernier dans lequel toutes les feuilles sont le
plus à gauche possible.
arbre tournoi : c’est un arbre binaire dont toutes les valeurs sont croissantes
depuis la racine vers les feuilles.
Un tas (heap en anglais) est un arbre binaire parfait et tournoi.
()
Programmation Orientée Objet avec Java
25 novembre 2013
4/6
Représentation physique
Le gros avantage d’un arbre parfait est sa compacité qui permet d’utiliser la
numérotation hiérarchique pour représenter cet arbre dans un tableau dont
l’indexage correspond au numéro hiérarchique. Exemple :
2
5
4
12
15
7
21
9
6
10
14
L’arbre ci-dessus est représenté par le tableau suivant :
i
t(i)
1
2
2
5
()
3
4
4
12
5
7
6
6
7
10
8
15
9
21
10
9
Programmation Orientée Objet avec Java
11
14
12
...
...
...
25 novembre 2013
5/6
Interface et implémentation avec ArrayList
# Ecrire une interface Tas
# Ecrire une classe TasDEntiers implémentant l’interface Tas en utilisant la
collection ArrayList
()
Programmation Orientée Objet avec Java
25 novembre 2013
6/6
Téléchargement