顯示具有 Week13 標籤的文章。 顯示所有文章
顯示具有 Week13 標籤的文章。 顯示所有文章

2020年6月29日 星期一

你當我的錢是大風颳來的嗎_week13


PImage imgBird;
void setup()
{
  size (500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);
}
float birdX=100,birdY=300,oldX,oldY;
void draw()
{
  background (255);
  image(imgBird,mouseX,mouseY,100,100);
  if (mousePressed) line (birdX,birdY,oldX,oldY);
}
void mousePressed()
{
 oldX=birdX;oldY=birdY;
}
void mouseDragged()
{
  birdX=mouseX;
  birdY=mouseY;
}
一開始叫出憤怒鳥忘記截圖了
所以直接放上可以拉線的憤怒鳥,超可愛的喔

2020年6月18日 星期四

week13

延續上禮拜的Angrybird程式
先讓angrybird出現:


用line()畫線:移動bird的時候會畫線

用if(判斷)











用if(bMoving)控制放開bird後就不能移動他











birdX+=v;birdY+=vy;讓bird做等速度運動
vx,vy除以10 速度是0.1倍
但是這時候bird會飛超過邊界











設定他撞到邊界會往反方向移動,如果要讓他減速
就把算式乘以小於一的數字

08160581_week13

ANGRY BIRD會飛ㄌ
PImage imgBird;
void setup() {
  size(500, 400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);
}
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;
boolean bMoving=false;
void draw() {
  background(255);
  image(imgBird, birdX, birdY, 100, 100);
  if (bMoving) line(birdX, birdY, oldX, oldY);
  birdX+=vx; 
  birdY+=vy;
  if (birdX>450 || birdX<50) vx = -vx*0.95;
  if (birdY>350 || birdY<50) vy = -vy*0.95;
}
void mouseReleased() {
  if (bMoving) {
    bMoving=false;
    vx=(oldX-mouseX)/10; 
    vy=(oldY-mouseY)/10;
  }
}
void mousePressed() {
  if (dist(mouseX, mouseY, birdX, birdY)<50) {
    oldX=birdX; 
    oldY=birdY;
    bMoving=true;
  }
}
void mouseDragged() {
  if (bMoving) {
    birdX=mouseX; 
    birdY=mouseY;
  }
}

2020年5月28日 星期四

重修學長的程設

今天考試考10題基礎題

第三節課 將遊戲加入音效

邪惡微笑教主征服地球計畫W13:)憤怒鳥2

ANGERYBIRD
PImage imgBird,imgPig;
float birdX=200,birdY=200,oldX,oldY,vx=0,vy=0;
void setup()
{
  size(500,400);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("pig.gif");
  imageMode(CENTER);
}
void draw()
{
  background(225);
  image(imgBird,birdX,birdY,100,100);
  birdX+=vx;birdY+=vy;
}
void mousePressed()
{
  oldX=birdX;oldY=birdY;
}
void mouseDragged()
{
  birdX=mouseX;birdY=mouseY;
}
void mouseReleased()
{
  vx=(oldX-birdX)/10;
  vy=(oldY-birdY)/10;
}

2020年5月27日 星期三

week 13

今天上課時一樣繼續製作憤怒鳥的小遊戲。
在遊戲一開始,我們先匯入憤怒鳥的圖片,畫出一隻憤怒鳥!!

PImage imgBird;
void setup()
{
  size (500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);//以正中心當座標
}//圖檔如果沒有放好,會當掉potinter
void draw()
{
  background (255);//清背景
  image(imgBird,mouseX,mouseY,100,100);
}

*缺失:鳥無法一直動,要等mousePressed之後才可以跟著動

程式碼完成後~
噹噹! 一隻可愛的憤怒鳥出現囉!!



憤怒鳥出現後,接著,這個遊戲內我們需要用一條線去顯現出憤怒鳥拉的方向。
所以下一個步驟,開始畫線吧!!

PImage imgBird;
void setup()
{
  size (500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);//以正中心當坐標
}//圖檔如果沒有放好,會當掉pointer
float birdX=100,birdY=300,oldX,oldY;之前的鳥在哪裡
void draw()
{
  background (255);//清背景
  image(imgBird,mouseX,mouseY,100,100);
  if (mousePressed) line (birdX,birdY,oldX,oldY);
}
void mousePressed()
{//按下去,才會開始動
 oldX=birdX;oldY=birdY;
}
void mouseDragged()
{//按下去,才會開始動
  birdX=mouseX;
  birdY=mouseY;
}



一條線就這樣愉快的出來了!!!

有了線也有了憤怒鳥,那就只差最後一個步驟囉!!
我們要讓憤怒鳥咻一下彈出去~~~


PImage imgBird;
void setup()
{
     size(500,400);
    imgBird=loadImage("bird.png");
     imageMode(CENTER);
}
float birdX=100,birdY=300,oldX,oldY,vx=0,vy=0;之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex.if(bMoving)...
void draw()
{
  background (255);//清背景
  image(imgBird,mouseX,mouseY,100,100);//不能一直跟著mouse動,改用birdX,birdY

  if(bMoving) line(birdX,birdY,oldX,oldY);//有按到,才能動它
  birdX+=vx;bird+=vy;//鳥要照速度去飛!!
  if(birdX>450||birdX<50)vx=-vx*0.95;//撞到邊界會改變方向,改變為相反的方向
  if(birdY>350||birdY<50)vy=-vy*0.95;
}

void mouseReleased()
{
  if(bMoving){
   bMoving=false;//放開時,就不能動了
  vx=(oldX-mouseX)/10;//0.1倍
  vx=(oldX-mouseX)/10;
}
}void mousePressed()
{//按下去,才會開始動
 if(dist(mouseX,mouseY,birdX,birdY)<50){
 oldX=birdX;oldY=birdY;

 bMoving=true;//按下去時,如果有按到,才能動它
 }

}

void mouseDragged()
{//按下去,才會開
始動

if(bMoving){//有按到,才能動它
  birdX=mouseX;
  birdY=mouseY;
}
}



經過這些繁雜的程式碼後~
憤怒鳥終於可以如遊戲一般發射且飛射出去囉~!!






今天延續著上週的憤怒鳥遊戲,這週學的是如何畫出拉憤怒鳥時的那條線及將憤怒鳥發射出去,經過了一番努力後終於完成了!!也對寫遊戲更加有信心了~!!

2020年5月21日 星期四

Programming-week13

angry bird advance 彈射

照片:


主程式:
PImage imgBird;
void setup() {
  size(500, 400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);
}
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;
boolean bMoving=false;
void draw() {
  background(255);
  image(imgBird, birdX, birdY, 100, 100);
  if (bMoving) line(birdX, birdY, oldX, oldY);
  birdX+=vx; 
  birdY+=vy;
  if (birdX>450 || birdX<50) vx = -vx*0.95;
  if (birdY>350 || birdY<50) vy = -vy*0.95;
}
void mouseReleased() {
  if (bMoving) {
    bMoving=false;
    vx=(oldX-mouseX)/10; 
    vy=(oldY-mouseY)/10;
  }
}
void mousePressed() {
  if (dist(mouseX, mouseY, birdX, birdY)<50) {
    oldX=birdX; 
    oldY=birdY;
    bMoving=true;
  }
}
void mouseDragged() {
  if (bMoving) {
    birdX=mouseX; 
    birdY=mouseY;
  }
}

angry bird2



今天上課老師帶我們複習上周的angry bird遊戲,一開始先放入圖檔。

第二部老師帶我們做可以讓憤怒鳥出現一條線。

第三步老師教我們怎麼讓憤怒鳥打到邊邊會自動彈回來,並且讓他彈跳。

憤怒鳥

今天是做憤怒鳥的小遊戲
我們先將背景還有憤怒鳥做出來
以下是程式碼

然後再將憤怒鳥加入拖拉的功能
這樣後面才可以拉弓彈出去
以下是程式碼

最後我們拉動鳥的時候會在視窗內彈來彈去
以下是程式碼

可憐的大三重修仔_week13

2020/5/21 Week13
part1:程式練習

函數反序排列數字

二進制轉十進制

CPE一顆星題目
\

