Mensch ärgere dich nicht

Len

Mitglied
Hey Leute, ich bin gerade dabei ein Mensch ärgere dich nicht- Spiel zu programmieren. Das Spielbrett habe ich als zweidimensionales Array aufgebaut und bin nun dabei die nötigen 58 Felder als ein weiters eindimensionales Array "hatFeldzuweisung" zu programmieren, leider funktioniert der Befehl "hatFeldzuweisung.setzeInhalt(0,0)" nicht, kann mir jemand von euch helfen, warum der 2 integer nicht annehmen will? Danke :)
 

Tobse

Top Contributor
Es tut mir schrecklich leid, meine Glaskugel ist gestern kaputt gegangen. Deshalb kann ich leider nicht wissen, wie dein Code aussieht und warum er nicht tut, was du willst.
 

Gucky

Top Contributor
Wir sind zwar fast Götter aber eben nur fast. Wahrscheinlich hast du im Methodenkopf nur ein int angegeben aber wie meinst du, können wir das ohne Code herausfinden?
 

Len

Mitglied
Ich bin doch zu blöd, da hab ich glatt vergessen den Code dazuzuschreiben xD, kommt sofort:
Java:
import sum.komponenten.*;
import sum.werkzeuge.*;
import sum.ereignis.*;

public class Spielfiguren
{
    // Atribute
    private int zH, zV,zNummer,zFarbe;
    
    
    //Objekte
    private Buntstift hatStift;
    public Spielfeld[][] hatSpielfeld;
    public int[] hatFeldzuweisung;
    public Figur hatFigur;
    private boolean ecke;

    
    /**
     * Konstruktor fuer Objekte der Klasse Spielfeld
     */
    public Spielfiguren(int pFarbe, int pNummer)
    {
        hatFigur = new Figur();
        hatStift = new Buntstift(); 
        hatFeldzuweisung = new  int[168];
        zFarbe=pFarbe;
        
   
        
        if(pFarbe == 1)
        {
            switch (pNummer)
            {
                case 1: hatFigur.zeichne(250+0*40,180+0*40,15,1,1);zH=0;zV=0;zNummer=1;break;
                case 2: hatFigur.zeichne(250+1*40,180+0*40,15,1,2);zH=1;zV=0;zNummer=2;break;
                case 3: hatFigur.zeichne(250+0*40,180+1*40,15,1,3);zH=0;zV=1;zNummer=3;break;
                case 4: hatFigur.zeichne(250+1*40,180+1*40,15,1,4);zH=1;zV=1;zNummer=4;break;
            }           
        }
        else if(pFarbe == 2)
        {
            switch (pNummer)
            {
                case 1: hatFigur.zeichne(250+0*40,180+9*40,15,2,5);zH=0;zV=9;zNummer=5;break;
                case 2: hatFigur.zeichne(250+1*40,180+9*40,15,2,6);zH=1;zV=9;zNummer=6;break;
                case 3: hatFigur.zeichne(250+0*40,180+10*40,15,2,7);zH=0;zV=10;zNummer=7;break;
                case 4: hatFigur.zeichne(250+1*40,180+10*40,15,2,8);zH=1;zV=10;zNummer=8;break;
            }
        }
        else if(pFarbe == 3)
        {
            switch (pNummer)
            {
                case 1: hatFigur.zeichne(250+9*40,180+0*40,15,3,9);zH=9;zV=0;zNummer=9;break;
                case 2: hatFigur.zeichne(250+10*40,180+0*40,15,3,10);zH=10;zV=0;zNummer=10;break;
                case 3: hatFigur.zeichne(250+9*40,180+1*40,15,3,11);zH=9;zV=1;zNummer=11;break;
                case 4: hatFigur.zeichne(250+10*40,180+1*40,15,3,12);zH=10;zV=1;zNummer=12;break;
            }
        }
        else if(pFarbe == 4)
        {
            switch (pNummer)
            {
                case 1: hatFigur.zeichne(250+9*40,180+9*40,15,4,13);zH=9;zV=9;zNummer=13;break;
                case 2: hatFigur.zeichne(250+10*40,180+9*40,15,4,14);zH=10;zV=9;zNummer=14;break;
                case 3: hatFigur.zeichne(250+9*40,180+10*40,15,4,15);zH=9;zV=10;zNummer=15;break;
                case 4: hatFigur.zeichne(250+10*40,180+10*40,15,4,16);zH=10;zV=10;zNummer=16;break;
            }
        }
        
    }

