有去教室上課當面問老師關於子彈碰撞的問題
跟FB範例的兩個方塊碰撞的程式不一樣
小葉老師在協助同學期末作品
彈弓的模擬
void setup(){
size(400,300);
}
float x,y,vx,vy;
boolean flying=false;
void draw(){
background(255);
line(mouseX,mouseY,100,200);
float force = 1*dist(mouseX,mouseY,100,200);
if(flying){
ellipse(x,y,30,30);
x+=vx; y+=vy;
vy+=0.98;
}
if(frameCount%(2*60)==0){
x=mouseX; y=mouseY; vx=(100-mouseX)*0.1; vy=(200-mouseY)*0.1;
flying=true;
}
}
------------------------------------------------
馬力歐採怪物
float []turtleX=new float[30];
float x=100,y=200,vx=0,vy=0;
boolean jumping=false,MarioDie=false;
boolean[]turtleAlive=new boolean[30];
void setup(){
size(500,300);
turtleX[0]=500;
for(int i=1;i<30;i++){
turtleX[i]=turtleX[i-1]+random(100,200);
turtleAlive[i]=true;
}
}
void draw(){
background(255);
if(MarioDie) background(255,0,0);
fill(#E5DCB7); rect(0,200,500,100);
for(int i=0;i<30;i++){
if(turtleAlive[i]){
if(dist(x,y-20,turtleX[i],200-20)<40){
if(jumping) turtleAlive[i]=false;
else MarioDie=true;
}
fill(0,255,0); ellipse(turtleX[i],200-20,40,40);
if(!MarioDie) turtleX[i]-=3;
}
}
fill(255,0,0); ellipse(x,y-20,40,40);
if(jumping){
x+=vx; y+=vy; vy+=0.98;
if(y>200){
y=200; jumping=false;
}
}
}
void mousePressed(){
jumping=true;
vy-=16;
}
---------------------------------------
寶石方塊
int[][]square=new int[8][8];
color[] c={#FA1E1E,#1E44FA};
void setup(){
size(400,400);
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
square[i][j]=int(random(2));
}
}
}
void draw(){
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
if(mousePressed&&i==moveI&&j==moveJ) strokeWeight(5);
else if(mousePressed&&i==moveI2&&j==moveJ2) strokeWeight(5);
else strokeWeight(1);
if(square[i][j]==0){
fill(c[0]); rect(j*50,i*50,50,50);
}else if(square[i][j]==1){
fill(c[1]); rect(j*50,i*50,50,50);
}
}
}
}
int moveI,moveJ,moveI2,moveJ2;
void mousePressed(){
int j=mouseX/50,i=mouseY/50;
moveJ=j; moveI=i;
moveJ2=j; moveI2=i;
}
void mouseDragged(){
int j=mouseX/50,i=mouseY/50;
moveJ2=j; moveI2=i;
}
void mouseReleased(){
int j=mouseX/50,i=mouseY/50;
moveJ2=j; moveI2=i;
if(testNeighbor(i,j,moveI,moveJ)==true){
int temp=square[i][j];
square[i][j]=square[moveI][moveJ];
square[moveI][moveJ]=temp;
}
}
boolean testNeighbor(int i,int j,int i2,int j2){
if(i==i2&&j-j2==1) return true;
if(i==i2&&j2-j==1) return true;
if(j==j2&&i-i2==1) return true;
if(j==j2&&i2-i==1) return true;
return false;
}
今天是在做自己的作業
一開始上課的時候老師就開始講解教室同學的問題
我一開始定的題目是彈力球打板的遊戲
但老師說不要太常見的
我覺得這個遊戲應該網路上很多資料
所以我在想要不要把遊戲改成類似彈幕遊戲
但基本架構不太清楚可能要上課的時候詢問老師一下作法
在最後一節課有問老師
詳細過程下課再自己研究
1 直接用text()寫出Hello
4 frameCount/60以符合用秒作為計時單位
另用millis()作為對照,frameCount執行時較慢不準確
6 以pFont的pFont.list()查詢現有字體,再以createFont()選擇字型
textFont()使用文字字型