我正在为一个学校项目制作一个记忆游戏,它运行得很好,所以一切都按照它应该的方式运行,但是有一个问题。我不知道如何让卡片的颜色,每次玩游戏时矩形随机化。
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;
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;
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
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;
tekst = "beginnen maar"
}
}
//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] = "green";
kaartkeuze[aantalclicks]="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] = "green";
kaartkeuze[aantalclicks]="1";
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] = "cyan";
kaartkeuze[aantalclicks]="2";
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] = "cyan";
kaartkeuze[aantalclicks]="2";
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] = "yellow";
kaartkeuze[aantalclicks]="3";
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] = "yellow";
kaartkeuze[aantalclicks]="3";
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] = "purple";
kaartkeuze[aantalclicks]="4";
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] = "purple";
kaartkeuze[aantalclicks]="4";
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] = "grey";
kaartkeuze[aantalclicks]="5";
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] = "grey";
kaartkeuze[aantalclicks]="5";
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] = "magenta";
kaartkeuze[aantalclicks]="6";
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] = "magenta";
kaartkeuze[aantalclicks]="6";
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] = "orange";
kaartkeuze[aantalclicks]="7";
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] = "orange";
kaartkeuze[aantalclicks]="7";
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] = "blue";
kaartkeuze[aantalclicks]="8";
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] = "blue";
kaartkeuze[aantalclicks]="8";
gekozenkaart[aantalclicks]= 16;
aantalclicks ++;
KaartControle()
}
}
}
]
}
}