Commit ba561ee4 authored by pernelle's avatar pernelle

Initial commit

parents
## Process this file with automake to produce Makefile.in
AM_CFLAGS =\
-Wall\
-Wextra\
-fdiagnostics-show-option\
-g
noinst_LIBRARIES = libcol3tp2.a
libcol3tp1_a_SOURCES = \
communCOL3-TP2.c \
communCOL3-TP2.h
# Installation
## clonage du dépôt
Pour cloner le dépôt depuis un terminal
```
git clone https://manouchian.univ-smb.fr/syncproc/col3-bibtp2.git
```
## Construction du projet
### Construction manuelle
C'est un projet 'autotools', donc il suffit d'aller dans le dossier projet et d'utiliser les commandes habituelles:
```
autoreconf -i
./configure
make
```
### Construction avec Anjuta
1. Lancez Anjuta
1. Cliquez sur 'Import a projet'
1. Cliquez sur 'Import from folder' puis sélectionnez le dossier racine du projet
1. Cliquez sur 'Import'
1. Sélectionnez le moteur 'Base Autotools'
1. Une fois le projet importé, cliquez sur 'Build project' puis 'Execute'
/*************************
Clash of L3 - 2020
(ne pas modifier)
**************************/
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <sys/types.h>
#include <string.h>
#include <float.h>
#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <pthread.h>
#include <unistd.h>
#include "communCOL3-TP2.h"
c
/**
cette fonction lit une structure (armee) sur la socket (sock) et
retourne le nb octet recu
p.pernelle / d.wayntal - 2018
*/
int lireArmeeCOL3(int sock, armee * monarmee) {
int nbrecu = 0, nbtotal=0;
int taille;
taille = sizeof(armee);
if (!NCURSE) printf("%s %d %s ","--> en attente reception message (",taille," )...\n");
while (nbtotal<taille)
{
nbrecu = recv(sock, (char *) monarmee, taille, 0);
if (nbrecu< 0) {
perror("reception message [NOK]");
}
else nbtotal+=nbrecu;
}
if (!NCURSE) printf("%s %d %s","--> reception message [OK] : nbrecu = ",nbrecu,"\n");
return nbrecu;
}
/*
cette procedure affiche l'armee d'un clan c'est à dire
l'ensemble de ses balistes
p.pernelle / d.wayntal - 2019
*/
void afficheArmee(armee monarmee) {
int i;
printf("%s" ,"---- Armée du clan ----\n");
if (monarmee.nbbaliste==0) {
printf(" armee vide : aucune baliste fabriquee \n");
}
else
{
for(i=0;i<monarmee.nbbaliste;i++)
{
printf("%s %d %s %s %s %d,%s"," Balise ",i," = ",
monarmee.baliste[i] == BLE ? "BLE" : "BLO",
"Forge = ",monarmee.forge[i], "\n");
}
}
}
/*************************
Clash of L3 - 2020
(ne pas modifier)
**************************/
#ifndef COMMUNCOL3_TP2_H_INCLUDED
#define COMMUNCOL3_TP2_H_INCLUDED
#define MAX_FORGE_BLE 3
#define MAX_FORGE_BLO 2
#define TAILLE_MAX_ARMEE 15
#define TPS_FAB_BLO 5
#define TPS_FAB_BLE 2
/* structure d'une armmée composé de baliste */
typedef struct {
int forge[TAILLE_MAX_ARMEE]; /* num forge ou est produite la baliste*/
type_baliste baliste[TAILLE_MAX_ARMEE]; /* type de baliste */
int pvie[TAILLE_MAX_ARMEE]; /* point de vie de la baliste */
int nbbaliste; /* nb de baliste produite */
} armee;
#include <netinet/in.h>
/* ------------------------------------------------
fonctions de connexion et d'echange de structure
avec le serveur CoL3
------------------------------------------------*/
int lireArmeeCOL3(int sock, armee * monarmee);
/* ------------------------------------------------
fonctions d'afichage
------------------------------------------------*/
/**
cette procedure affiche l'armee d'un clan c'est à dire
l'ensemble de ses balistes
p.pernelle / d.wayntal - 2019
*/
void afficheArmee(armee monarmee);
#endif // COMMUNCOL3_TP2_H_INCLUDED
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT(libcol3tp1, 2020.1)
AC_CONFIG_SRCDIR([communCOL3-TP2.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([1.11 foreign])
AM_SILENT_RULES([yes])
AC_PROG_RANLIB
AC_PROG_CC
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment