Ce projet est une application console en C# realisee dans le cadre du BTS SIO option SLAM, Bloc 2.
L'objectif est de modeliser un Rubik's Cube en programmation orientee objet, d'afficher ses faces dans la console et de permettre des rotations de base sur les differentes faces du cube.
- Manipuler la programmation orientee objet en C#
- Concevoir plusieurs classes qui collaborent entre elles
- Representer un objet complexe avec une structure de donnees adaptee
- Mettre en place des methodes de transformation sur un modele
- Afficher graphiquement un resultat dans une application console
- Affichage du cube dans la console
- Rotation des faces :
F: FrontB: BackR: RightL: LeftU: UpD: Down
- Saisie clavier en boucle
- Touche
Qpour quitter l'application - Mode de verification interne avec
--self-test
Program.cs: point d'entree, boucle console, saisie utilisateur, auto-testCube.cs: representation du cube et gestion des rotationsFace.cs: representation d'une face 3x3 du cubeTuile.cs: representation d'une tuile coloree dans la console
Ce projet mobilise notamment :
- le developpement d'une solution applicative
- l'organisation du code en classes et methodes
- la qualite du code et les tests de verification
- la prise en compte de l'affichage et de l'interaction utilisateur
Depuis le dossier du projet :
dotnet build
dotnet rundotnet run -- --self-testSi tout est correct, le programme affiche :
OK
Au lancement, la console affiche :
- le titre du projet
- les coups disponibles
- le cube dessine en couleur
Ensuite, il suffit de taper une lettre parmi F, B, R, L, U, D pour effectuer une rotation.
- Ajouter les rotations inverses (
F',R', etc.) - Ajouter un melange aleatoire du cube
- Ajouter une remise a zero
- Ajouter un historique des mouvements
- Ajouter une verification "cube resolu"
Projet realise a partir du sujet :
TP Jeux SIO Rubiks Cube Console
Ce travail s'inscrit dans une logique d'apprentissage autour de la modelisation, de l'algorithmique et du developpement d'applications console en C#.