Toon posts:

[Java] Random plaatsing van een cirkel

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik volg een informatica opleiding op het HBO en tijdens deze opleiding krijg ik programeren met Java. Nu heb ik morgen een toets over events. Hierbij komen aanbod: Scrollbars, buttons en de if statement.

Nu doe ik om een beetje te oefen een oefentoets die ik van mijn leeraar heb gekregen, en luidt de opdracht als volgt:

Maak een applet met daarin de volgende methodes, drawCircle en draw-
Square. Zet het vierkant linksboven. De circel wordt random binnen het
tekenvenster geplaatst.
Met de schuifbalken kan het vierkant verplaatst worden.
Het is de bedoeling dat het vierkant precies op de rode cirkel
geplaatst kan worden.
Geef de positie tussen de beide objecten met een drawString.
De afstand is altijd een positief getal of het is neutraal (0 dus).
Als de rode vlek verdwijnt verschijnt er: GELUKT.

Nu heb ik het volgende:

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
import java.awt.*;
import java.applet.Applet;
import java.awt.event.*;

public class toets extends Applet
    implements AdjustmentListener {
    private Scrollbar slider, slider1;
    private int sliderValue;
    private int slider1Value;

    public void init () {
        slider = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 500);
        add(slider);
        slider.addAdjustmentListener(this);

        slider1 = new Scrollbar(Scrollbar.VERTICAL, 0, 1, 0, 500);
        add(slider1);
        slider1.addAdjustmentListener(this);
    }

    public void paint(Graphics g) {
        drawCircle(g,200,150,10,10,0,360);
        drawSquare(g,0,0,10,10);
    }

    private void drawCircle(Graphics g, int x,int y,int breedte,int lengte, int starthoek, int hoek) {
        g.setColor(Color.red);
        g.fillArc(x,y,breedte,lengte,starthoek,hoek);
    }

    private void drawSquare(Graphics g, int x,int y,int breedte, int hoogte) {
        g.setColor(Color.yellow);
        g.fillRect(x+sliderValue,y+slider1Value,breedte,hoogte);
    }

    public void adjustmentValueChanged(AdjustmentEvent e) {
        sliderValue = slider.getValue();
        slider1Value = slider1.getValue();
        repaint();
    }
}


Nu heb ik dus een vaste waarde gegeven aan de cirkel. Dat is niet de bedoeling. Ik weet dat getallen random kan laten verschijnen. Nu heb ik mijn boek er nog eens opna geslagen en niet kunnen vinden hoe ik die cirkel random kan later verschijnen.

Ik denk dat dit wel nodig is om de horizontale en verticale verschil weer te geven.
Want dan kan je de x en y waarde van cirkel minus de x en y waarde van de rect kan doen. (hoop dat dit zo werkt, mochten jullie dit weten laat het dan ook ff weten).

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21-08 14:03

Robtimus

me Robtimus no like you

java.util.Random?

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
Ik ken deze java commando nog niet, waar moet ik deze dan plaatsen?????

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Gebruik Math.random(), dit genereerd een getal tussen 0 en 1... Om een dobbelsteen te simuleren doe je dus bijvoorbeeld:

Java:
1
int waarde = (int) Math.floor( (Math.random() * 6) + 1)

Verwijderd

Topicstarter
ja oke, maar hoe plaats ik deze commando in mijn geheel, ik zie het nog niet helemaal

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 21-08 14:03

Robtimus

me Robtimus no like you

Verwijderd schreef op 28 september 2003 @ 18:26:
Ik ken deze java commando nog niet, waar moet ik deze dan plaatsen?????
Java:
1
2
3
4
Random random = new Random(); // you can give a seed if needed
int x = random.nextInt(fieldwidth-10);
int y = random.nextInt(fieldheight-10);
drawCircle(g, x, y, 10, 10, 0, 360);
fieldwidth en fieldheight moet je dus wel even ophalen.

Amras: Math.random() gebruikt de nextDouble() method van java.util.Random.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
oke bedankt voor dit, maar nu weet ik nog steeds niet waar ik hem in mijn code moet plaatsen, ben al wat aan het vogelen geweest maar kom er niet uit

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 28 September 2003 @ 18:26:
Ik ken deze java commando nog niet, waar moet ik deze dan plaatsen?????
Verwijderd schreef op 28 September 2003 @ 18:57:
ja oke, maar hoe plaats ik deze commando in mijn geheel, ik zie het nog niet helemaal
Verwijderd schreef op 28 September 2003 @ 19:13:
oke bedankt voor dit, maar nu weet ik nog steeds niet waar ik hem in mijn code moet plaatsen, ben al wat aan het vogelen geweest maar kom er niet uit
Als je zelf niets wil hoeven proberen of als nadenken in het geheel te hoog gegrepen is, open dan geen topic hier :/ We verwachten hier zelfwerkzaamheid, dus niet dat je na 3 heldere goedbedoelde tips, inclusief de complete oplossing, nog steeds vraagt waar je het moet invoegen.

Geen zelfwerkzaamheid = geen topic. Toedels :Y)

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.