2018年10月4日 星期四

week04 阮致峰

1. 畫出一個方框以及文字
void setup()
{
   size(800,600); 
}
void draw()
{
   fill(255,0,0);//用紅色填滿
   rect(100,100,100,100);//方框(座標100,100)大小(100,100)
   textSize(80);//文字大小
   fill(0,0,0);//黑色填滿
   text("Start!",100,100);//文字
}


2. 製作一個按下鍵盤會飛出的子彈
void setup()
{
   size(800,600); 
}
void draw()
{
   background(255);//更新背景為白色,則會留殘影
   fill(255,0,0);
   rect(100,100,100,100);
   if(bulletFlying)///3
   {
      ellipse(bulletX,bulletY,50,50);
      bulletX+=3;//往右3個單位
   }
}
float bulletX=100,bulletY=100;
boolean bulletFlying=false;///1
void keyPressed()
{
   bulletFlying=true; ///2
}


3. 製作100顆子彈(第100顆會當機)
void setup()
{
   size(800,600); 
}
void draw()
{
   background(255);
   fill(255,0,0);
   rect(100,100,100,100);
   for(int i=0;i<bulletN;i++)//寫一個迴圈讓子彈一直飛
   {
     if(bulletFlying[i])
     {
        ellipse(bulletX[i],bulletY[i],50,50);
        bulletX[i]+=3;
     }
   }
}
float []bulletX=new float[100];//設內有100個位子的陣列(所有X都要改成陣列)
float []bulletY=new float[100];//設內有100個位子的陣列(所有Y都要改成陣列)
int bulletN=0;
boolean []bulletFlying=new boolean[100];
void keyPressed()
{
   bulletFlying[bulletN]=true;
   bulletX[bulletN] = 100;
   bulletY[bulletN] = 100;
   bulletN++;//要bulletN++才會有子彈跑出來,不然一直都是0
}


4. 讓子彈跟著滑鼠,按下左鍵發射
PImage imgbullit, imgback;//圖片名稱
void setup()
{
   size(800,600);
   imgback = loadImage("back.jpg");
   imgbullit = loadImage("bullit.png");
   imageMode(CENTER);
}
void draw()
{
   image(imgback,width/2,height/2,width,height);//(/2是座標,後面是大小)
   image(imgbullit,mouseX,mouseY,100,100);
   for(int i=0;i<bulletN;i++)
   {
     if(bulletFlying[i])
     {
        image(imgbullit,bulletX[i],bulletY[i],100,100);
        bulletX[i]+=3;
     }
   }
}
float []bulletX=new float[100];
float []bulletY=new float[100];
int bulletN=0;
boolean []bulletFlying=new boolean[100];
void mousePressed()//滑鼠函式
{
   bulletFlying[bulletN]=true;
   bulletX[bulletN] = mouseX;
   bulletY[bulletN] = mouseY;
   bulletN++;
}


5. 做彈跳的球
PImage imgbullit, imgback;
void setup()
{
   size(800,600);
   imgback = loadImage("back.jpg");
   imgbullit = loadImage("bullit.png");
   imageMode(CENTER);
}
void draw()
{
   image(imgback,width/2,height/2,width,height);
   ellipse(mouseX,mouseY,100,100);
   for(int i=0;i<bulletN;i++)
   {
     if(bulletFlying[i])
     {
        ellipse(bulletX[i],bulletY[i],100,100);
        bulletY[i]+=bulletVY[i];
        bulletVY[i]+=0.98;//重力加速度
     }
   }
}
float []bulletX=new float[100];
float []bulletY=new float[100];
float []bulletVY = new float[100];//y軸速度
int bulletN=0;
boolean []bulletFlying=new boolean[100];
void mousePressed()
{
   bulletFlying[bulletN]=true;
   bulletX[bulletN] = mouseX;
   bulletY[bulletN] = mouseY;
   bulletVY[bulletN]=-20;//往上彈
   bulletN++;
}


期中作品:減肥日記

遊戲一開始有一個肥宅
他會一直往上跳
碰到台階再往上跳
有些台階上會有食物
肥宅會發射甜甜圈來打怪物
如果不小心碰到食物就會太胖掉下來死掉

沒有留言:

張貼留言