WillyBogard
Gebruiker
- Lid geworden
- 8 dec 2011
- Berichten
- 12
Hallo voor een school project ben ik 2 maanden geleden begonnen met het leren van Java. Het is erg lastig en we proberen het bekende spel Risk te maken.
We hebben de kaart al getekend maar waar ik nu tegen aan loop is dat ik de landen wil verdelen onder 2 spelers via mathrandom. Ik krijg het voor elkaar om de landen toe te wijzen naar een speler maar het lukt niet om te stoppen als elke speler 21 landen in zijn bezit heeft (Er zijn namelijk 42 landen).
In de ene class:
Hoop dat er iemand is die er veel verstand van heeft en mij kan helpen.
Alvast Bedankt
We hebben de kaart al getekend maar waar ik nu tegen aan loop is dat ik de landen wil verdelen onder 2 spelers via mathrandom. Ik krijg het voor elkaar om de landen toe te wijzen naar een speler maar het lukt niet om te stoppen als elke speler 21 landen in zijn bezit heeft (Er zijn namelijk 42 landen).
In de ene class:
Code:
public class Land
{
int nummer;
double x;
double y;
String naam;
int aantalBuren;
int[] buren = new int[6];
int werelddeel;
int eigenaar;
// public Land (nummertje, x0, y0, naampje, aantalBuurtjes, buurtjes, continent, baas)
public Land(int nummertje, double x0, double y0, String naampje, int aantalBuurtjes, int[] buurtjes, int continent, int baas)
{
nummer = nummertje;
x = x0;
y = y0;
naam = naampje;
buren = buurtjes;
aantalBuren = aantalBuurtjes;
werelddeel = continent;
eigenaar = baas;
}
}
Andere class:
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Risk extends Applet
Land [] speelbord = new Land[43];
int[][] verbinding =
{
{0, 0, 0, 0, 0, 0},
{2, 3, 4, 5, 0, 0},//1
{1, 4, 27, 0, 0, 0},//2
{1, 5, 7, 9, 0, 0},//3
{1, 2, 5, 6, 0, 0},//4
{1, 3, 4, 6, 7, 8},//5
{4, 8, 14, 0, 0, 0},//6
{3, 5, 8, 9, 0, 0},//7
{5, 6, 7, 0, 0, 0},//8
{3, 7, 10, 0, 0, 0},//9
{9, 11, 12, 0, 0, 0},//10
{10, 12, 13, 0, 0, 0},//11
{10, 11, 13, 21, 0, 0},//12
{11, 12, 0, 0, 0, 0},//13
{6, 15, 16, 0, 0, 0},//14
{14, 16, 17, 18, 0, 0},//15
{14, 15, 17, 19, 0, 0},//16
{15, 16, 18, 19, 20, 0},//17
{15, 17, 20, 32, 35, 36},//18
{16, 17, 20, 21, 0, 0},//19
{17, 18, 19, 21, 22, 36},//20
{12, 19, 20, 22, 23, 24},//21
{20, 21, 24, 36, 0, 0},//22
{12, 21, 24, 25, 0, 0},//23
{21, 22, 23, 26, 36, 0},//24
{23, 24, 26, 0, 0, 0},//25
{24, 25, 0, 0, 0, 0},//26
{2, 28, 29, 31, 33, 0},//27
{27, 30, 31, 0, 0, 0},//28
{27, 33, 0, 0, 0, 0},//29
{28, 31, 32, 33, 34, 0},//30
{27, 28, 30, 33, 0, 0},//31
{18, 30, 34, 35, 0, 0},//32
{27, 29, 30, 31, 34, 0},//33
{30, 32, 33, 35, 37, 38},//34
{18, 32, 34, 36, 37, 0},//35
{18, 20, 22, 24, 35, 37},//36
{34, 35, 36, 38, 0, 0},//37
{34, 37, 39, 0, 0, 0},//38
{38, 40, 41, 0, 0, 0},//39
{39, 41, 42, 0, 0, 0},//40
{39, 40, 42, 0, 0, 0},//41
{40, 41, 0, 0, 0, 0} //42
};
public void init()
{
// public Land (nummertje, x0, y0, naampje, aantalBuurtjes, buurtjes, continent, baas)
speelbord[0] = new Land(0, 0, 0, "", 0, verbinding[0], 0, 0);
speelbord[1] = new Land(1, 62.5, 37.5, "", 4, verbinding[1], 1, 0);
speelbord[2] = new Land(2, 162.5, 37.5 , "", 3, verbinding[2], 1, 0);
speelbord[3] = new Land(3, 37.5, 112.5, "", 4, verbinding[3], 1, 0);
speelbord[4] = new Land(4, 137.5, 112.5, "", 4, verbinding[4], 1, 0);
speelbord[5] = new Land(5, 87.5, 162.5, "", 6, verbinding[5], 1, 0);
speelbord[6] = new Land(6, 162.5, 187.5, "", 3, verbinding[6], 1, 0);
speelbord[7] = new Land(7, 62.5, 237.5, "", 4, verbinding[7], 1, 0);
speelbord[8] = new Land(8, 137.5, 237.5, "", 3, verbinding[8], 1, 0);
speelbord[9] = new Land(9, 37.5, 312.5, "", 3, verbinding[9], 1, 0);
speelbord[10]= new Land(10, 87.5, 387.5, "", 3, verbinding[10], 2, 0);
speelbord[11]= new Land(11, 62.5, 462.5, "", 3, verbinding[11], 2, 0);
speelbord[12]= new Land(12, 162.5, 437.5, "", 4, verbinding[12], 2, 0);
speelbord[13]= new Land(13, 112.5, 512.5, "", 2, verbinding[13], 2, 0);
speelbord[14]= new Land(14, 237.5, 112.5, "", 3, verbinding[14], 3, 0);
speelbord[15]= new Land(15, 312.5, 112.5, "", 4, verbinding[15], 3, 0);
speelbord[16]= new Land(16, 237.5, 187.5, "", 4, verbinding[16], 3, 0);
speelbord[17]= new Land(17, 312.5, 212.5, "", 5, verbinding[17], 3, 0);
speelbord[18]= new Land(18, 387.5, 212.5, "", 6, verbinding[18], 3, 0);
speelbord[19]= new Land(19, 237.5, 262.5, "", 4, verbinding[19], 3, 0);
speelbord[20]= new Land(20, 337.5, 287.5, "", 6, verbinding[20], 3, 0);
speelbord[21]= new Land(21, 262.5, 362.5, "", 6, verbinding[21], 4, 0);
speelbord[22]= new Land(22, 362.5, 362.5, "", 4, verbinding[22], 4, 0);
speelbord[23]= new Land(23, 237.5, 462.5, "", 4, verbinding[23], 4, 0);
speelbord[24]= new Land(24, 362.5, 437.5, "", 5, verbinding[24], 4, 0);
speelbord[25]= new Land(25, 287.5, 537.5, "", 3, verbinding[25], 4, 0);
speelbord[26]= new Land(26, 387.5, 512.5, "", 2, verbinding[26], 4, 0);
speelbord[27]= new Land(27, 712.5, 37.5, "", 5, verbinding[27], 5, 0);
speelbord[28]= new Land(28, 662.5, 62.5, "", 3, verbinding[28], 5, 0);
speelbord[29]= new Land(29, 762.5, 87.5, "", 2, verbinding[29], 5, 0);
speelbord[30]= new Land(30, 587.5, 112.5, "", 5, verbinding[30], 5, 0);
speelbord[31]= new Land(31, 697.5, 122.5, "", 4, verbinding[31], 5, 0);
speelbord[32]= new Land(32, 462.5, 137.5, "", 4, verbinding[32], 5, 0);
speelbord[33]= new Land(33, 737.5, 192.5, "", 5, verbinding[33], 5, 0);
speelbord[34]= new Land(34, 637.5, 187.5, "", 6, verbinding[34], 5, 0);
speelbord[35]= new Land(35, 537.5, 237.5, "", 5, verbinding[35], 5, 0);
speelbord[36]= new Land(36, 487.5, 337.5, "", 6, verbinding[36], 5, 0);
speelbord[37]= new Land(37, 612.5, 362.5, "", 4, verbinding[37], 5, 0);
speelbord[38]= new Land(38, 712.5, 337.5, "", 3, verbinding[38], 5, 0);
speelbord[39]= new Land(39, 662.5, 437.5, "", 3, verbinding[39], 6, 0);
speelbord[40]= new Land(40, 737.5, 437.5, "", 3, verbinding[40], 6, 0);
speelbord[41]= new Land(41, 687.5, 512.5, "", 3, verbinding[41], 6, 0);
speelbord[42]= new Land(42, 762.5, 487.5, "", 2, verbinding[42], 6, 0);
}
public void paint(Graphics gr)
{
double p;
int i, j, q;
p = Math.random() * 42+1;
q = (int) p;
maxlanden = 21;
for (i=0;i<43;i++)
if (speelbord[i]==speelbord[q])
speelbord[i].eigenaar = 1;
//tekenen van de landen en de verbindingslijntjes
//werelddelen
gr.setColor(Color.RED);
gr.fillRect(20, 20, 165, 310);
gr.setColor(Color.PINK);
gr.fillRect(45, 365, 140, 165);
gr.setColor(Color.BLUE);
gr.fillRect(220, 95, 185, 210);
gr.setColor(Color.ORANGE);
gr.fillRect(220, 340, 190, 220);
gr.setColor(Color.GREEN);
gr.fillRect(445, 20, 335, 360);
gr.setColor(Color.CYAN);
gr.fillRect(645, 420, 135, 110);
//verbindingslijntjes
for(i=1; i<43; i++)
for(j=0; j<speelbord[i].aantalBuren; j++)
{
gr.setColor(Color.BLACK);
gr.drawLine((int) speelbord[i].x, (int) speelbord[i].y, (int) speelbord[speelbord[i].buren[j]].x,(int) speelbord[speelbord[i].buren[j]].y);
}
//landen
for (i=1;i<43;i++)
{
if ((int)speelbord[i].eigenaar == 0)
gr.setColor(Color.WHITE);
if ((int)speelbord[i].eigenaar == 1)
gr.setColor(Color.BLACK);
gr.fillOval((int) speelbord[i].x -15, (int) speelbord[i].y -15, 30, 30);
gr.setColor(Color.BLACK);
gr.drawOval((int) speelbord[i].x -15, (int) speelbord[i].y -15, 30, 30);
}
}
}
Hoop dat er iemand is die er veel verstand van heeft en mij kan helpen.
Alvast Bedankt

Laatst bewerkt door een moderator: