Search Results

Search found 12935 results on 518 pages for 'non recursive'.

Page 139/518 | < Previous Page | 135 136 137 138 139 140 141 142 143 144 145 146  | Next Page >

  • Optimising movement on hex grid

    - by Mloren
    I am making a turn based hex-grid game. The player selects units and moves them across the hex grid. Each tile in the grid is of a particular terrain type (eg desert, hills, mountains, etc) and each unit type has different abilities when it comes to moving over the terrain (e.g. some can move over mountains easily, some with difficulty and some not at all). Each unit has a movement value and each tile takes a certain amount of movement based on its terrain type and the unit type. E.g it costs a tank 1 to move over desert, 4 over swamp and cant move at all over mountains. Where as a flying unit moves over everything at a cost of 1. The issue I have is that when a unit is selected, I want to highlight an area around it showing where it can move, this means working out all the possible paths through the surrounding hexes, how much movement each path will take and lighting up the tiles based on that information. I got this working with a recursive function and found it took too long to calculate, I moved the function into a thread so that it didn't block the game but still it takes around 2 seconds for the thread to calculate the moveable area for a unit with a move of 8. Its over a million recursions which obviously is problematic. I'm wondering if anyone has an clever ideas on how I can optimize this problem. Here's the recursive function I'm currently using (its C# btw): private void CalcMoveGridRecursive(int nCenterIndex, int nMoveRemaining) { //List of the 6 tiles adjacent to the center tile int[] anAdjacentTiles = m_ThreadData.m_aHexData[nCenterIndex].m_anAdjacentTiles; foreach(int tileIndex in anAdjacentTiles) { //make sure this adjacent tile exists if(tileIndex == -1) continue; //How much would it cost the unit to move onto this adjacent tile int nMoveCost = m_ThreadData.m_anTerrainMoveCost[(int)m_ThreadData.m_aHexData[tileIndex].m_eTileType]; if(nMoveCost != -1 && nMoveCost <= nMoveRemaining) { //Make sure the adjacent tile isnt already in our list. if(!m_ThreadData.m_lPassableTiles.Contains(tileIndex)) m_ThreadData.m_lPassableTiles.Add(tileIndex); //Now check the 6 tiles surrounding the adjacent tile we just checked (it becomes the new center). CalcMoveGridRecursive(tileIndex, nMoveRemaining - nMoveCost); } } } At the end of the recursion, m_lPassableTiles contains a list of the indexes of all the tiles that the unit can possibly reach and they are made to glow. This all works, it just takes too long. Does anyone know a better approach to this?

    Read the article

  • Oracle - Is there any effects of not having a primary key on a table ?

    - by Sathya
    We use sequence numbers for primary keys on the tables. There are some tables where we dont really use the primary key for any querying purpose. But, we have Indexes on other columns. These are non-unique indexes. The queries use these non-primary key columns in the WHERE conditions. So, I dont really see any benefit of having a primary key on such tables. My experience with SQL 2000 was that, it used to replicate tables which had some primary key. Otherwise it would not. I am using Oracle 10gR2. I would like to know if there are any such side-effects of having tables that dont have primary key.

    Read the article

  • PHP: Condense array of similar strings into one merged array

    - by Matt Andrews
    Hi everyone. Working with an array of dates (opening times for a business). I want to condense them to their briefest possible form. So far, I started out with this structure Array ( [Mon] => 12noon-2:45pm, 5:30pm-10:30pm [Tue] => 12noon-2:45pm, 5:30pm-10:30pm [Wed] => 12noon-2:45pm, 5:30pm-10:30pm [Thu] => 12noon-2:45pm, 5:30pm-10:30pm [Fri] => 12noon-2:45pm, 5:30pm-10:30pm [Sat] => 12noon-11pm [Sun] => 12noon-9:30pm ) What I want to achieve is this: Array ( [Mon-Fri] => 12noon-2:45pm, 5:30pm-10:30pm [Sat] => 12noon-11pm [Sun] => 12noon-9:30pm ) I've tried writing a recursive function and have managed to output this so far: Array ( [Mon-Fri] => 12noon-2:45pm, 5:30pm-10:30pm [Tue-Fri] => 12noon-2:45pm, 5:30pm-10:30pm [Wed-Fri] => 12noon-2:45pm, 5:30pm-10:30pm [Thu-Fri] => 12noon-2:45pm, 5:30pm-10:30pm [Sat] => 12noon-11pm [Sun] => 12noon-9:30pm ) Can anybody see a simple way of comparing the values and combining the keys where they're similar? My recursive function is basically two nested foreach() loops - not very elegant. Thanks, Matt EDIT: Here's my code so far, which produces the 3rd array above (from the first one as input): $last_time = array('t' => '', 'd' => ''); // blank array for looping $i = 0; foreach($final_times as $day=>$time) { if($last_time['t'] != $time ) { // it's a new time if($i != 0) { $print_times[] = $day . ' ' . $time; } // only print if it's not the first, otherwise we get two mondays } else { // this day has the same time as last time $end_day = $day; foreach($final_times as $day2=>$time2) { if($time == $time2) { $end_day = $day2; } } $print_times[] = $last_time['d'] . '-' . $end_day . ' ' . $time; } $last_time = array('t' => $time, 'd' => $day); $i++; }

    Read the article

  • More efficient method for grabbing all child units

    - by Hazior
    I have a table in SQL that links to itself through parentID. I want to find the children and their children and so forth until I find all the child objects. I have a recursive function that does this but it seems very ineffective. Is there a way to get sql to find all child objects? If so how?

    Read the article

  • NSFormatter problem: not getting called for the empty string

    - by Enchilada
    I have created a custom formatter for my (read-only) table column. It looks like this: - (NSString *)stringForObjectValue:(id)anObject { NSAssert([anObject isKindOfClass:[NSString class]] && anObject != nil, @"invalid object"); if ([anObject isEqualToString:@""]) return @"EMPTY"; else return [anObject stringByAppendingString:@"++"]; } Very simple. The corresponding objects are just strings, so it's an string-to-string formatter. All non-empty string objects are returned with @"++" appended to them. Empty string objects should be turned into the @"EMPTY" string. The @"++" gets appended to non-empty strings just fine. The problem is, @"EMPTY" never gets shown! My formatter is never called by Cocoa when the underlying object is the empty string. The corresponding row just keeps being empty, instead of showing my requested @"EMPTY". Any ideas?

    Read the article

  • Finding partial substrings within a string

    - by Peter Chang
    I have two strings which must be compared for similarity. The algorithm must be designed to find the maximal similarity. In this instance, the ordering matters, but intervening (or missing) characters do not. Edit distance cannot be used in this case for various reasons. The situation is basically as follows: string 1: ABCDEFG string 2: AFENBCDGRDLFG the resulting algorithm would find the substrings A, BCD, FG I currently have a recursive solution, but because this must be run on massive amounts of data, any improvements would be greatly appreciated

    Read the article

  • A simple way (in java) to remove headers from xml files

    - by Andersson Melo
    I need remove non-xml tags from file generated by another program. The file is some like this: Executing Command - Blah.exe ... -----Command Output----- HTTP/1.1 200 OK Connection: close Content-Type: text/xml <?xml version="1.0"?> <testResults> <right>7</right> <wrong>4</wrong> <ignores>0</ignores> <exceptions>0</exceptions> </finalCounts> </testResults> Exit-Code: 15 How to remove the non-xml text easily in java?

    Read the article

  • jQuery Validation Engine with Mime

    - by Diego Pucci
    I have this custom rule with tje jQuery validation Engine: "validateMIME": { "func": function(field, rules, i, options){ var fileInput = field[0].files[0]; var MimeFilter = new RegExp(rules[3],'i'); if (fileInput) { return MimeFilter.test(fileInput.type); } else { return true;} }, "alertText": "* Estensione non supportata" }, The problem is that this is working ONLY if the field is required. But in my case the field is not required, but if filled then the Mime type needs to be checked. How do I edit this function to work with non required fields? what's wrong with it? Thanks

    Read the article

  • graph algorithms on GPU

    - by scatman
    the current GPU threads are somehow limited (memory limit, limit of data structures, no recursion...). do you think it would be feasible to implement a graph theory problem on GPU. for example vertex cover? dominating set? independent set? max clique?.... is it also feasible to have branch-and-bound algorithms on GPUs? Recursive backtracking?

    Read the article

  • Does margin-left:2px; render faster than margin:0 0 0 2px;?

    - by Christopher Altman
    Douglas Crockford describes the consequence of Javascript inquiring a node's style. How simply asking for the margin of a div causes the browser to 'reflow' the div in the browser's rendering engine four times. So that made me wonder, during the initial rendering of a page (or in Crockford's jargon a "web scroll") is it faster to write CSS that defines only the non-zero/non-default values? To provide an example: div{ margin-left:2px; } Than div{ margin:0 0 0 2px; } I know consequence of this 'savings' is insignificant, but I think it is still important to understand how the technologies are implemented. Also, this is not a question about formatting CSS--this is a question about the implementations of browsers rendering CSS. Reference: http://developer.yahoo.com/yui/theater/video.php?v=crockonjs-4

    Read the article

  • Suppressing the language select button iPhone

    - by AWinter
    I'm working on an application now that contains an account register section. One field with secureTextEntry = NO (for registering only). The idea is this make registration faster and hopefully increases the number of signups. It's simple enough for me to just place a regular UITextField but if the user has any additional language keyboards then it's possible for the user to enter non-password friendly characters. Unlike in when secureTextEntry = YES. I know I can do textField.keyboardType = UIKeyboardTypeASCIICapable to get the text field to display the ASCII keyboard first, but the user will still have the keyboard switch button which will allow them to get to undesirable characters. Is there a simple method for suppressing the international button or forcing ASCII only keyboard with no international button? [EDIT] Another perhaps better option might be to suppress multi byte keyboards or even to display the text in the case that secureTextEntry = YES any ideas here? [EDIT AGAIN] I've decided it's a really bad idea to suppress the international button as non-multibyte characters should all be allowed.

    Read the article

  • Sanitize a string from ascii art

    - by Toto
    I need to sanitize article titles when (creative) users try to "attract attention" with some bad "ascii art". Exemples: Buy my product !!!!!!!!!!!!!!!!!!!!!!!! Buy my product !? !? !? !? !? !? Buy my product !!!!!!!!!.......!!!!!!!! Buy my product <----------- Some acceptable solution would be to reduce the repetition of non-alphanum to 2. So I would get: Buy my product !! Buy my product !? !? Buy my product !!..!! Buy my product <-- This solution did not work that well: preg_replace('/(\W{2,})(?=\1+)/', '', $title) Any idea how to do it in PHP with regex? Other better solution is also welcomed (I cannot strip all the non-alphanum characters as they can make sense).

    Read the article

  • What's the proper technical term for "high ascii" characters?

    - by moodforaday
    What is the technically correct way of referring to "high ascii" or "extended ascii" characters? I don't just mean the range of 128-255, but any character beyond the 0-127 scope. Often they're called diacritics, accented letters, sometimes casually referred to as "national" or non-English characters, but these names are either imprecise or they cover only a subset of the possible characters. What correct, precise term that will programmers immediately recognize? And what would be the best English term to use when speaking to a non-technical audience?

    Read the article

  • SQL Server 2008 BULK INSERT causes more reads than writes. Why?

    - by sh1ng
    I've huge a table (a few billion rows) with a clustered index and two non-clustered indices. A BULK INSERT operation produces 112000 reads and only 383 writes (duration 19948ms). It's very confusing to me. Why do reads exceed writes? How can I reduce it? update query insert bulk DenormalizedPrice4 ([DP_ID] BigInt, [DP_CountryID] Int, [DP_OperatorID] SmallInt, [DP_OperatorPriceID] BigInt, [DP_SpoID] Int, [DP_TourTypeID] Int, [DP_CheckinDate] Date, [DP_CurrencyID] SmallInt, [DP_Cost] Decimal(9,2), [DP_FirstCityID] Int, [DP_FirstHotelID] Int, [DP_FirstBuildingID] Int, [DP_FirstHotelGlobalStarID] Int, [DP_FirstHotelGlobalMealID] Int, [DP_FirstHotelAccommodationTypeID] Int, [DP_FirstHotelRoomCategoryID] Int, [DP_FirstHotelRoomTypeID] Int, [DP_Days] TinyInt, [DP_Nights] TinyInt, [DP_ChildrenCount] TinyInt, [DP_AdultsCount] TinyInt, [DP_TariffID] Int, [DP_DepartureCityID] Int, [DP_DateCreated] SmallDateTime, [DP_DateDenormalized] SmallDateTime, [DP_IsHide] Bit, [DP_FirstHotelAccommodationID] Int) with (CHECK_CONSTRAINTS) No triggers & foreign keys Cluster Index by DP_ID and two non-unique indexes(with fillfactor=90%) And one more thing DB stored on RAID50 with stripe size 256K

    Read the article

  • Linux standard input issue

    - by George2
    Hello everyone, I am new to Linux. And I am using Red Hat Enterprise Version 5. There is a ruby program which use standard input as its input (e.g. the Ruby program process input from standard input). I think standard input should be keyboard, correct? So, I think other kinds of input (non-standard input) should not work (i.e. the ruby program should not be able to read input from such non-standard input), but actually I have tried using pipe works, I am so confused because I think pipe should be some other kinds of input -- other than standard input, why it could work? i.e. put text "123" in abc.txt with pipe, could achieve the same result as using keyboard as input to type "123" for the ruby program. Here is the sample which works and makes me confused, cat abc.txt | ~/test/rubysrc/foo.rb thanks in advance, George

    Read the article

  • Should I use Perl or PHP or something else for this project?

    - by Clinton
    I'm about to embark on a project that will need to: Process XML Heavy text parsing of non-xml documents Insertion of data from xml and non-xml documents into a relational DB. Present processed data to user from db using webpages. The website will be subject to short periods of very heavy loads to pages (300+ visitors a minute for several minutes), but most of the time will be idle (a dozen or so visitors a minute). The ability to cache or scale to load will be very nice. I have a very strong background in Java and web services, but I do not want to use Java for this project as I'd like to diversify my skill set. Which language would you recommend and what are some pros and cons that you might recognize from your own experiences?

    Read the article

  • BDD / TDD with JSpec - Removing code duplication

    - by Chetan
    How do I refactor to remove the code duplication in this spec: describe 'TestPlugins' describe '.MovieScanner(document)' before_each MoviePage_loggedIn = fixture("movie_logged_in.html") // Get logged-in movie page MoviePage_notloggedIn = fixture("movie_not_logged_in.html") // Get non logged-in movie page scanner = new MovieScanner() // Get movie scanner end it 'should scan logged-in movie page for movie data' doc = MoviePage_loggedIn // Get document to scan // Unit Tests // ------------------------------------------------------------ // Test movie scanner's functions scanner.getMovieTitle(doc).should.eql "The Jacket" scanner.getMovieYear(doc).should.eql "2005" // Test movie scanner's main scan function scannedData = scanner.scan(doc) scannedData.title.should.eql "The Jacket" scannedData.year.should.eql "2005" end it 'should scan non logged-in movie page for movie data' doc = MoviePage_notloggedIn // Get document to scan // Unit Tests // ------------------------------------------------------------ // Test movie scanner's functions scanner.getMovieTitle(doc).should.eql "The Jacket" scanner.getMovieYear(doc).should.eql "2005" // Test movie scanner's main scan function scannedData = scanner.scan(doc) scannedData.title.should.eql "The Jacket" scannedData.year.should.eql "2005" end end end

    Read the article

< Previous Page | 135 136 137 138 139 140 141 142 143 144 145 146  | Next Page >