📄 dssnake
字号:
DS_Snake.java
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class DS_Snake extends MIDlet
implements CommandListener
{
public DS_Snake()
{
_fld6h = new Command("Exit", 1, 0);
_fld7h = new Command("Start", 1, 0);
_fld8h = new Command("Quit", 1, 0);
_fld9h = new Command("Select", 1, 0);
_fld0i = new Command("Continue", 1, 0);
_fld1i = new Command("Pause", 1, 0);
_fld1 = Display.getDisplay(this);
_fld5h = new dsCanvas(_fld1);
_fld5h.addCommand(_fld7h);
_fld5h.addCommand(_fld6h);
_fld5h.setCommandListener(this);
}
public void commandAction(Command command, Displayable displayable)
{
if(command == _fld6h)
{
destroyApp(false);
notifyDestroyed();
} else
if(command == _fld7h && !_fld5h._fld3d)
{
_fld5h.removeCommand(_fld6h);
_fld5h.removeCommand(_fld7h);
_fld5h.addCommand(_fld9h);
_fld5h._fld5c = 1;
_fld5h.setCommandListener(this);
} else
if(command == _fld9h)
{
_fld5h.removeCommand(_fld9h);
_fld5h.addCommand(_fld8h);
_fld5h.addCommand(_fld1i);
_fld5h._mth8b();
_fld5h._fld5c = 2;
_fld5h.setCommandListener(this);
} else
if(command == _fld1i)
{
_fld5h.removeCommand(_fld8h);
_fld5h.removeCommand(_fld1i);
_fld5h.addCommand(_fld0i);
_fld5h._fld5c = 5;
_fld5h.setCommandListener(this);
} else
if(command == _fld0i)
{
_fld5h.removeCommand(_fld0i);
_fld5h.addCommand(_fld8h);
_fld5h.addCommand(_fld1i);
_fld5h._fld5c = 3;
_fld5h.setCommandListener(this);
} else
if(command == _fld8h)
{
_fld5h.removeCommand(_fld1i);
_fld5h.removeCommand(_fld8h);
_fld5h.addCommand(_fld7h);
_fld5h.addCommand(_fld6h);
_fld5h._fld5c = 0;
_fld5h.setCommandListener(this);
}
}
public void destroyApp(boolean flag)
{
_fld1.setCurrent(null);
_fld5h._mth5();
}
public void pauseApp()
{
_fld5h._mth9b();
}
public void startApp()
throws MIDletStateChangeException
{
_fld5h._mth4c();
}
Display _fld1;
dsCanvas _fld5h;
private Command _fld6h;
private Command _fld7h;
private Command _fld8h;
private Command _fld9h;
private Command _fld0i;
private Command _fld1i;
}
dsCanvas.java
import java.util.Calendar;
import java.util.Random;
import javax.microedition.lcdui.*;
public class dsCanvas extends Canvas
implements Runnable
{
public dsCanvas(Display display)
{
_fld3b = false;
_fld4b = false;
_fld8b = new String();
_fld0c = new String();
_fld6c = 50;
_fld7c = "DS Snake";
_fld8c = "Press start to play";
_fld9c = "Game Over!";
_fld0d = "Choose Speed";
_fld1d = "Demo version!";
_fld2d = "You can play again";
_fld3f = 0;
_fld5f = "Score";
_fld7f = "000000";
_fld7g = 0;
_fld8g = false;
_fld1h = 0;
_fld2h = 0;
_fld3h = 0;
_fld4h = false;
_fld1 = display;
_fld2 = getWidth();
_fld3 = getHeight();
_fld7 = Image.createImage(_fld2, _fld3);
_fld8 = _fld7.getGraphics();
_fld1b = true;
_fld9b = new byte[17];
_fld1c = new byte[17];
_mth8();
if(_fld2 >= 200 && _fld3 >= 200)
_fld5 = Font.getFont(0, 0, 0);
else
_fld5 = Font.getFont(0, 0, 8);
_fld6 = _fld5.getHeight() + 1;
if(display.isColor())
_fld3b = true;
if(display.numColors() > 4)
_fld4b = true;
_mth9();
_fld6b = _fld2 >> 1;
_fld7b = _fld3 >> 1;
_fld5b = 0;
_mth2b();
_fld2c = Font.getFont(0, 1, 8);
_fld3c = Font.getFont(0, 1, 0);
_fld4c = Font.getFont(0, 1, 16);
_fld4 = _fld6;
_mth1b();
if(display.numColors() > 2)
{
_fld7d = 255;
_fld8d = 0xffffff;
_fld9d = 0xffff00;
_fld0e = 0xffffff;
_fld1e = 0;
_fld2e = 0xffffff;
_fld3e = 255;
_fld4e = 255;
_fld5e = 0xffffff;
_fld6e = 0xffffff;
_fld7e = 0;
_fld8e = 32512;
_fld9e = 0xff0000;
} else
{
_fld7d = 0;
_fld8d = 0xffffff;
_fld9d = 0xffffff;
_fld0e = 0xffffff;
_fld1e = 0;
_fld2e = 0xffffff;
_fld3e = 0;
_fld4e = 0;
_fld5e = 0xffffff;
_fld6e = 0xffffff;
_fld7e = 0;
_fld8e = 0;
_fld9e = 0;
}
_fld0f = 2;
_fld1f = 11;
_fld4f = Math.min(_fld2, _fld3 - _fld4) / _fld1f;
if(_fld4f > 2)
_fld6g = _fld4f - 1;
else
_fld6g = _fld4f;
_fld4f = Math.min(_fld2, _fld3 - _fld4) / _fld1f;
if(_fld4f > 2)
_fld6g = _fld4f - 1;
else
_fld6g = _fld4f;
_fld9f = new int[60];
_fld0g = new int[60];
_fld4g = new int[4];
_fld5g = new int[4];
}
void _mth0b()
{
if(_fld5c == 0)
{
_fld4d = Calendar.getInstance();
_fld5d = _fld4d.get(12) % 10;
_fld6d = _fld4d.get(13);
if(_fld5d < 5)
_fld3d = true;
else
_fld3d = false;
if(!_fld3d)
_mth7b();
else
_mth4();
} else
if(_fld5c == 1)
_mth3c();
else
if(_fld5c == 2)
_mth5b();
else
if(_fld5c == 3)
_mth4b();
else
if(_fld5c == 4)
_mth3b();
}
void _mth0c()
{
_mth2c();
while(_fld3g == _fld0g[0])
_mth2c();
for(int i = 0; i < _fld9g[_fld1h]; i++)
while(_fld3g == _fld5g[i])
_mth2c();
}
void _mth1()
{
if(_fld9f[0] + _fld4f > _fld2g && _fld9f[0] < _fld2g + _fld4f && _fld0g[0] + _fld4f > _fld3g && _fld0g[0] < _fld3g + _fld4f)
{
_fld6f += 10;
if(_fld6f < 10)
_fld7f = "00000" + _fld6f;
else
if(_fld6f >= 10 && _fld6f < 100)
_fld7f = "0000" + _fld6f;
else
if(_fld6f >= 100 && _fld6f < 1000)
_fld7f = "000" + _fld6f;
else
if(_fld6f >= 1000 && _fld6f < 10000)
_fld7f = "00" + _fld6f;
else
if(_fld6f >= 10000 && _fld6f < 0x186a0)
_fld7f = "0" + _fld6f;
else
_fld7f = "999999";
_fld7g = 10;
_fld8g = true;
if(_fld1g > _fld0h[_fld1h])
{
_fld2h++;
_fld4h = false;
_fld5c = 2;
} else
{
_fld1g++;
_mth0c();
}
}
}
void _mth1b()
{
if(_fld9b[4] != 100 || _fld1c[4] != 68 || _fld9b[11] != 116 || _fld1c[16] != 97)
_fld1b = false;
}
void _mth1c()
{
for(int i = 0; i < _fld9g[_fld1h]; i++)
{
_fld4g[i] = Math.abs(_fld9.nextInt() % (_fld2 - _fld4f - _fld4f - _fld4f));
_fld5g[i] = Math.abs(_fld9.nextInt() % (_fld3 - _fld4f - _fld4 - _fld4f - _fld4f));
_fld4g[i] = _fld4f * (_fld4g[i] / _fld4f) + _fld4f;
_fld5g[i] = _fld4f * (_fld5g[i] / _fld4f) + _fld4 + _fld4f;
if(_fld5g[i] == _fld0g[0] || _fld5g[i] == _fld3g)
_fld5g[i] += _fld4f;
}
}
void _mth2()
{
for(int i = 0; i < _fld1g; i++)
{
for(int j = 0; j < _fld9g[_fld1h]; j++)
if(_fld9f[i] + _fld4f > _fld4g[j] && _fld9f[i] < _fld4g[j] + _fld4f && _fld0g[i] + _fld4f > _fld5g[j] && _fld0g[i] < _fld5g[j] + _fld4f)
_mth3();
}
}
void _mth2b()
{
if(_fld9b[5] != 115 || _fld1c[11] != 99 || _fld9b[15] != 111 || _fld1c[12] != 105)
_fld1b = false;
}
void _mth2c()
{
_fld2g = Math.abs(_fld9.nextInt() % (_fld2 - _fld4f - _fld4f - _fld4f));
_fld3g = Math.abs(_fld9.nextInt() % (_fld3 - _fld4f - _fld4 - _fld4f - _fld4f));
_fld2g = _fld4f * (_fld2g / _fld4f) + _fld4f;
_fld3g = _fld4f * (_fld3g / _fld4f) + _fld4 + _fld4f;
}
void _mth3()
{
_fld7g = 0;
_fld8g = true;
_fld4h = true;
_fld2f--;
if(_fld2f == 0)
_fld5c = 4;
else
_fld5c = 2;
}
void _mth3b()
{
_mth7();
_mth6(_fld9c, _fld2c, _fld9e, _fld6e, _fld6b, ((_fld3 - _fld4 >> 1) + _fld4) - (_fld2c.getHeight() >> 1));
}
void _mth3c()
{
_fld8.setColor(_fld0e);
_fld8.fillRect(0, 0, _fld2, _fld3);
_fld8.setFont(_fld2c);
int i = _fld2c.getHeight();
_fld8.setColor(_fld1e);
_fld8.drawString(_fld0d, _fld6b, _fld7b - i - i, 17);
int j = _fld2c.stringWidth(_fld0d);
int k = j >> 1;
int l = 0;
int i1 = 0;
int j1 = 0;
switch(_fld0f)
{
case 1: // '\001'
_fld6c = 70;
l = _fld2e;
i1 = _fld3e;
j1 = _fld3e;
break;
case 2: // '\002'
_fld6c = 35;
l = _fld3e;
i1 = _fld2e;
j1 = _fld3e;
break;
case 3: // '\003'
_fld6c = 10;
l = _fld3e;
i1 = _fld3e;
j1 = _fld2e;
break;
}
_fld8.setColor(_fld3e);
_fld8.fillRect((_fld6b - k) + 2, (_fld7b - (2 - _fld0f) * i) + 2, j - 3, i - 3);
_fld8.setColor(l);
_fld8.drawString("Slow", _fld6b, (_fld7b - i) + 1, 17);
_fld8.setColor(i1);
_fld8.drawString("Medium", _fld6b, _fld7b + 1, 17);
_fld8.setColor(j1);
_fld8.drawString("Fast", _fld6b, _fld7b + i + 1, 17);
_fld8.setColor(_fld1e);
_fld8.drawRect(_fld6b - k, _fld7b - i, j, 3 * i);
}
void _mth4()
{
_fld8.setColor(_fld7d);
_fld8.fillRect(0, 0, _fld2, _fld3);
_fld8.setFont(_fld2c);
_fld8.setColor(_fld9d);
int i = _fld7b >> 1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -