/*
>>>Basic Array Queue<<<
Mod. able Variable List
1. maxQ = Max queue size
Method List
1. come(String name,int priority) ==> Add a new case with priority to the queue
2. come(String name) ==> Add a new case without priority to the queue
3. go() ==> remove first case in the queue & shift others instead
*/
class Queue
{
Case[] queue;
int maxQ;
Queue(int maxQ)
{
this.queue=new Case[maxQ];
this.maxQ=maxQ;
reset();
}
void come(String name,int priority)
{
int index;
index=findInsertIndex(priority);
insertCase(name,priority,index);
}
void come(String name)
{
int index;
index=findLastIndex();
insertNormalCase(name,index);
}
int findInsertIndex(int priority)
{
int index=maxQ;
for(int i=maxQ-1;i>=0;i--)
{
if(priority>queue[i].priority)
{
index=i;
}
}
return index;
}
int findLastIndex()
{
int last=maxQ;
for(int i=maxQ-1;i>=0;i--)
{
if(queue[i].priority==0)
{
last=i;
}
}
return last;
}
void insertCase(String name,int priority,int index)
{
for(int i=maxQ-1;i>index;i--)
{
queue[i]=queue[i-1];
}
queue[index]=new Case(name,priority);
}
void insertNormalCase(String name,int index)
{
if(index!=maxQ)
{
for(int i=maxQ-1;i>index;i--)
{
queue[i]=queue[i-1];
}
queue[index]=new Case(name,queue[index-1].priority);
}
}
void go()
{
for(int i=0;i<maxQ-1;i++)
{
queue[i]=queue[i+1];
}
queue[maxQ-1]=new Case("None",0);
}
void reset()
{
for(int i=0;i<this.maxQ;i++)
{
this.queue[i]=new Case("None",0);
}
}
void show()
{
println("Name - Priority");
for(int i=0;i<maxQ;i++)
{
println(this.queue[i]);
}
}
}
class Case
{
String name;
int priority;
Case(String name,int priority)
{
this.name=name;
this.priority=priority;
}
String toString()
{
String string;
string=this.name+" - "+this.priority;
return string;
}
}
void setup()
{
Queue q1=new Queue(5);
q1.come("A",10);
q1.come("B",9);
q1.come("C",8);
q1.come("D",9);
q1.come("E");
q1.go();
q1.go();
q1.show();
}
วันอาทิตย์ที่ 2 พฤศจิกายน พ.ศ. 2557
Lab 5[Continue] : Task#1 - Class House
class House
{
int x;
int y;
int size;
Window l;
Window r;
Door door;
House(int x,int y,int size)
{
this.x=x;
this.y=y;
this.size=size;
this.l=new Window(x-(size/4),y-(size/4),size);
this.r=new Window(x+(size/4),y-(size/4),size);
this.door=new Door(x,y,size);
}
void show()
{
rectMode(CENTER);
rect(this.x,this.y,this.size,this.size);
triangle(this.x-(this.size/2),this.y-(this.size/2),this.x,this.y-(this.size/2)-(this.size/2),this.x+(this.size/2),this.y-(this.size/2));
l.show();
r.show();
door.show();
}
void moveUp()
{
this.y--;
}
void moveDown()
{
this.y++;
}
void moveLeft()
{
this.x--;
}
void moveRight()
{
this.x++;
}
}
class Window
{
int x;
int y;
int size;
Window(int x,int y,int size)
{
this.x=x;
this.y=y;
this.size=size/4;
}
void show()
{
rectMode(CENTER);
rect(this.x,this.y,this.size,this.size);
line(this.x-(this.size/2),this.y,this.x+(this.size/2),this.y);
line(this.x,this.y-(this.size/2),this.x,this.y+(this.size/2));
}
}
class Door
{
int x;
int y;
int size;
Door(int x,int y,int size)
{
this.x=x;
this.y=y;
this.size=size;
}
void show()
{
rectMode(CENTER);
rect(this.x,this.y+(this.size/2)-(this.size/10*2),this.size/3.5,this.size/5*2);
ellipse(this.x+(this.size/11),this.y+(this.size/2)-(this.size/10*2),this.size/20,this.size/20);
}
}
void setup()
{
size(500,500);
strokeWeight(3);
}
void draw()
{
background(155);
House a=new House(250,300,200);
a.show();
}
{
int x;
int y;
int size;
Window l;
Window r;
Door door;
House(int x,int y,int size)
{
this.x=x;
this.y=y;
this.size=size;
this.l=new Window(x-(size/4),y-(size/4),size);
this.r=new Window(x+(size/4),y-(size/4),size);
this.door=new Door(x,y,size);
}
void show()
{
rectMode(CENTER);
rect(this.x,this.y,this.size,this.size);
triangle(this.x-(this.size/2),this.y-(this.size/2),this.x,this.y-(this.size/2)-(this.size/2),this.x+(this.size/2),this.y-(this.size/2));
l.show();
r.show();
door.show();
}
void moveUp()
{
this.y--;
}
void moveDown()
{
this.y++;
}
void moveLeft()
{
this.x--;
}
void moveRight()
{
this.x++;
}
}
class Window
{
int x;
int y;
int size;
Window(int x,int y,int size)
{
this.x=x;
this.y=y;
this.size=size/4;
}
void show()
{
rectMode(CENTER);
rect(this.x,this.y,this.size,this.size);
line(this.x-(this.size/2),this.y,this.x+(this.size/2),this.y);
line(this.x,this.y-(this.size/2),this.x,this.y+(this.size/2));
}
}
class Door
{
int x;
int y;
int size;
Door(int x,int y,int size)
{
this.x=x;
this.y=y;
this.size=size;
}
void show()
{
rectMode(CENTER);
rect(this.x,this.y+(this.size/2)-(this.size/10*2),this.size/3.5,this.size/5*2);
ellipse(this.x+(this.size/11),this.y+(this.size/2)-(this.size/10*2),this.size/20,this.size/20);
}
}
void setup()
{
size(500,500);
strokeWeight(3);
}
void draw()
{
background(155);
House a=new House(250,300,200);
a.show();
}
Lab 5 : Task#3 - Save Table Balloon
int w=500,h=500,count=0;
float v=1,r=50;
class balloon
{
float r;
float px;
float py;
balloon(float r,float px,float py)
{
this.r=r;
this.px=px;
this.py=py;
}
void moveUp()
{
if(py!=height+999)
{
this.py=this.py-v;
}
if(this.py<0-r)
{
this.py=height+r;
}
}
void display()
{
line(this.px,this.py,this.px,this.py+100);
ellipse(this.px,this.py,r*2,r*2);
}
}
balloon[] a=new balloon[10];
void setup()
{
for(int i=0;i<a.length;i++)
{
a[i]=new balloon(50,random(-r,w+r),random(-r,h+r));
}
Table table=new Table();
table.addColumn("X");
table.addColumn("Y");
TableRow row[]=new TableRow[a.length];
for(int i=0;i<a.length;i++)
{
row[i]=table.addRow();
row[i].setFloat("X",a[i].px);
row[i].setFloat("Y",a[i].py);
}
saveTable(table,"C:/Users/Thanaphat/Desktop/table.csv");
size(w,h);
}
void draw()
{
background(155);
for(int i=0;i<a.length;i++)
{
a[i].display();
a[i].moveUp();
}
}
float v=1,r=50;
class balloon
{
float r;
float px;
float py;
balloon(float r,float px,float py)
{
this.r=r;
this.px=px;
this.py=py;
}
void moveUp()
{
if(py!=height+999)
{
this.py=this.py-v;
}
if(this.py<0-r)
{
this.py=height+r;
}
}
void display()
{
line(this.px,this.py,this.px,this.py+100);
ellipse(this.px,this.py,r*2,r*2);
}
}
balloon[] a=new balloon[10];
void setup()
{
for(int i=0;i<a.length;i++)
{
a[i]=new balloon(50,random(-r,w+r),random(-r,h+r));
}
Table table=new Table();
table.addColumn("X");
table.addColumn("Y");
TableRow row[]=new TableRow[a.length];
for(int i=0;i<a.length;i++)
{
row[i]=table.addRow();
row[i].setFloat("X",a[i].px);
row[i].setFloat("Y",a[i].py);
}
saveTable(table,"C:/Users/Thanaphat/Desktop/table.csv");
size(w,h);
}
void draw()
{
background(155);
for(int i=0;i<a.length;i++)
{
a[i].display();
a[i].moveUp();
}
}
Lab 5 : Task#2 - Load Table Balloon
int w=500,h=500,count=0;
float v=1,r=50;
class balloon
{
float r;
float px;
float py;
balloon(float r,float px,float py)
{
this.r=r;
this.px=px;
this.py=py;
}
void moveUp()
{
if(py!=height+999)
{
this.py=this.py-v;
}
if(this.py<0-r)
{
this.py=height+r;
}
}
void display()
{
line(this.px,this.py,this.px,this.py+100);
ellipse(this.px,this.py,r*2,r*2);
}
}
balloon[] a=new balloon[10];
void setup()
{
Table table = loadTable("C:/Users/Thanaphat/Desktop/table.csv", "header");
int i=0;
for(TableRow row:table.rows())
{
float px=row.getInt("X");
float py=row.getInt("Y");
a[i]=new balloon(50,px,py);
i++;
}
size(w,h);
}
void draw()
{
background(155);
for(int i=0;i<a.length;i++)
{
a[i].display();
a[i].moveUp();
}
}
float v=1,r=50;
class balloon
{
float r;
float px;
float py;
balloon(float r,float px,float py)
{
this.r=r;
this.px=px;
this.py=py;
}
void moveUp()
{
if(py!=height+999)
{
this.py=this.py-v;
}
if(this.py<0-r)
{
this.py=height+r;
}
}
void display()
{
line(this.px,this.py,this.px,this.py+100);
ellipse(this.px,this.py,r*2,r*2);
}
}
balloon[] a=new balloon[10];
void setup()
{
Table table = loadTable("C:/Users/Thanaphat/Desktop/table.csv", "header");
int i=0;
for(TableRow row:table.rows())
{
float px=row.getInt("X");
float py=row.getInt("Y");
a[i]=new balloon(50,px,py);
i++;
}
size(w,h);
}
void draw()
{
background(155);
for(int i=0;i<a.length;i++)
{
a[i].display();
a[i].moveUp();
}
}
Lab 5 : Task#1 - Class Balloon
int w=500,h=500,count=0;
float v=1,r=50;
class balloon
{
float r;
float px;
float py;
balloon(float r,float px,float py)
{
this.r=r;
this.px=px;
this.py=py;
}
void moveUp()
{
if(py!=height+999)
{
this.py=this.py-v;
}
if(this.py<0-r)
{
this.py=height+r;
}
}
void display()
{
line(this.px,this.py,this.px,this.py+100);
ellipse(this.px,this.py,r*2,r*2);
}
}
balloon[] a=new balloon[100];
void setup()
{
for(int i=0;i<100;i++)
{
a[i]=new balloon(50,0,height+999);
}
size(w,h);
}
void draw()
{
background(155);
for(int i=0;i<a.length;i++)
{
a[i].display();
a[i].moveUp();
}
}
void mousePressed()
{
count++;
a[count]=new balloon(50,mouseX,mouseY);
}
float v=1,r=50;
class balloon
{
float r;
float px;
float py;
balloon(float r,float px,float py)
{
this.r=r;
this.px=px;
this.py=py;
}
void moveUp()
{
if(py!=height+999)
{
this.py=this.py-v;
}
if(this.py<0-r)
{
this.py=height+r;
}
}
void display()
{
line(this.px,this.py,this.px,this.py+100);
ellipse(this.px,this.py,r*2,r*2);
}
}
balloon[] a=new balloon[100];
void setup()
{
for(int i=0;i<100;i++)
{
a[i]=new balloon(50,0,height+999);
}
size(w,h);
}
void draw()
{
background(155);
for(int i=0;i<a.length;i++)
{
a[i].display();
a[i].moveUp();
}
}
void mousePressed()
{
count++;
a[count]=new balloon(50,mouseX,mouseY);
}
สมัครสมาชิก:
บทความ (Atom)