Initial Leaderboard Scene
This commit is contained in:
parent
a9c2d781bb
commit
bfa6e37001
4
raw/text/t_leaderboard.txt
Normal file
4
raw/text/t_leaderboard.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Network fees may occur.
|
||||||
|
1. Continue
|
||||||
|
2. Cancel
|
||||||
|
Connecting
|
@ -6,7 +6,8 @@ import javax.microedition.midlet.MIDlet;
|
|||||||
|
|
||||||
import sillysagiri.Sagiri;
|
import sillysagiri.Sagiri;
|
||||||
import sillysagiri.scene.Instruction;
|
import sillysagiri.scene.Instruction;
|
||||||
import sillysagiri.scene.MainMenu;
|
import sillysagiri.scene.Intro;
|
||||||
|
import sillysagiri.scene.Leaderboard;
|
||||||
import sillysagiri.scene.MainMenu;
|
import sillysagiri.scene.MainMenu;
|
||||||
|
|
||||||
public class DotHack extends MIDlet implements Runnable {
|
public class DotHack extends MIDlet implements Runnable {
|
||||||
@ -27,7 +28,7 @@ public class DotHack extends MIDlet implements Runnable {
|
|||||||
thread.setPriority(Thread.MAX_PRIORITY);
|
thread.setPriority(Thread.MAX_PRIORITY);
|
||||||
thread.start();
|
thread.start();
|
||||||
|
|
||||||
sagiri.Set_Scene(new Instruction());
|
sagiri.Set_Scene(new Leaderboard());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void pauseApp() {}
|
public void pauseApp() {}
|
||||||
|
@ -38,8 +38,7 @@ public class Sagiri
|
|||||||
public static Sagiri _instance = null;
|
public static Sagiri _instance = null;
|
||||||
|
|
||||||
public Input input;
|
public Input input;
|
||||||
|
public int fps = 20;
|
||||||
public int fps = 10;
|
|
||||||
|
|
||||||
private Scene _scene_current = null;
|
private Scene _scene_current = null;
|
||||||
public long time_begin = 0;
|
public long time_begin = 0;
|
||||||
|
@ -24,8 +24,8 @@ public class Instruction extends Scene {
|
|||||||
private BMF bmf_blue;
|
private BMF bmf_blue;
|
||||||
|
|
||||||
private Image img_loop;
|
private Image img_loop;
|
||||||
private Image img_keypad;
|
|
||||||
private Image img_out;
|
private Image img_out;
|
||||||
|
private Image img_keypad;
|
||||||
private Image img_arrow;
|
private Image img_arrow;
|
||||||
|
|
||||||
private String[] str_list1;
|
private String[] str_list1;
|
||||||
@ -209,6 +209,11 @@ public class Instruction extends Scene {
|
|||||||
state_page = 0;
|
state_page = 0;
|
||||||
if (state_tab < 0) state_tab = 3;
|
if (state_tab < 0) state_tab = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sagiri.input.IsKeyDown(Sagiri.KEY_CENTER) || sagiri.input.IsKeyDown(Sagiri.KEY_RIGHT_SOFT))
|
||||||
|
{
|
||||||
|
sagiri.Set_Scene(new MainMenu());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
144
src/sillysagiri/scene/Leaderboard.java
Normal file
144
src/sillysagiri/scene/Leaderboard.java
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
package sillysagiri.scene;
|
||||||
|
|
||||||
|
import javax.microedition.lcdui.Graphics;
|
||||||
|
import javax.microedition.lcdui.Image;
|
||||||
|
import javax.microedition.lcdui.game.Sprite;
|
||||||
|
|
||||||
|
import sillysagiri.BMF;
|
||||||
|
import sillysagiri.Sagiri;
|
||||||
|
import sillysagiri.Scene;
|
||||||
|
import sillysagiri.Utils;
|
||||||
|
|
||||||
|
public class Leaderboard extends Scene {
|
||||||
|
|
||||||
|
private BMF bmf_white;
|
||||||
|
private BMF bmf_blue;
|
||||||
|
|
||||||
|
private Image img_loop;
|
||||||
|
private Image img_out;
|
||||||
|
private Image img_head;
|
||||||
|
|
||||||
|
int state = 0;
|
||||||
|
|
||||||
|
public void Preload() {
|
||||||
|
try {
|
||||||
|
bmf_white = BMF.Create("/silly/bmf/nds12_0.silly.gz", "/silly/bmf/nds12.fnt", 0xffffffff);
|
||||||
|
bmf_blue = BMF.Create("/silly/bmf/onds12_0.silly.gz", "/silly/bmf/onds12.fnt", 0xff00dbff);
|
||||||
|
|
||||||
|
img_loop = Image.createImage("/m_2.png");
|
||||||
|
img_out = Image.createImage("/out.png");
|
||||||
|
img_head = Image.createImage("/s_1.png");
|
||||||
|
}
|
||||||
|
catch(Exception e)
|
||||||
|
{
|
||||||
|
sagiri.Set_Scene(new DeathError(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Destroy() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(long dt, Graphics g) {
|
||||||
|
Utils.Clear_Screen(g, 255, 108, 0);
|
||||||
|
|
||||||
|
int loopCount = (int)Math.ceil((float)Utils.GetScreenHeight()/img_loop.getHeight());
|
||||||
|
for (int i = 0; i<loopCount; i++)
|
||||||
|
g.drawImage(img_loop, 0, i*img_loop.getHeight(), Graphics.LEFT | Graphics.TOP);
|
||||||
|
|
||||||
|
int size_header = (int)(bmf_blue.lineHeight*1.5);
|
||||||
|
g.setColor(109, 0, 0);
|
||||||
|
g.fillRect(5, 5, Utils.GetScreenWidth()-10, size_header);
|
||||||
|
|
||||||
|
bmf_blue.DrawEx(g, "Leaderboard", 10, (size_header/2)+5, Graphics.LEFT | Graphics.VCENTER);
|
||||||
|
g.drawImage(img_out, Utils.GetScreenWidth()-10, (size_header/2)+5, Graphics.RIGHT|Graphics.VCENTER);
|
||||||
|
|
||||||
|
int rect_w = (int)(Utils.GetScreenWidth()*0.8f);
|
||||||
|
int rect_h = (int)(Utils.GetScreenHeight()*0.7f);
|
||||||
|
int rect_x = (Utils.GetScreenWidth()-rect_w)/2;
|
||||||
|
int rect_y = size_header+30;
|
||||||
|
int rect_mid = (int)Math.floor(rect_w/(img_head.getWidth()-30));
|
||||||
|
|
||||||
|
g.setColor(0, 0, 0);
|
||||||
|
g.fillRect(rect_x, rect_y, rect_w, rect_h);
|
||||||
|
|
||||||
|
int cursorx = rect_x+16;
|
||||||
|
for(int i=0; i<rect_mid; i++)
|
||||||
|
{
|
||||||
|
int remaning = img_head.getWidth()-30;
|
||||||
|
|
||||||
|
if (i == rect_mid-1)
|
||||||
|
remaning = (rect_w-30) - ((rect_mid-1)*(img_head.getWidth()-30));
|
||||||
|
|
||||||
|
g.drawRegion(
|
||||||
|
img_head,
|
||||||
|
15, 0, remaning, 15,
|
||||||
|
Sprite.TRANS_NONE,
|
||||||
|
cursorx + i*(img_head.getWidth()-30), rect_y+1,
|
||||||
|
Graphics.TOP | Graphics.LEFT
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
g.drawRegion(
|
||||||
|
img_head,
|
||||||
|
0, 0, 15, 15,
|
||||||
|
Sprite.TRANS_NONE,
|
||||||
|
rect_x+1, rect_y+1,
|
||||||
|
Graphics.TOP | Graphics.LEFT
|
||||||
|
);
|
||||||
|
|
||||||
|
g.drawRegion(
|
||||||
|
img_head,
|
||||||
|
img_head.getWidth()-15, 0, 15, 15,
|
||||||
|
Sprite.TRANS_NONE,
|
||||||
|
rect_x+rect_w-1, rect_y+1,
|
||||||
|
Graphics.TOP | Graphics.RIGHT
|
||||||
|
);
|
||||||
|
|
||||||
|
g.setColor(182, 109, 0);
|
||||||
|
g.fillRect(rect_x+1, rect_y+19+(rect_h-36), rect_w-2, 15);
|
||||||
|
g.setColor(255, 182, 0);
|
||||||
|
g.drawLine(rect_x+1, rect_y+19+(rect_h-36), rect_x+rect_w-2, rect_y+19+(rect_h-36));
|
||||||
|
g.setColor(146, 73, 0);
|
||||||
|
g.drawLine(rect_x+1, rect_y+19+(rect_h-36)+15, rect_x+rect_w-2, rect_y+19+(rect_h-36)+15);
|
||||||
|
|
||||||
|
g.setColor(0, 36, 85);
|
||||||
|
g.fillRect(rect_x+1, rect_y+img_head.getHeight()+2, rect_w-2, rect_h-36);
|
||||||
|
|
||||||
|
int cursory = rect_y+img_head.getHeight()+2 + 5;
|
||||||
|
cursorx = rect_x+6;
|
||||||
|
|
||||||
|
switch (state) {
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
bmf_white.Draw(g, "Network fees may occur.\n\n1. Continue\n2. Cancel", cursorx, cursory);
|
||||||
|
|
||||||
|
if (sagiri.input.IsKeyDown(new int[]{Sagiri.KEY_1, Sagiri.KEY_CENTER, Sagiri.KEY_5}) ||
|
||||||
|
sagiri.input.IsKeyDown(Sagiri.KEY_LEFT_SOFT))
|
||||||
|
{
|
||||||
|
state = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sagiri.input.IsKeyDown(Sagiri.KEY_2))
|
||||||
|
{
|
||||||
|
sagiri.Set_Scene(new MainMenu());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
bmf_white.Draw(g, "Connection Failed\nSorry", cursorx, cursory);
|
||||||
|
}
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sagiri.input.IsKeyDown(new int[]{Sagiri.KEY_CENTER, Sagiri.KEY_5}) ||
|
||||||
|
sagiri.input.IsKeyDown(Sagiri.KEY_RIGHT_SOFT))
|
||||||
|
{
|
||||||
|
sagiri.Set_Scene(new MainMenu());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -57,8 +57,6 @@ public class MainMenu extends Scene {
|
|||||||
list_strmenu[i] = list_strmenu[i].toUpperCase();
|
list_strmenu[i] = list_strmenu[i].toUpperCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println(list_strmenu[maxlength]);
|
|
||||||
|
|
||||||
int boxw = (int)(bmf_blue.Measure(list_strmenu[maxlength])[0]+bmf_blue.lineHeight*1.4);
|
int boxw = (int)(bmf_blue.Measure(list_strmenu[maxlength])[0]+bmf_blue.lineHeight*1.4);
|
||||||
int boxh = bmf_blue.lineHeight*(list_strmenu.length+1);
|
int boxh = bmf_blue.lineHeight*(list_strmenu.length+1);
|
||||||
int[] temp = new int[boxw*boxh];
|
int[] temp = new int[boxw*boxh];
|
||||||
@ -201,6 +199,7 @@ public class MainMenu extends Scene {
|
|||||||
|
|
||||||
case STATE_MENU_LEADERBOARD:
|
case STATE_MENU_LEADERBOARD:
|
||||||
{
|
{
|
||||||
|
sagiri.Set_Scene(new Leaderboard());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user