コンテンツにスキップ

数字早押しゲーム

img01.png

以下がわかると、数字早押しゲームが作れます。

  • 間違い探しゲーム
  • 配列
int[] numbers = new int[25];
int current = 1;
int status = 1;
float timer = 0;
void setup(){
size(320, 480);
rectMode(CENTER);
textFont(createFont("Arial", 32));
init();
}
void draw(){
background(255);
for(int i=0; i<numbers.length; i++){
float x = i % 5 * 50 + 60;
float y = i / 5 * 50 + 150;
fill(255, 255, 0);
if(numbers[i] < current){
fill(100, 100, 100);
}
rect(x, y, 50, 50);
fill(0);
textAlign(CENTER, CENTER);
textSize(12);
text(numbers[i], x, y);
}
textSize(32);
text(timer / 60, width/2, 50);
if(status == 0){
fill(255);
rect(width/2, height/2, width, height);
fill(0);
textAlign(CENTER, CENTER);
textSize(32);
text("TAP TO START", width/2, height/2);
}
if(status == 1){
timer += 1;
}
if(status == 2){
fill(0, 0, 0, 50);
rect(width/2, height/2, width, height);
fill(255);
textAlign(CENTER, CENTER);
textSize(64);
text("CLEAR", width/2, height/2);
}
}
void mousePressed(){
if(status == 0){
status = 1;
}
for(int i=0; i<numbers.length; i++){
float x = i % 5 * 50 + 60;
float y = i / 5 * 50 + 150;
if(mouseX < x + 25 && mouseX > x - 25){
if(mouseY < y + 25 && mouseY > y - 25){
if(numbers[i] == current){
current += 1;
if(current > numbers.length){
status = 2;
}
}
}
}
}
}
void init(){
numbers = new int[25];
current = 1;
status = 0;
timer = 0;
for(int i=0; i<numbers.length; i++){
numbers[i] = i + 1;
}
shuffle(numbers);
}
void shuffle(int[] numbers){
for(int i=0; i<999; i++){
int from = (int)random(0, numbers.length);
int to = (int)random(0, numbers.length);
int temp = numbers[from];
numbers[from] = numbers[to];
numbers[to] = temp;
}
}