#include <stdio.h>
int gen(int n)
{
    int ans = n;
    while(n>0){
        int now = n%10;
        n/=10;
        ans+=now;
    }
    return ans;
}
int main()
{
    int K;
    scanf("%d",&K);
    for(int i=0;i<K;i++){
        int n;
        scanf("%d",&n);

        int ans = 0;
        for(int small=1;small<=n;small++){
            if(gen(small) == n){
                ans = small;
                break;
            }
        }
        printf("%d\n",ans);
    }
}


Part2:angrybird



PImage imgBird;
void setup(){
  size(500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);
}
float birdX=100,birdY=300,oldX,oldY,vx=0,vy=0;
boolean bMoving=false;
void draw(){
  background(255);
  image(imgBird,birdX,birdY,100,100);
  if(bMoving)  line(birdX,birdY,oldX,oldY);
  birdX+=vx;  birdY+=vy;
  if(birdX>450||birdX<50)  vx = -vx;
  if(birdY>350||birdY<50)  vy = -vy;
}
void mouseReleased(){
  if(bMoving){
    bMoving=false;
    vx=(oldX-mouseX)/10;
    vy=(oldY-mouseY)/10;
  }
}
void mousePressed(){
  if(dist(mouseX,mouseY,birdX,birdY)<50){
   oldX=birdX;
   oldY=birdY;
   bMoving=true;
  }
}
void mouseDragged(){
  if(bMoving){
    birdX=mouseX;
    birdY=mouseY;
  }
}

week 13 angrybird ver.kuzuha vol.2

從頭開始更詳細的解釋
先畫出移動的軌跡
會飛的kzh形成了!!!
碰到牆壁會反彈!

week13 憤怒鳥死亡QQ

練習模式-用剝皮法, 寫實習課的題目 SOIT106_ADVANCE_009:進階題:函數反序排列數字




 練習模式-用剝皮法, 寫實習課的題目 SOIT106_ADVANCE_011:進階題:2進位轉10進位


 用 CodeBlocks寫 CPE一顆星的題目


時間不夠做到一半的憤怒鳥QQ

程式碼:
PImage imgBird;
void setup(){
    size(500,400);
    imgBird=loadImage("bird.png");
    imageMode( CENTER);
}
float birdX=100, birdY=300, oldX, oldY;
void draw(){
    background(255);
    image(imgBird, birdX, birdY,100,100);
    if(mousePressed) line(birdX, birdY, oldX, oldY);
}
void mousePressed(){
    oldX=birdX; oldY=birdY;
}
void mouseDragged(){
    birdX=mouseX; birdY=mouseY;
}

week13 程式設計



PImage imgBird, imgPig;
float birdX=200, birdY=200, oldX, oldY, vx=0, vy=0;
void setup(){
    size(400,400);
    imgBird=loadImage("bird.png");
    imageMode(CENTER);///正中心當作標
}
void draw(){
    background(255);///清殘影
    image(imgBird, mouseX,mouseY, 100,100);
   
}


PImage imgBird, imgPig;
void setup(){
    size(400,400);
    imgBird=loadImage("bird.png");
    imageMode(CENTER);
}
float birdX=100, birdY=300, oldX, oldY;
void draw(){
    background(255);
    image(imgBird, birdX,birdY, 100,100);
    if(mousePressed) line(birdX,birdY,oldX,oldY);///滑鼠點擊位移產生直線
}
void mousePressed(){
    oldX=birdX; oldY=birdY; ///點擊移動
}
void mouseDragged(){
    birdX=mouseX; birdY=mouseY;
}


