bool CExitPellerator::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { CString name = getName(); if (name == "ExitPellerator") { if (_statics->_v2 != 2) { switch (getRandomNumber(2)) { case 0: CPellerator::_soundHandle = queueSound("z#457.wav", CPellerator::_soundHandle); break; case 1: CPellerator::_soundHandle = queueSound("z#458.wav", CPellerator::_soundHandle); break; default: CPellerator::_soundHandle = queueSound("z#464.wav", CPellerator::_soundHandle); break; } } switch (_statics->_v2) { case 0: changeView("PromenadeDeck.Node 1.W"); break; case 1: changeView("MusicRoomLobby.Node 1.S"); break; case 4: changeView("TopOfWell.Node 6.N"); break; case 5: changeView("1stClassRestaurant.Lobby Node.E"); break; case 6: changeView(_statics->_isWinter ? "FrozenArboretum.Node 4.S" : "Arboretum.Node 4.W"); break; default: petDisplayMessage(2, EXIT_FROM_OTHER_SIDE); CPellerator::_soundHandle = queueSound("z#438.wav", CPellerator::_soundHandle); } } else if (name == "ExitPellerator2") { if (_statics->_v2 == 2) { switch (getRandomNumber(2)) { case 0: CPellerator::_soundHandle = queueSound("z#457.wav", CPellerator::_soundHandle); break; case 1: CPellerator::_soundHandle = queueSound("z#458.wav", CPellerator::_soundHandle); break; default: CPellerator::_soundHandle = queueSound("z#464.wav", CPellerator::_soundHandle); break; } } if (_statics->_v2 == 2) { changeView("Bar.Node 1.N"); } else { petDisplayMessage(2, EXIT_FROM_OTHER_SIDE); CPellerator::_soundHandle = queueSound("z#438.wav", CPellerator::_soundHandle); } } return true; }
bool CTrueTalkNPC::NPCQueueIdleAnimMsg(CNPCQueueIdleAnimMsg *msg) { int rndVal = getRandomNumber(_fieldF8 - 1) - (_fieldF8 / 2); _speechTimerId = startAnimTimer("NPCIdleAnim", _fieldF4 + rndVal, 0); return true; }
bool CDoorbot::TrueTalkNotifySpeechEndedMsg(CTrueTalkNotifySpeechEndedMsg *msg) { CTrueTalkNPC::TrueTalkNotifySpeechEndedMsg(msg); if (_npcFlags & NPCFLAG_DOORBOT_INTRO) { // Initial speech by Doorbot in switch (msg->_dialogueId) { case 10552: playClip("SE Try Buttons", MOVIE_NOTIFY_OBJECT); _introMovieNum = 9; break; case 10553: enableMouse(); break; case 10557: playClip("SE Move To Right", MOVIE_NOTIFY_OBJECT); _introMovieNum = 11; break; case 10559: stopAnimTimer(_timerId); _timerId = addTimer(0, 2500, 0); break; case 10560: petShow(); petSetArea(PET_CONVERSATION); stopAnimTimer(_timerId); _timerId = addTimer(1, 1000, 0); break; case 10561: enableMouse(); _introMovieNum = 1; stopAnimTimer(_timerId); _timerId = addTimer(2, 10000, 0); break; case 10562: if (_introMovieNum == 1) { stopAnimTimer(_timerId); _timerId = addTimer(2, getRandomNumber(5000), 0); } break; case 10563: case 10564: disableMouse(); startTalking(this, 221480); break; case 10565: startTalking(this, 221481); break; case 10566: stopAnimTimer(_timerId); _timerId = 0; if (_field110 == 2) { playClip("Cloak On", MOVIE_NOTIFY_OBJECT); _introMovieNum = 6; } else { _timerId = addTimer(3, 2000, 0); } break; case 10567: { CActMsg actMsg("BecomeGettable"); actMsg.execute("Photograph"); enableMouse(); stopAnimTimer(_timerId); _timerId = addTimer(4, 5000, 0); break; } case 10568: // Start moving cursor to photograph mouseDisableControl(); mouseSetPosition(Point(600, 250), 2500); _timerId = addTimer(6, 2500, 0); break; case 10569: if (_field110 != 2) { stopAnimTimer(_timerId); _timerId = addTimer(5, 3000, 0); } break; case 10570: mouseSetPosition(Point(200, 430), 2500); _timerId = addTimer(7, 3000, 0); break; case 10571: playClip("Cloak On", MOVIE_NOTIFY_OBJECT); _introMovieNum = 6; break; default: break; } } return true; }
int main() { int number = getRandomNumber(); printf("%d\n", number); return 0; }
void MultiPeak::calcCellParameters(spatial_cell::SpatialCell* cell,creal& t) { setRandomCellSeed(cell); rhoRnd = 0.5 - getRandomNumber(); }
void Vector3D::setRandomVector(){ //unsigned char randNum; x = getRandomNumber(); y = getRandomNumber(); z = getRandomNumber(); }
bool CUpLighter::EnterRoomMsg(CEnterRoomMsg *msg) { _inRoom = true; addTimer(5000 + getRandomNumber(15000), 0); return true; }
void IgorEngine::PART_25_EXEC_ACTION(int action) { switch (action) { case 101: _currentPart = 260; break; case 102: switch (getRandomNumber(3) + 1) { case 1: ADD_DIALOGUE_TEXT(204, 2); ADD_DIALOGUE_TEXT(206, 1); SET_DIALOGUE_TEXT(1, 2); startIgorDialogue(); break; case 2: ADD_DIALOGUE_TEXT(207, 1); ADD_DIALOGUE_TEXT(208, 1); ADD_DIALOGUE_TEXT(209, 1); ADD_DIALOGUE_TEXT(206, 1); SET_DIALOGUE_TEXT(1, 4); startIgorDialogue(); break; case 3: ADD_DIALOGUE_TEXT(210, 1); ADD_DIALOGUE_TEXT(211, 1); ADD_DIALOGUE_TEXT(206, 1); SET_DIALOGUE_TEXT(1, 3); startIgorDialogue(); break; } break; case 103: ADD_DIALOGUE_TEXT(201, 1); SET_DIALOGUE_TEXT(1, 1); startIgorDialogue(); break; case 104: ADD_DIALOGUE_TEXT(212, 1); ADD_DIALOGUE_TEXT(213, 1); ADD_DIALOGUE_TEXT(214, 1); ADD_DIALOGUE_TEXT(215, 1); ADD_DIALOGUE_TEXT(216, 2); SET_DIALOGUE_TEXT(1, 5); startIgorDialogue(); break; case 105: PART_25_ACTION_105(); break; case 106: ADD_DIALOGUE_TEXT(203, 1); SET_DIALOGUE_TEXT(1, 1); startIgorDialogue(); break; case 107: PART_25_ACTION_107(); break; case 108: PART_25_ACTION_108(); break; case 109: _currentPart = 310; break; default: error("PART_25_EXEC_ACTION unhandled action %d", action); break; } }
int getRandomNumber(int x) { return(getRandomNumber(0,x)); }
String GoogleAnalyticsUrlStrategy::getCookies() { String builder; String param; // unique visitor id cookie has to be unique per eclipse installation //String timeStamp = _T("-1"); // //String.valueOf( System.currentTimeMillis() ); param = _T(""); param += _T("999."); param += m_pGoogleParameters->getUserId() + IGoogleAnalyticsParameters::DOT; param += m_pGoogleParameters->getFirstVisit() + IGoogleAnalyticsParameters::DOT; param += m_pGoogleParameters->getLastVisit() + IGoogleAnalyticsParameters::DOT; param += m_pGoogleParameters->getCurrentVisit() + IGoogleAnalyticsParameters::DOT; param += UIntToString_( m_pGoogleParameters->getVisitCount() ); param += IGoogleAnalyticsParameters::SEMICOLON; GoogleAnalyticsCookie gac1( IGoogleAnalyticsParameters::PARAM_COOKIES_UNIQUE_VISITOR_ID, param, IGoogleAnalyticsParameters::PLUS_SIGN ); gac1.appendTo( builder ); param = _T(""); param += _T("999."); param += m_pGoogleParameters->getFirstVisit() + IGoogleAnalyticsParameters::DOT; param += _T("1.1."); GoogleAnalyticsCookie gac2( IGoogleAnalyticsParameters::PARAM_COOKIES_REFERRAL_TYPE, param ); gac2.appendTo( builder ); // new /** / param = _T(""); param += _T("1"); GoogleAnalyticsCookie gac3( IGoogleAnalyticsParameters::PARAM_COOKIES_SESSION, param, IGoogleAnalyticsParameters::SEMICOLON, IGoogleAnalyticsParameters::PLUS_SIGN ); gac3.appendTo( builder ); /**/ // new /** / param = _T(""); param += _T("1"); GoogleAnalyticsCookie gac4( IGoogleAnalyticsParameters::PARAM_COOKIES_BROWSERSESSION, param, IGoogleAnalyticsParameters::SEMICOLON, IGoogleAnalyticsParameters::PLUS_SIGN ); gac4.appendTo( builder ); /**/ param = _T(""); param += _T("(direct)"); GoogleAnalyticsCookie gac5( IGoogleAnalyticsParameters::PARAM_COOKIES_UTMCSR, param, IGoogleAnalyticsParameters::PIPE ); gac5.appendTo( builder ); param = _T(""); param += _T("(direct)"); GoogleAnalyticsCookie gac6( IGoogleAnalyticsParameters::PARAM_COOKIES_UTMCCN, param, IGoogleAnalyticsParameters::PIPE ); gac6.appendTo( builder ); param = _T(""); param += _T("(none)"); GoogleAnalyticsCookie gac7( IGoogleAnalyticsParameters::PARAM_COOKIES_UTMCMD, param, IGoogleAnalyticsParameters::PIPE ); gac7.appendTo( builder ); param = m_pGoogleParameters->getKeyword(); GoogleAnalyticsCookie gac8( IGoogleAnalyticsParameters::PARAM_COOKIES_KEYWORD, param, IGoogleAnalyticsParameters::PIPE ); gac8.appendTo( builder ); // <tt>User defined Value<tt> cookie format: (domain hash).(setvar value) // // @see <a // href="http://www.martynj.com/google-analytics-cookies-tracking-multiple-domains-filters">__utmv, // __utmb, __utmc cookies formats and more</a> param = getRandomNumber(); param += IGoogleAnalyticsParameters::DOT; param += m_pGoogleParameters->getUserDefined(); GoogleAnalyticsCookie gac9( IGoogleAnalyticsParameters::PARAM_COOKIES_USERDEFINED, param ); gac9.appendTo( builder ); builder += IGoogleAnalyticsParameters::SEMICOLON; return builder; }
BigInt pick(unsigned numbits) { return getRandomNumber(numbits); }
void TSGame::displayGame() { //Game if(levelClock.getElapsedTime().asMicroseconds()/1000.f > 1000.f/level) { int randomInt {static_cast<int>(getRandomNumber(-1.f,9.f))}; levelClock.restart(); auto AI = (randomInt >= 4 ? enemyAILine : enemyAISine); randomInt %= 4; sf::Vector2f windowSize = transformVector<sf::Vector2u, sf::Vector2f>(mainWindow.getSize()); sf::Vector2f target {getRandomNumber(0.f, windowSize.x), getRandomNumber(0.f, windowSize.y)}; sf::Vector2f source; switch(randomInt) { case 0: source = sf::Vector2f {-20.f, getRandomNumber(0.f, windowSize.y)}; break; case 1: source = sf::Vector2f {windowSize.x+20.f, getRandomNumber(0.f, windowSize.y)}; break; case 2: source = sf::Vector2f {getRandomNumber(0.f, windowSize.y), windowSize.x+20.f}; break; case 3: source = sf::Vector2f {getRandomNumber(0, windowSize.y), -20.f}; break; default: break; } Enemies.emplace_back(new Enemy {sf::Color::White, source, target, AI}); levelCounter++; if(levelCounter > level * 10) level++; } incrementColor(enemyColor); Score = scoreClock.getElapsedTime().asMilliseconds()*level/1000.f; for(unsigned int i = 0; i < Enemies.size(); ++i) { (*Enemies[i]).Update(gameClock.getElapsedTime().asMicroseconds()/1000.f); (*Enemies[i]).setColor(enemyColor); (*Enemies[i]).render(mainWindow); if(collides((*Enemies[i]).getShape().getPosition(), player.getPosition())) { gameStatus = true; Enemies.clear(); levelCounter = 0; level = 1; break; } if((*Enemies[i]).getShape().getPosition().x > mainWindow.getSize().x + 100 || (*Enemies[i]).getShape().getPosition().x < -100 || (*Enemies[i]).getShape().getPosition().y > mainWindow.getSize().y + 100 || (*Enemies[i]).getShape().getPosition().y < -100) { Enemies.erase(Enemies.begin()+i); } } std::string scoreString {std::to_string(Score)}; scoreString = scoreString.substr(0, scoreString.find('.')+3); textOverlay.setString(std::string {"Level: "} + std::to_string(level) + std::string {"\nScore: "} + scoreString + std::string {"\nEntities: "} + std::to_string(Enemies.size())); mainWindow.draw(textOverlay); }
bool CSuccUBus::MovieEndMsg(CMovieEndMsg *msg) { CPetControl *pet = getPetControl(); uint petRoomFlags = pet ? pet->getRoomFlags() : 0; if (msg->_endFrame == _offEndFrame) { if (_endingStartFrame >= 0) playSound("z#30.wav", 100); if (_signalFlag) { _signalFlag = false; setVisible(false); CSignalObject signalMsg; signalMsg._numValue = 1; signalMsg.execute(_signalTarget); } } if (msg->_endFrame == _onEndFrame) { bool flag = false; if (pet && !mailExists(petRoomFlags)) { CGameObject *mailObject = _enabled && compareRoomNameTo("Titania") ? findMailByFlags(RFC_TITANIA, petRoomFlags) : findMailByFlags(_flagsComparison, petRoomFlags); if (mailObject) { switch (getRandomNumber(4)) { case 0: startTalking(this, 70094, findView()); break; case 1: startTalking(this, 70095, findView()); break; case 2: startTalking(this, 70096, findView()); break; case 3: startTalking(this, 70098, findView()); break; case 4: startTalking(this, 70099, findView()); break; default: break; } flag = true; } } if (!_field188 && !flag) { stopSound(_soundHandle); _soundHandle = -1; switch (getRandomNumber(_style ? 7 : 5, &_priorRandomVal2)) { case 2: startTalking(this, 230001, findView()); break; case 3: startTalking(this, 230002, findView()); break; case 4: startTalking(this, 230003, findView()); break; case 5: startTalking(this, 230064, findView()); break; case 6: startTalking(this, 230062, findView()); break; case 7: startTalking(this, 230063, findView()); break; default: break; } } } if (msg->_endFrame == _sendEndFrame) { if (_sendAction == SA_FEATHERS) { startTalking(this, 230022, findView()); } else if (_sendAction == SA_EATEN) { startTalking(this, 230017, findView()); } else if (_sendLost) { startTalking(this, 230019, findView()); _sendLost = false; } else if (_isChicken) { startTalking(this, 230018, findView()); _isChicken = false; } else { startTalking(this, 230013, findView()); } if (_inProgress) { _inProgress = false; decTransitions(); } CSUBTransition transMsg; transMsg.execute(this); } if (msg->_endFrame == _receiveEndFrame) { // SuccUBus disgorged mail if (pet && _mailP) { _mailP->setMailDest(petRoomFlags); } _field188 = 1; _mailP = nullptr; if (_inProgress) { _inProgress = false; decTransitions(); } CSUBTransition transMsg; transMsg.execute(this); } return true; }
bool CSuccUBus::PETDeliverMsg(CPETDeliverMsg *msg) { if (_inProgress) return true; if (!_isOn) { petDisplayMessage(2, SUCCUBUS_IS_IN_STANDBY); return true; } CPetControl *pet = getPetControl(); if (!pet) return true; uint destRoomFlags = pet->getRoomFlags(); CGameObject *mailObject = findMail(destRoomFlags); if (!mailObject) { switch (getRandomNumber(2)) { case 0: startTalking(this, 70111, findView()); break; case 1: startTalking(this, 70112, findView()); break; case 2: startTalking(this, 70113, findView()); break; default: break; } petDisplayMessage(2, NOTHING_IN_SUCCUBUS_TRAY); } else { _sendLost = false; CRoomFlags roomFlags = _destRoomFlags; if (!pet->isSuccUBusDest(roomFlags) || pet->getMailDestClass(roomFlags) < getPassengerClass()) { roomFlags = pet->getSpecialRoomFlags("BilgeRoom"); _sendLost = true; } _isFeathers = mailObject->getName() == "Feathers"; _isChicken = mailObject->getName() == "Chicken"; _sendAction = SA_SENT; _field188 = 0; _inProgress = true; incTransitions(); if (_isFeathers) { // The feather has special handling to be rejected by the SuccUBus _sendLost = false; sendMail(destRoomFlags, roomFlags); pet->phonographAction(""); if (_okStartFrame >= 0) { playMovie(_okStartFrame, _okEndFrame, 0); startTalking(this, 230022, findView()); } _sendAction = SA_FEATHERS; if (_sendStartFrame >= 0) playMovie(_sendStartFrame, _sendEndFrame, 0); if (_receiveStartFrame >= 0) { _mailP = mailObject; playMovie(_receiveStartFrame, _receiveEndFrame, MOVIE_NOTIFY_OBJECT); } if (_afterReceiveStartFrame >= 0) { playMovie(_afterReceiveStartFrame, _afterReceiveEndFrame, 0); } } else { // Send the mail to the destination sendMail(pet->getRoomFlags(), roomFlags); pet->phonographAction(""); if (_okStartFrame >= 0) { playMovie(_okStartFrame, _okEndFrame, 0); startTalking(this, 230012, findView()); } if (_sendStartFrame >= 0) playMovie(_sendStartFrame, _sendEndFrame, MOVIE_NOTIFY_OBJECT); } } return true; }
static void explosion_renderingFunction(cubeFrameBuf *buf) { static systemTime_t lastTickTime = 0U; static bool isExploded = false; if (0U == lastTickTime) { lastTickTime = getSystemTimeUS(); } systemTime_t curTime = getSystemTimeUS(); if (lastTickTime + EXPLOSION_UPDATE_INTERVAL_US < curTime) { lastTickTime = getSystemTimeUS(); if (false == isExploded) { memset(buf, 0, sizeof(*buf)); (*buf)[z][y][x] = 1; ++z; if (z >= trigger_height) { (*buf)[z][y][x] = EXPLOSION_LAST_INTERVAL; isExploded = true; x = 0U; } } else { uint8_t i, j, k; bool needNoReset = false; for (i = 0U; i < CUBE_CONFIG_NUMBER_OF_LAYERS; ++i) { for (j = 0U; j < CUBE_CONFIG_NUMBER_OF_COLS; ++j) { for (k = 0U; k < CUBE_CONFIG_NUMBER_OF_ROWS; ++k) { /* spawn if there is a neighbor alive */ if ((0 == (*buf)[i][j][k]) && (((i > 0) && (EXPLOSION_LAST_INTERVAL == (*buf)[i - 1][j][k])) || ((i < 7) && (EXPLOSION_LAST_INTERVAL == (*buf)[i + 1][j][k])) || ((j > 0) && (EXPLOSION_LAST_INTERVAL == (*buf)[i][j - 1][k])) || ((j < 7) && (EXPLOSION_LAST_INTERVAL == (*buf)[i][j + 1][k])) || ((k > 0) && (EXPLOSION_LAST_INTERVAL == (*buf)[i][j][k - 1])) || ((k < 7) && (EXPLOSION_LAST_INTERVAL == (*buf)[i][j][k + 1])))) { (*buf)[i][j][k] = EXPLOSION_LAST_INTERVAL + 1; } else { /* and die */ if (0 < (*buf)[i][j][k]) { --(*buf)[i][j][k]; if (0 == (*buf)[i][j][k]) { (*buf)[i][j][k] = -1; } } } if (0 < (*buf)[i][j][k]) { needNoReset |= true; } } } } if (false == needNoReset) /* we need a reset */ { isExploded = false; x = getRandomNumber() % CUBE_CONFIG_NUMBER_OF_COLS; y = getRandomNumber() % CUBE_CONFIG_NUMBER_OF_ROWS; trigger_height = getRandomNumber() % CUBE_CONFIG_NUMBER_OF_LAYERS; x = CLIP_VAL(x, EXPLOSION_LAST_INTERVAL, CUBE_CONFIG_NUMBER_OF_COLS - EXPLOSION_LAST_INTERVAL); y = CLIP_VAL(y, EXPLOSION_LAST_INTERVAL, CUBE_CONFIG_NUMBER_OF_ROWS - EXPLOSION_LAST_INTERVAL); trigger_height = CLIP_VAL(trigger_height, EXPLOSION_LAST_INTERVAL, CUBE_CONFIG_NUMBER_OF_LAYERS - EXPLOSION_LAST_INTERVAL); z = 0; } } } }
int XeenEngine::getRandomNumber(int minNumber, int maxNumber) { return getRandomNumber(maxNumber - minNumber) + minNumber; }
static void modeMessageFast(DisplayInternalInfo& displayInternalInfo) { int boardId, i; HT1632Class& HT1632 = displayInternalInfo.ht1632; HT1632.clearAll(); const int currColorEffect = modeMessageDataColorEffect % 3; for (i=0; i < BUFFER_SECONDARY; ++i) { if (modeMessageData.blinkBlankInEffect) break; // blinkBlankInEffect in effect? If so, write no chars switch (modeMessageData.displayColor) { case displayColorGreen: boardId = 0; break; case displayColorRed: boardId = 1; break; case displayColorYellow: boardId = i; break; case displayColorAlternate: // fall thru default: boardId = currColorEffect == 2 ? i : currColorEffect; break; } HT1632.drawTarget(BUFFER_BOARD(boardId+1)); // if bouncing, make sure sure y is within range const int wantedY = modeMessageData.currYFactor / INCREMENT_Y_SCALE; const int adjustedY = modeMessageData.incrementY ? getAdjustedTextY(modeMessageData.font, wantedY) : wantedY; HT1632.drawText(modeMessageData.msg, modeMessageData.incrementX ? (OUT_SIZE - modeMessageData.currX) : modeMessageData.currX /*x*/, adjustedY /*y*/, getFontData(modeMessageData.font), getFontWidth(modeMessageData.font), getFontHeight(modeMessageData.font), getFontGlyphStep(modeMessageData.font)); if (modeMessageData.displayColor == displayColorAlternate && currColorEffect == 2) continue; if (modeMessageData.displayColor != displayColorYellow) break; } drawBackgroundMessages(displayInternalInfo); drawBackgroundImgs(displayInternalInfo); // confetti if (modeMessageData.confetti > 0) { for (boardId=0; boardId < BUFFER_SECONDARY; ++boardId) { HT1632.drawTarget(BUFFER_BOARD(boardId+1)); for (int xx = 0, yy = (int) getRandomNumber(modeMessageData.confetti); xx <= yy ; ++xx) { HT1632.setPixel( (int) getRandomNumber(OUT_SIZE), (int) getRandomNumber(COM_SIZE)); } } } HT1632.renderAll(); // text wrap if (modeMessageData.incrementX && ++modeMessageData.currX >= (modeMessageData.wd + OUT_SIZE)) { modeMessageData.currX = 0; ++modeMessageDataColorEffect; if (modeMessageData.alternateFont) { modeMessageData.font = getNextFont(modeMessageData.font); modeMessageData.wd = HT1632.getTextWidth(modeMessageData.msg, getFontWidth(modeMessageData.font), getFontHeight(modeMessageData.font)); } // repeats? if (modeMessageData.repeats != ~0) { // mode exit (1 of 2) if (--modeMessageData.repeats < 0) { modeMessageData.repeats = ~0; // avoid getting here again... if (modeMessageData.completedCallback != nullptr) { (*(modeMessageData.completedCallback))(displayInternalInfo, modeMessageData.completedCallbackParam); return; } } } } // Y (bounce effect) if (modeMessageData.incrementY != 0) { modeMessageData.currYFactor += modeMessageData.incrementY; const int maxY = COM_SIZE - getFontHeight(modeMessageData.font); if (modeMessageData.incrementY < 0 && modeMessageData.currYFactor < 0) { modeMessageData.incrementY *= -1; } else if (modeMessageData.incrementY > 0 && (modeMessageData.currYFactor >= maxY * INCREMENT_Y_SCALE)) { modeMessageData.incrementY *= -1; if (!modeMessageData.incrementX) { ++modeMessageDataColorEffect; if (modeMessageData.alternateFont) { modeMessageData.font = getNextFont(modeMessageData.font); // modeMessageData.wd = HT1632.getTextWidth(modeMessageData.msg, // getFontWidth(modeMessageData.font), // getFontHeight(modeMessageData.font)); } } } } }
int main(int argc, char** argv){ int noOfRows = 5; int noOfCols = 1000; int love = 0; if(argc > 1){ noOfCols = getNoOfColsForMB(atoi(argv[1])); } if(argc > 2){ love = atoi(argv[2]); } if(argc > 3){ noOfRows = atoi(argv[3]); } double **rows = malloc(sizeof(double*) * noOfRows); for(int c = 0; c < noOfRows; c++){ rows[c] = malloc(sizeof(double) * noOfCols); for(int d = 0; d < noOfCols; d++){ rows[c][d] = getRandomNumber(); } } struct timeval start; struct timeval stop; struct timeval difference; gettimeofday(&start, NULL); double totalSum = 0.0; int cids[2]; int ptr = 0; if(love){ cids[0] = mchain(); cids[1] = mchain(); } for(int row = 1; row < noOfRows -1; row++){ if(love){ brk_mchain(cids[ptr]); if(row > 1){ hate(rows[row - 2], noOfCols*sizeof(double)); } mlink(cids[ptr], rows[row], noOfCols*sizeof(double)); ptr += 1; ptr = ptr%2; } for(int col = 1; col < noOfCols -1; col++){ double sum = 0.0; for(int i = -1; i < 2; i++){ for(int j = -1; j < 2; j++){ sum += rows[row + i][col + j] * (1.0/9.0); } } rows[row][col] = sum; totalSum += sum; } } gettimeofday(&stop, NULL); time_difference(&difference, &stop, &start); printf("Done.\n"); printf("Time: %ds %dus\n", difference.tv_sec, difference.tv_usec); return 0; }
int main (void) { Stats players[2] = {{0, 0, 0, 0.0}, {0, 0, 0, 0.0}}; Cell playerOneGameBoard[ROWS][COLS]; Cell playerTwoGameBoard[ROWS][COLS]; Coordinate target; Coordinate targetTemp; Coordinate targetOrigin; Coordinate targetAI; WaterCraft ship[NUM_OF_SHIPS] = {{'c', 5, "Carrier"}, {'b', 4, "Battleship"}, {'r', 3, "Cruiser"}, {'s', 3, "Submarine"}, {'d', 2, "Destroyer"}}; Boolean huntMode = TRUE; Boolean targetMode = FALSE; Boolean flipper = TRUE; Boolean cardinals[4] = {TRUE, TRUE, TRUE, TRUE}; Boolean hasAShipSunked = FALSE; short sunkShip[2][NUM_OF_SHIPS] = {{5, 4, 3, 3, 2}, {5, 4, 3, 3, 2}}; short player = 0; short shot = 0; int option = 0; int north = 0, south = 0, east = 0, west = 0; int i = 0, counter = 1; char shipSymbol = '\0'; FILE *outStream = NULL; outStream = fopen (LOG_FILE_NAME, "w"); srand ((unsigned int) time (NULL)); welcomeScreen (); getchar(); system ("cls"); initializeGameBoard (playerOneGameBoard); initializeGameBoard (playerTwoGameBoard); printf ("> Please select from the following menu:\n"); printf ("> [1] Manually\n"); printf ("> [2] Randomly\n"); printf ("> Enter Option: "); scanf ("%d", &option); switch (option) { case 1: manuallyPlaceShipsOnGameBoard (playerOneGameBoard, ship); break; case 2: randomlyPlaceShipsOnGameBoard (playerOneGameBoard, ship); break; } randomlyPlaceShipsOnGameBoard (playerTwoGameBoard, ship); printf ("> Player 2 (Computer's) board has been generated.\n"); player = getRandomNumber (0, 1); printf ("> Player %d has been randomly selected to go first.\n", player + 1); getchar(); system ("cls"); while (TRUE) { fprintf (outStream, "Player %d's turn.\n", player + 1); switch (player) { case PLAYER_ONE: printf ("> Player 2's Board:\n"); printGameBoard (playerTwoGameBoard, FALSE); printf ("> PLAYER 1'S TURN\n"); do { target = getTarget (); shot = checkShot (playerTwoGameBoard, target); if (shot == -1) printf ("> Try inputting another target!\n"); } while (shot == -1); shipSymbol = playerTwoGameBoard[target.row][target.column].symbol; break; case PLAYER_TWO: printf ("> Player 1's Board:\n"); printGameBoard (playerOneGameBoard, TRUE); printf ("> COMPUTER'S TURN\n"); if (hasAShipSunked) { hasAShipSunked = FALSE; targetMode = FALSE; huntMode = TRUE; } if (targetMode) { target = targetAI; do { if (cardinals[NORTH]) { target.row = north; } else if (cardinals[SOUTH]) { target.row = south; } else if (cardinals[WEST]) { target.column = west; } else if (cardinals[EAST]) { target.column = east; } else if (!cardinals[NORTH] && !cardinals[SOUTH] && !cardinals[WEST] && !cardinals[EAST] && !hasAShipSunked) { target = targetOrigin; targetTemp = target; north = target.row - counter; targetTemp.row = north; if (checkShot (playerOneGameBoard, targetTemp) != -1 && north >= 0) { cardinals[NORTH] = TRUE; } targetTemp = target; south = target.row + counter; targetTemp.row = south; if (checkShot (playerOneGameBoard, targetTemp) != -1 && south <= 9) { cardinals[SOUTH] = TRUE; } targetTemp = target; west = target.column - counter; targetTemp.column = west; if (checkShot (playerOneGameBoard, targetTemp) != -1 && west >= 0) { cardinals[WEST] = TRUE; } targetTemp = target; east = target.column + counter; targetTemp.column = east; if (checkShot (playerOneGameBoard, targetTemp) != -1 && east <= 9) { cardinals[EAST] = TRUE; } counter++; } else { targetMode = FALSE; huntMode = TRUE; break; } shot = checkShot (playerOneGameBoard, target); } while (shot == -1 && targetMode == TRUE); if (shot == 1 && huntMode == FALSE) { for (i = 0; i < 4; i++) { if (flipper == FALSE) cardinals[i] = FALSE; if (cardinals[i] == flipper) flipper = FALSE; } } else { for (i = 0; i < 4; i++) { if (flipper == TRUE && cardinals[i] != FALSE) { cardinals[i] = FALSE; break; } } } flipper = TRUE; } if (huntMode) { counter = 1; flipper = TRUE; for (i = 0; i < 4; i++) cardinals[i] = TRUE; do { target.row = getRandomNumber (0, 9); target.column = getRandomNumber (0, 9); shot = checkShot (playerOneGameBoard, target); } while (shot == -1); if (shot == 1) targetOrigin = target; } if (shot == 1) { if (!cardinals[NORTH] && !cardinals[SOUTH] && !cardinals[WEST] && !cardinals[EAST] && !hasAShipSunked) { target = targetOrigin; } huntMode = FALSE; targetMode = TRUE; targetAI = target; if (cardinals[NORTH] == TRUE) { /* NORTH */ north = (targetAI.row - 1); checkBoundsOfCardinal (cardinals, north, NORTH); targetTemp = target; targetTemp.row = north; if (checkShot (playerOneGameBoard, targetTemp) == -1) cardinals[NORTH] = FALSE; } if (cardinals[SOUTH] == TRUE) { /* SOUTH */ south = targetAI.row + 1; checkBoundsOfCardinal (cardinals, south, SOUTH); targetTemp = target; targetTemp.row = south; if (checkShot (playerOneGameBoard, targetTemp) == -1) cardinals[SOUTH] = FALSE; } if (cardinals[WEST] == TRUE) { /* WEST */ west = targetAI.column - 1; checkBoundsOfCardinal (cardinals, west, WEST); targetTemp = target; targetTemp.column = west; if (checkShot (playerOneGameBoard, targetTemp) == -1) cardinals[WEST] = FALSE; } if (cardinals[EAST] == TRUE) { /* EAST */ east = targetAI.column + 1; checkBoundsOfCardinal (cardinals, east, EAST); targetTemp = target; targetTemp.column = east; if (checkShot (playerOneGameBoard, targetTemp) == -1) cardinals[EAST] = FALSE; } } shipSymbol = playerOneGameBoard[target.row][target.column].symbol; break; } if (shot == 1) { printf ("> %d, %d is a hit!\n", target.row, target.column); fprintf (outStream, "%d, %d is a hit!\n", target.row, target.column); players[player].numHits++; if (player == 1) hasAShipSunked = checkSunkShip (sunkShip, !player, shipSymbol, outStream); else checkSunkShip (sunkShip, !player, shipSymbol, outStream); } else { printf ("> %d, %d is a miss!\n", target.row, target.column); fprintf (outStream, "%d, %d is a miss!\n", target.row, target.column); players[player].numMisses++; } if (player == 0) updateGameBoard (playerTwoGameBoard, target); else updateGameBoard (playerOneGameBoard, target); if (isWinner (players, player)) { printf ("\n> Player %d wins!\n", player + 1); fprintf (outStream, "\n>>>>> Player %d wins! <<<<<\n", player + 1); break; } getchar(); player = !player; system ("cls"); } players[0].totalShots = players[0].numHits + players[0].numMisses; players[0].hitMissRatio = ((double) players[0].numHits/(double) players[0].numMisses) * 100; players[1].totalShots = players[1].numHits + players[1].numMisses; players[1].hitMissRatio = ((double) players[1].numHits/(double) players[1].numMisses) * 100; fprintf (outStream, "+===================================================\n"); fprintf (outStream, "| PLAYER STATS \n"); fprintf (outStream, "+---------------------------------------------------\n"); fprintf (outStream, "| PLAYER 1 : %d hits \n", players[0].numHits); fprintf (outStream, "| %d misses \n", players[0].numMisses); fprintf (outStream, "| %d total shots \n", players[0].totalShots); fprintf (outStream, "| %.2lf%% hit/miss ratio \n", players[0].hitMissRatio); fprintf (outStream, "| PLAYER 2 : %d hits \n", players[1].numHits); fprintf (outStream, "| %d misses \n", players[1].numMisses); fprintf (outStream, "| %d total shots \n", players[1].totalShots); fprintf (outStream, "| %.2lf%% hit/miss ratio \n", players[1].hitMissRatio); fprintf (outStream, "+==================================================="); fclose (outStream); return 0; }
static void rain_renderingFunction(cubeFrameBuf *buf) { uint32_t randomNr = getRandomNumber(); uint8_t x, y; uint8_t choice = randomNr % MAX_NUM_DROPLETS; static systemTime_t lastUpdateTime = 0U; static systemTime_t lastSpawnTime = 0U; systemTime_t curTime = getSystemTimeUS(); memset(buf, 0, sizeof(*buf)); if (0 == lastUpdateTime) { lastUpdateTime = getSystemTimeUS(); lastSpawnTime = lastUpdateTime; } if (lastUpdateTime + DROPLET_FALL_INTERVALL_US < curTime) { lastUpdateTime = curTime; /* let the rain fall! */ for (x = 0U; x < MAX_NUM_DROPLETS; ++x) { if (0xff != g_dropletPositions[x]) { g_dropletPositions[x] -= 1; } } } if (lastSpawnTime + DROPLET_SPAWN_INTERVAL_US < curTime) { lastSpawnTime = curTime; if (0xff == g_dropletPositions[choice]) /* this one can be spawned */ { g_dropletPositions[choice] = CUBE_CONFIG_NUMBER_OF_LAYERS - 1; } } for (x = 0U; x < CUBE_CONFIG_NUMBER_OF_COLS; ++x) { for (y = 0U; y < CUBE_CONFIG_NUMBER_OF_ROWS; ++y) { const uint8_t dropletNr = x * CUBE_CONFIG_NUMBER_OF_ROWS + y; if (0xff != g_dropletPositions[dropletNr]) { uint8_t j; for (j = 0U; j < DROPLET_HEIGHT; ++j) { if (g_dropletPositions[dropletNr] + j < CUBE_CONFIG_NUMBER_OF_LAYERS) { (*buf)[g_dropletPositions[dropletNr] + j][x][y] = 1; } } } } } }
bool CUpLighter::ChangeSeasonMsg(CChangeSeasonMsg *msg) { _isSpring = msg->_season == "Spring"; if (_isSpring) addTimer(5000 + getRandomNumber(15000), 0); return true; }
bool CBilgeSuccUBus::MovieEndMsg(CMovieEndMsg *msg) { CPetControl *pet = getPetControl(); if (msg->_endFrame == _trayOutEndFrame) { if (_offStartFrame >= 0) playSound("z#27.wav"); } else if (msg->_endFrame == _offEndFrame) { if (_endingStartFrame >= 0) playSound("z#30.wav"); } else { if (msg->_endFrame == _onEndFrame && pet) { if (_style) { startTalking(this, getRandomNumber(1) ? 230062 : 230063); } else if (!findMail(pet->getRoomFlags())) { switch (getRandomNumber(4)) { case 0: startTalking(this, 230001); break; case 1: startTalking(this, 230002); break; case 2: startTalking(this, 230003); break; default: break; } } } else if (msg->_endFrame == _sendEndFrame) { switch (_sendAction) { case SA_EATEN: stopSound(_soundHandle, 1); _soundHandle = playSound("z#3.wav", 1); break; case SA_BILGE_FEATHERS: stopSound(_soundHandle); _soundHandle = playSound("z#12.wav"); break; case SA_BILGE_SENT: if (_isChicken) { startTalking(this, 230018); _isChicken = false; } else { startTalking(this, 230013); } break; case SA_BILGE_EATEN: startTalking(this, 230017); break; default: break; } CSUBTransition transMsg; transMsg.execute(this); } else if (msg->_endFrame == _receiveEndFrame) { if (_mailP) { _mailP->petAddToInventory(); CVisibleMsg visibleMsg(true); visibleMsg.execute(_mailP); _mailP = nullptr; petSetArea(PET_INVENTORY); CSUBTransition transMsg; transMsg.execute(this); } } else if (msg->_endFrame == _sneezing1EndFrame) { playSound("z#25.wav", 70); playSound("z#24.wav", 70); } else if (msg->_endFrame == _sneezing2EndFrame) { changeView("BilgeRoomWith.Node 1.N", ""); _style = false; resetMail(); if (_mailP) { _mailP->petAddToInventory(); CVisibleMsg visibleMsg(true); visibleMsg.execute(_mailP); _mailP = nullptr; petSetArea(PET_INVENTORY); } startTalking(this, 150); CBodyInBilgeRoomMsg bodyMsg; bodyMsg.execute("Service Elevator Entity"); decTransitions(); _sendAction = SA_SENT; } else { _sendAction = SA_SENT; } } return true; }