Ferhat nouis Cédric tanguy Eric abrial Gregory nazaire

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Retour au menu principal CARACTERES et PARAGRAPHES.
Rappels C.
Compétences et profil de classe
Utiliser autrement des données de Base Elèves 1) Choisir les données Base Élèves propose 3 sortes de listes, par exemple dans le menu : Elèves : Liste.
Références à une cellule dans EXCEL
PROGRAMMATION LOGICIEL PL7 MICRO Consignes
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
C.
créer un cadre de texte Zoomez à 100% (ce zoom vous sera utile…retenez le!). Clickez sur l'outil cadre de texte et créez depuis l'angle supérieur.
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Suite à de nombreuses remarques concernant le projet de structures de données 'Gestion d'un Aéroport' , voici un polycopié de cours concernant la gestion.
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
FLSI602 Génie Informatique et Réseaux
Retour au menu principal. Généralités Lenvironnement Laffichage de la fenêtre Déplacement / sélection dans une feuille Classeurs La gestion des classeurs.
Créer un document LES FONCTIONS ENREGISTRER LES FORMATS Retour au menu principal.
le nom du logiciel et le nom du fichier s’appelle la barre des titres
CYCLE 6 : FONCTIONS FONCTIONS avec paramètres en Entrée 1- Pourquoi les FONCTIONS peuvent échanger des données en E entre elles ? 2- Comment écrire des.
Cours n°3 Les formulaires
Se Connecter à son KLYTIAnet Les 2 types de commandes KLYTIA Création dune « Hôtesse » Création dun « Client » Création dune « Commande Individuelle »
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
Langage C Révision.
Cours de programmation
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Récursivité.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
TRAITEMENT DE STRUCTURES
Les fichiers et les chaînes de caractères
Création d'un diaporama Création d'un diaporama
FICHIERS.
IFT Structures de données
SEANCE 10 Python Entrée et sortie de fichiers Lycée Louis Vincent Lundi 20 janvier
Projet Java : Echiquier électronique
INSCRIPTION AUX ELEMENTS
Les Fichiers.
8PRO100 Éléments de programmation Les types composés.
Structure et Services « STS » Menu Structures : Divisions
Références à une cellule dans EXCEL
LANGAGE C LP A2I IUT St DIE
Projet Programmation Orientée Objet
Structures des données
B.Shishedjiev - Informatique II
Programmer en langage c
Cour : Microsoft excel FACULTE DES SCIENCES AGADIR
CYCLE 1 : Saisir – Afficher – Données Saisir des valeurs de variables au clavier 1- Rôle du scanf() 2- Syntaxe du scanf() 3- Exécution du scanf() par le.
LES PILES ET FILES.
Sous-programmes.
Création d’une application complète
Fabienne BUSSAC CALCUL LITTÉRAL – INITIATION AU TABLEUR 1. DÉFINITION
CYCLE 6 : FONCTIONS Faire un programme en C avec des FONCTIONS 1- A quoi servent les FONCTIONS ? 2- Comment écrire un programme avec FONCTIONS ? 3- Comment.
Cours 1 1 Java. Cours 1 2 Plan général 1.Introduction 2.Les types primitifs, évaluation d’expressions 3.Instructions for, if…. 4.Introduction de l’objet,
Les adresses des fonctions
1 FICHIERS. 2 Les Fichiers  Les "entrées-sorties conversationnelles" échangent des informations entre le programme et l'utilisateur.  Le terme de fichier.
SIF-1053 Architecture des ordinateurs
8PRO100 Éléments de programmation Comment répéter plusieurs fois une séquence d’instructions.
8PRO107 Éléments de programmation Les chaînes de caractères.
Argc et argv Utilisation des paramètres de la ligne de commande.
Menu Structure : Divisions Diffusion Nationale TOULOUSE – Décembre 2008 Structure et Services « STS » Menu Structures : Divisions.
Traitement de son Chapitre 2 : Exploitation de logiciels Leçon1:
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Le Taquin Mathieu Bernou Laurent Robin.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Le théorème de THALES dans 2 triangles
Éléments de présentation
Ferhat NOUIS Cédric TANGUY Eric ABRIAL Gregory NAZAIRE
compléter la feuille de contrôle des libéros R6-F DIRECTIVESpour 2015CCA1.
Le Tableur, MS Excel Cours de Dominique Meganck – ICC - IFC Diaporama proposé par FST et adapté par D. Meganck.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Informatique 2A Langage C 4ème séance
الهيئة العامة لحماية المستهلك أساليب الترويج وتأثيراتها على المستهلك خليفة التونكتي - مستشار المنافسة - 1.
Transcription de la présentation:

