Projet de fin d'année.

sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir à tous.

Je suis étudiant en informatique (programmation), je suis en premiere année d'etude.
C'est donc ma premiere année d'informatique, principalement, j'ai appris le langage C.

Voilà le pourquoi de mon post : En fin d'année, on nous demande un petit projet à réaliser d'une dizaine de pages A4.

Mais le problème, c'est que je n'ai aucunes idées de programmes sympas et originals. C'est pourquoi, je fais appel à votre originalité et à vos connaissances..
Attention, je ne demande pas qu'on me le fasse, je demande juste des petites idées de programmes qui pourraient plaire aux professeurs.

Merci de votre attention et de vos reponses. Bonne soirée.

Cordialement : Mikis.



A voir également:

6 réponses

Utilisateur anonyme
 
Quelques projets :

-> Bot maitre de jeu pour un jeu (loups garous de Thiercelieux par exemple) sur IRC
-> Lexer/Parser HTML/XML/XSLT
-> Bibliothèque pour generer de nombres aléatoires selon plusieurs algo (Yarrow, RANDU...)
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
J'adore ta première idée, je ne sais pas si ça existe déjà, mais en effet, une espèce de mmorpg en texte, je suis fan. cf; les jeux en ligne de commande type dunnet.
0
Utilisateur anonyme
 
Ben pour tout te dire, le projet du loups-garous de Thiercelieux sur IRC est actuellement mon projet de fin d'année. La lib utilisée (libircclient) est vraiment super bien faite et facile d'emploi et la prog evenementielle, ça change un coup !
Si tu aimes les jeux en ligne de commande, amuse toi à programmer un Zork, j'en avais commencé un il y a quelques temps mais j'ai abandonné par manque de temps. Mais je m'étais vraiment amusé à coder ça !
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
nous avions fait un programme de bataille naval, avec quelques petites animations et phrase marrante, ça avait bien plus au prof.
Un grand classique, c'est la réalisation d'un éditeur de fractales. Mais peut être trop classique. L'adapter, en faisant avec des quaternion, ou en 3D...
Ou alors, le jeu de la vie, pareil, en modifiant les règles, genre en 3D, ou sur une grille hexagonale.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
J'apporte ma pierre :
- Un jeu d'échec (graphique avec une bibliothèque), avec une IA, en réseau. Bref, il y a matière.

- Un logiciel de messagerie instantanée

0
sikim69 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   1
 
Déjà je tiens à remercier tout le monde pour m'avoir répondu avec beaucoup de details !

Ensuite, je repondrais à chacun de manière individuelle pour ne pas encombrer le topic avec toutes mes questions etc..

Merci à tous et bonne journée !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
Bonjour,

Allez je met aussi une petite proposition, si tu disposes du bluetooth sur ton PC tu peux créer un des jeux sités mais en multijoueur avec interface le bluetooth, pourquoi pas un puissance 4 ou une bataille navale.

Jeux relativement simple mais à créer mais le bluetooth rend le code un peu plus difficile.
0
TayHo Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour Mikis,

Je suis aussi étudiant en informatique et je peux te proposer un sujet qui j'ai réalisé au début de mes études.

Le projet est de programmer un Snake en console (Windows/Linux)
(http://fr.wikipedia.org/wiki/Snake_(jeu_vid%C3%A9o)

Il faut donc que tu puisse déplacer ton "serpent" a l'aide des touches de ton clavier pour lui faire manger des objets qui augmenterons les points du joueurs.
Tout cela dans un affichage en console (c'est à dire avec l'affichage de caractères)

Ne connaissant pas ton niveau en C, je pars du principe que tu connais les pointeurs et l'allocation mémoire dynamique.

Pour t'aider un peu je peux te proposer quelques astuces et quelque pistes (facultatives si tu veux t'en sortir tout seul !) :

-La modélisation du jeu

Réfléchi bien avant de commencer à coder, comment tu vas modéliser ton jeu. En d'autre terme comment tu vas représenter a l'aide de variables ton jeu(le serpent, les objets a manger, les obstacles).

