void MainWindow::on_NewReservation_clicked() { if("" == ui->CustomerIdReservation->text() || "" == ui->RoomNumberReservation->text()) { QMessageBox::about(0,Title,EmptyRes); ui->CustomerIdReservation->setFocus(); } else { if(ui->CheckInDate->date() < QDate::currentDate()) { QMessageBox::about(0,Title,DateBeforeCurrentDate); ui->CheckInDate->setDate(QDate(QDate::currentDate())); } else if(ui->CheckOutDate->date() < ui->CheckInDate->date()) { QMessageBox::about(0,Title,CheckOutBeforeCheckIn); ui->CheckOutDate->setDate(ui->CheckInDate->date()); } else { Room room; Customer customer; customer.setId(ui->CustomerIdReservation->text()); room.setRoomNumber(ui->RoomNumberReservation->text().toInt()); ResM.roomReservation(ui->CheckInDate->date(),ui->CheckOutDate->date(),room,customer); ui->CheckInDate->setDate(QDate(QDate::currentDate())); ui->CheckOutDate->setDate(QDate(QDate::currentDate())); ui->CustomerIdReservation->setText(""); ui->RoomNumberReservation->setText(""); ui->CustomerIdReservation->setFocus(); showRoomGrid(); } } }
bool onPhaseChange(ServerPlayer *player) const { if (player->getPhase() == Player::Start) { Room *room = player->getRoom(); player->setMark("juao", 0); LogMessage log; log.type = "#JuaoObtain"; log.from = player; log.arg = objectName(); room->sendLog(log); DummyCard *dummy = new DummyCard; foreach (int card_id, player->getPile("hautain")) { dummy->addSubcard(card_id); } player->obtainCard(dummy, false); delete dummy; player->skip(Player::Draw); }
void Maze::displayRoom(Room &room) { using std::cout; using std::endl; blankRoom(); prepareRoom(room); cout << endl << endl; cout << endl << endl << " " << room.getName() << endl << endl; for(int y = 0; y < 18; y++) { cout << " " << workRoomM[y] << endl; } cout << endl << endl << room.getDescription() << endl; cout << endl << exits(room) << endl << getFlashMessage() << endl << endl;; cout << endl << endl << endl; } //end displayRoom()
virtual bool onPhaseChange(ServerPlayer *player) const{ if(player->getPhase() == Player::Start){ Room *room = player->getRoom(); player->setMark("juao", 0); ServerPlayer *xuyou = room->findPlayerBySkillName(objectName()); foreach(int card_id, player->getPile("hautain")){ if(!xuyou) room->throwCard(card_id); else room->obtainCard(player, card_id); } if(!xuyou) return false; LogMessage log; log.type = "#JuaoObtain"; log.from = player; log.arg = objectName(); log.to << xuyou; room->sendLog(log); player->skip(Player::Draw); }
void CatalogApp::keyDown( KeyEvent event ) { switch( event.getChar() ){ case ' ': mRoom.togglePower(); break; case 'n': mRenderNames = !mRenderNames; break; case 'b': mRenderBrightStars = !mRenderBrightStars; break; case 'f': mRenderFaintStars = !mRenderFaintStars; break; case '1': setView( 0, 1 ); break; case '2': setView( 0, 2 ); break; case '3': setView( 0, 3 ); break; case '4': setView( 3, 0 ); break; default: break; } }
bool WorldGeneratorContext::canFitRoom(const Room &first, const Room &second, const Direction::Value direction) const { const int width = second.width(); const int height = second.height(); const IRoomPlacementStrategy *strategy = m_selector.select(direction); const Coordinate offset = strategy->position(first, second); for(int x = 0; x < width; x++) { for(int y = 0; y < height; y++) { Coordinate coordinate(offset.first + x, offset.second + y); if(isTileGenerated(coordinate)) { return false; } } } return true; }
void FireAttack::onEffect(const CardEffectStruct &effect) const { Room *room = effect.from->getRoom(); if (effect.to->isKongcheng()) return; const Card *card = room->askForCardShow(effect.to, effect.from, objectName()); room->showCard(effect.to, card->getEffectiveId()); QString suit_str = card->getSuitString(); QString pattern = QString(".%1").arg(suit_str.at(0).toUpper()); QString prompt = QString("@fire-attack:%1::%2").arg(effect.to->objectName()).arg(suit_str); if (effect.from->isAlive()) { const Card *card_to_throw = room->askForCard(effect.from, pattern, prompt); if (card_to_throw) room->damage(DamageStruct(this, effect.from, effect.to, 1, DamageStruct::Fire)); else effect.from->setFlags("FireAttackFailed_" + effect.to->objectName()); // For AI } if (card->isVirtualCard()) delete card; }
void MapData::searchDoorNames(RoomRecipient * recipient, QString s, Qt::CaseSensitivity cs) { QMutexLocker locker(&mapLock); Room * r = 0; for(vector<Room *>::iterator i = roomIndex.begin(); i != roomIndex.end(); ++i) { r = *i; if (r) { ExitsList exits = r->getExitsList(); for(ExitsList::const_iterator exitIter = exits.begin(); exitIter != exits.end(); ++exitIter) { const Exit & e = *exitIter; if (QString((e)[0].toString()).contains(s, cs)) { locks[r->getId()].insert(recipient); recipient->receiveRoom(this, r); break; } } } } }
virtual void onDamaged(ServerPlayer *target, const DamageStruct &damage) const{ if(target->askForSkillInvoke(objectName(), QVariant::fromValue(damage))){ target->getRoom()->playSkillEffect(objectName()); target->drawCards(1); if(target->isKongcheng()) return; Room *room = target->getRoom(); room->showAllCards(target); QList<const Card *> cards = target->getHandcards(); Card::Color color = cards.first()->getColor(); bool same_color = true; foreach(const Card *card, cards){ if(card->getColor() != color){ same_color = false; break; } } if(same_color && damage.from && !damage.from->isKongcheng()) room->askForDiscard(damage.from, objectName(), 1, 1); }
void readin_room(Hashtable<Room> * map, Hashtable<wordobj> * dictionary) { Room * curr = new Room(); ifstream rooms("rooms.txt"); string temp; int count = 0; rooms >>temp; curr->setname(temp); while(true) { if(count == 0) //0 is description for room { rooms >> temp; if(temp == "|" || temp == "") // | is end of file character break; while(rooms.peek() != '\n') { curr->setdesc(temp); rooms >> temp; } curr->setdesc(temp); } else if(count == 1) //items in room
void DelayedTrick::onEffect(const CardEffectStruct &effect) const{ Room *room = effect.to->getRoom(); if(!movable) room->throwCard(this); LogMessage log; log.from = effect.to; log.type = "#DelayedTrick"; log.arg = effect.card->objectName(); room->sendLog(log); JudgeStruct judge_struct = judge; judge_struct.who = effect.to; room->judge(judge_struct); if(judge_struct.isBad()){ room->throwCard(this); takeEffect(effect.to); }else if(movable){ onNullified(effect.to); } }
void Analeptic::onEffect(const CardEffectStruct &effect) const{ Room *room = effect.to->getRoom(); // do animation QString who = effect.to->objectName(); QString animation_str = QString("analeptic:%1:%2").arg(who).arg(who); room->broadcastInvoke("animate", animation_str); if(effect.to->hasFlag("dying")){ // recover hp RecoverStruct recover; recover.card = this; recover.who = effect.from; room->recover(effect.to, recover); }else{ LogMessage log; log.type = "#Drank"; log.from = effect.from; room->sendLog(log); room->setPlayerFlag(effect.to, "drank"); } }
virtual bool trigger(TriggerEvent event, ServerPlayer *player, QVariant &data) const{ Room *room = player->getRoom(); DamageStruct damage = data.value<DamageStruct>(); if(event == Predamage){ if(!(damage.to->getArmor() && damage.to->getArmor()->objectName() == "wall")) return false; if(!player->askForSkillInvoke(objectName(), data)) return false; room->throwCard(damage.to->getArmor()); LogMessage log; log.type = "#CatapultDamage"; log.from = damage.to; log.to << player; log.arg = QString::number(damage.damage); log.arg2 = QString::number(damage.damage + 1); room->sendLog(log); damage.damage ++; data = QVariant::fromValue(damage); } return false; }
void Actor::walk(Engine* engine) { engine->broadcast(this, this->currentRoom, true); auto possibleDirs = this->currentRoom->getExits(); int diceRoll = rand() % possibleDirs.size(); string chosenDir = possibleDirs[diceRoll]; Room* nextRoom = this->currentRoom->exits[chosenDir]; Room* prevRoom = this->currentRoom; nextRoom->addChar(this); prevRoom->removeChar(this); if(this->playerInRoom() != 0) { this->printActor(); } engine->broadcast(this, this->currentRoom, false); }
json_t *JsonApi::buildJsonHome() { json_t *jdata = json_array(); for (int iroom = 0;iroom < ListeRoom::Instance().size();iroom++) { Room *room = ListeRoom::Instance().get_room(iroom); json_t *jroom = json_object(); json_t *jitems = json_pack("{s:o, s:o}", "inputs", buildJsonRoomIO<Input>(room), "outputs", buildJsonRoomIO<Output>(room)); json_object_set_new(jroom, "type", json_string(room->get_type().c_str())); json_object_set_new(jroom, "name", json_string(room->get_name().c_str())); json_object_set_new(jroom, "hits", json_string(Utils::to_string(room->get_hits()).c_str())); json_object_set_new(jroom, "items", jitems); json_array_append_new(jdata, jroom); } return jdata; }
bool Mst::collapse(int num) { if (num <= excludedSanningTreePaths.size()) { int totalNum = num - 1; Room *from = nullptr; Room *to = nullptr; for (auto it = excludedSanningTreePaths.begin(); it != excludedSanningTreePaths.end() && num > 0; it++, num--) { from = it.operator*().first.first; to = it.operator*().first.second; from->removeEdge(to); to->removeEdge(from); } auto end = excludedSanningTreePaths.find(make_pair(from, to)); if (end != excludedSanningTreePaths.end()) { excludedSanningTreePaths.erase(excludedSanningTreePaths.begin(), end); } return true; } return false; }
void ShadedSphereApp::update() { // ROOM mRoom.update(); // CAMERA if( mMousePressed ){ mSpringCam.dragCam( ( mMouseOffset ) * 0.01f, ( mMouseOffset ).length() * 0.01 ); } mSpringCam.update( 0.4f ); // ROOM drawIntoRoomFbo(); }
void RepulsionApp::keyDown( KeyEvent event ) { switch( event.getChar() ){ case ' ': mRoom.togglePower(); break; case 's': mSaveFrames = !mSaveFrames; break; default: break; } switch(event.getCode()) { case KeyEvent::KEY_ESCAPE: quit(); break; default: break; } }
void SMWServer::playerJoinsRoom(uint64_t playerID, const void* data, size_t dataLength) { if (!players.count(playerID)) return; Player* player = &players[playerID]; if (player->currentRoomID || player->isPlaying) return; // TODO: warning if (dataLength != sizeof(NetPkgs::JoinRoom)) { printf("[error] Corrupt package arrived from %lu\n", playerID); return; } NetPkgs::JoinRoom pkg; memcpy(&pkg, data, dataLength); printf("%s wants to join room %u\n", player->name.c_str(), pkg.roomID); if (!rooms.count(pkg.roomID)) { printf("No such room! (%u)\n", pkg.roomID); return; } // Find first empty slot Room* room = &rooms[pkg.roomID]; // TODO: Validate room->tryAddingPlayer(player); if (player->currentRoomID) { player->sendCode(NET_RESPONSE_JOIN_OK); room->sendRoomUpdate(); } else player->sendCode(NET_RESPONSE_ROOM_FULL); player->isPlaying = false; }
void FireAttack::onEffect(const CardEffectStruct &effect) const{ Room *room = effect.from->getRoom(); if(effect.to->isKongcheng()) return; const Card *card = room->askForCardShow(effect.to, effect.from, objectName()); room->showCard(effect.to, card->getEffectiveId()); QString suit_str = card->getSuitString(); QString pattern = QString(".%1").arg(suit_str.at(0).toUpper()); QString prompt = QString("@fire-attack:%1::%2").arg(effect.to->getGeneralName()).arg(suit_str); if(room->askForCard(effect.from, pattern, prompt)){ DamageStruct damage; damage.card = this; damage.from = effect.from; damage.to = effect.to; damage.nature = DamageStruct::Fire; room->damage(damage); } if(card->isVirtualCard()) delete card; }
void BubbleChamberApp::keyDown( KeyEvent event ) { switch( event.getChar() ){ case ' ': mRoom.togglePower(); break; case 'm': mController.releaseMoths(); break; case '1': mController.preset( 1 ); break; case '2': mController.preset( 2 ); break; case '3': mController.preset( 3 ); break; case '4': mController.preset( 4 ); break; case '5': mController.preset( 5 ); break; case '6': mController.preset( 6 ); break; default: break; } switch( event.getCode() ){ case KeyEvent::KEY_UP: mActiveCam.setEye( mRoom.getCornerCeilingPos() ); break; case KeyEvent::KEY_DOWN: mActiveCam.setEye( mRoom.getCornerFloorPos() ); break; case KeyEvent::KEY_RIGHT: mActiveCam.resetEye(); break; default: break; } switch( event.getCode() ){ //case KeyEvent::KEY_UP: mMouseRightPos = Vec2f( 222.0f, 205.0f ) + getWindowCenter(); break; case KeyEvent::KEY_UP: setCameras(Vec3f(mHeadCam0.mEye.x, mHeadCam0.mEye.y, mHeadCam0.mEye.z - 100), true); break; //case KeyEvent::KEY_LEFT: mMouseRightPos = Vec2f(-128.0f,-178.0f ) + getWindowCenter(); break; case KeyEvent::KEY_LEFT: setCameras(Vec3f(mHeadCam0.mEye.x - 100, mHeadCam0.mEye.y, mHeadCam0.mEye.z), true); break; //case KeyEvent::KEY_RIGHT: mMouseRightPos = Vec2f(-256.0f, 122.0f ) + getWindowCenter(); break; case KeyEvent::KEY_RIGHT: setCameras(Vec3f(mHeadCam0.mEye.x + 100, mHeadCam0.mEye.y, mHeadCam0.mEye.z), true); break; //case KeyEvent::KEY_DOWN: mMouseRightPos = Vec2f( 0.0f, 0.0f ) + getWindowCenter(); break; case KeyEvent::KEY_DOWN: setCameras(Vec3f(mHeadCam0.mEye.x, mHeadCam0.mEye.y, mHeadCam0.mEye.z + 100), true); break; default: break; } }
void CatalogApp::keyDown( KeyEvent event ) { switch( event.getChar() ){ case ' ': mRoom.togglePower(); if(mRoom.isPowerOn() && mCopyrightAlpha < 1.0f) mCopyrightAlpha = 1.0f; break; case 'n': mRenderNames = !mRenderNames; break; case 'b': mRenderBrightStars = !mRenderBrightStars; break; case 'f': mRenderFaintStars = !mRenderFaintStars; break; case '1': setView( 0, 1 ); break; case '2': setView( 0, 2 ); break; case '3': setView( 0, 3 ); break; case '4': setView( 3, 0 ); break; default: break; } switch (event.getCode() ) { case KeyEvent::KEY_ESCAPE: quit(); break; default: break; } }
void MainWindow::on_pushButton_clicked() { if("" == ui->FindRoomNumber->text()) { QMessageBox::about(0,Title,NoRoomNumber); ui->FindRoomNumber->setFocus(); } else { Room room; room = RM.fetchRoom(ui->FindRoomNumber->text().toInt()); if(room.getCapacity()!=0) { ui->FindRoomFloor->setText(QString("%1").arg(room.getRoomFloor())); ui->FindRoomCapacity->setText(QString("%1").arg(room.getCapacity())); } else { QMessageBox::about(0,Title,NoRoomNumber); } ui->FindRoomFloor->setFocus(); } }
void CMDPaste::TextInput(Socket* sock, std::vector<std::string>* lines, void* args) { std::stringstream st; Player* mobile = (Player*)args; Room* location = (Room*)mobile->GetLocation(); st << "Paste from "; st << Capitalize(mobile->GetName()); st << " of "; st << lines->size(); st << "lines."; st << std::endl; st << Repeat("-", 80); for (auto it: *lines) { st << it << std::endl; } st << Repeat("-", 80) << std::endl; location->TellAll(st.str()); mobile->GetSocket()->ClearInput(); mobile->Message(MSG_INFO, "Paste finished."); delete lines; }
/** *Deletes selected entry in Room table *@param room is a room class item *@param fetchquery is an sql query *@param query is an sql query */ void RoomManagement::deleteRoom(Room room) { QSqlQuery fetchquery; QSqlQuery query; fetchquery = sqlMechanism.myQuery(); fetchquery.prepare("SELECT * FROM RoomsReservation WHERE fkRoomId= :rNum"); fetchquery.bindValue(":rNum",room.getRoomNumber()); fetchquery.exec(); fetchquery.next(); if(fetchquery.isValid()) { QMessageBox::information(0,"Input Data Error","This room can't be Deleted.Reservation in progress"); } else { query = sqlMechanism.myQuery(); query.prepare("delete from Rooms where RoomNumber = :rNum"); query.bindValue(":rNum",room.getRoomNumber()); query.exec(); } }
void MST::Display(Map& map) { std::vector<Room*> rooms = map.getRooms(); if (rooms.size() == 0) return; int i, u, v, sz; // this is just style... sz = _MST.size(); for (i = 0; i < sz; i++) { u = _MST[i].second.first; v = _MST[i].second.second; Room* ur = rooms.at(u); Room* uv = rooms.at(v); Direction d = map.getDirection(*ur, *uv); ur->getPassage(d)->SetShortest(true); } map.show(); //Reset for (i = 0; i < sz; i++) { u = _MST[i].second.first; v = _MST[i].second.second; Room* ur = rooms.at(u); Room* uv = rooms.at(v); Direction d = map.getDirection(*ur, *uv); ur->getPassage(d)->SetShortest(false); } }
virtual bool trigger(TriggerEvent, ServerPlayer *player, QVariant &data) const{ SlashEffectStruct effect = data.value<SlashEffectStruct>(); Room *room = player->getRoom(); CardStar card = room->askForCard(player, "@axe", "@axe:" + effect.to->objectName()); if(card){ QList<int> card_ids = card->getSubcards(); foreach(int card_id, card_ids){ LogMessage log; log.type = "$DiscardCard"; log.from = player; log.card_str = QString::number(card_id); room->sendLog(log); } LogMessage log; log.type = "#AxeSkill"; log.from = player; log.to << effect.to; room->sendLog(log); room->slashResult(effect, NULL); }
void MainWindow::on_SaveRoom_clicked() { if("" == ui->FindRoomFloor->text() || "" == ui->FindRoomCapacity->text()) { QMessageBox::about(0,Title,NotAllRoomData); ui->FindRoomFloor->setFocus(); } else { Room room; room.setRoomNumber( ui->FindRoomNumber->text().toInt() ); room.setCapacity( ui->FindRoomCapacity->text().toInt() ); room.setRoomFloor( ui->FindRoomFloor->text().toInt() ); RM.editRoom(room); ui->FindRoomCapacity->setText(""); ui->FindRoomFloor->setText(""); ui->FindRoomNumber->setText(""); ui->FindRoomNumber->setFocus(); showRoomGrid(); RoomTableView(); } }
/** *fetches all free rooms and returns them into a vector *@param fetchquery is an sql query *@param room is a room class item *@param froomVector is a vector containing free all rooms *@return the vector result */ vector<Room> RoomManagement::fetchFreeRooms() { Room room; vector<Room> froomVector; QSqlQuery fetchquery; //!To erotima de doulevei sosta! fetchquery = sqlMechanism.myQuery(); fetchquery.exec("SELECT * FROM Rooms WHERE RoomNumber NOT IN (SELECT DISTINCT fkRoomId FROM RoomsReservation);"); while(fetchquery.next()) { room.setRoomNumber(fetchquery.value(1).toInt()); room.setRoomFloor(fetchquery.value(2).toInt()); room.setCapacity(fetchquery.value(3).toInt()); froomVector.push_back( room ); } return froomVector; }
void BubbleChamberApp::update() { // ROOM mRoom.update(); // CAMERA if( mMousePressed ) mSpringCam.dragCam( ( mMouseOffset ) * 0.02f, ( mMouseOffset ).length() * 0.02 ); mSpringCam.update( 0.3f ); // CONTROLLER mController.update(); drawIntoRoomFbo(); }