📄 game.java
字号:
package de.tsr.jsol.game;
import javax.microedition.lcdui.*;
import de.tsr.jsol.logic.*;
import de.tsr.jsol.util.*;
public abstract class Game {
protected IConnectable _cursorPosition;
public int width;
public int height;
protected ICardSelection _cardSelection;
public abstract void Paint(Graphics g);
public void keyPressed( int keyCode, int gameCode ) {
switch (keyCode) {
case Canvas.KEY_NUM4 :
MoveCursorLeft();
break;
case Canvas.KEY_NUM2:
MoveCursorUp();
break;
case Canvas.KEY_NUM6:
MoveCursorRight();
break;
case Canvas.KEY_NUM8:
MoveCursorDown();
break;
case Canvas.KEY_NUM5:
Clicked();
break;
case Canvas.KEY_NUM1:
SingleClicked();
break;
default :
switch (gameCode) {
case Canvas.LEFT:
MoveCursorLeft();
break;
case Canvas.UP:
MoveCursorUp();
break;
case Canvas.RIGHT:
MoveCursorRight();
break;
case Canvas.DOWN:
MoveCursorDown();
break;
case Canvas.FIRE:
Clicked();
break;
case Canvas.GAME_A:
SingleClicked();
break;
default :
break;
}
break;
}
}
public abstract Position CursorPosition();
protected void ConnectLeftRight( IConnectable left, IConnectable right ) {
left.ConnectRight( right );
right.ConnectLeft(left);
}
protected void ConnectUpDown( IConnectable up, IConnectable down ) {
up.ConnectDown( down );
down.ConnectUp( up );
}
public void MoveCursorLeft() {
_cursorPosition = _cursorPosition.Left();
}
public void MoveCursorUp() {
_cursorPosition = _cursorPosition.Up();
}
public void MoveCursorDown() {
_cursorPosition = _cursorPosition.Down();
}
public void MoveCursorRight() {
_cursorPosition = _cursorPosition.Right();
}
protected void Clicked() {
_cardSelection = _cursorPosition.Clicked(_cardSelection);
}
protected void SingleClicked() {
if( _cardSelection != null )
Clicked();
else
_cursorPosition.SingleClicked();
}
public abstract boolean isGameWon();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -