void TCPSocketTest::run() throw(std::runtime_error) { net::TCPServerSocket server(1234); net::TCPClientSocket client; net::ISocket* sock1; net::ISocket* sock2; server.listen(); sock2 = client.connect("localhost",1234); // std::cout << "Na los, ich warte!" << std::endl; // while (!sock1->connected()) { sock1 = server.accept(); } // assert(client.connected()); // std::cout << "connected!!" << std::endl; // sock1->setSoTimeout(0); // sock2->setSoTimeout(0); for (int len = 1; len <= 1024; len += 1) { unsigned char* data = createRandomBlock(len); sock2->send(utils::Buffer(data,len)); utils::Buffer buf; sock1->receive(buf); if (!compareBlocks(data,len,buf.getPtr(),buf.getLen())) { std::ostringstream os; os << "Wrong data. len = " << len << "." << std::endl; // printBlock(os,data,len); os << std::endl; // printBlock(os,buf.getPtr(),buf.getLen()); os << len << "," << buf.getLen() << std::endl; std::string msg = os.str(); throw std::runtime_error(msg.c_str()); } if (len % 128 == 0) { std::cerr << "."; std::cerr.flush(); } delete[] data; } delete sock1; delete sock2; }
void createNewBlocksIfNeeded(BlockInfo& block, int x, int y) { if(!block.initalized) { double location[3] = {y * BLOCK_SIZE, x * BLOCK_SIZE, 0}; double size[3] = {BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE_Z}; createRandomBlock(block, size, location); } }
void BufferTest::run() throw(std::runtime_error) { // teste ob sich der buffer die daten kopiert std::string msg = "Hallo Kinder"; utils::Buffer b((unsigned char*) msg.c_str(),msg.length()+1); msg = "00000"; if (strcmp((const char*) b.getPtr(),"Hallo Kinder") != 0) throw std::runtime_error("Fehler"); // teste + und += und = for (int size = 1; size <= 1024; size *= 2) { unsigned char* data = createRandomBlock(size*2); utils::Buffer b1(data,size); utils::Buffer b2(data+size,size); utils::Buffer b3 = b1 + b2; if (!compareBlocks(data,size*2,b3.getPtr(),b3.getLen())) { throw std::runtime_error("Fehler!"); } b1 += b2; if (!compareBlocks(data,size*2,b1.getPtr(),b1.getLen())) { throw std::runtime_error("Fehler!"); } b2 = b3; if (!compareBlocks(data,size*2,b2.getPtr(),b2.getLen())) { throw std::runtime_error("Fehler!"); } delete[] data; } }
bool KeyboardScene::init() { if (!Layer::init()) return false; audio->preloadBackgroundMusic("bgm.mp3"); audio->preloadEffect("boop.mp3"); audio->playBackgroundMusic("bgm.mp3"); bg->setPosition(sw / 2, sh / 2); bg->setAnchorPoint(Vec2(0.5, 0.5)); this->addChild(bg); sprite->setAnchorPoint(Vec2(0.5, 0.0)); sprite->setPosition(sw / 2, 0); this->addChild(sprite); ball->setAnchorPoint(Vec2(0.5, 0.5)); ball->setPosition(sw / 2, sh / 2); showscore->setPosition(125, 20); this->addChild(showscore); this->addChild(ball); int wasd = 12; int hasd = 6; for (int i = 0; i < wasd; i++) { for (int j = 0; j < hasd; j++) { if ((i+j)%2==0 || (i + j) % 3 == 0) { auto temp = createRandomBlock(); temp->setAnchorPoint(Vec2(0.5, 0.5)); temp->setPosition(i*bw + bw / 2, j*bh + bh * 14); this->addChild(temp); blocks.push_back(temp); } } } auto eventListener = EventListenerKeyboard::create(); eventListener->onKeyPressed = [&](EventKeyboard::KeyCode keyCode, Event* event) { switch (keyCode) { case EventKeyboard::KeyCode::KEY_LEFT_ARROW: left = true; break; case EventKeyboard::KeyCode::KEY_RIGHT_ARROW: right = true; break; case EventKeyboard::KeyCode::KEY_SPACE: if (life !=0 && balldir != balldir ){ ball->setPosition(sw / 2, sh / 2); balldir = initdir; } break; } }; eventListener->onKeyReleased = [&](EventKeyboard::KeyCode keyCode, Event* event) { switch (keyCode) { case EventKeyboard::KeyCode::KEY_LEFT_ARROW: left = false; break; case EventKeyboard::KeyCode::KEY_RIGHT_ARROW: right = false; break; } }; this->_eventDispatcher->addEventListenerWithSceneGraphPriority(eventListener, sprite); this->scheduleUpdate(); return true; }