📄 words.java
字号:
/* * words.java * * Created on 2003年11月18日, 上午9:13 */package handenglish;import javax.microedition.lcdui.*;import javax.microedition.midlet.*;import java.lang.Object;import java.util.*;/** * * @author com * @version */public class Words { public final int WHITE=0xffffff; public final int BLACK=00000000; public final int RED = 0xff0000; public final int YELLOW = 0xffff00; public final int LWIDTH=5; public final int TOTAL=10; public final int CHANGETIME=8; private Midlet midlet; private String nowWord,nowChinese,displayWord1,displayWord2,displayChinese2,displayChinese1,displayChinese; public int chineseNum; public char justLetter; public boolean isfinish; private Vector m_unitContent; private int m_wordId; private boolean isHelp,isHelpView; public int rightNum,wrongNum; private Random random; //public int m_unitType; public Words(Midlet midlet,int nowUnitType,int nowUnitId){ m_wordId=0; m_unitContent=new Vector(); random = new Random(); midlet.getUnit(nowUnitType,nowUnitId,m_unitContent); this.midlet=midlet; } /* *读出单词 */ private void readWord(){ int ran=0; nowWord=getWord(); nowChinese=getChinese(); int wordLength=nowWord.length(); char[] c1=nowWord.toCharArray(); while(true){ ran=Math.abs( random.nextInt())%wordLength; if(c1[ran]>=65&&c1[ran]<=128) break; } justLetter=c1[ran]; if(c1[ran]<97) justLetter=Character.toLowerCase(justLetter); if(wordLength!=1) { displayWord1=nowWord.substring(0,ran); displayWord1=displayWord1.concat("_"); String displayWord2=nowWord.substring(ran+1); displayWord1=displayWord1.concat(displayWord2); } else displayWord1="_"; displayChinese2=nowChinese; } /** *画单词 */ public void draw(Graphics g){ if(nowWord!=null){ g.setClip(0,6,128,20); g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN,Font.SIZE_SMALL)); //g.setColor(RED); //g.drawString(displayWord1,10,6,g.TOP|g.LEFT); g.setColor(YELLOW); g.drawString(displayWord1,10,6,g.TOP|g.LEFT); g.setClip(0,110,128,18); if(chineseNum%CHANGETIME==0){ if(chineseNum==0){ isHelp=false; isHelpView=true; } else if(displayChinese2.length()>TOTAL&&!isHelp){ isHelpView=false; displayChinese1=displayChinese2.substring(0,TOTAL); displayChinese=displayChinese1; displayChinese2=displayChinese2.substring(TOTAL); } else if(displayChinese2.length()<=TOTAL&&!isHelp){ isHelpView=false; displayChinese=displayChinese2; isHelp=true; } else if(isHelp){ isHelp=false; isHelpView=true; displayChinese2=nowChinese; } } if(!isHelpView){ g.setColor(YELLOW); g.drawString(displayChinese,5,110,g.TOP|g.LEFT); } else{ g.setColor(RED); g.drawLine(10,115,14,119); g.drawLine(14,119,22,110); g.drawLine(40,111,46,119); g.drawLine(40,119,46,111); g.setColor(WHITE); g.drawString(""+rightNum,25,110,g.TOP|g.LEFT); g.drawString(""+wrongNum,50,110,g.TOP|g.LEFT); g.setColor(WHITE); g.drawString("0-帮助",85,110,g.TOP|g.LEFT); } chineseNum++; } } /** *获得下一个单词 */ public boolean changeWord(){ if(m_wordId<getSize()){ readWord(); wrongNum=m_wordId-rightNum; m_wordId++; return true; } else{ m_wordId=0; isfinish=true; return false; } } /** *判断是否答对 */ public boolean judge(char key){ if(key==justLetter){ return true; } else return false; } public int getSize(){ return m_unitContent.size()/3; } private String getWord() { return (String)m_unitContent.elementAt(m_wordId*3); } private String getChinese(){ return (String)m_unitContent.elementAt(m_wordId*3+2); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -