Merge remote-tracking branch 'origin/master' into test_push
This commit is contained in:
commit
d703f3403d
2 changed files with 52 additions and 20 deletions
|
@ -112,14 +112,18 @@ void f_projectile(void const * argument);
|
||||||
/* Private user code ---------------------------------------------------------*/
|
/* Private user code ---------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN 0 */
|
/* USER CODE BEGIN 0 */
|
||||||
|
|
||||||
|
const uint16_t joueur_width = 20;
|
||||||
|
const uint16_t joueur_height = 20;
|
||||||
|
|
||||||
|
const uint16_t monstre_width = 20;
|
||||||
|
const uint16_t monstre_height = 20;
|
||||||
|
|
||||||
struct Missile
|
struct Missile
|
||||||
{
|
{
|
||||||
uint16_t x;
|
uint16_t x;
|
||||||
uint16_t y;
|
uint16_t y;
|
||||||
uint8_t dx;
|
int8_t dx;
|
||||||
uint8_t dy;
|
int8_t dy;
|
||||||
uint8_t equipe;
|
uint8_t equipe;
|
||||||
uint32_t color;
|
uint32_t color;
|
||||||
uint8_t damage;
|
uint8_t damage;
|
||||||
|
@ -129,12 +133,12 @@ struct Missile
|
||||||
struct Joueur
|
struct Joueur
|
||||||
{
|
{
|
||||||
// uint32_t et pas 16 car fonction d'affichage bitmap (j'en sais pas plus)
|
// uint32_t et pas 16 car fonction d'affichage bitmap (j'en sais pas plus)
|
||||||
uint32_t x;
|
uint32_t x; // Position de l'angle superieur gauche
|
||||||
uint32_t y;
|
uint32_t y; // Position de l'angle superieur gauche
|
||||||
uint8_t dx;
|
int8_t dx; // Vitesse du joueur
|
||||||
uint8_t dy;
|
int8_t dy; // Vitesse du joueur
|
||||||
uint8_t health;
|
uint8_t health; // Vie du joueur
|
||||||
struct Missile missile;
|
struct Missile missile; // Missile lancé par le joueur
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Monster
|
struct Monster
|
||||||
|
@ -1316,6 +1320,10 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||||
/* NOTE: This function Should not be modified, when the callback is needed,
|
/* NOTE: This function Should not be modified, when the callback is needed,
|
||||||
the HAL_GPIO_EXTI_Callback could be implemented in the user file
|
the HAL_GPIO_EXTI_Callback could be implemented in the user file
|
||||||
*/
|
*/
|
||||||
|
static int envoie_score( int score){
|
||||||
|
socket
|
||||||
|
socket = udp_new();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE END 4 */
|
/* USER CODE END 4 */
|
||||||
|
@ -1379,8 +1387,6 @@ void f_Joueur_1(void const * argument)
|
||||||
/* USER CODE BEGIN f_Joueur_1 */
|
/* USER CODE BEGIN f_Joueur_1 */
|
||||||
TickType_t xLastWakeTime;
|
TickType_t xLastWakeTime;
|
||||||
const TickType_t xPeriodeTache = 10;
|
const TickType_t xPeriodeTache = 10;
|
||||||
uint16_t Width = 20;
|
|
||||||
uint16_t Height = 20;
|
|
||||||
uint32_t joystick_h, joystick_v;
|
uint32_t joystick_h, joystick_v;
|
||||||
uint8_t stop = 1;
|
uint8_t stop = 1;
|
||||||
|
|
||||||
|
@ -1426,15 +1432,15 @@ void f_Joueur_1(void const * argument)
|
||||||
while (HAL_ADC_PollForConversion(&hadc1, 100) != HAL_OK);
|
while (HAL_ADC_PollForConversion(&hadc1, 100) != HAL_OK);
|
||||||
joystick_v = HAL_ADC_GetValue(&hadc1);
|
joystick_v = HAL_ADC_GetValue(&hadc1);
|
||||||
|
|
||||||
if ((joueur.y < LCD_WIDTH- Width - joueur.dy)&&(joystick_h < 1900)) joueur.y += joueur.dy;
|
if ((joueur.y < LCD_WIDTH- joueur_width - joueur.dy)&&(joystick_h < 1900)) joueur.y += joueur.dy;
|
||||||
if ((joueur.y > joueur.dy)&&(joystick_h > 2100)) joueur.y -= joueur.dy;
|
if ((joueur.y > joueur.dy)&&(joystick_h > 2100)) joueur.y -= joueur.dy;
|
||||||
|
|
||||||
if ((joueur.x < LCD_HEIGHT - Height - joueur.dx)&&(joystick_v < 1900)) joueur.x += joueur.dx;
|
if ((joueur.x < LCD_HEIGHT - joueur_height - joueur.dx)&&(joystick_v < 1900)) joueur.x += joueur.dx;
|
||||||
if ((joueur.x > joueur.dx)&&(joystick_v > 2100)) joueur.x -= joueur.dx;
|
if ((joueur.x > joueur.dx)&&(joystick_v > 2100)) joueur.x -= joueur.dx;
|
||||||
|
|
||||||
|
|
||||||
BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
|
BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
|
||||||
BSP_LCD_FillRect(joueur.x, joueur.y, Width, Height);
|
BSP_LCD_FillRect(joueur.x, joueur.y, joueur_width, joueur_height);
|
||||||
|
|
||||||
if (xQueueReceive(Queue_JHandle, &missile, 0) == pdPASS)
|
if (xQueueReceive(Queue_JHandle, &missile, 0) == pdPASS)
|
||||||
joueur.health = joueur.health - missile.damage;
|
joueur.health = joueur.health - missile.damage;
|
||||||
|
@ -1513,11 +1519,13 @@ void f_projectile(void const * argument)
|
||||||
{
|
{
|
||||||
/* USER CODE BEGIN f_projectile */
|
/* USER CODE BEGIN f_projectile */
|
||||||
TickType_t xLastWakeTime;
|
TickType_t xLastWakeTime;
|
||||||
const TickType_t xPeriodeTache = 100000;
|
const TickType_t xPeriodeTache = 5000;
|
||||||
|
const int TAILLE_LISTE_MISSILE = 25;
|
||||||
/* Infinite loop */
|
/* Infinite loop */
|
||||||
struct Missile liste_missile[20];
|
struct Missile liste_missile[TAILLE_LISTE_MISSILE];
|
||||||
struct Missile missile;
|
struct Missile missile = {70, 70, 1, 0, 0, LCD_COLOR_WHITE, 1,1};
|
||||||
uint8_t indice = 0;
|
uint8_t indice = 1;
|
||||||
|
liste_missile[0] = missile;
|
||||||
|
|
||||||
// Paramètre de l'écran pour la reprouductibilité
|
// Paramètre de l'écran pour la reprouductibilité
|
||||||
|
|
||||||
|
@ -1526,6 +1534,30 @@ void f_projectile(void const * argument)
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
|
for(int idx_missile = 0; idx_missile < TAILLE_LISTE_MISSILE; idx_missile++){
|
||||||
|
if(liste_missile[idx_missile].valide){
|
||||||
|
new_x = liste_missile[idx_missile].x + liste_missile[idx_missile].dx;
|
||||||
|
new_y = liste_missile[idx_missile].y + liste_missile[idx_missile].dy;
|
||||||
|
if ((new_x<0)|(new_x>LCD_WIDTH)|(new_y<0)|(new_y>LCD_HEIGHT))
|
||||||
|
liste_missile[idx_missile].valide = 0;
|
||||||
|
//TODO e
|
||||||
|
if (liste_missile[idx_missile].equipe == 0)&&(1){//TODO condition de choc avec le joueur
|
||||||
|
xQueueSend(Queue_JHandle, 1, 0);
|
||||||
|
}
|
||||||
|
if (liste_missile[idx_missile].equipe == 1){
|
||||||
|
for (int idx_mechant=0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
//xQueueReceive(Queue_NHandle, &missile, 0);
|
||||||
|
//liste_missile[indice++] = missile;
|
||||||
|
|
||||||
if (xQueueReceive(Queue_NHandle, &missile, 0) == pdPASS)
|
if (xQueueReceive(Queue_NHandle, &missile, 0) == pdPASS)
|
||||||
{
|
{
|
||||||
|
@ -1592,10 +1624,11 @@ void f_projectile(void const * argument)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
vTaskDelayUntil(&xLastWakeTime, xPeriodeTache);
|
vTaskDelayUntil(&xLastWakeTime, xPeriodeTache);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE END f_projectile */
|
/* USER CODE END f_projectile */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,5 +15,4 @@ Pour indiquer le joueur, on utilise 1 et pour les méchants on utilise 0.
|
||||||
### Game_master
|
### Game_master
|
||||||
|
|
||||||
Si le game master reçoit un message via FHandle, une des deux entités est morte. Si la variable vaut 0, les méchants sont mort. Si elle vaut 1, le joueur est mort.
|
Si le game master reçoit un message via FHandle, une des deux entités est morte. Si la variable vaut 0, les méchants sont mort. Si elle vaut 1, le joueur est mort.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue