Chateau fort

Céleste LE-DU & Mathis OVILLE

Ce projet est toujours en cours de réalisation.

Nous avons pour objectif de concevoir un jeu de société à la frontière du jeu de construction et de stratégie. Deux adversaires s’affronteraient pour ériger leur château fort composé de petits modules superposables (des blocs, des ponts et des tours crénelées). Chaque joueurs possèdent trois tours comportant une DEL. Le plateau ainsi que les modules sont conducteurs. Lorsqu’un joueur allume ses trois DEL, la partie se termine et le décompte des points s’effectue (une animation sonore est également déclenchée lors de l’allumage d’une tour).

Si le gameplay est encore à préciser, une pioche de cartes accompagnera la partie afin de délimiter les actions et permettre l’élaboration d’une stratégie de construction (et de destruction des blocs adverses).

La confrontation prend place sur un plateau « style topographie » format 40×70 cm. Les strates seront découpées dans des panneaux de bois d’une épaisseur de 5mm. Les modules blocs sont au format 5x5x5cm et les modules ponts sont équivalent à deux modules blocs adjacents. Ils sont en papier lestés d’un échantillon de bois à l’intérieur du patron.

Croquis plateau de jeu
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"


SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;


int button = 6;


void printDetail(uint8_t type, int value);


void setup(){
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);


  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));


  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true);
  }
  Serial.println(F("DFPlayer Mini online."));


  myDFPlayer.volume(30);  //Set volume value. From 0 to 30




  pinMode(button,INPUT);
}


void loop(){


int buttonP = digitalRead(button);


if (buttonP == HIGH){
  myDFPlayer.play(1);  //start the mp3 from the pause
  delay(1000);}
// else{
//     myDFPlayer.pause();  //pause the mp3
// }


}


void printDetail(uint8_t type, int value){
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}


Premières hypothèses de vectorisation du plateau.