Ferhat nouis Cédric tanguy Eric abrial Gregory nazaire OTHELLO PROJET INFO 2005 Ferhat nouis Cédric tanguy Eric abrial Gregory nazaire

SOMMAIRE I Partie de ferhat II partie de cedric III Partie de eric IV Partie de gregory

Ferhat nouis 1) affichage du tableau : void tableau(T_TAB tab) tab[ i ] [ j ]

Ferhat nouis 2) le main On initialise le tableau: tab[ i ] [ j ] = ‘ ‘ sauf les 4 du milieu Puis appel de la fonction choix_du_jeu( &choix, name, name2);

Ferhat nouis 3)choix_du_jeu( &choix, name, name2)  c’est l’interface, le menu du jeu. Methode de blindage des saisies: printf("Qui commence? %s ( taper 1 ) ou %s? ( taper 2 ) \n",name3,name4); scanf("%s",saisie); while ((cc = getchar()) != '\n' && cc != EOF); } while ( ((saisie[0] !=49) && (saisie[0] !=50))||(saisie[1]!='\0')); &choix est un int qui est rendu ensuite au main.

Ferhat nouis Puis on propose a l’utilisateur de rejouer Retour au main: La valeur de arret permet de savoir si on calcule le score ou pas Puis on propose a l’utilisateur de rejouer

Ferhat nouis 3) score.c void calcul_score (T_TAB tab,int choix,char name[15], char name2[15]) Scanne le tableau et calcule le score de Noir et celui de Blanc. Enregistre le resultat dans un fichier « sauvegarde_score.txt » En fonction du score et du choix il ecrit: "%s a battu %s par %d a %d\n", name2,name,b,n) "L'ordinateur a battu %s par %d a %d\n",name,n,b)

Ferhat nouis void score_noir (T_TAB tab) void score_blanc (T_TAB tab) void Noir_joue ( T_TAB tab, int *noir )  permet de savoir si noir peut jouer. *noir prennent la valeur 0 si noir peut jouer. Sinon *noir =1. void Blanc_joue( T_TAB tab, int *blanc )  meme chose

Cédric tanguy -gestion de la partie joueur contre joueur - validation d’un coup et inversion

Cédric tanguy 1) Fonction verifie

Cédric tanguy int verifie1_ direction(int i,int j,char couleur1,char couleur2, T_TAB tab) Chaque fonction verifie1_direction ne prend que 2 valeurs: 0 ou 1: 0 si le joueur ne peut pas prendre de pions adverse dans la «direction indiqué » 1 si le joueur peut prendre de pions adverse dans la «direction indiqué » La fonction verifie prend 1 si au moins une des 8 fonctions prend 1: on dit alors que le coup est valide

Cédric tanguy verifie1_dte( 5,6,’*’,’o’,tab)=1 verifie1_haut(2,2,’o’,’*’,tab)=1 verifie1_bas(7,1,’o’,’*’,tab)=1

Cédric tanguy verifie1 appelle verifie2 si: 1) la case est vide ET 2) la case adjacente est de couleur opposée  sinon verifie1 renvoie 0 3 choix possibles pour verifie2: la case est vide ou inoccupée: verifie2=0 la case est de meme couleur : verifie2=1 3) La case est de couleur opposée: verifie2 se reappelle recursivement j i verifie1_haut(1,3,’*’,’o’,tab)? verifie1_haut(0,7,’*’,’o’,tab)?

Cédric tanguy 2) gestion du mode joueur contre joueur void joueurvsjoueur ( T_TAB tab , int *arret, char name[15], char name2[15] )

Cédric tanguy Principe général de la fonction: Sauvegarde. REPETER Si noir peut jouer: Etude de la combinaison Inversion sauvegarde Si blanc peut jouer: inversion JUSQU A CE QUE Noir et blanc ne peuvent plus jouer

Cédric tanguy Principe général de la fonction: Sauvegarde. REPETER Si noir peut jouer:  etablit par la fonction Noir_joue de ferhat Etude de la combinaison Inversion sauvegarde Si blanc peut jouer:  etablit par la fonction Blanc_joue de ferhat inversion JUSQU A CE QUE Noir et blanc ne peuvent plus jouer  Si (*noir ET *blanc =1 ) OU *arret =1

