使用javafx的记忆游戏中的随机

使用javafx的记忆游戏中的随机,javafx,Javafx,我正在用javafx做一个记忆游戏,但是我有一个小问题,除了随机函数它选择随机颜色,但有时它选择三种相同的颜色。我已经启动了一个变量使其工作,但请帮助我! 我已经完成的部分: for (aantalkaarten in [1..16]){ var choice = RANDOM.nextInt( sizeof mogelijkewaarde); gekozenwaarde[aantalkaarten] = mogelijkewaarde[choice];

我正在用javafx做一个记忆游戏,但是我有一个小问题,除了随机函数它选择随机颜色,但有时它选择三种相同的颜色。我已经启动了一个变量使其工作,但请帮助我! 我已经完成的部分:

for (aantalkaarten in [1..16]){
    var choice = RANDOM.nextInt(
        sizeof mogelijkewaarde);
    gekozenwaarde[aantalkaarten] = mogelijkewaarde[choice];
    for(x in [1..16]){
        if (gekozenkaart[aantalkaarten] == gekozenkaart[x]){
            counter ++;
        }    
        if (counter == 2){
            //HIER MOET IETS KOMEN WAARMEE JE DIE KAART DIE ALS
        //DERDE DIE KLEUR KRIJGT WEER OPNIEUW RANDOM EEN KLEUR KRIJGT
        } 
    } 
}
而整个代码:

package newpackage;

import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.shape.Rectangle;
import javafx.scene.paint.Color;
import javafx.scene.control.Button;
import java.util.Random;

var backColor = "lightblue";
var rectangle1: Rectangle;
var rectangle2: Rectangle;
var rectangle3: Rectangle;
var rectangle4: Rectangle;
var rectangle5: Rectangle;
var rectangle6: Rectangle;
var rectangle7: Rectangle;
var rectangle8: Rectangle;
var rectangle9: Rectangle;
var rectangle10: Rectangle;
var rectangle11: Rectangle;
var rectangle12: Rectangle;
var rectangle13: Rectangle;
var rectangle14: Rectangle;
var rectangle15: Rectangle;
var rectangle16: Rectangle;
var kaarten = ["", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red",];
var kaartzichtbaar = [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true];
var gekozenkaart = [0, 0, 0];
var tekst = "beginnen maar";
var aantalclicks = 0;
var kaartkeuze = ["", ""];
var scene: Scene;
var button: Button;
var score = 0;
var gekozenwaarde = ["","","","","","","","","","","","","","","","",""];
var mogelijkewaarde = ["yellow","blue","white","grey","green","pink","magenta","orange"];
var RANDOM = Random{};
var counter =0;

for (aantalkaarten in [1..16]){
    var choice = RANDOM.nextInt(
        sizeof mogelijkewaarde);
    gekozenwaarde[aantalkaarten] = mogelijkewaarde[choice];
    for(x in [1..16]){
        if (gekozenkaart[aantalkaarten] == gekozenkaart[x]){
            counter ++;
        }    
        if (counter == 2){
            //HIER MOET IETS KOMEN WAARMEE JE DIE KAART DIE ALS
        //DERDE DIE KLEUR KRIJGT WEER OPNIEUW RANDOM EEN KLEUR KRIJGT
        } 
    } 
}

function KaartControle() {
    if (aantalclicks == 2) {
        if (kaartkeuze[0] == kaartkeuze[1]) {
            tekst = "goed bezig!";
            kaartzichtbaar[gekozenkaart[0]] = false;
            kaartzichtbaar[gekozenkaart[1]] = false;
            aantalclicks = 0;
            score++;
        }
    }
    else if (aantalclicks == 3) {
        tekst = "jammer!";
        kaarten[gekozenkaart[0]] = "red";
        kaarten[gekozenkaart[1]] = "red";
        kaarten[gekozenkaart[2]] = "red";
        aantalclicks = 0;
        score--;
    }
    if (score == 8) {
        tekst = "Hoera!! Het spel is voltooid";
    }
}

Stage {
    title: "Memory"
    scene: Scene {
        width: 500
        height: 300
        fill: bind Color.web(backColor)
        content: [
            Text {
                font: Font {
                    size: 16
                }
                x: 10
                y: 30
                content: bind tekst;
            }
            Text {
                font: Font {
                    size: 16
                }
                x: 250
                y: 30
                content: bind score.toString();
            }
            button = Button {
                        translateX: 300
                        translateY: 150
                        text: "reset"
                        visible: true
                        action: function() {
                            kaartzichtbaar = [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true];
                            kaarten = ["", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red", "red",];
                            aantalclicks = 0;
                            score = 0;
                            for (aantalkaarten in [1..16]){
                                var choice = RANDOM.nextInt(
                                    sizeof mogelijkewaarde);
                            gekozenwaarde[aantalkaarten] = mogelijkewaarde[choice];
}
                        }
                    }
            //Kaart 1
            rectangle1 = Rectangle {
                        visible: bind kaartzichtbaar[1]
                        width: 50
                        height: 50
                        x: 10
                        y: 50
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[1])
                        onMouseClicked: function(event) {
                            if (kaarten[1] == "red") {
                                kaarten[1] = gekozenwaarde[1];
                                kaartkeuze[aantalclicks] = gekozenwaarde[1];
                                gekozenkaart[aantalclicks] = 1;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 2
            rectangle2 = Rectangle {
                        visible: bind kaartzichtbaar[2]
                        width: 50
                        height: 50
                        x: 10
                        y: 110
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[2])
                        onMouseClicked: function(event) {
                            if (kaarten[2] == "red") {
                                kaarten[2] = gekozenwaarde[2];
                                kaartkeuze[aantalclicks] = gekozenwaarde[2];
                                gekozenkaart[aantalclicks] = 2;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 3
            rectangle3 = Rectangle {
                        visible: bind kaartzichtbaar[3]
                        width: 50
                        height: 50
                        x: 10
                        y: 170
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[3])
                        onMouseClicked: function(event) {
                            if (kaarten[3] == "red") {
                                kaarten[3] = gekozenwaarde[3];
                                kaartkeuze[aantalclicks] = gekozenwaarde[3];
                                gekozenkaart[aantalclicks] = 3;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 4
            rectangle4 = Rectangle {
                        visible: bind kaartzichtbaar[4]
                        width: 50
                        height: 50
                        x: 10
                        y: 230
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[4])
                        onMouseClicked: function(event) {
                            if (kaarten[4] == "red") {
                                kaarten[4] = gekozenwaarde[4];
                                kaartkeuze[aantalclicks] = gekozenwaarde[4];
                                gekozenkaart[aantalclicks] = 4;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 5
            rectangle5 = Rectangle {
                        visible: bind kaartzichtbaar[5]
                        width: 50
                        height: 50
                        x: 70
                        y: 50
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[5])
                        onMouseClicked: function(event) {
                            if (kaarten[5] == "red") {
                                kaarten[5] = gekozenwaarde[5];
                                kaartkeuze[aantalclicks] = gekozenwaarde[5];
                                gekozenkaart[aantalclicks] = 5;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 6
            rectangle6 = Rectangle {
                        visible: bind kaartzichtbaar[6]
                        width: 50
                        height: 50
                        x: 70
                        y: 110
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[6])
                        onMouseClicked: function(event) {
                            if (kaarten[6] == "red") {
                                kaarten[6] = gekozenwaarde[6];
                                kaartkeuze[aantalclicks] = gekozenwaarde[6];
                                gekozenkaart[aantalclicks] = 6;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 7
            rectangle7 = Rectangle {
                        visible: bind kaartzichtbaar[7]
                        width: 50
                        height: 50
                        x: 70
                        y: 170
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[7])
                        onMouseClicked: function(event) {
                            if (kaarten[7] == "red") {
                                kaarten[7] = gekozenwaarde[7];
                                kaartkeuze[aantalclicks] = gekozenwaarde[7];
                                gekozenkaart[aantalclicks] = 7;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 8
            rectangle8 = Rectangle {
                        visible: bind kaartzichtbaar[8]
                        width: 50
                        height: 50
                        x: 70
                        y: 230
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[8])
                        onMouseClicked: function(event) {
                            if (kaarten[8] == "red") {
                                kaarten[8] = gekozenwaarde[8];
                                kaartkeuze[aantalclicks] = gekozenwaarde[8];
                                gekozenkaart[aantalclicks] = 8;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 9
            rectangle9 = Rectangle {
                        visible: bind kaartzichtbaar[9]
                        width: 50
                        height: 50 x: 130
                        y: 50
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[9])
                        onMouseClicked: function(event) {
                            if (kaarten[9] == "red") {
                                kaarten[9] = gekozenwaarde[9];
                                kaartkeuze[aantalclicks] = gekozenwaarde[9];
                                gekozenkaart[aantalclicks] = 9;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 10
            rectangle10 = Rectangle {
                        visible: bind kaartzichtbaar[10]
                        width: 50
                        height: 50
                        x: 130
                        y: 110
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[10])
                        onMouseClicked: function(event) {
                            if (kaarten[10] == "red") {
                                kaarten[10] = gekozenwaarde[10];
                                kaartkeuze[aantalclicks] = gekozenwaarde[10];
                                gekozenkaart[aantalclicks] = 10;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 11
            rectangle11 = Rectangle {
                        visible: bind kaartzichtbaar[11]
                        width: 50
                        height: 50
                        x: 130
                        y: 170
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[11])
                        onMouseClicked: function(event) {
                            if (kaarten[11] == "red") {
                                kaarten[11] = gekozenwaarde[11];
                                kaartkeuze[aantalclicks] = gekozenwaarde[11];
                                gekozenkaart[aantalclicks] = 11;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 12
            rectangle12 = Rectangle {
                        visible: bind kaartzichtbaar[12]
                        width: 50
                        height: 50
                        x: 130
                        y: 230
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[12])
                        onMouseClicked: function(event) {
                            if (kaarten[12] == "red") {
                                kaarten[12] = gekozenwaarde[12];
                                kaartkeuze[aantalclicks] = gekozenwaarde[12];
                                gekozenkaart[aantalclicks] = 12;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 13
            rectangle13 = Rectangle {
                        visible: bind kaartzichtbaar[13]
                        width: 50
                        height: 50
                        x: 190
                        y: 50
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[13])
                        onMouseClicked: function(event) {
                            if (kaarten[13] == "red") {
                                kaarten[13] = gekozenwaarde[13];
                                kaartkeuze[aantalclicks] = gekozenwaarde[13];
                                gekozenkaart[aantalclicks] = 13;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 14
            rectangle14 = Rectangle {
                        visible: bind kaartzichtbaar[14]
                        width: 50
                        height: 50
                        x: 190
                        y: 110
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[14])
                        onMouseClicked: function(event) {
                            if (kaarten[14] == "red") {
                                kaarten[14] = gekozenwaarde[14];
                                kaartkeuze[aantalclicks] = gekozenwaarde[14];
                                gekozenkaart[aantalclicks] = 14;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 15
            rectangle15 = Rectangle {
                        visible: bind kaartzichtbaar[15]
                        width: 50
                        height: 50
                        x: 190
                        y: 170
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[15])
                        onMouseClicked: function(event) {
                            if (kaarten[15] == "red") {
                                kaarten[15] = gekozenwaarde[15];
                                kaartkeuze[aantalclicks] = gekozenwaarde[15];
                                gekozenkaart[aantalclicks] = 15;
                                aantalclicks++;
                                KaartControle()
                            }
                        }
                    }
            //Kaart 16
            rectangle16 = Rectangle {
                        visible: bind kaartzichtbaar[16]
                        width: 50
                        height: 50
                        x: 190
                        y: 230
                        arcWidth: 10
                        arcHeight: 10
                        fill: bind Color.web(kaarten[16])
                        onMouseClicked: function(event) {
                            if (kaarten[16] == "red") {
                            kaarten[16] = gekozenwaarde[16];
                            kaartkeuze[aantalclicks] = gekozenwaarde[16];
                            gekozenkaart[aantalclicks] = 16;
                            aantalclicks++; KaartControle()
                        }
                    }
                }
            ]
        }
    }

恩格斯是尼特·佐德(niet zo goed:) 这是学校的记忆吗?这是我的名字! 所有人都有机会与其他人见面,他们也有机会与其他人见面。他遇到了一个新的洗牌功能,并在两周内完成了一次洗牌。
我通过我的邮件发送给我的朋友,我的邮件将被发送给我,我的代码将被发送给你,我希望谷歌能在互联网上发布这段代码,可能会有帮助:

    // Draws a random 100x100 rectangle in a random color.
import java.awt.*;
import java.util.*;
public class RandomRectangle {
public static void main(String[] args) {
DrawingPanel panel = new DrawingPanel(500, 500);
Graphics g = panel.getGraphics();
Random rand = new Random();
// choose random location
Point rectPoint = new Point();
rectPoint.x = rand.nextInt(500);
rectPoint.y = rand.nextInt(500);
// choose random color
int randomColor = rand.nextInt(3);
if (randomColor == 0) {
g.setColor(Color.RED);
} else if (randomColor == 1) {
g.setColor(Color.GREEN);
} else {
g.setColor(Color.BLUE);
}
g.fillRect(rectPoint.x, rectPoint.y, 100, 100);
}
}

为了清晰起见,您可能需要将荷兰语注释更改为英语。