Si tu cales sur ce sujets je peux te conseiller de partir sur un tableau d'entier a deux dimensions (ou matrice) pour stocker les informations. int tableau[i][j]

Pour modéliser le serpent tu peux te servir d'un tableau contenant des positions.
(Les positions pourront être stockées dans une structure du type)

struct Pos   
{   
    int x;   
    int y;   
};   


Les coordonnées sont celles a l'intérieur de ton jeu (le tableau a deux dimension)

-Le moteurs

Ce que j'appelle ici le moteur, c'est l'ensemble des fonctions qui permettrons de faire vivre le jeu : Le déplacement du serpent, la génération d'objets sur le jeu, la gestion des collisions.

Pour le déplacement du Snake n'oublie pas que quand il bouge il faut que la queue suive !

Quand le serpent mange un objet sa tailleaugmente.

Lorsqu'il rentre en collision avec un mur ou avec lui-même la partie s'arrête.


-L'affichage

Pour l'affichage il faut que tu utilises les informations stockées dans ton jeu (et qui seront modifiées au fur et à mesure de la partie).

Voici un exemple de ce que peux donner un affichage :
 -------------------------------------------------------
|							|
|		Y					|
|							|
|							|
|				X		        |
|				o		        |
|				o		        |
|				o o o       	        |
|							|
|							|
|							|
 -------------------------------------------------------


Ou X représente la tête du serpent, o représente son corps et Y l'objet a manger.

Les - et | représente les murs.

Vu que le programme est affiché dans une console il peut être intéressant de "nettoyer" l'affichage. Sur Windows on peut utiliser la ligne de code suivante :

system("cls");   


Sous Linux il me semble qu'il faille utiliser :

system("clear");   


Si tu veux utiliser la fonction
system()

n'oublie pas d'inclure a ton fichier
#include <stdlib.h>
(en C il ne devrait pas y avoir de problème)

-La gestion des touches

Il faut que tu puisse gérer la façon dont l'utilisateur va pouvoir déplacer le serpent.

Personnellement je vois deux méthodes :

La 1er concise à mettre en pause le jeu jusqu'à ce que l'utilisateur entre une touche correspondant a une direction (de la même manière que tu rentres un nom ou un chiffre au clavier).
Cette méthode, simple a implémenter, ralenti le jeu puisque le serpent ne bouge pas seul.
Pour t'aider, si tu choisis cette méthode, c'est d'utiliser la fonction
getch()


sans oublié d'inclure la bibliothèque :
#include <conio.h>


La 2e, plus complexe mais plus "esthétique", consiste à capturer les touches du clavier a la volée.
Plus précisément ton jeu va avancer tout seul (le serpent ira dans la dernière position rentré) et lorsque que l'utilisateur appuiera sur une touche le serpent changera de direction.
Je te déconseil cette méthode, car difficile à implémenter (sans utiliser le C++).


-Le corps du jeu

C'est une partie assez délicate (ou pas si tu as tout bien fait) c'est de faire tourner le jeu, lancer les fonctions au bon moments, quel tests faire...etc.

Ce que je peux te conseiller c'est de réfléchir étape par étape, comment tu visualise un "tour de boucle".

Astuce : l'affichage se fait généralement en dernier.


-Les commentaires et l'indentation

On a du déjà te le dire, ce qui fait un bon code c'est les commentaire et l'indentation (le présentation du code).

Essaye de rester homogène dans ta façon de coder.

Il faut que se soit agréable a lire et facile a comprendre.

Tu n'es pas obligé de tout détailler mais je te conseil fortement d'expliquer brièvement chaque fonction que tu code.


Sinon, si tu as besoin d'aide tu as le généralissime site du zero (tu dois surement connaitre mais on ne sait jamais) : https://openclassrooms.com/fr/

avec le superbe tuto. réalisé par le créateur du site, Mateo21 : https://openclassrooms.com/fr/courses

J'espère que ce sujet t'intéressera. Sinon j'espère qu'il inspirera d'autre internaute !


Pour le reste, si tu as des question, n'hésite pas.



Bonne continuation dans ton année !
-1