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 🙂
 
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.
 
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?
 
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:
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 🙂
 
Hast du einen Vorschlag, wie man das besser machen kann? Ich bin eher Anfänger bei Java und dachte, das würde so funktionieren 😉
 
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;
 
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 🙂
 
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 .
 
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
 

Zurück
Oben