    //Dienste      
    public void fuelleArray()   
    {                            // 1. Parameter: Arraylistennummer 2.Parameter: Inhalt des Arrays
        hatFeldzuweisung.setzeInhalt(  0, 0);  // Inhalt: Feldnummer
        hatFeldzuweisung.setzeInhalt(  1, 0);  // Inhalt: zH
        hatFeldzuweisung.setzeInhalt(  2, 4);  // Inhalt: ZV
        hatFeldzuweisung.setzeInhalt(  3, 1);
        hatFeldzuweisung.setzeInhalt(  4, 1);
        hatFeldzuweisung.setzeInhalt(  5, 4);
        hatFeldzuweisung.setzeInhalt(  6, 2);
        hatFeldzuweisung.setzeInhalt(  7, 2);
        hatFeldzuweisung.setzeInhalt(  8, 4);
        hatFeldzuweisung.setzeInhalt(  9, 3);
        hatFeldzuweisung.setzeInhalt( 10, 3);
        hatFeldzuweisung.setzeInhalt( 11, 4);
        hatFeldzuweisung.setzeInhalt( 12, 4);
        hatFeldzuweisung.setzeInhalt( 13, 4);
        hatFeldzuweisung.setzeInhalt( 14, 4);
        hatFeldzuweisung.setzeInhalt( 15, 5);
        hatFeldzuweisung.setzeInhalt( 16, 4);
        hatFeldzuweisung.setzeInhalt( 17, 3);
        hatFeldzuweisung.setzeInhalt( 18, 6);
        hatFeldzuweisung.setzeInhalt( 19, 4);
        hatFeldzuweisung.setzeInhalt( 20, 2);
        hatFeldzuweisung.setzeInhalt( 21, 7);
        hatFeldzuweisung.setzeInhalt( 22, 4);
        hatFeldzuweisung.setzeInhalt( 23, 1);
        hatFeldzuweisung.setzeInhalt( 24, 8);
        hatFeldzuweisung.setzeInhalt( 25, 4);
        hatFeldzuweisung.setzeInhalt( 26, 0);
        hatFeldzuweisung.setzeInhalt( 27, 9);
        hatFeldzuweisung.setzeInhalt( 28, 5);
        hatFeldzuweisung.setzeInhalt( 29, 0);
        hatFeldzuweisung.setzeInhalt( 30,10);
        hatFeldzuweisung.setzeInhalt( 31, 6);
        hatFeldzuweisung.setzeInhalt( 32, 0);
        hatFeldzuweisung.setzeInhalt( 33,11);
        hatFeldzuweisung.setzeInhalt( 34, 6);
        hatFeldzuweisung.setzeInhalt( 35, 1);
        hatFeldzuweisung.setzeInhalt( 36,12);
        hatFeldzuweisung.setzeInhalt( 37, 6);
        hatFeldzuweisung.setzeInhalt( 38, 2);
        hatFeldzuweisung.setzeInhalt( 39,13);
        hatFeldzuweisung.setzeInhalt( 40, 6);
        hatFeldzuweisung.setzeInhalt( 41, 3);
        hatFeldzuweisung.setzeInhalt( 42,14);
        hatFeldzuweisung.setzeInhalt( 43, 6);
        hatFeldzuweisung.setzeInhalt( 44, 4);
        hatFeldzuweisung.setzeInhalt( 45,15);
        hatFeldzuweisung.setzeInhalt( 46, 7);
        hatFeldzuweisung.setzeInhalt( 47, 4);
        hatFeldzuweisung.setzeInhalt( 48,16);
        hatFeldzuweisung.setzeInhalt( 49, 8);
        hatFeldzuweisung.setzeInhalt( 50, 4);
        hatFeldzuweisung.setzeInhalt( 51,17);
        hatFeldzuweisung.setzeInhalt( 52, 9);
        hatFeldzuweisung.setzeInhalt( 53, 4);
        hatFeldzuweisung.setzeInhalt( 54,18);
        hatFeldzuweisung.setzeInhalt( 55,10);
        hatFeldzuweisung.setzeInhalt( 56, 4);
        hatFeldzuweisung.setzeInhalt( 57,19);
        hatFeldzuweisung.setzeInhalt( 58,10);
        hatFeldzuweisung.setzeInhalt( 59, 5);
        hatFeldzuweisung.setzeInhalt( 60,20);
        hatFeldzuweisung.setzeInhalt( 61,10);
        hatFeldzuweisung.setzeInhalt( 62, 6);
        hatFeldzuweisung.setzeInhalt( 63,21);
        hatFeldzuweisung.setzeInhalt( 64, 9);
        hatFeldzuweisung.setzeInhalt( 65, 6);
        hatFeldzuweisung.setzeInhalt( 66,22);
        hatFeldzuweisung.setzeInhalt( 67, 8);
        hatFeldzuweisung.setzeInhalt( 68, 6);
        hatFeldzuweisung.setzeInhalt( 69,23);
        hatFeldzuweisung.setzeInhalt( 70, 7);
        hatFeldzuweisung.setzeInhalt( 71, 6);
        hatFeldzuweisung.setzeInhalt( 72,24);
        hatFeldzuweisung.setzeInhalt( 73, 6);
        hatFeldzuweisung.setzeInhalt( 74, 6);
        hatFeldzuweisung.setzeInhalt( 75,25);
        hatFeldzuweisung.setzeInhalt( 76, 6);
        hatFeldzuweisung.setzeInhalt( 77, 7);
        hatFeldzuweisung.setzeInhalt( 78,26);
        hatFeldzuweisung.setzeInhalt( 79, 6);
        hatFeldzuweisung.setzeInhalt( 80, 8);
        hatFeldzuweisung.setzeInhalt( 81,27);
        hatFeldzuweisung.setzeInhalt( 82, 6);
        hatFeldzuweisung.setzeInhalt( 83, 9);
        hatFeldzuweisung.setzeInhalt( 84,28);
        hatFeldzuweisung.setzeInhalt( 85, 6);
        hatFeldzuweisung.setzeInhalt( 86,10);
        hatFeldzuweisung.setzeInhalt( 87,29);
        hatFeldzuweisung.setzeInhalt( 88, 5);
        hatFeldzuweisung.setzeInhalt( 89,10);
        hatFeldzuweisung.setzeInhalt( 90,30);
        hatFeldzuweisung.setzeInhalt( 91, 4);
        hatFeldzuweisung.setzeInhalt( 92,10);
        hatFeldzuweisung.setzeInhalt( 93,31);
        hatFeldzuweisung.setzeInhalt( 94, 4);
        hatFeldzuweisung.setzeInhalt( 95, 9);
        hatFeldzuweisung.setzeInhalt( 96,32);
        hatFeldzuweisung.setzeInhalt( 97, 4);
        hatFeldzuweisung.setzeInhalt( 98, 8);
        hatFeldzuweisung.setzeInhalt( 99,33);
        hatFeldzuweisung.setzeInhalt(100, 4);
        hatFeldzuweisung.setzeInhalt(101, 7);
        hatFeldzuweisung.setzeInhalt(102,34);
        hatFeldzuweisung.setzeInhalt(103, 4);
        hatFeldzuweisung.setzeInhalt(104, 6);
        hatFeldzuweisung.setzeInhalt(105,35);
        hatFeldzuweisung.setzeInhalt(106, 3);
        hatFeldzuweisung.setzeInhalt(107, 6);
        hatFeldzuweisung.setzeInhalt(108,36);
        hatFeldzuweisung.setzeInhalt(109, 2);
        hatFeldzuweisung.setzeInhalt(110, 6);
        hatFeldzuweisung.setzeInhalt(111,37);
        hatFeldzuweisung.setzeInhalt(112, 1);
        hatFeldzuweisung.setzeInhalt(113, 6);
        hatFeldzuweisung.setzeInhalt(114,38);
        hatFeldzuweisung.setzeInhalt(115, 0);
        hatFeldzuweisung.setzeInhalt(116, 6);
        hatFeldzuweisung.setzeInhalt(117,39);
        hatFeldzuweisung.setzeInhalt(118, 0);
        hatFeldzuweisung.setzeInhalt(119, 5);
        hatFeldzuweisung.setzeInhalt(120,40);
        hatFeldzuweisung.setzeInhalt(121, 1);
        hatFeldzuweisung.setzeInhalt(122, 5);
        hatFeldzuweisung.setzeInhalt(123,41);
        hatFeldzuweisung.setzeInhalt(124, 2);
        hatFeldzuweisung.setzeInhalt(125, 5);
        hatFeldzuweisung.setzeInhalt(126,42);
        hatFeldzuweisung.setzeInhalt(127, 3);
        hatFeldzuweisung.setzeInhalt(128, 5);
        hatFeldzuweisung.setzeInhalt(129,43);
        hatFeldzuweisung.setzeInhalt(130, 4);
        hatFeldzuweisung.setzeInhalt(131, 5);
        hatFeldzuweisung.setzeInhalt(132,44);
        hatFeldzuweisung.setzeInhalt(133, 5);
        hatFeldzuweisung.setzeInhalt(134, 1);
        hatFeldzuweisung.setzeInhalt(135,45);
        hatFeldzuweisung.setzeInhalt(136, 5);
        hatFeldzuweisung.setzeInhalt(137, 2);
        hatFeldzuweisung.setzeInhalt(138,46);
        hatFeldzuweisung.setzeInhalt(139, 5);
        hatFeldzuweisung.setzeInhalt(140, 3);
        hatFeldzuweisung.setzeInhalt(141,47);
        hatFeldzuweisung.setzeInhalt(142, 5);
        hatFeldzuweisung.setzeInhalt(143, 4);
        hatFeldzuweisung.setzeInhalt(144,48);
        hatFeldzuweisung.setzeInhalt(145, 9);
        hatFeldzuweisung.setzeInhalt(146, 5);
        hatFeldzuweisung.setzeInhalt(147,49);
        hatFeldzuweisung.setzeInhalt(148, 8);
        hatFeldzuweisung.setzeInhalt(149, 5);
        hatFeldzuweisung.setzeInhalt(150,50);
        hatFeldzuweisung.setzeInhalt(151, 7);
        hatFeldzuweisung.setzeInhalt(152, 5);
        hatFeldzuweisung.setzeInhalt(153,51);
        hatFeldzuweisung.setzeInhalt(154, 6);
        hatFeldzuweisung.setzeInhalt(155, 5);
        hatFeldzuweisung.setzeInhalt(156,52);
        hatFeldzuweisung.setzeInhalt(157, 5);
        hatFeldzuweisung.setzeInhalt(158, 9);
        hatFeldzuweisung.setzeInhalt(159,53);
        hatFeldzuweisung.setzeInhalt(160, 5);
        hatFeldzuweisung.setzeInhalt(161, 8);
        hatFeldzuweisung.setzeInhalt(162,54);
        hatFeldzuweisung.setzeInhalt(163, 5);
        hatFeldzuweisung.setzeInhalt(164, 7);
        hatFeldzuweisung.setzeInhalt(165,55);
        hatFeldzuweisung.setzeInhalt(166, 5);
        hatFeldzuweisung.setzeInhalt(167, 6);
        
    }
    
