int _tmain(int argc, _TCHAR* argv[]) { int result = EXIT_SUCCESS; DOMConfigurator::configure("Log4cxxConfig.xml"); string input; int playerPort; int destPort; int player = 0; Player playerA = Player(); Player playerB = Player(); char W[200] = "W"; char A[200] = "A"; char S[200] = "S"; char D[200] = "D"; network.initialise(); //host or client for window title and for log. char* applicationName; applicationName = "Tag"; SMALL_RECT windowSize = {0, 0, SCREEN_WIDTH/2, SCREEN_HEIGHT/2}; SetConsoleWindowInfo(hConsole, TRUE, &windowSize); bool gameOver = false; Vector2f mapBoundries = Vector2f(SCREEN_WIDTH, SCREEN_HEIGHT); RenderWindow renderWindow(VideoMode(SCREEN_WIDTH/2, SCREEN_HEIGHT, 32), applicationName); renderWindow.SetFramerateLimit(30); renderWindow.SetSize(SCREEN_WIDTH/2, SCREEN_HEIGHT); Shape player1circle = sf::Shape::Circle(Vector2f(0,0), 20.0f, sf::Color::Blue); Shape player2circle = sf::Shape::Circle(Vector2f(0,0), 20.0f, sf::Color::Red); cout << "Are you player A or B?"; cin >> input; if (input == "a" || input == "A") { player = 1; playerPort = 28000; destPort = 28001; playerA.setPort(playerPort); playerB.setPort(destPort); network.setupUDP(28000,_ip); LOG4CXX_INFO(loggerMyMain, "Player Binds A" ); } else if (input == "b" || input == "B") { player = 2; playerPort = 28001; destPort = 28000; playerA.setPort(destPort); playerB.setPort(playerPort); network.setupUDP(28001,_ip); LOG4CXX_INFO(loggerMyMain, "Player Binds B" ); } playerA.setPosition(sf::Vector2f(80,80)); playerB.setPosition(sf::Vector2f(120,120)); player1circle.SetPosition(playerA.getPosition()); player2circle.SetPosition(playerB.getPosition()); try { //While the connection is not closed remotely while(renderWindow.IsOpened() && !gameOver) { Event sfmlEvent; while (renderWindow.PollEvent(sfmlEvent)) { // Close window : exit if (sfmlEvent.Type == Event::Closed) { renderWindow.Close(); } else if (sfmlEvent.Type == Event::KeyPressed) { if (sf::Keyboard::IsKeyPressed(sf::Keyboard::W)) { if(player == 2) { playerA.update(1); } else if(player == 1) { playerB.update(1); } network.sendData("127.0.0.1",destPort, "W"); } if (sf::Keyboard::IsKeyPressed(sf::Keyboard::A)) { if(player == 2) { playerA.update(2); } else if(player == 1) { playerB.update(2); } network.sendData("127.0.0.1",destPort, "A"); } if (sf::Keyboard::IsKeyPressed(sf::Keyboard::S)) { if(player == 2) { playerA.update(3); } else if(player == 1) { playerB.update(3); } network.sendData("127.0.0.1",destPort, "S"); } if (sf::Keyboard::IsKeyPressed(sf::Keyboard::D)) { if(player == 2) { playerA.update(4); } else if(player == 1) { playerB.update(4); } network.sendData("127.0.0.1",destPort, "D"); } //cout << "Message recieved from, port = " << network.getSenderPort() << ", ip = "<< network.getSenderIP() << endl; //messageRecieved = false; } if(network.receiveData(message)) { LOG4CXX_INFO(loggerMyMain, message ); if(strcmp(message , W) == 0) { LOG4CXX_INFO(loggerMyMain, "Message Recieved" ); LOG4CXX_INFO(loggerMyMain, message ); if(player == 1) { playerA.update(1); } else if(player == 2) { playerB.update(1); } } if(strcmp(message , A) == 0) { LOG4CXX_INFO(loggerMyMain, "Message Recieved" ); LOG4CXX_INFO(loggerMyMain, message ); if(player == 1) { playerA.update(2); } else if(player == 2) { playerB.update(2); } } if(strcmp(message , S) == 0) { LOG4CXX_INFO(loggerMyMain, "Message Recieved" ); LOG4CXX_INFO(loggerMyMain, message ); if(player == 1) { playerA.update(3); } else if(player == 2) { playerB.update(3); } } if(strcmp(message , D) == 0) { LOG4CXX_INFO(loggerMyMain, "Message Recieved" ); LOG4CXX_INFO(loggerMyMain, message ); if(player == 1) { playerA.update(4); } else if(player == 2) { playerB.update(4); } } } } player1circle.SetPosition(playerA.getPosition()); player2circle.SetPosition(playerB.getPosition()); renderWindow.Clear(); renderWindow.Draw(player1circle); renderWindow.Draw(player2circle); renderWindow.Display(); } renderWindow.Close(); cout << "Exiting application.\n"; } catch(Exception&) { result = EXIT_FAILURE; } return result; }