Avatar billede j3ppah Novice
17. april 2008 - 10:03 Der er 8 kommentarer og
1 løsning

2d array ?

Lille problem jeg er løbet ind i... som tideligere nævnt er jeg ny i c# og genneralt programmering... men jeg er ved at lave et lille "spil"...
Jeg har brug for at lave et 2d array der er 6x6, meningen er at der kommer 6x6 knapper... hvis du fx trykker på button 1 skal den lave en:
[1,1]button disable = true
[1,2]button disable = false
[1,3]button disable = false
[1,4]button disable = false
[1,5]button disable = false
[1,6]button disable = false
[2,1]button disable = false
[2,1]button disable = false
[3,1]button disable = false
[4,1]button disable = false
[5,1]button disable = false
[6,1]button disable = false
[2,2]button disable = false
[3,3]button disable = false
[4,4]button disable = false
[5,5]button disable = false
[6,6]button disable = false

altså forestil jer det er et skak bræt, hvor at hvis du placere en dronning på knap 1 skal den enable alle knapper den kan tage...

mit problem ligger i jeg SLET ikke aner hvordan man laver arrays hvor hver del af arrayet er en knap...

Nogen der kan hjælpe mig ?
eventuelt kom med et foreslag bare på en 2x2 array, hvor der er 4 knapper...

Håber jeg kan få hjælp
Avatar billede nielle Nybegynder
17. april 2008 - 10:27 #1
6 eller 4?

6x6 knapper:

Button[,] buttonArr = new Button[6, 6];
Avatar billede aaberg Nybegynder
17. april 2008 - 10:38 #2
Først designer du din form med alle de knapper der skal være på den. Derefter putter du knapperne ind i et 2D array:

Button[,] buttons2dArray = new Button[5,5];

buttons2dArray[0,0] = aButton00;
buttons2dArray[0,1] = aButton01;
osv...

For at lave en algoritme som disable alle knapper ud over den som trykkes på, kan du skrive følgende metode, og køre den fra Click eventet på hver knap.

private void SomeButton_Click(object sender, EventArgs e)
{
    for (int xIdx = 0; xIdx < buttons2dArray.GetLength(0); xIdx++)
            {
                for (int yIdx = 0; yIdx < buttons2dArray.GetLength(1); yIdx++)
                {
                    Button currentButton = buttons2dArray[xIdx, yIdx];
                    currentButton.Enabled = sender.Equals(currentButton);
                }
            }
}
Avatar billede j3ppah Novice
17. april 2008 - 10:39 #3
hvis jeg så laver det der array...
hvordan benytter jeg det så på mine button clicks ?

private void button1_Click(object sender, EventArgs e)
        {
            ?
        }
Avatar billede j3ppah Novice
17. april 2008 - 11:12 #4
tror sku jeg har bevæget mig lidt ud på dybt vand her....
eller meget enda.... ligger 60 points til aaberg80...
og vil give 200 points til den der vil tilføje mig på msn, få koden, og så lige lave det der...

msn= d r E a M k i l l e r 0 0 0 (  A  T  )o f i r.dk
Avatar billede aaberg Nybegynder
17. april 2008 - 12:54 #5
svar...

...måske jeg kan se på det i aften... kommer and på hvor lang tid det tager at få børnene i seng! :-)
Avatar billede j3ppah Novice
17. april 2008 - 13:04 #6
kunne altså være SUPER... for har fandeme problemer med det...
http://rapidshare.com/files/108184800/programmering_spil.zip.html
der er koden... det er level 10 jeg har problemer med...
skulle være som et skak bræt hvor du skal placere 6 dronninger uden at de kan ta hinanden.
Avatar billede aaberg Nybegynder
18. april 2008 - 08:22 #7
Nu har jeg implementeret level 10.

http://sites.google.com/a/aaberg.cc/games/Home/forbedring-af-spil-fra-ekspertendk/programmering_spil_%28Med_level_10%29.zip?attredirects=0

Prøv om du forstår hvordan det er lavet. Det er dog en middels avanceret algoritme jeg har skrevet, så det er måske ikke så nemt at gennemskue den. Hvis du er interesseret kan jeg måske skrive lidt ekstra forklaring til koden i løbet af weekenden.
Avatar billede j3ppah Novice
20. april 2008 - 12:56 #8
Wooot :D... det var satme noget mere avanceret end jeg lige kunne have lavet :P... men tror lige jeg får en af mine venner til at forklare mig hvordan og hvorfor :)....

http://www.eksperten.dk/spm/828519
lige lidt points til dig ... er super fedt du lige gad at tage dig tid til at løse mit problem :)
Avatar billede j3ppah Novice
20. april 2008 - 13:00 #9
algoritmen virker ikke :)... eller også forstod du ikke hvad jeg mente med ideen :)...
det skulle være lige som et skak spil, så i stedet for det kun er pladserne rundt om, skulle det være hele rækkerne...
men den tror jeg (måske) jeg selv kan finde løsning på :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester