main.cpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include <Globals.h>
  2. #include <Server.h>
  3. #include <Vec2.h>
  4. #include "Spieler.h"
  5. #include <M2Datei.h>
  6. using namespace Network;
  7. float randomFloat()
  8. {
  9. float r = (float)rand();
  10. float r2 = (float)rand();
  11. float r3 = (float)rand();
  12. return r * r2 / r3;
  13. }
  14. int main()
  15. {
  16. Vertex v = Vertex( 1e-23, 0 );
  17. float length = v.getLength();
  18. v.normalize();
  19. Framework::initFramework();
  20. Network::Start( 1 );
  21. Framework::M2Datei dat;
  22. dat.setPfad( "/test/spiele/3/models/ship.m2" );
  23. dat.leseDaten();
  24. Model2DData *data = dat.ladeModel( "ship" );
  25. Server *s = new Server();
  26. s->verbinde( 11788, 1 );
  27. while( true )
  28. {
  29. SKlient *k = s->getKlient();
  30. Spieler s;
  31. s.setTastataturStatus( T_GAS, 1 );
  32. s.setModelData( data->getThis() );
  33. int count = 0;
  34. while( true )
  35. {
  36. count++;
  37. if( count == 11788 )
  38. {
  39. int x = 0;
  40. }
  41. s.tick( 0.03333333 );
  42. float r = (float)rand() / (float)RAND_MAX;
  43. char calc = (char)(r * 10);
  44. switch( calc )
  45. {
  46. case 0:
  47. s.setTastataturStatus( T_GAS, 1 );
  48. break;
  49. case 1:
  50. s.setTastataturStatus( T_GAS, 0 );
  51. break;
  52. case 2:
  53. s.setTastataturStatus( T_ROT_L, 1 );
  54. break;
  55. case 3:
  56. s.setTastataturStatus( T_ROT_L, 0 );
  57. break;
  58. case 4:
  59. s.setTastataturStatus( T_ROT_R, 1 );
  60. break;
  61. case 5:
  62. s.setTastataturStatus( T_ROT_R, 0 );
  63. break;
  64. }
  65. char buff[ 25 ];
  66. *(float*)buff = s.getPosition().x;
  67. *(float*)( buff + 4 ) = s.getPosition().y;
  68. *(float*)( buff + 8 ) = s.getSpeed().x;
  69. *(float*)( buff + 12 ) = s.getSpeed().y;
  70. *(float*)( buff + 16 ) = s.getDrehung();
  71. *(float*)( buff + 20 ) = s.getDrehungSpeed();
  72. *( buff + 24 ) = calc;
  73. if( !k->sende( buff, 25 ) )
  74. break;
  75. }
  76. k->release();
  77. }
  78. data->release();
  79. s->release();
  80. Network::Exit();
  81. Framework::releaseFramework();
  82. return 0;
  83. }