zapiski pz

03 kwietnia, 2007

Algrytm na życie :)

Napisane w: Ogólne (1)

Wersja 0.1

$dziewczyny = ludzie::szukaj('plec = \'female\'');
foreach($dziewczyny as $dziewczyna) {
 if ($ja->sprawdz( $dziewczyna )) {
  $ja->zakochaj_sie( $dziewczyna );
  break;
 }
}

Wersja 0.2 (pomógł dunDer)

$dziewczyny = ludzie::szukaj('plec = \'female\'');
foreach($dziewczyny as $dziewczyna) {
 if ($ja->sprawdz_kryteria( $dziewczyna )) {

  // jesli ma chlopaka...
  if ( $dziewczyna->chlopak ) { 
   try { $ja->wyeliminuj( $dziewczyna->chlopak ); } // .. to probujemy pozbyc się jej chłopaka
    catch (Exception $e) { continue; } // jesli sie nie uda, to szukamy następnej...
  }
 
  // probojemy sie zakochac
  try { 
   $ja->zakochaj_sie( $dziewczyna );
   $ja->dziewcznyna = & $dziewczna;  // przypisanie obiektu :)

   if (defined('SLUB') && $ja->chce_slubu && $ja->dziewczyna->chce_slubu) {
    $ja->slub($ja->$dziewczyna);
    $ja->dziewczyna->slub($ja);
   } 

  } catch (NieszczesliwaMilosc $e) {
   // sprawdzamy kod bledu:
    switch ($e->getCode) {
     case 2: $ja->przerwa(14*24*3600); break; // robimy sobie przerwe na 2 tygodnie
     /* ... */   // lista innych przypadkow
     case 404: $ja->kill(); break; // w ostatecznosci... zabijamy sie ;)
    default: continue;
   } // eof try{}

   if ($ja->szczesliwy && $ja->dziewczyna->szczesliwa) { 
    break; // nie szukamy dalej :D 
   } else {
     // a jesli nie...
     $ja->dziewczyna = null;
     continue; // szukamy następnej...
   }

  }

  
  break; // nie szukamy dalej :D
 }
}

Komentarze do wpisu "Algrytm na życie :)":

1 | dunDer

04 kwietnia 2007, 00:09:41

hmm a co jesli warunek sprawdzi sie dla dziewczyny>1 albo dziewczyny<1? - ja bym wykluczyl takie mozliwosci w kodzie :P

2 | zajc

04 kwietnia 2007, 00:12:17

Ja jako obiekt mam w sobie funkcję sprawdź, która jako argument przyjmuje dziewczynę i zwraca po prostu wynik - tak, albo nie. Potem już kolejna funkcja, a raczej procedura 'zakochaj_sie'. 'break' jest po to, zeby nie szukac juz nastepnej jak jest jedna.

Napisalem ten kod podczas rozmowy na gg z kumplem.

3 | dunDer

04 kwietnia 2007, 00:16:23

a no racja ... mam male czcionki w morskiej malpie i dlatego nie zauwazylem :P
brakuje tylko przed break :

$ja->wyeliminuj_chlopaka($dziewczyna);
$ja->wyeliminuj_konkurencje($dziewczyna);
if ($ja->spraw_by_odwzajemnila_uczucie($dziewczyna)) { break; } else { $ja->destroy(); }

4 | pz

04 kwietnia 2007, 00:19:46

Heh dobre :)
tylko w tym pierwszym bym zmienil na:
if ( $dziewczyna->chlopak ) $ja->wyeliminuj( $dziewczyna->chlopak );

Moj kod jest bardzo uproszczony i w wersji 0.1, który można w nieskończoność rozszerzać. Całość na GNU/GPL, więc jeśli masz ochotę, to możesz go doskonalić wedle uznania :)

5 | dunDer

04 kwietnia 2007, 00:22:51

no tak ... ja mysle ze to co podales to w wersji Enterprise, bo w wersji Lite wystarczy jak jest biorac pod uwage to ze bardzo czesto ta trafiona ma $dziewczyna->chlopak = true. No to teraz na sourceforge do SVN :P hehe

6 | pz

04 kwietnia 2007, 00:24:01

to jeszcze pierwsza linijke mojego kodu zmienie:
$dziewczyny = ludzie::szukaj("plec = 'female' AND chlopak = NULL");

7 | dunDer

04 kwietnia 2007, 00:25:28

ale nie nie ... bo teraz eliminujesz za duzo prawdziwych wynikow dla $ja->spradz($dziewczyna) :/

8 | pz

04 kwietnia 2007, 00:26:55

@dunDer - no wlasnie nie. Z ludzi wyszukuje wolne dziewczyny, a potem dla każdej sprawdzam czy spelnia moje kryteria. Jeszcze powinienem je posortowac wg. ilosci spelnianych kryteriow :D

9 | dunDer

04 kwietnia 2007, 00:28:08

ale po co tylko wolne? czasami zajete sa lepsze, wiec lepiej wszystkie a pozniej wyeliminowac chlopaka :P hehe

10 | dunDer

04 kwietnia 2007, 00:36:27

hmm juz wiem! mozna to rozwiazac komendami z linii polecen:

usage: girlfinder [--wolne] [--brute-force]

:D

11 | Matt/Bl4ckH4wk

04 kwietnia 2007, 11:01:53

Choroba zawodowa? :D

12 | Speedy

04 kwietnia 2007, 23:53:09

@Matt - majaczenie na jawie prędzej ;). A jeszcze kolosa z infy rano po tej notce milałem.

13 | jojek

05 kwietnia 2007, 00:00:12

ratujmy go ! to nasz kolega ! lol ...

Dodaj komentarz

Markdown ( szczegółowy opis znaczników ):
*em* | 1. lista 2. numerowana | * lista wypunktowana | _strong_ | [link](http://) | | > cytat.

Foto

  • (brak)

O blogu

zapiski pz to miejsce, gdzie zapisuję co chcę i kiedy chcę. Chcesz to przeczytaj, jeśli nie - to do widzenia :).