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 :)
 

tiberian91

Mitglied
sehr interessant programmiert :-D Leider kann ich in meinem Forum nur auf Javascript zurückgreifen...
und habe dieses spiel als Multiplayer Online Spiel mit unbegrenzte anzahl an Räume und Spieler programmiert. mein Spiel kann man auf jeder Gerät benützen. ob Handy,pc,smart tv, internet fähige spiele consolen. die probleme die du hast hab ich mit 1 und 0 gelöst :)

www.allgemeinesforum.de/page-menschrgerdichnichtupgradespielweise.html

auch ein Testacc ist eingerichtet für andere .
 

tiberian91

Mitglied
sehr interessant programmiert :-D Leider kann ich in meinem Forum nur auf Javascript zurückgreifen...
und habe dieses spiel als Multiplayer Online Spiel mit unbegrenzte anzahl an Räume und Spieler programmiert. mein Spiel kann man auf jeder Gerät benützen. ob Handy,pc,smart tv, internet fähige spiele consolen. die probleme die du hast hab ich mit 1 und 0 gelöst :)

www.allgemeinesforum.de/page-menschrgerdichnichtupgradespielweise.html

auch ein Testacc ist eingerichtet für andere .
ich weiß wenn ich das Spiel mit einer anleitung programmiert hätte. anstatt aus dem kopf.
würde es programmier technisch anders aussehen :)
Dafür das ich das ohne jegliche hilfestellung geschafft habe.. ohne ne ausbildung dafür zu haben ..
ist das ok.
In diesem Upgrade habe ich die Computer spieler deaktiviert.
Da man ja nun wählen kann zwischen 2-3-4 spieler pro brett.

Für den einen oder andere könnte das erstellen von Räume interessant sein.
Der das als Hobbys betreibt wie ich es tu.
Die beste programmierung. was ich im nach hinein nach meiner programmierung online gefunden habe..
von einem felix riesterer.

Von seinem Beispiel in Java könntest du das kopieren...

sein spiel hat 400kb.
meines 1,4mb ca in Online Multiplayer ausführung.
allerdings so wie ich es programmierte.. wäre das schon in den 1990er möglich gewesen..


MFG
 

Ähnliche Java Themen

Neue Themen


Oben