PImage imgBird, imgPig;
float birdX=200, birdY=200, oldX, oldY, vx=0, vy=0;
void setup(){
    size(500,400);
    imgBird=loadImage("bird.png");
    imageMode(CENTER);
}
boolean bMoving=false;
void draw(){
    background(255);
    image(imgBird, birdX,birdY, 100,100);
    if(bMoving) line(birdX,birdY,100,100);
    birdX+=vx; birdY+=vy;
    if(birdX>450 || birdX<50) VX=-VX*0.95;
    if(birdY>350 || birdY<50) VX=-VX*0.95;
}
void mousePressed(){
    if(dist(mouseX,mouseY, birdX,birdY)<50){
        oldX=birdX; oldY=birdY;
        bMoving=ture;
    }
}
void mouseDragged(){
    if(bMoving)
}
void mouseReleased(){
  if(bMoving){
    bMoving=false;
    vx=(oldX-mouseX)/10;vy=(oldY-mouseY)/10;
}

emmmm............._week13

(≧∀≦)ゞ
跟著滑鼠動的憤怒鳥
可以"biu"飛出去的憤怒鳥
有咚咚沒打完,不會動

邪惡微笑教主征服地球計畫W13:)ANGERY!

PImage imgBird,imgPig;
float birdX=200,birdY=200,oldX,oldY,vx=0,vy=0;
void setup()
{
  size(500,400);
  imgBird=loadImage("bird.png");
  imgPig=loadImage("pig.gif");
  imageMode(CENTER);
}
void draw()
{
  background(225);
  image(imgBird,birdX,birdY,100,100);
  birdX+=vx;birdY+=vy;
}
void mousePressed()
{
  oldX=birdX;oldY=birdY;
}
void mouseDragged()
{
  birdX=mouseX;birdY=mouseY;
}
void mouseReleased()
{
  vx=(oldX-birdX)/10;
  vy=(oldY-birdY)/10;
}


}

Week13

今天教的跟上禮拜的差不多,但多了條線,把鳥按住拖曳後會出現一條連接著鳥一開始的位置和之後位置的線。


week13

今天老師為我們講解大學程式比賽的題目


這題目是要我們先輸入要處理的數字數目,在將後輸入的數字用數字產生器將結果輸出,而數字產生器的功用是將得到的數字拆解成一個新數字,新數字本身加上每個位數上的數字為原本得到的數字。


利用函式將計算過程分開
==============================================

今天打的程式遊戲是憤怒鳥
程式名稱:processing

PImage imgBird;
void setup(){
  size(500,400);
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imageMode(CENTER);//以正中心,當座標
}
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
  background(255);//清背景
  image(imgBird, birdX,birdY,100,100);//不能一直跟著mouse動,改用birdX,birdY
  if(bMoving) line(birdX,birdY, oldX,oldY);//有按到,才能動它
  birdX+=vx; birdY+=vy;//鳥要照速度去飛!!!
  if(birdX>450 || birdX<50) vx = -vx*0.95;//撞到邊界,會改變方向,相反的方向
  if(birdY>350 || birdY<50) vy = -vy*0.95;//撞到邊界,會改變方向,相反的方向
}
void mouseReleased(){
  if(bMoving){
    bMoving=false;//放開時,就不能動了
    vx=(oldX-mouseX)/10; vy=(oldY-mouseY)/10;// 0.1倍
  }
}
void mousePressed(){//按下去,才會開始動
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged(){//按下去,才會開始動
  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;
  }
}




week13

今天老師教了憤怒鳥的程式

階段一

  鳥會跟著滑鼠一起移動













程式碼:

PImage imgBird;
void setup()
{
  size(500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);
}
void draw()
{
  background(255);
  image(imgBird,mouseX,mouseY,100,100);
}

階段二

 按下鼠標鳥才會跟著動,沒按時鳥不會有任何動作













程式碼:  



PImage imgBird;
void setup()
{
  size(500,400);
  imgBird=loadImage("bird.png");      ///圖檔如果沒放好會當掉
  imageMode(CENTER);     //以政中心當作標
}
float birdX=100,birdY=300,oldX,oldY;      //之前的鳥在哪
void draw()
{
  background(255);
  image(imgBird,birdX,birdY,100,100);      //不能一直跟著mouse動
  if(mousePressed)line(birdX,birdY,oldX,oldY);
}
void mousePressed()
{
  oldX=birdX;oldY=birdY;
}
void mouseDragged()      ///按下去才會開始動
{
  birdX=mouseX;birdY=mouseY;
}

階段三:

這時的小鳥可以向拉弓一樣的射出去了













憤努鳥已經做第二週了,今天的小鳥終於可以發射了!!
程式碼如以往的沒辦法馬上理解需要自己多看幾次。