首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javafx的内存游戏中的随机数

使用javafx的内存游戏中的随机数
EN

Stack Overflow用户
提问于 2013-04-19 15:45:22
回答 2查看 1.3K关注 0票数 0

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

代码语言:javascript
复制
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
        } 
    } 
}

以及整个代码:

代码语言:javascript
复制
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()
                        }
                    }
                }
            ]
        }
    }
EN

回答 2

Stack Overflow用户

发布于 2013-04-19 19:26:16

嘿,

我知道荷兰是不是也不是很好:)我的记忆是不是学校造的?我的名字就是我喜欢的东西!他说:“我不知道你的意思是什么?”他说,“我不知道你的意思是什么,我也不知道。他遇到了洗牌的功能,这是一种新的方式,它是一种新的方式。我不知道我的工作是什么,我不知道我的工作是什么,我想要的是我的邮件和代码好的事件,我想要的是在谷歌和互联网上的错误信息。

票数 0
EN

Stack Overflow用户

发布于 2014-02-06 20:34:08

看这段代码,可能会有帮助:

代码语言:javascript
复制
    // 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);
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16099771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档