main.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #include <iostream>
  2. #include "Serveur.h"
  3. #include "Methodes.h"
  4. /**
  5. protocole de transfert:
  6. direction du perso: ↑→↓← ( alt24 à alt27 )
  7. si perso ne bouge pas: ■ ( alt254 )
  8. a faire: commande reset
  9. */
  10. int main()
  11. {
  12. ///creation du serveur
  13. Serveur serveur(7856, 2);
  14. if(!serveur.rendreUtilisable())
  15. {
  16. std::cout << "Erreur d'initialisation du serveur!" << std::endl;
  17. return -1;
  18. }
  19. ///symboles envoyer = '○', fini = '$', arreter = '┼', bougePas = '■', reset = '/'
  20. char envoyer = 9, fini = 36, arreter = 197, bougePas = 254, reset = 47;
  21. ///attribution du numero du joueur
  22. char id = '0';
  23. serveur.envoyer(&id, 0, 1);
  24. id = '1';
  25. serveur.envoyer(&id, 1, 1);
  26. /// attributs
  27. bool continuer = true;
  28. unsigned int taille = 1;
  29. char joueur1 = bougePas, joueur2 = bougePas;
  30. std::string cheminNiveau;
  31. char niveau[18*24];
  32. bool changerNiveau = true, isreset = false;
  33. ///boucle evenementielle
  34. while(continuer)
  35. {
  36. if(changerNiveau || isreset)
  37. {
  38. if(!isreset)
  39. cheminNiveau = niveauSuivant("Niveaux/0index.txt", cheminNiveau);
  40. else
  41. isreset = false;
  42. if(!chargerNiveau(niveau, "Niveaux/"+cheminNiveau))
  43. {
  44. std::cout << "Erreur de chargement du niveau : " << cheminNiveau << std::endl;
  45. serveur.envoyer(&arreter, 0, taille);
  46. serveur.envoyer(&arreter, 1, taille);
  47. return -1;
  48. }
  49. else
  50. {
  51. serveur.envoyer(&envoyer, 0, taille);
  52. serveur.envoyer(&envoyer, 1, taille);
  53. for(int i = 0;i<18*24;i++)
  54. {
  55. serveur.envoyer(&niveau[i], 0, taille);
  56. serveur.envoyer(&niveau[i], 1, taille);
  57. }
  58. changerNiveau = false;
  59. }
  60. }
  61. else
  62. {
  63. serveur.envoyer(&joueur2, 0, taille);
  64. serveur.envoyer(&joueur1, 1, taille);
  65. }
  66. serveur.recevoir(&joueur1, 0, taille);
  67. serveur.recevoir(&joueur2, 1, taille);
  68. if(joueur1 == arreter)
  69. {
  70. serveur.envoyer(&arreter, 1, taille);
  71. save("Niveaux/0index.txt", cheminNiveau);
  72. return 0;
  73. }
  74. else if(joueur2 == arreter)
  75. {
  76. serveur.envoyer(&arreter, 0, taille);
  77. save("Niveaux/0index.txt", cheminNiveau);
  78. return 0;
  79. }
  80. else if(joueur1 == fini && joueur2 == fini)
  81. changerNiveau = true;
  82. else if(joueur1 == reset || joueur2 == reset)
  83. isreset = true;
  84. }
  85. return 0;
  86. }