✎期中作品
👀試做老師示範的內容
int [][]puzzle=new int[20][20]; //存放真實答案
int [][]touch=new int[20][20]; //記錄滑鼠點擊void setup(){
size(600,800);
}
boolean bGenerator=true; //判斷目前模式
void draw(){
background(255);
if(bGenerator){ //設計關卡
for(int i=0;i<20;i++){
for(int j=0;j<20;j++){
if(puzzle[j][i]==0) fill(128);
else fill(255);
rect(100+15*j,100+15*i,15,15);
}
}
}
else{ //判斷遊戲過程正確或錯誤
for(int i=0;i<20;i++){
for(int j=0;j<20;j++){
if(touch[j][i]==0) fill(200);
else if(puzzle[j][i]==0&& touch[j][i]==1)fill(0,255,0);
else if(puzzle[j][i]==1&& touch[j][i]==1)fill(255,0,0);
rect(100+15*j,100+15*i,15,15);
}
}
}
}
void mouseDragged(){
int i=int((mouseY-100)/15);
int j=int((mouseX-100)/15);
if(bGenerator){
puzzle[j][i]=1;
}
else{
touch[j][i]=1;
}
}
void keyPressed(){
//切換模式
if(key=='g'){
bGenerator=!bGenerator;
}
}
按下左上角的三角形或Ctrl+R,即可執行看結果
🌟設計關卡模式
🌟設計關卡模式
🌟遊戲模式
👀嘗試存檔
將設計關卡儲存下來
int [][]puzzle=new int[20][20];
int [][]touch=new int[20][20];PrintWriter output; //文件變數
void setup(){
size(600,800);
output = createWriter("ans.txt"); //輸出檔案名稱及附檔名
}
boolean bGenerator=true;
void draw(){
background(255);
if(bGenerator){
for(int i=0;i<20;i++){
for(int j=0;j<20;j++){
if(puzzle[j][i]==0) fill(128);
else fill(255);
rect(100+15*j,100+15*i,15,15);
}
}
}
else{
for(int i=0;i<20;i++){
for(int j=0;j<20;j++){
if(touch[j][i]==0) fill(200);
else if(puzzle[j][i]==0&& touch[j][i]==1)fill(0,255,0);
else if(puzzle[j][i]==1&& touch[j][i]==1)fill(255,0,0);
rect(100+15*j,100+15*i,15,15);
}
}
}
}
void mouseDragged(){
int i=int((mouseY-100)/15);int j=int((mouseX-100)/15);
if(bGenerator){
puzzle[j][i]=1;
}
else{
touch[j][i]=1;
}
}
void keyPressed(){
if(key=='g'){
bGenerator=!bGenerator;
}
//按下s鍵,儲存puzzle陣列中的內容
if(key=='s'){for(int i=0;i<20;i++){
for(int j=0;j<20;j++){
output.print(puzzle[j][i]+",");
}
output.println("\r\n");
}
output.flush(); //寫入檔案中
output.close(); //關閉檔案
}
}
按下左上角的三角形或Ctrl+R,即可執行看結果
開啟ans.txt
沒有留言:
張貼留言