📄 score.java
字号:
package com.skybright.pig;
import java.util.Enumeration;
import java.util.Hashtable;
public class Score
{
public Score()
{
scores = new Hashtable();
}
public void set(Duel d)
{
boolean b = isWinall(d);
int s = 0;
String name = "";
if (b)
{
//just print play name : current score
/* System.out.println(d.getPlayer1().getName()
.concat(Integer.toString(
d.getPlayer1().getScore())));
System.out.println(d.getPlayer2().getName()
.concat(Integer.toString(
d.getPlayer2().getScore())));
System.out.println(d.getPlayer3().getName()
.concat(Integer.toString(
d.getPlayer3().getScore())));
System.out.println(d.getPlayer4().getName()
.concat(Integer.toString(
d.getPlayer4().getScore())));
*/
s = d.getPlayer1().getScore();
name = d.getPlayer1().getName();
if (s == 26)
{ //play1 win
insert(name, 0);
insert(d.getPlayer2().getName(), 26);
insert(d.getPlayer3().getName(), 26);
insert(d.getPlayer4().getName(), 26);
return;
}
s = d.getPlayer2().getScore();
name = d.getPlayer2().getName();
if (s == 26) //play2 win all
{
insert(name, 0);
insert(d.getPlayer1().getName(), 26);
insert(d.getPlayer3().getName(), 26);
insert(d.getPlayer4().getName(), 26);
return;
}
s = d.getPlayer3().getScore();
name = d.getPlayer3().getName();
if (s == 26) //play3 win all
{
insert(name, 0);
insert(d.getPlayer1().getName(), 26);
insert(d.getPlayer2().getName(), 26);
insert(d.getPlayer4().getName(), 26);
return;
}
s = d.getPlayer4().getScore();
name = d.getPlayer4().getName();
if (s == 26) //play2 win all
{
insert(name, 0);
insert(d.getPlayer1().getName(), 26);
insert(d.getPlayer2().getName(), 26);
insert(d.getPlayer3().getName(), 26);
return;
}
}else
{
//play1
name = d.getPlayer1().getName();
s = d.getPlayer1().getScore();
insert(name, s);
//play2
name = d.getPlayer2().getName();
s = d.getPlayer2().getScore();
insert(name, s);
//play3
name = d.getPlayer3().getName();
s = d.getPlayer3().getScore();
insert(name, s);
//play4
name = d.getPlayer4().getName();
s = d.getPlayer4().getScore();
insert(name, s);
}
}
public String whoOver()
{
for(Enumeration en = scores.keys(); en.hasMoreElements();)
{
String name = (String)en.nextElement();
int t = 0;
try
{
t = ((Integer)scores.get(name)).intValue();
}
catch(Exception exception) { }
//just test change t>100 to t>20
if(t >= 100)
return name;
}
return null;
}
public int get(String name)
{
int t = 0;
try
{
t = ((Integer)scores.get(name)).intValue();
}
catch(Exception exception) { }
return t;
}
public void clear()
{
scores.clear();
}
private void insert(String name, int s)
{
int t = 0;
try
{
t = ((Integer)scores.get(name)).intValue();
}
catch(Exception exception) { }
scores.put(name, new Integer(t + s));
}
private boolean isWinall(Duel d)
{
String name = d.getPlayer1().getName();
int s = d.getPlayer1().getScore();
if(s == 26)
return true;
name = d.getPlayer2().getName();
s = d.getPlayer2().getScore();
if(s == 26)
return true;
name = d.getPlayer3().getName();
s = d.getPlayer3().getScore();
if(s == 26)
return true;
name = d.getPlayer4().getName();
s = d.getPlayer4().getScore();
return s == 26;
}
private Hashtable scores;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -