[ mojo12 @ 03.06.2007. 00:25 ] @
Igrajte igru "Moj Broj" iz kviza Slagalica na Internetu!
Sajt je http://mojbroj.50webs.com
[ mbabuskov @ 23.06.2007. 22:35 ] @
Nije mi se bas svidelo. Zahteva najnoviju Javu, a nesto mi se ne instalira 15MB samo da bi igrao. Pa sam zato uzeo i napravio to lepo jednostavno u cistom HTMLu. Dakle, za igranje treba samo browser (nista Java, nista Flash, bas nista):

http://www.guacosoft.com/slagalica/mojbroj.php


Testirano u IE5, IE6, Firefoxu, Mozilli i Operi. Ako imate browser pod kojim ne radi, javite mi.
[ zeleni_prst @ 23.06.2007. 23:51 ] @
ja sam pratio oba linka pa mi se srušio firefox... ne znam koji je link kriv
[ mojo12 @ 24.06.2007. 00:09 ] @
Citat:
mbabuskov: Nije mi se bas svidelo. Zahteva najnoviju Javu, a nesto mi se ne instalira 15MB samo da bi igrao. Pa sam zato uzeo i napravio to lepo jednostavno u cistom HTMLu. Dakle, za igranje treba samo browser (nista Java, nista Flash, bas nista):

http://www.guacosoft.com/slagalica/mojbroj.php


Testirano u IE5, IE6, Firefoxu, Mozilli i Operi. Ako imate browser pod kojim ne radi, javite mi.



Jeste, ali u tvojoj igri igrac ne igra protiv kompjutera a na sajtu mojbroj.50webs.com se igra protiv kompjutera, a i mnogo je lepse uradjen.

Definitivno je lepsi i bolji mojbroj.50webs.com
[ mbabuskov @ 24.06.2007. 08:59 ] @
Ne vidim u cemu je car igre protiv kompjutera? Ajde da je u pitanju igra Kasa, to bi vec imalo smisla, ali Moj Broj ili znas broj ili ne znas.
[ since1986BC @ 24.06.2007. 10:06 ] @
Probao sam oba linka.OK - nista posebno.
Firefox je radio ok. (ver. 2.0.0.4)
[ mojo12 @ 24.06.2007. 10:08 ] @
Citat:
mbabuskov: Ne vidim u cemu je car igre protiv kompjutera? Ajde da je u pitanju igra Kasa, to bi vec imalo smisla, ali Moj Broj ili znas broj ili ne znas.


Zasto bi imalo smisla da je igra Kasa a ne Moj Broj?

Meni je licno interesantnije igrati protiv kompjutera jer je kompjuter uvek brzi i bolji u racunanju od coveka pa ga je stoga teze pobediti nego coveka.

[Ovu poruku je menjao mojo12 dana 24.06.2007. u 14:23 GMT+1]
[ mbabuskov @ 24.06.2007. 21:09 ] @
Citat:
mojo12: Zasto bi imalo smisla da je igra Kasa a ne Moj Broj?


Zato sto kod igre Moj Broj ili znas da dobijes broj ili ne znas, kompjuter ne moze nikako da utice na ishod toga. Kod kase takmicari igraju zajedno ka istom cilju i tu dalja igra ljudskog igraca zavisi od broja koji kompjuter odabere.
[ Marko Medojević @ 29.06.2007. 12:45 ] @
@mbabuskov & mojo12
Svaka čast na trudu! Obe igre su urađene odlično.
[ Bojan Basic @ 29.06.2007. 13:42 ] @
Citat:
mbabuskov:
Zato sto kod igre Moj Broj ili znas da dobijes broj ili ne znas

Ne baš. Šansu dobija takmičar koji je bliži postavljenom broju, ne mora se dobiti tačan.
[ mbabuskov @ 02.07.2007. 17:21 ] @
Citat:
Bojan Basic: Ne baš. Šansu dobija takmičar koji je bliži postavljenom broju, ne mora se dobiti tačan.


Da, ok u pravu si. Videcu da promenim nesto do sledece verzije - mozda cak da mogu dvoje da igraju preko Interneta - ili npr. da napravim username/password, pa svima da idu istim redosledom brojevi - i onda lista top igraca ili tako nesto.

Eto, sad sam dobio dosta ideja - vreme je za programiranje :)
[ Bojan Basic @ 09.07.2007. 20:04 ] @
Da se javim povodom originalne igre. Imam dve primedbe:

1. Ne radi u Firefoxu.

2. Kompjuter igra očajno! Za zadat broj 969 i ponuđene: 1, 3, 4, 5, 10, 50, najbliže ja našao 1.000!!! (Pretpostavljam u kombinaciji 50*4*5, i ne znam kako je moguće da baš nijedan od preostalih brojeva nije jednostavno oduzeo, čime bi se malo približio — ako ne može da nađe tačan broj.) Ako nije moguće smisliti bolji algoritam, onda treba sasvim ukinuti kompjuter, jer je ovo bruka.
[ mojo12 @ 09.07.2007. 20:50 ] @
Citat:
Bojan Basic: Da se javim povodom originalne igre. Imam dve primedbe:

1. Ne radi u Firefoxu.

2. Kompjuter igra očajno! Za zadat broj 969 i ponuđene: 1, 3, 4, 5, 10, 50, najbliže ja našao 1.000!!! (Pretpostavljam u kombinaciji 50*4*5, i ne znam kako je moguće da baš nijedan od preostalih brojeva nije jednostavno oduzeo, čime bi se malo približio — ako ne može da nađe tačan broj.) Ako nije moguće smisliti bolji algoritam, onda treba sasvim ukinuti kompjuter, jer je ovo bruka.


1. Hm, trebalo bi da radi, nema veze sa Firefox-om, to je Java aplet.

2. Da bi pronasao tacan ili najblizi broj kompjuter mora da proveri veliki broj kombinacija ukljucujuci sve brojeve, racunske operacije i zagrade, tako da kompjuter ponekad uspe a ponekad ne uspe da pronadje tacan broj odnosno ne proveri sve kombinacije. Stvar je u tome sto kompjuter nema intuitivne sposobnosti kao covek tako da to sto kazes da je samo trebalo kompjuter da oduzme, kompjuteru nista ne znaci, on taj jezik ne razume. Ali mislim da to nije ni lose, jer i covek poneki put ne vidi ocigledno, naravno taj primer sto si je dao bi video ali neki drugi brojevi mozda ne. Drugo, sto je brzi kompjuter i kompjuter ce igrati bolje. Mislim da malo tu prostora ima za bolji algoritam, svodi se na jednostavnu cinjenicu provere svih kombinacija.
[ Bojan Basic @ 09.07.2007. 21:13 ] @
Citat:
mojo12:
Stvar je u tome sto kompjuter nema intuitivne sposobnosti kao covek tako da to sto kazes da je samo trebalo kompjuter da oduzme, kompjuteru nista ne znaci, on taj jezik ne razume.

Ne moraš mi baš ovako objašnjavati, imam „nekog pojma“ o programiranju. :) Algoritam se može doterati tako da mu se ugrade upravo neke stvari koje bi čovek intuitivno pronašao. Jednostavan primer bio bi baš ono što sam istakao u prvoj poruci — ako je kompjuteru ostalo još brojeva na raspolaganju, neka bude programiran tako da doda ili oduzme toliko da ne pretera, ukoliko je moguće. (To je, naravno, jedan slučaj, štaviše posve jednostavan, a sve bolji algoritam bi se dobijao kad bismo uzeli sve više takvih slučaja.) U jednoj od ranijih poruka upućenoj autoru drugog programa kao prednost tvoje varijante istakao si mogućnost igranja protiv kompjutera; gde je tu igra (žar borbe i sl.) kad svako s dva razreda osnove škole može bez imalo razmišljanja da pobedi ovakvog „protivnika“?

Da se razumemo, ne tražim greške pošto-poto; zamerke stavljam na ono što nije odrađeno dobro (po mom mišljenju), a za ostatak posla — svaka čast.

Ne znam da zašto ne radi u Firefoxu, ali probao sam na dva-tri kompjutera. U IE da, u FF ne.
[ djordje @ 09.07.2007. 23:38 ] @
Citat:
a sam zato uzeo i napravio to lepo jednostavno u cistom HTMLu. Dakle, za igranje treba samo browser (nista Java, nista Flash, bas nista):


Cist html, a? bas me zanima kako bi to islo u cistom html. a posebno sto ovo dole nije html :)

Code:
var tokenList = new Array();
var tokenPos  = new Array();
var pokusaja = 3;

// obisi poslednji element

function dodaj(elem, remove, pos)
{
    if (elem.style.color == 'black')
    {
        alert('You already used that number');
        return;
    }
    if (pos > -1 && tokenPos.length > 0 && tokenPos[tokenPos.length - 1] > -1)
    {
        alert('You must put some operation between numbers');
        return;
    }
    tokenList.length = tokenList.length + 1;
    tokenList[tokenList.length - 1] = elem.innerHTML;
    tokenPos.length = tokenList.length;
    tokenPos[tokenPos.length - 1] = pos;
    napraviFormulu();
    if (remove)
        elem.style.color = 'black';
}

{
    sat = setTimeout("pomeriSat()", 1000);
}

</SCRIPT>
[ kelja @ 10.07.2007. 00:27 ] @
Dobro Djordje, ne zakeraj, na sajtu lepo pise da je u pitanju DHTML...
@mbabuskov je verovatno zaboravio boldovano slovo kad je postovao.

Znaci, i javascript moze da prodje. ;-)
[ djordje @ 10.07.2007. 00:52 ] @
profesionalna deformacija, izvinjavam se :P

PS
nije lose
[ Bojan Basic @ 10.07.2007. 21:22 ] @
@mojo12 (i ostali):

Algoritam u prilogu radi dosta bolje. Postoje još dva-tri slučaja koja treba obraditi, ali sad nemam vremena za to, čim ugrabim malo — dovršiću. U svakom slučaju, čini mi se da ovo u 99 % slučaja nalazi optimalno rešenje (može se napraviti i primer gde ga ipak ne nalazi, ali nije jednostavno; naravno, neću da kažem u čemu je stvar, to ostavljam vama za zanimaciju , dok ne budem imao malo vremena da i te izuzetke eliminišem).

Mrzelo me je da pravim interfejs, pa evo objašnjenja kako funkcioniše. U prvom redu treba uneti zadati broj; u drugom redu treba uneti šest brojeva dozvoljenih za korišćenje, razdvojenih prazninom. Ukoliko je format brojeva kao u Slagalici, program radi kako treba (uz pomenute izuzetke); ukoliko je format drugačiji (recimo, nisu sva prva četiri broja jednocifrena, dvocifreni i trocifreni nisu iz skupa iz kog se biraju u kvizu itd.), uz prekoračenja izvesnih ograničenja doći će do greške, ali ako brojevi zadovoljavaju programska ograničenja (da ne pišem sad šta to tačno podrazumeva, probajte pa vidite) — rezultat će biti očekivan.

Eto, ako neko ima komentara — pročitaću ih vrlo rado.
[ night-shift @ 10.07.2007. 21:45 ] @
Super programčić.

Očekujem source (ili algoritam).
[ mojo12 @ 10.07.2007. 23:35 ] @
Probaj da ga uradis u Javi.

Aplet radi u Javi i probaj taj algoritam da napravis u Javi i vidi koliko ce brzo da radi.
[ Bojan Basic @ 11.07.2007. 00:17 ] @
Ne koristim javu, ali imaj u vidu da moj program radi praktično trenutno (evo, da ne preterujem, neka bude 1 s), a tvoj ima na raspolaganju 90 (pretpostavljam, nisam brojao). Tvrdiš li da je java sporija 90 puta?!

@night-shift:

Ne bih (još) kačio sors, pošto sam na brzinu pisao i optimizacija koda je otišla u tri lepe, pa da se ne brukam. Kada okrpim rupe koje sam pominjao poslaću kod ili, ako ni onda ne budem imao volje za optimizaciju, opisati algoritam.
[ mojo12 @ 11.07.2007. 01:20 ] @
Citat:
Bojan Basic: Ne koristim javu, ali imaj u vidu da moj program radi praktično trenutno (evo, da ne preterujem, neka bude 1 s), a tvoj ima na raspolaganju 90 (pretpostavljam, nisam brojao). Tvrdiš li da je java sporija 90 puta?!



Algoritam je manje vise isti, siguran sam da nema neke razlike velike, tako da Java to radi mnogo sporije.
Probaj u Javi pa ces videti.
[ kelja @ 11.07.2007. 11:31 ] @
Izvini @Bojane,
koje dugme treba da pritisnem(sta treba da uradim)da bih dobio rezultat?
[ Bojan Basic @ 12.07.2007. 04:34 ] @
Ukucaš broj koji tražiš, pritisneš enter. Zatim ukucaš brojeve koje smeš da koristiš (šest komada, razdvojene prazninom) i opet pritisneš enter. Rezultat se ispiše na ekranu.
[ kelja @ 12.07.2007. 15:30 ] @
To uvek i uradim, ali program se jednostavno zatvori. :(
[ Safet Beriša @ 12.07.2007. 15:40 ] @
Pokreni prvo Command Prompt pa iz njega pokreni moj_broj.exe i onda ti se neće zatvoriti.
[ night-shift @ 12.07.2007. 15:53 ] @
Treba ubaciti getch() na kraju programa, može i system("pause") (ako je program rađen u C-u).

Mora da je neka žešća matematika umešala prste u ovaj algoritam
[ kelja @ 12.07.2007. 19:06 ] @
Odlicno!
Mislim da smo se svi slozili da bi bilo lepo da vidimo algoritam/source. :)
[ Bojan Basic @ 15.07.2007. 11:01 ] @
Prikačena je nova verzija, izuzetaka više nema (drugim rečima, program uvek nalazi optimalno rešenje — osim ako se nije potkrao neki bag).

Šaljem i kod, s tim što za eventualne posledice čitanja dotičnog ne odgovaram. Ono što je nedostajalo prošli put (uz neke manje bitne stvari) jeste procedura resi_2_2_2. Ironično je što su izuzetno retki primeri gde ona dolazi do izražaja, a zauzima 2/3 programa (istina, moglo se sve to znatno skratiti, bilo tako da se pođe znatno drugačijim putem, bilo tako da se ovo lepo ispegla — međutim, nemam ni vremena ni volje za to; program radi ono za šta je predviđen, a pošto ne planiram da ga dograđujem — nema ni preke potrebe da bude nalickan).

Mrsko mi je da opisujem algoritam, ali ako neko „zapne“ čitajući kod, rado ću razjasniti.
[ darkon @ 15.07.2007. 18:08 ] @
Evo nekoliko linkova u vezi sa ovom temom:
http://frenchteacher.free.fr/comptebon/comptebon.html
http://lwh.free.fr/pages/algo/minmax/compte.htm
http://eternitygames.free.fr/LeCompteEstBon.html
http://fred.just.free.fr/Cjuste/
http://www.lucas-nussbaum.net/writings.php?lceb
http://hypo.geneve.ch/www/math/html/node42.html
http://gilles.bannay.free.fr/jeux.html

a evo i sorsa u C-u uz korišćenje GTK biblioteke koji sam skinuo sa nekog od ovih sajtova već poodavno. Doduše, radi se samo o algoritmu po kojem računar računa traženi broj na osnovu brojeva koji su zadati.

Ako nekoga zanima, mogu poslati nedopeglanu verziju koja se naslanja na ova sors kod rađenu u C/C++ -u, korišćenjem Qt biblioteke i bc programa pod Linuksom.
[ kelja @ 16.07.2007. 01:27 ] @
Evo jos jednog linka:
http://web.comlab.ox.ac.uk/ouc...grad/csatox/demo/countdown.htm
[ nmilosev @ 16.07.2007. 10:20 ] @
Bojanov program radi čak i na Visti.
Pozdrav.
[ nmilosev @ 17.07.2007. 14:23 ] @
Evo i Kasa sa lepim interfejsom.

P.S. Na moru ću da poradim na SinglePlayer modu :)
[ mbabuskov @ 18.07.2007. 22:19 ] @
Citat:
nmilosev: Bojanov program radi čak i na Visti. :)
Pozdrav.


Hm, i moj radi i na Visti, i na Linuxu i na Mac-u i na FreeBSDu, pa se ne hvalim ;)

No, salu na stranu, ovi algoritmi su mi jako zanimljivi, sada istrazujem da li postoji nesto sto je moguce implementirati u JavaScriptu, a da ne ubije browser.
[ mbabuskov @ 08.08.2007. 14:17 ] @
Napravio sam izmene u mojoj verziji. Sada uvek daje broj koji je moguce dobiti i na kraju daje resenje.

Hvala Darkonu za linkove gde su algoritmi i objasnjenje.
[ Bojan Basic @ 08.08.2007. 17:29 ] @
Opet imam zamerku. Poenta igre nije da igrač unapred zna da postoji tačno rešenje pa samo da razmišlja kako se može stići do njega, već treba da dođe što je bliže moguće tačnom broju. Dakle, prvobitna varijanta (pretpostavlja da su tad brojevi bili birani slučajnim izborom) bila je OK rešenje, nedostajao je samo protivnik — nije trebalo menjati način izbora brojeva.
[ mbabuskov @ 10.08.2007. 21:14 ] @
Citat:
Bojan Basic: Opet imam zamerku. Poenta igre nije da igrač unapred zna da postoji tačno rešenje pa samo da razmišlja kako se može stići do njega, već treba da dođe što je bliže moguće tačnom broju. Dakle, prvobitna varijanta (pretpostavlja da su tad brojevi bili birani slučajnim izborom) bila je OK rešenje, nedostajao je samo protivnik — nije trebalo menjati način izbora brojeva.


Brojevi su i sada birani slucajnom metodom, samo kompjuter racuna resenje - ako ne moze da dobije, onda uzme novi set random brojeva. Mada, algoritam jeste takav da moze da nadje i priblizno resenje, samo onda se komplikuje stvar za 'pustanjem' igraca, jer igrac mozda moze da nadje drugo resenje koje je jednako pribilzno sa druge strane i sl. Razmislicu o tome da li ovo vredi menjati.
[ Pavlex4 @ 13.12.2016. 16:35 ] @
Da li moze neko da pretvori source code za moj broj u C# ?