xxxxxxxxxx
let img = [];
let name = [' ','つぶやきシロー','パイレーツ','さんぺい','ダンディさかの','はたようく','ヒロシ','ながいひでかず','レイザーラモンHG','こうめだゆう','レギュラー','パッションやら','ハイキングウォーキング','ちょうしゅうこりき','にしおかすみこ','こじまよしお','ふじさきマーケット','ムーディかつやま','ですよ。','いつもここから','エドはるみ','ひげだんしゃく','ジョイマン','フォーリンラブ','クールポコ','ひびき','ゆってぃ','たのしんご','スギちゃん','ハマカーン','キンタロー','どぶろっく','クマムシ','ピスタチオ','ながの','ピコたろう','ブルゾンちえみ','サンシャインいけざき','にゃんこスター','ひょっこりはん'];
let nWord = [];
let dWord = [];
let kana="あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろアウオクコサスソツトナヌノハフホマモヤヨラルロ";
let nNumber;
let nLength;
let cNumber;
let wOrder=0;
let qNumber=1;
let cAnswers=0;
let mode=0;
let choice;
let mcnt=0;
let oWait=0;
function preload(){
for(let i=1;i<39;i++){
img[i] = loadImage(i+".jpg");
}
}
function setup() {
createCanvas(300,200);
nameMake();
wordMake();
}
function draw(){
background(0);
objDisp();
makeWait();
frameDisp();
if(mode==0){
wordDisp();
}else if(mode==1){
correctDisp();
}else if(mode==2){
wordDisp();
}
else if(mode==3){
missDisp();
}else if(mode==4){
restartDisp();
}
}
function objDisp(){
fill(255);
textSize(12);
text("名前当てゲーム",105,15);
text(qNumber+"問目",255,15);
text("正解数"+cAnswers,245,30);
}
function frameDisp(){
stroke(255);
noFill();
for(let i=0;i<nLength;i++){
rect(i*20+((300-20*nLength)/2),110,20,20);
}
for(let i=0;i<3;i++){
rect(i*60+70,140,40,40);
}
}
function wordDisp(){
fill(255);
image(img[nNumber], 112, 30,75,75);
textSize(35);
for(let i=1;i<4;i++){
text(dWord[i],(i-1)*60+72,175);
}
textSize(17);
for(let i=0;i<wOrder;i++){
text(nWord[i],i*20+((300-20*nLength)/2),125);
}
}
function correctDisp(){
fill(255);
image(img[nNumber], 112, 30,75,75);
textSize(25);
textSize(17);
for(let i=0;i<nLength;i++){
text(nWord[i],i*20+((300-20*nLength)/2),125);
}
textSize(60);
text("〇",240,100);
}
function missDisp(){
fill(255);
image(img[nNumber], 112, 30,75,75);
textSize(35);
for(let i=1;i<4;i++){
text(dWord[i],(i-1)*60+72,175);
}
textSize(17);
for(let i=0;i<nLength;i++){
text(nWord[i],i*20+((300-20*nLength)/2),125);
}
textSize(75);
text("×",240,100);
}
function restartDisp(){
fill(255);
textSize(24);
mcnt=mcnt+1;
if((mcnt%60)<40){
text("Click to retry!!",80,84);
}
}
function mousePressed(){
if(mode==0 && oWait<0){
choice=0;
if((mouseX>70) && (mouseX<230) && (mouseY>140)&&(mouseY<180)){
if((mouseX>70) && (mouseX<110) && (mouseY>140)&&(mouseY<180)){
choice=1;
}
if((mouseX>130) && (mouseX<170) && (mouseY>140)&&(mouseY<180)){
choice=2;
}
if((mouseX>190) && (mouseX<230) && (mouseY>140)&&(mouseY<180)){
choice=3;
}
if(choice>0 && dWord[choice]==nWord[wOrder]){
wOrder=wOrder+1;
if(nLength==wOrder){
mode=1;
oWait=60;
}else{
mode=2;
oWait=30;
}
}else if(choice>0){
mode=3;
oWait=120;
}
}
} else if(mode==4 && oWait<0){
mode=0;
wOrder=0;
qNumber=1;
cAnswers=0;
nameMake();
wordMake();
}
}
function nameMake(){
nNumber=int(random(1,50));
nLength=name[nNumber].length;
for(let i=0;i<name[nNumber].length;i++){
nWord[i]=name[nNumber].substring(i,i+1);
}
}
function wordMake(){
cNumber=int(random(1,4));
for(let i=1;i<4;i++){
let dNumber=int(random(60));
dWord[i]=kana.substring(dNumber,dNumber+1);
}
dWord[cNumber]=nWord[wOrder];
}
function makeWait(){
oWait=oWait-1;
if(mode==1 && oWait<0){
wOrder=0;
cAnswers=cAnswers+1;
qNumber=qNumber+1;
mode=0;
nameMake();
wordMake();
}else if(mode==2 && oWait<0){
wordMake();
mode=0;
}
else if(mode==3 && oWait<0){
wOrder=0;
qNumber=qNumber+1;
nameMake();
wordMake();
mode=0;
} else if(qNumber>10){
qNumber=qNumber-1;
mode=4;
oWait=120;
}
}