    public void bewegeUm(int a)
    {
        hatFigur.loesche();
        if (a==6)
        {
            //Bei roter Figur im Haus
            if(zH==0&&zV==0||zH==1&&zV==0||zH==0&&zV==1||zH==1&&zV==1)
            {
               
                hatFigur.zeichne(250+0*40,180+4*40,15,1,zNummer);
                zH=0; zV=4;
            }
            //Bei grün Figur im Haus
            if(zH==0&&zV==9||zH==1&&zV==9||zH==0&&zV==10||zH==1&&zV==10)
            {
                
                hatFigur.zeichne(250+4*40,180+10*40,15,2,zNummer);
                zH=4;zV=10;
            }
            //Bei blau Figur im Haus
            if(zH==9&&zV==0||zH==10&&zV==0||zH==9&&zV==1||zH==10&&zV==1)
            {
                
                hatFigur.zeichne(250+6*40,180+0*40,15,3,zNummer);
                zH=6; zV=0;
            }
            //Bei gelb Figur im Haus
            if(zH==9&&zV==9||zH==10&&zV==9||zH==9&&zV==10||zH==10&&zV==10)
            {
                
                hatFigur.zeichne(250+10*40,180+6*40,15,4,zNummer);
                zH=10; zV=6;
            }
        }
 
Zuletzt bearbeitet von einem Moderator:

Len

Mitglied
Ich weiß, das ist sehr kompliziert und umständlich und geht bestimmt elegaganter, aber ich wüsste nicht wie, vielleicht kann mir ja jemand von euch helfen :)
 

Harry Kane

Top Contributor
hatFeldzuweisung ist ein schnödes int-Array, und das hat nunmal keine Methode setzeInhalt mit einer wie auch immer gearteten Parameterliste.
 

Len

Mitglied
Hast du einen Vorschlag, wie man das besser machen kann? Ich bin eher Anfänger bei Java und dachte, das würde so funktionieren ;)
 

Harry Kane

Top Contributor
Willst du uns ernsthaft erzählen, das du 168 mal eine Zeile der Form hatFeldzuweisung.setzeInhalt( x, y); in deinen Code schreibst, nur um dann festzustellen, daß das nicht geht (was wahrscheinilch heisst: nicht kompiliert)?
Wenn ich mir die einzlenen Zeilen so anschaue, muss wahrscheinlich jeder Aufruf der obigen Form ersetzt werden durch hatFeldzuweisung[x] = y;
 

Len

Mitglied
Nun, ich gebe zu, dass ich mich in diesem Fall nicht durch außerordentliche Intelligenz ausgezeichnet habe ^^
danke für deinen Tipp, ich werde das mal ausprobieren :)
 

Ähnliche Java Themen

Neue Themen


Oben