[ crnogorac081 @ 22.04.2008. 08:52 ] @
dobio sam seminarski rad da napravim igru micu...al nemam nikakvu ideju kako...posto znam da ima dosta iskusnijih molio bih vas da mi date neke smjernice i fore i forice...
[ err.clear @ 22.04.2008. 08:55 ] @
Mislim da na www.planetsourcecode.com imas neke primjere, ali nisam bas siguran vrijedi pogledati.
[ Aleksandar Ružičić @ 22.04.2008. 09:36 ] @
@crnogorac081 trazi od profesora koji ti je zadao temu da ti objasni sta treba da radis
[ stefanpn @ 22.04.2008. 14:00 ] @
Mozeš bar da objasniš pravila te igre, pa će biti lakše i nama da pomognemo i tebi da shvatiš.

Jer se u mom kraja ta igra "mice", igra kao DAME t.j. na šahovskom polju sa po 16 dama koje se kreću samo po crnim poljima i moraju da preskaču jedna drugu, a tek kad dodju do kraja mogu i na jednu i na drugu stranu.

Neznam na šta misliš, jer sam video da i neku drugu igru sa pasuljem a isto je zovu "mice" ili "trka-mice".
[ crnogorac081 @ 25.04.2008. 20:51 ] @
E ovako tabla izgleda tako kao u atachmentu, igraju 2 igraca, imaju po 9 kuglica i na pocetak rasporedjuju gdje oce jedan pa drugi po jednu naizmjenicno. Kada jedan spoji 3 u nizu uzima ovom drugom jednu kuglicu. Kada igrac dodje na red moze da pomjeri samo jednu kuglicu sa mjesta u kojem je za jedno susjedno mjesto koje je prazno. E sad ima fora kad neki igrac ostane sa samo 3 kuglice onda moze da jednu da pomijera za kolklo god oce polja. Igra se zavrsava kad neko ostane samo sa 2..
[ stefanpn @ 25.04.2008. 23:41 ] @
Pa nesto se razmisljam: jebem li ga koji je nacin najbolji!

Ali uvek mozes da koristis metod sirove sile, tj... da napravis niz od 24 elemenata tipa tacka:

Code:

Enum status
    zauzeto1 = 1
    zauzeto2 = 2
    slobodno = 0
End Enum

type tTacka
    broj as integer 'redni broj
    sused1 as integer ' ako je ovaj sused
    sused2 as integer ' jednak ovom susedu onda je napravljena "Mica"
    sused3 as integer ' Ova dva polja koristis isto kao i prva dva
    sused4 as integer ' zato sto neka polja imaju po 4 suseda; ove vrednosti su samo pokazivaci
    x as integer 'ovo ti je za crtanje tacke
    y as integer 'kao i ovo
    status as status 'a ovde ide vrednost polja
end Type

dim Tacka(24) as tTacka


pa da upises u sva polja vrednosti... :)

i posle je lako...

[ crnogorac081 @ 26.04.2008. 09:20 ] @
Jeste mozda tebi, ali fora je u tome sto smo mi kao "naucili" VB za 4 nedelje...pa sad kao programiramo igrice...Nama je profesor pokazivao osnovne komande iz toolboxa i sad ocekuje da napravimo svi po neku igricu koju nam je zadao a ni jednu funkciju nismo uradili na casu..
[ Marko_L @ 26.04.2008. 14:27 ] @
Pa to onda vidi sa profesorom i usput mu objasni da toolbox ne sadrži nikakve komande. Ako hoćeš gotovo rešenje, potraži ga na nekom sajtu koji sadrži arhivu gotovih kodova PSC, vbcode i drugi (imaš linkove u TOP temama) ili postavi oglas u IT Berza Poslova. VB forum nije servis za izradu domaćih zadataka. Na forum se dođe kada imaš neki konkretan problem koji ne znaš kako da rešiš, pa zatražiš pomoć. Pisanje kompletne igre nije konkretan problem, već full time job.
[ crnogorac081 @ 03.05.2008. 10:00 ] @
Evo "isprogramirao" sam sve funcije za svako polje samo mi sad treba pomoc kako to da prevedem u VB, sad me zezaju varijable.. Postavio sam kod ovako:

Dim prviNaRedu As Boolean
Dim krajIgre As Boolean
Dim brojPrvih As Integer
Dim brojDrugih As Integer
Dim prvomOstalo As Integer
Dim drugomOstalo As Integer
...
...
..


Private Sub cmdNova_Click() 'Ovo je dugme za novu igru
pct1.Cls 'brisanje polja sa slikama
...
pct24.Cls
mjesto1 = 0 'prazno polje
...
mjesto23 = 0
mjesto24 = 0
prviNaRedu = True
Set krajIgre = False
lblRed.Caption = "Prvi igrac je na redu"
lblPoruka.Caption = "Rasporedi"
rasporedjivanje = True 'pocetno rasporedjivanje
brojPrvih = 0 'za pocetno rasporedjivanje ide se od 0 do 9
brojDrugih = 0
prvomOstalo = 9 'Za kraj igre ide se od 9 do 2
drugomOstalo = 9

End Sub

Kad pokrenem program kaze mi: ambigous name detected: krajIgre
Jel mogu ovako da postavljam varijable imeVarijable = true ili false a da je gore definisem u dim kao boolean ?
[ BinLaden @ 03.05.2008. 15:26 ] @
Greska je u:
Code:
Set krajIgre = False
Treba da stoji samo:
Code:
krajIgre = False
[ rgdrajko @ 03.05.2008. 16:40 ] @
Citat:
crnogorac081
Kad pokrenem program kaze mi: ambigous name detected: krajIgre


