Hallo Mensen,
Ik ben op dit moment bezig voor een schoolopdracht. De opdracht is om het spelletje LunarLockout te maken. Het spel gaat tot nu toe aardig maar ik zit nu al 2 dagen vast op het maken van mijn highscorelijstje.
De spelernamen met de scores heb ik opgeslagen in een arraylist.
Het is dus nu de bedoeling dat de arraylist gesorteerd word op score van hoog naar laag.
Ik heb het voor elkaar gekregen om de arraylist uit te lezen en ze te tonen op het scherm.
Het lijkt mij dat ik daar iets aan toe moet voegen om ervoor te zorgen dat hij ze gesorteerd op het scherm laat zien. De code voor de topscore ziet er als volgt uit:
Kan iemand mij assjeblieft helpen deze arraylist te sorteren?
Ik ben op dit moment bezig voor een schoolopdracht. De opdracht is om het spelletje LunarLockout te maken. Het spel gaat tot nu toe aardig maar ik zit nu al 2 dagen vast op het maken van mijn highscorelijstje.
De spelernamen met de scores heb ik opgeslagen in een arraylist.
Het is dus nu de bedoeling dat de arraylist gesorteerd word op score van hoog naar laag.
Ik heb het voor elkaar gekregen om de arraylist uit te lezen en ze te tonen op het scherm.
Het lijkt mij dat ik daar iets aan toe moet voegen om ervoor te zorgen dat hij ze gesorteerd op het scherm laat zien. De code voor de topscore ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
| import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;
public class TopScore extends Panel {
private int x, y;
private JLabel labelq;
private LunarLockout ll;
private SpelBeheerder lijst;
private ArrayList scoreArray;
private Color achtergrondBlauw = new Color(116, 142, 160, 255);
public TopScore(int x, int y, LunarLockout ll) {
this.x = x;
this.y = y;
this.ll = ll;
this.setBounds(x, y, 668, 450);
setLayout(null);
labelq = new JLabel("Sluiten", JLabel.CENTER);
labelq.setBounds(280, 400, 100, 30);
labelq.addMouseListener(new MuisHandler());
labelq.setForeground(Color.BLACK);
labelq.setFont(new Font("Manga Temple", Font.PLAIN, 18));
labelq.setOpaque(false);
//Collections.sort(this.scoreArray, Collections.reverseOrder());
add(labelq);
}
public void paint(Graphics g) {
AntiAlias.setAntiAlias(g, true);
g.setColor(achtergrondBlauw);
g.fillRect(0, 0, 668, 450);
g.setColor(Color.BLACK);
g.drawRect(0, 0, 667, 449);
g.setFont(new Font("Manga Temple", Font.PLAIN, 25));
g.setColor(Color.black);
g.drawString("Topscore:", 250, 40);
for (int i = 0; i < scoreArray.size() && i < 10; i++) {
Speler dezeSpeler = (Speler) scoreArray.get(i);
int posY = 80 + (i * 28);
g.drawString(dezeSpeler.getNaam(), 150, posY);
g.drawString(Integer.toString(dezeSpeler.getScore()), 400, posY);
}
super.paint(g);
}
public void setScoreArray(ArrayList sa) {
this.scoreArray = sa;
}
class MuisHandler extends MouseAdapter {
public void mousePressed(MouseEvent e) {
if (e.isMetaDown()) // rechts klikken
{
} else if (e.isAltDown()) // midden muis knop
{
} else // links klikken
{
if (e.getClickCount() == 2) // dubbelclick
{
} else // geen dubbelclick
{
ll.removeTopScore();
ll.showHoofdmenu();
}
}
}
}
} |
Kan iemand mij assjeblieft helpen deze arraylist te sorteren?