Cédric tanguy Principe général de la fonction: Sauvegarde. REPETER Si noir peut jouer: l’utilisateur tape une commande normale Etude de la combinaison Inversion l’utilisateur tape une combinaison speciale sauvegarde Si blanc peut jouer: inversion JUSQU A CE QUE Noir et blanc ne peuvent plus jouer

Cédric tanguy void choix_speciaux ( char lettre, int chiffre, char entree, FILE *sauver, int * charge, T_TAB tab, int *arret) Si « r1 »  lire_regle() Si « a1 » lire_aide() Si « q1 »  *arret=1 Si « s1 »  sauvegarder(tab,sauver) Si « c1 »  charger(tab,sauver,&charge) Si « c2 »  annuler_coup(tab,sauver,&charge)

Cédric tanguy Principe général de la fonction: Sauvegarde. REPETER Si noir peut jouer: Etude de la combinaison charge=0 Inversion sauvegarde Si blanc peut jouer: inversion JUSQU A CE QUE Noir et blanc ne peuvent plus jouer

Cédric tanguy Principe général de la fonction: Sauvegarde. REPETER charge=1 Si noir peut jouer: Etude de la combinaison Inversion sauvegarde Si blanc peut jouer: inversion JUSQU A CE QUE Noir et blanc ne peuvent plus jouer

Cédric tanguy Principe général de la fonction: Sauvegarde. REPETER Si noir peut jouer: Etude de la combinaison charge=2 Inversion sauvegarde Si blanc peut jouer: inversion JUSQU A CE QUE Noir et blanc ne peuvent plus jouer

Eric abrial charger_binaire Enregistrement - Chargement.c lire_regles lire_aide charger annuler_coup sauvcpc sauvegarder sauv_binaire sauv_texte charger_binaire copieFichier

Eric abrial 1) sauvegarde: sauvcpc FILE *sauver sauver = fopen( "temp", "a") sauver temp

Eric abrial sauver temp 1

Eric abrial sauver temp 1 2

Eric abrial sauver temp 1 2 3

Eric abrial sauver temp 1 2 3 . . . N

Eric abrial 1) sauvegarde:sauv_binaire fDest sauver Nom de la sauvegarde temp 1 2 3 . . . N

Eric abrial fDest sauver Nom de la sauvegarde temp 1 1 2 2 copiefichier 3 3 . . . . . . N N

Eric abrial 2) chargement sauver temp 1 2 3 . . . N

Eric abrial charge2 sauver Nom de la sauvegarde temp 1 1’ 2 2’ 3 3’ .

Eric abrial charge2 sauver Nom de la sauvegarde temp 1’ 2’ 3’ . . . N’

Eric abrial Visualiser les coups précédents charge2 Nom de la sauvegarde N’ = ftell(charge2)/(64) for ( i=0;i<N’;i++) { fread( tab, sizeof(T_TAB),1, charge2);} tableau(tab) fseek(charge2, 0, SEEK_SET) 1’ 2’ 3’ . . . N’

Eric abrial Ne rien faire: for ( i=0;i<N’;i++) { fread( tab, sizeof(T_TAB),1, charge2) fwrite( tab, sizeof(T_TAB),1, sauver) } *charge=1 charge2 sauver Nom de la sauvegarde temp 1’ 1’ 2’ 2’ 3’ 3’ . . . . . . . . . . N’ N’

Eric abrial Un coup en arriere: for ( i=0;i<(N’-1);i++) { fread( tab, sizeof(T_TAB),1, charge2) fwrite( tab, sizeof(T_TAB),1, sauver) } *charge=2 charge2 sauver Nom de la sauvegarde temp 1’ 1’ 2’ 2’ 3’ 3’ . . . . . . . . . . N’-1 . . N’

Eric abrial Deux coups en arriere: for ( i=0;i<(N’-2);i++) { fread( tab, sizeof(T_TAB),1, charge2) fwrite( tab, sizeof(T_TAB),1, sauver) } *charge=1 charge2 sauver Nom de la sauvegarde temp 1’ 1’ 2’ 2’ 3’ 3’ . . . . . . . N’-2 . . . . N’

Eric abrial 3) annuler_coup sauver2 sauver temp temp2 1 2 3 . . . N

Eric abrial sauver2 sauver temp temp2 1 1 2 2 copie 3 3 . . . . . . N

Eric abrial 3) annuler_coup sauver2 sauver temp temp2 1 2 3 . . . N-1

Eric abrial sauver2 sauver temp temp2 1 1 2 2 copie 3 3 . . . . . . N-1 N-1

Eric abrial sauver2 sauver temp temp2 1 1 2 2 3 3 . . . . . . N-1 N-1