Ovo ambigous name znaci da imas dvosmisleno ime tj da si isto ime iskoristio na dva mesta npr. i kao ime za varijablu i kao ime za funkciju ili subrutinu... Sa Find(Ctrl-F) trazi krajigre i vidi sta se desava.
[ crnogorac081 @ 05.05.2008. 21:25 ] @
Pa meni treba da postavljam to kao varijablu i funkciju da ima samo true i false, ako je true da se odradi nesto isto tako ako je i false.. E sad jel se tako postavlja varijabla ?? Ne radi ni sa Set ni bez Set..

A to jeste, koristim to kao funkciju koja provjerava je li kraj igre.. Ako jeste zavrsava se igra, a za vrijeme igre provjeravam je li ta funkcija = true ,a na pocetku kad se startuje igra onda je to = false... moze li to tako ??? ili kako drugacije to da rijesim ?
[ stefanpn @ 05.05.2008. 23:40 ] @
Onda si trebao da deklarises f-ju kao

Code:

Public Function KrajIgre() As Boolen
' ...
' kod za proveravanje
' ...
If Nesto Then
    KrajIgre = True
Else
    KrajIgre = False
End If
End Function


I onda ce ti povratna vrednost f-je biti boolean, a pozivaces je jednostavno sa : KrajIgre. (Bez tacke, to je samo zbog gramatike )

F-ja ne mora da bude Public, ako je pozivas samo iz te forme/modula u kome se nalazi moze i Private.
[ crnogorac081 @ 16.05.2008. 19:38 ] @
E ovako napravio sam gotovo sve samo mi fali jos jedna sitnica koju ne znam kako da uklopim u kod. Radi mi rasporedjivanje, pomijeranje i sve samo mi se igrica zavrsava kada se spoje 3 polja.. ja sam uradio kod za ostatak samo mi fali da to uklopim..

Napravio sam da radi ovako:
Code:

Public Function krajPartije() As Boolean
    Dim k As Boolean
    Dim pobjednik As Integer
    k = False

    If prvopolje And drugo polje And Trece polje Then  --- Ta polja iz forme sto prave micu..
        pobjednik = 1
        k = True

 krajPartije = k
    
End Function


Ali meni treba da se na svaku napravljenu micu Prvi igrac Drugom uzme jedan zeton dok neki ne dodje na 2 i tu je kraj,pa da bude ovako:

Na nesto sta ce da se provjerava --- ovaj dio ne znam... da uslov bude ovaj kao gore za micu:
E SAd treba li ovdje da se ubaci neka funkcija... pa da ide:
Code:

   If prvopolje And drugo polje And Trece polje Then  --- Ta polja iz forme sto prave micu..
        pa ako jeste mica da se ubaci operacija  UZIMANJE ???? ne znam kako ovo da uradim, a uzimanje i kraj igre sam sad definisao ovako:

Public Sub Uzimanje(i As Integer)       Moze li ovo na Sub ili ide Funkcija ?? jer treba na klik da radi sa tim poljem ne znam ima li veze...tako sam vidio nedje u kodu..


If igrac = 1 Then
       If frmMain.shpPosition(i).BackColor = vbBlue Then
                frmMain.shpPosition(i).BackColor = vbWhite
                prvomOstalo = prvomOstalo - 1
                prviPotez = False
                MsgBox ("Uzeli ste jedan zeton Plavom igracu")
            Else
                MsgBox ("Mozes ponijeti samo Plavi zeton")
           End If
           
ElseIf igrac = 2 Then
        
            If frmMain.shpPosition(i).BackColor = vbRed Then
                frmMain.shpPosition(i).BackColor = vbWhite
                drugomOstalo = drugomOstalo - 1
                prviPotez = True
                MsgBox ("Uzeli ste jedan zeton Crvenom igracu")
            Else
                MsgBox ("Mozes ponijeti samo Crveni zeton")
       
            End If
            
        End If
        
End If

End Sub

I kraj igre da bude ovako:

Public Function krajPartije() As Boolean
    Dim k As Boolean
    Dim pobjednik As Integer
    k = False


  If prvomOstalo = 2 Or drugomOstalo = 2 Then
    If igrac = 1 Then
        MsgBox ("Pobijedio je crveni igrac")
    ElseIf igrac = 2 Then
        MsgBox ("Pobijedio je plavi igrac")
    End If

  End If
    
    
    krajPartije = k
    
End Function


[Ovu poruku je menjao Aleksandar Ružičić dana 17.05.2008. u 01:57 GMT+1]
[ crnogorac081 @ 16.05.2008. 20:17 ] @
I kako da ako na nesto kliknem jednom da ga oznacim i drugi put da ga pomjerim na drugo polje, i kada od radi funkciju da je mica napravljena: if prvo and drugo and trece Then .... Kako da napravim da mi na klik - novi klik nesto uradi???? jer ja ako napisem neki kod on mi pamti zadnji klik...
[ stefanpn @ 17.05.2008. 00:06 ] @
Postavi ceo projekt pa cemo videti sta moze da se uradi.
[ crnogorac081 @ 17.05.2008. 16:53 ] @
Evo
[ Aleksandar Vasic @ 17.05.2008. 17:20 ] @
ako sam dobro shvatio, najbolje taj objekat koji pomeras npr. da bude crn, prilikom jednog klika proveri da li je crn ako jeste on promenu u crvenu(tada je kao markiran) i pri drugom kliku da proveri da li je crven,ako jeste da ga prebaci :)

mada mozes i sa drag & drop, bash sam se juche baktao time.......medjutim neam vb6 instaliran,ali meni je palo na pamet ovako

Code:
Private Sub Shape1_DragDrop
Shape1.Left = X 'pozicija kursora po X osi
Shape1.Top = Y 'pozicija kursora po Y osi
End Sub


E sad meni je ovo prvo palo na pamet, al mozda ce imati neko neshto pametnije :)