Jump to content
php.lv forumi

_siikais_

Reģistrētie lietotāji
  • Posts

    55
  • Joined

  • Last visited

Everything posted by _siikais_

  1. paldies par ieteikumu, bet izmantošu savu kodu :) tas tā starp citu bet patīkami redzēt ka mana funkcija strādā ~13x ātrāk nekā ariģinālā ar eregi.
  2. nu jā man ir svarīgi kāda orientācija mazajam laukumam ;)
  3. marrtins manā piemērā 2 ir width nevis height.
  4. kods darbojas, tieši tā kā tam ir jāstrādā, vnk paskaidroju kāpēc ir tāds $string mainīgais un kāpēc neizvada slotu (ja nu kādam ienāktu prāta testēt ar esošajiem mainīgajirem). Ja pirm divām 0 to prieksā viņam vieninieku aizstāsi ar 0, tad iegūsi slota izvadi. ;)
  5. kods http://paste.php.lv/c3da42addae07aa30b2e7eacac807386?lang=php esošo $string virkni neizvadīs slotu, jo divas pēc kārtas esošās nulles ir katra savā līnijā.
  6. Paldies par padomiem, bet noīstenoju pa savam: 1) viss saturs lielā garā virknē ar 1 un 0; 2) cheko pēc kārtas katru pozīciju un substringso konkrēti vajadzīgo garumu attiecīgi tik daudz līnijās cik ir augstums, līdz ar to ja izgriestais strings ir visas 0 tad konkrētajā slotā var ievietot ;) 2 for cikli, 3 ifi un substring, tagad tik atliek uztaisīt pašas eksistējošo mantu string virkni un smartsearch gatavs :)
  7. njā my bad, testēšu tālāk ;)
  8. daGrevis patterns var atšķirties garumā un izskatā, jo viņš tiek ģenerēts atkarībā no esošo kvadrātu/laukumu izvietojumam marrtins tas ir mēģinājums priekš klienta reanimēt spēles scriptu kas meklē vietu iekš bankas jaunu mantu. p.s. tūlīt patestēšu tavu piemēru. p.s.s. īsti tomēr kkas ņepašet, $tofind="2x2", viņš parāda row=3, col=2, bet ja izmantojam in.txt datus tad vajadzētu būt row=0, col=3 ne ta?
  9. ir laukums no 120 kvadrātiem dimensijā 8x16 (kolonas x rindas). viņš var būt aizpildīts ar kvadrātiem dažādās dimensijās 1x1, 1x2, 2x2, 2x4, u.t.t. Pārbaudot eksistējošu kvadrātu atrašanās vietas un pozīcijas, vajag atrast brīvu vietu piemēram laukam 1x4. tā nu viņš saģenerē skatoties pēc aizpildījumiem eregi patternu un meklējamo stringu, un ja sakrīt tad izdod pozīciju kurā mēs varam ievietot jauno bloku. Var jau būt ka ir kāds tiešām super racionālāks veids kā to īstenot, tad nu lūgtum hintus studijā ;)
  10. tātad mēģinu ar eregi pārbaudīt stringu: eregi('^0+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+0+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+0+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+0', '0111001101110000000100000') un protams dabūnu atbilstību, bet par cik eregi ir deprecated, mēģinu to pārveidot uz preg_match preg_match('/^0+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+0+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+0+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+[0-1]+0/i', '0111001101110000000100000') bet kā par nelaimi viņš sūta dillēs. Kur un kas tieši būtu jāpalabo lai šī nezvēru rinda izpildītos un dabūtu atbilstību? Paldies. ;)
  11. _siikais_

    C++ Rand

    paldies par centieniem paliidzeet atrisinaaju ar codez padomu. Working like a charm. ;) int Functions::RandomNumGen(int NumberCount) { int Numbers[] = {1, 2, 4, 8, 16, 32}; int NumberSumm=0; std::random_shuffle(Numbers, Numbers + 6); for(int n=0;n < NumberCount;n++) { NumberSumm=NumberSumm+Numbers[n]; } return NumberSumm; } TC
  12. _siikais_

    C++ Rand

    neesmu super c++ koderis, varbut vareetu iedot kaadu examplu, jo ja saakshu stradaat ar masiiviem un ieraxtiit masiivaa + saliidzinaat, tas noziime eka naaksies izmantot while ciklu nevis for? veelreiz saku neesmu ljoti advanceets ieksh c++. ;) p.s. paspeeji jau noeditot. meegjinaashu tavu variantu realizeet, atrakstiishos ar rezulaatu
  13. _siikais_

    C++ Rand

    Taatad ir skaitlji 1,2,4,8,16,32. respektiivi skaitlju virkne. Taatad uztaisiiju veelamo funkcija int RandomNumGen(int NumberCount) { int RandomNumber; int SumNumber; int NumberSumm=0; for(int n=0;n < NumberCount;n++) { srand(static_cast<int>(time(NULL))); RandomNumber= (rand()%6+1); switch ( RandomNumber) { case 1 : SumNumber = 1; break; case 2 : SumNumber = 2; break; case 3 : SumNumber = 4; break; case 4 : SumNumber = 8; break; case 5 : SumNumber = 16; break; case 6 : SumNumber = 32; break; } NumberSumm=NumberSumm+SumNumber; } return NumberSumm; } bet probleema ir taa, kaa likt atkaartoti neizveeleeties to skaitli ko ieprieksh jau ir izveeleejies? Piemeeram es padodu funkcijai veertiibu 3 count=RandomNumGen(3); un vinjsh man coutn atgriezh 35 kas buus 32 un 2, un 1 summas - tas ir ok un parezi. Bet nedriikst buut piemeeram 36 kas sastaadiitu 32 un 2, un veelreiz 2 summu - tas ir nepareizi. Nedriikst buut atkaartots skaitaamais skaitlis. Paldies jau ieprieksh ;)
  14. pirms header nedriikst buut nekaadi outputi
  15. jaa, bet pagaidaam citu variantu neredzu :D
  16. caur get iedodu mainiigo character un logfail peectam attieicigi ieksh loga mekle eto vietu kur ir [$character]AI[
  17. vieglaak buus caur url iebarot tulkstots reizes charname un log :D ja nu kaadam ir veel labaaks risinaajums uzklausiishu. tikmeer turpinu caur url barot no 1000 ieraxtiem esmu 200 paveicis
  18. tur jau tas jokas ka nav zinaama preciiza atrashanaas vieta un taapeec jaaielaadee viss fails jo ja uztasiiis split tad tikpat labi intereseejoshaas log liinijas buus viena sadaliita aloga beigaas un naakoshaa loga sakaumaa...
  19. nu ar fopen un fgets kaut vienu failu vinjsh apstradaa veselu muuzhiibu... kameer iet runa par viena faila apstradei ar manuaali izmainiitu char un logname tikmeer viss ir kaartiibaa un bez array nevar iztikt jo vajag logu lasiit no beigaam, vai arii ir kaadam kaads cits labaaks risinaajums loga nolasiishanai no beigaam. respektivii veelamais ko gribu panaakt ir lasot logu no beigaam atrast noteiktas peedeejaas liinijas kas satur mekleejamo string un apstradaat
  20. Taatad probleema nakaoshaa! scripta dalja $fails = './ibase.txt'; $masivs = file($fails); foreach ($masivs as $k => $data) { //foreach itemu masiivs list($type,$id,$name)=sscanf($data, "%d %d %s"); $itemas[$name]=array ('type'=>$type,'id'=>$id); } $fails = './characters.txt'; $masivs = file($fails); foreach ($masivs as $k => $data) { //foreach char masiivs list($logname,$char)=sscanf($data, "%s %s"); $fails = './LOG/'.$logname.'.log'; $masivs = file($fails); } probleema ir tajaa ka foreach char masiivs iziet pirmo rinjkji un izdara savus darbus, bet tikliidz vinjam jaakjeras klaat nakaoshajam char vinjsh izmet Fatal error: Out of memory pie log ielasiishanas limitu memory_limit esmu mainiijis no 1024M liid zpat 10024M un arii ar -1 nav atshkjiriibas visu laiku met fatal eror out of memory (mainiiju ar visiem 3 veidiem un bez rezultaata) uzliku eaccelerator tad izdevaas vismaz 3 character apstradaat log failu izmeers ir no 100MB liidz pat 800MB. ar unset($masivs) un $masivs=array() pirms jauna log faila nolasiishanas nepaliidz. Paldies jau ieprieksh.
  21. paguleetas 5h sha choleesim ko vakar esmu palaidis garaam. p.s. editoshu postu ar rezultaatu p.s.s. shancee, nesaprotu kaapeec vakar negaaja ty un Topic Lock
  22. tag1, tag2 un tag3 ar echo izvad aveertiibas, bet tag 4 un talaakie vairs neizvada neko ar echo paliidizibu
  23. taatad ir rindinja kuru vajag nolasiit ar sscanf 16:37:10 [user][char]AI[107,Manta ar atstarpem,0,0,0,1]serial:[31574236] dur:[65] Ex:[0,0,1,0,0,0,0] Set[0] 380:[0] HO:[0,0] bet ar shaadu format vinjsh nelasa kaa gribeetos list($tag1,$tag2,$tag3,$tag4,$tag5,$tag6,$tag7,$tag8,$tag9,$tag10)=sscanf($rinda, "%s [%s][%s]AI[%s]serial:[%s] dur:[%s] Ex:[%s] Set[%s] 380:[%s] HO:[%s]"); varbuut kaads var ieposteet pareizu format lai visas veertiibas kas ir [] iekavaas panjem kaa mainiigo paldies jau ieprieksh ;)
  24. nu es testeeju visiem ar echo nevis uzreiz pa tieshu insert ieksh db, un vinjsh tikai vienu receptes sastaavdalju izvada... kautgan sastaavdaljas ir 2 <sastavdalja id="1864" daudzums="4" /> <sastavdalja id="1869" daudzums="2" /> ups par maz miega... :) nepareizu mainiigo sastaavdaljai iedevu...
  25. bubu paldies tev, visaa visumaa skripts stradaa, vieniigi paaris siikumi else if ($k == "sastavdalja") { $sastavdaljasid = $v["id"]; $sastavdaljasdaudzums = $v["daudzums"]; mysql_query("INSERT INTO sastavdaljas VALUES ($id, sastavdaljasid, $astavdaljasdaudzums)"); } shii dalja panjem tikai vienu sastaavdalju un taalaak neko neizvada, kaut gan sastavdaljas ir vairakas. kaa arii if (strpos($k, "mainiigais") === 0) { $mainiigais = substr($k, strlen("mainiigais")); } iznjemeu aaraa, jo tajaa vietaa kur noraada mainiigais var buut dajebkas piemeeram <suns/> vai <kakjis/> vai <pele/>. tur nau konstants mainiigais...
×
×
  • Create New...