私は、4 x 4 の数独ゲームを作成し、プレーヤーに不足している数字を再生グリッドに入力させる処理スケッチを作成する割り当てを持っています。私が現在直面している問題は、プレーヤーがループまたは何かを実行できるようにすることです不足しているすべての数字を入力しますか? switch ステートメントと if ステートメントを使用してプレーヤーが最初の 4 つの数字を入力できるようにすることに成功しましたが、プログラムは各ケースの最初の if ステートメントのみを通過し、残りを通過させたいですか? これが私が作る鱈です。
void setup ()
{
background (255);
size (125,125);
board();
}
void cell (int x , int y , int s )
{
rect (x,y,s,s);
}
void triple (int x , int y , int s )
{
for (int i = 0 ; i < 2 ; i ++)
{
cell ( x,y,s);
x += s;
}
}
void block (int x , int y , int s )
{
for (int i = 0 ; i < 2 ; i ++)
{
triple ( x , y , s);
y += s;
}
}
void row (int x , int y , int s )
{
for ( int i = 0 ; i < 2 ; i ++)
{
block ( x , y , s);
x += (s*2);
}
}
void cellArray ( int x , int y , int s)
{
for (int i = 0 ; i < 2 ; i ++)
{
row ( x , y , s);
y += (s*2);
}
}
void darwLines ( int x , int y , int s)
{
strokeWeight (3);
for (int i = 0 ; i < 1 ; i ++)
{
x += (s*2);
line ( x , 0 , x , (s*4));
}
for ( int j = 0 ; j < 1 ; j ++)
{
y += (s*2);
line ( 0 , y , (s*4) , y );
}
strokeWeight (1);
}
void board ()
{
cellArray (0,0,30);
darwLines (0,0,30);
}
void draw ()
{
int [][] fixedArray = new int [4][4];
fill (0);
textSize(28);
for (int i = 0 ; i < 4 ; i ++)
{
for (int j = 0 ; j < 4 ; j ++)
{
fixedArray [0][2] = 3;
fixedArray [1][1] = 4;
fixedArray [2][2] = 4;
fixedArray [3][3] = 3;
text(fixedArray [0][2], 65,25);
text(fixedArray [1][1],35,58);
text(fixedArray [2][2],65,88);
text(fixedArray [3][3],95,117);
}//end of inner loop.
}//end of outter loop.
if (mousePressed)
{
mouseClicked ();
}
}
/*------------------------------------------------------------------------------------------*/
void mouseClicked ()
{
int s = 30 ;
int cellX = mouseX / s;
int cellY = mouseY / s;
int [][] userInputArray = new int [4][4];
for (int m = 0 ; m < 4 ; m ++)
{
for (int n = 0 ; n < 4 ; n ++)
{
switch (key)
{
case '1':
if (mouseX > userInputArray [0][0] -s && mouseX < userInputArray [0][0]+s && mouseY > userInputArray [0][0] -s && mouseY < userInputArray [0][0] +s )
{
fill (0,0,255);
text (key , 10,25);
}
else if (mouseX > userInputArray [1][2] -30 && mouseX < userInputArray [1][2]+30 && mouseY > userInputArray [1][2] -30 && mouseY < userInputArray [1][2] +30)
{
fill (0,0,255);
text ('1' , 65,58);
}
else if (mouseX > userInputArray [2][3] -30 && mouseX < userInputArray [2][3]+30 && mouseY > userInputArray [2][3] -30 && mouseY < userInputArray [2][3] +30)
{
fill (0,0,255);
text('1' ,95,88);
}
else if (mouseX > userInputArray [3][1] -30 && mouseX < userInputArray [3][1]+30 && mouseY > userInputArray [3][1] -30 && mouseY < userInputArray [3][1] +30)
{
fill (0,0,255);
text('1' ,35,117);
}
break ;
case '2':
if (mouseX > userInputArray [0][1] -(s-s) && mouseX < userInputArray [0][1]+(s*2) && mouseY > userInputArray [0][1] -s && mouseY < userInputArray [0][1] +s )
{
fill (0,0,255);
text(key ,35,25);
}
else if (mouseX > userInputArray [1][3] - (s-s) && mouseX < userInputArray [1][3] +(s*2) && mouseY > userInputArray [1][3] -(s*2) && mouseY < userInputArray [1][3] +(s*2))
{
fill(0,0,255);
text(key,95,58);
}
else if (mouseX > userInputArray [2][0] -(s-s) && mouseX < userInputArray [2][0] +(s*2) && mouseY > userInputArray [2][0] -(s*2) && mouseY < userInputArray [2][0] +(s*2))
{
fill(0,0,255);
text(key,10,88);
}
else if (mouseX > userInputArray [3][2] -(s-s) && mouseX < userInputArray [3][2] +(s*2) && mouseY > userInputArray [3][2] -(s*2) && mouseY < userInputArray [3][2] +(s*2))
{
fill(0,0,255);
text(key,65,117);
}
break;
case '3':
if ( mouseX > userInputArray [1][0] -s && mouseX < userInputArray [1][0]+s && mouseY > userInputArray [1][0] -(s-s) && mouseY < userInputArray [1][0] +(s*2))
{
fill(0,0,255);
text(key,10,58);
}
else if (mouseX > userInputArray [2][1] -s && mouseX < userInputArray [2][1]+s && mouseY > userInputArray [2][1] -(s-s) && mouseY < userInputArray [2][1] +(s*2))
{
fill(0,0,255);
text(key,35,88);
}
break ;
case '4':
if (mouseX > userInputArray [0][3] +60 && mouseX < userInputArray [0][3]+120 && mouseY > userInputArray [0][3] -30 && mouseY < userInputArray [0][3] +30 )
{
fill(0,0,255);
text(key,95,25);
}
else if (mouseX > userInputArray [3][0] +60 && mouseX < userInputArray [3][0]+120 && mouseY > userInputArray [3][0] -30 && mouseY < userInputArray [3][0] +30 )
{
fill(0,0,255);
text(key,10,117);
}
break;
default :
{
fill (255);
rect ((cellX * s),(cellY*s),s,s);
}
}//end of switch.
}//end of the inner loop.
}//end of the outter for loop.
}