📄 numbercreator.java
字号:
class NumberCreator implements Runnable
{
private ServerRandomQueue numQueue;
private Thread numCreator;
NumberCreator()
{
}
public void numCreatorStart(/*int playerNumber*/)
{
numCreator = new Thread(this);
numQueue = new ServerRandomQueue(/*playerNumber*/);
createColorSet(100);
numCreator.start();
}
public void numCreatorKill()
{
numCreator = null;
}
/**
* @return an random number in the range of 1-5
* */
private int createNum()//1~5
{
return (int)(Math.random()*6)+1;
}
/**
* create i colorsets
* @param i the number of ColorSet to create*/
public void createColorSet(int i)
{
int color0 = 0;
int color1 = 0;
int color2 = 0;
for(int t=0;t<i;t++)
{
color0 = this.createNum();
////////////color1////////////
color1 = this.createNum();
while(color1==color0)
{
color1 = this.createNum();
}
////////////color2////////////
color2 = this.createNum();
while(color2==color0||color2==color1)
{
color2 = this.createNum();
}
numQueue.enQueue(new ColorSet(color0,color1,color2));
}
}
/*public ColorSet getNext()
{
ColorSet tempColor = numQueue.getNext();
return tempColor;
}*/
/**
* this thread daemons the Queue, keeping there is always enouth SingleColorSet objects
* */
public void run()
{
while(true)
{
try
{
numCreator.sleep(2000);
if( numQueue.getQueLen()<=2)//has 3 chances
{
int a = numQueue.getQueLen();
if(a==0)
createColorSet(15);
else if(a==1)
createColorSet(14);
else if(a==2)
createColorSet(13);
}
}
catch(InterruptedException e){}
catch(Exception e){}
}
}
public void print()
{
int ptr = numQueue.head;
while(ptr!=numQueue.rear)
{
System.out.println(numQueue.queue[ptr].getColor0()+","
+numQueue.queue[ptr].getColor1()+","
+numQueue.queue[ptr].getColor2()+"->");
ptr = (ptr+1)%15;
}
}
/**
* @return return the number of the block*/
/*( public ColorSet getColorSet()
{
ColorSet tempColor = numQueue.deQueue();
return tempColor;
}*/
/*public static void main(String[] args)
{
NumberCreator creator = new NumberCreator();
creator.createColorSet(10);
creator.print();
System.out.println("next is"+creator.getNext().getColor0()+","
+creator.getNext().getColor1()+","
+creator.getNext().getColor2()
);
}*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -