📄 gamerank.java~1~
字号:
DrawGameBackGround(); DrawSignBoard(); break; } } private void DrawSignBoard() { m_View.Blt(15, 34, m_Surface_TitleSign.w(), m_Surface_TitleSign.h(), 0, 0, m_Surface_TitleSign); for (int i = 0; i < 26; i++) { m_View.Blt(15 + (i % 10) * SIGN_BOARD_TEXTSPACE, 65 + (i / 10) * SIGN_BOARD_TEXTSPACE, FONT_SIZE, FONT_SIZE, FONT_SIZE * i, 0, m_Surface_Font7); } for (int i = 26; i < 41; i++) { m_View.Blt(15 + ( (i + 4) % 10) * SIGN_BOARD_TEXTSPACE, 65 + ( (i + 4) / 10) * SIGN_BOARD_TEXTSPACE, FONT_SIZE, FONT_SIZE, FONT_SIZE * i, 0, m_Surface_Font7); } for (int i = 41; i < 43; i++) { m_View.Blt(15 + ( (i + 7) % 10) * SIGN_BOARD_TEXTSPACE, 65 + ( (i + 7) / 10) * SIGN_BOARD_TEXTSPACE, FONT_SIZE, FONT_SIZE, FONT_SIZE * i, 0, m_Surface_Font7); } iTemp = m_i_CurrSeleIdx; if (iTemp >= 41) { iTemp += 7; } else { if (iTemp >= 26) iTemp += 4; } m_View.Blt(15 + (iTemp % 10) * SIGN_BOARD_TEXTSPACE, 65 + (iTemp / 10) * SIGN_BOARD_TEXTSPACE, FONT_SIZE, FONT_SIZE, FONT_SIZE * m_i_CurrSeleIdx, 7, m_Surface_Font7); for (int i = 0; i < m_i_CurrNameLength; i++) { m_View.Blt(35 + i * SIGN_BOARD_TEXTSPACE, 45, FONT_SIZE, FONT_SIZE, FONT_SIZE * (m_s_CurrName[i] - 1), 0, m_Surface_Font7); } m_View.Blt(35 + m_i_CurrNameLength * SIGN_BOARD_TEXTSPACE, 45, FONT_SIZE, FONT_SIZE, FONT_SIZE * 43, 0, m_Surface_Font7); for (int i = m_i_CurrNameLength + 1; i < SIGNNAME_MAX; i++) { m_View.Blt(35 + i * SIGN_BOARD_TEXTSPACE, 45 + FONT_SIZE - 1, FONT_SIZE, 1, FONT_SIZE * 43, 0, m_Surface_Font7); } } private void DrawRank() { m_View.Blt(15, 12, m_Surface_TitleRank.w(), m_Surface_TitleRank.h(), 0, 0, m_Surface_TitleRank); m_View.Blt(RANK_TAP1, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('N' - 65), 0, m_Surface_Font7); m_View.Blt(RANK_TAP1 + FONT_SIZE, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('O' - 65), 0, m_Surface_Font7); m_View.Blt(RANK_TAP2, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('N' - 65), 0, m_Surface_Font7); m_View.Blt(RANK_TAP2 + FONT_SIZE, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('A' - 65), 0, m_Surface_Font7); m_View.Blt(RANK_TAP2 + FONT_SIZE * 2, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('M' - 65), 0, m_Surface_Font7); m_View.Blt(RANK_TAP2 + FONT_SIZE * 3, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('E' - 65), 0, m_Surface_Font7); m_View.Blt(RANK_TAP3, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('L' - 65), 0, m_Surface_Font7); m_View.Blt(RANK_TAP3 + FONT_SIZE, RANK_HEADPOS, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('V' - 65), 0, m_Surface_Font7); for (int i = 0; i < 5; i++) { //draw no m_View.Blt(RANK_TAP1, RANK_HEADPOS + (i + 1) * RANK_LINESPACE, FONT_SIZE, FONT_SIZE, FONT_SIZE * ('0' - 22), 0, m_Surface_Font7); m_View.Blt(RANK_TAP1 + FONT_SIZE, RANK_HEADPOS + (i + 1) * RANK_LINESPACE, FONT_SIZE, FONT_SIZE, FONT_SIZE * (i + 26), 0, m_Surface_Font7); //draw level if (m_i_RankScore[i] > 99) { m_View.Blt(RANK_TAP3 - FONT_SIZE, RANK_HEADPOS + (i + 1) * RANK_LINESPACE, FONT_SIZE, FONT_SIZE, (m_i_RankScore[i] / 100 + 26) * FONT_SIZE, 0, m_Surface_Font7); } if (m_i_RankScore[i] > 9) { m_View.Blt(RANK_TAP3, RANK_HEADPOS + (i + 1) * RANK_LINESPACE, FONT_SIZE, FONT_SIZE, ( (m_i_RankScore[i] % 100) / 10 + 26) * FONT_SIZE, 0, m_Surface_Font7); } m_View.Blt(RANK_TAP3 + FONT_SIZE, RANK_HEADPOS + (i + 1) * RANK_LINESPACE, FONT_SIZE, FONT_SIZE, (m_i_RankScore[i] % 10 + 26) * FONT_SIZE, 0, m_Surface_Font7); //draw name for (int j = 0; j < 6; j++) { if (m_s_RankName[i][j] == 0) { break; } m_View.Blt(RANK_TAP2 + FONT_SIZE * j, RANK_HEADPOS + (i + 1) * RANK_LINESPACE, FONT_SIZE, FONT_SIZE, (m_s_RankName[i][j] - 1) * FONT_SIZE, 0, m_Surface_Font7); } } } private void DrawGameBackGround() { m_View.m_g_BackGraphy.setColor(62, 62, 62); m_View.m_g_BackGraphy.fillRect(0, 0, m_View.m_i_ScreenWidth, m_View.m_i_ScreenHeight); m_View.m_g_BackGraphy.setColor(255, 235, 0); m_View.m_g_BackGraphy.fillRect(0, 0, m_View.m_i_ScreenWidth, START_POS_Y); m_View.m_g_BackGraphy.fillRect(0, 0, START_POS_X, m_View.m_i_ScreenHeight); m_View.m_g_BackGraphy.fillRect(m_View.m_i_ScreenWidth - START_POS_X, 0, m_View.m_i_ScreenWidth, m_View.m_i_ScreenHeight); m_View.m_g_BackGraphy.fillRect(0, m_View.m_i_ScreenHeight - START_POS_Y, m_View.m_i_ScreenWidth, m_View.m_i_ScreenHeight); } //=Saving and Loading Section=================== String m_s_StoreString = "GoGoGoRank"; public void ReadRankRecord() { RecordStore rs; byte[] record; try { rs = RecordStore.openRecordStore(m_s_StoreString, false); if (rs.getNumRecords() == 0) { InitRankData(); WriteRankRecord(); return; } record = rs.getRecord(1); rs.closeRecordStore(); } catch (RecordStoreException rse) { InitRankData(); WriteRankRecord(); return; } ByteArrayInputStream bais = new ByteArrayInputStream(record); DataInputStream is = new DataInputStream(bais); try { for (int i = 0; i < RANK_TOTAL; i++) { is.read(m_s_RankName[i], 0, SIGNNAME_MAX); m_i_RankScore[i] = is.readInt(); } } catch (IOException e) { InitRankData(); WriteRankRecord(); return; } rs = null; record = null; bais = null; is = null; return; } public void InitRankData() { for(int i = RANK_TOTAL - 1; i >= 0; i --) { m_s_RankName[i][0] = 0; m_i_RankScore[i] = 0; } } public void WriteRankRecord() { ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream os = new DataOutputStream(baos); try { for (int i = 0; i < RANK_TOTAL; i++) { os.write(m_s_RankName[i], 0, SIGNNAME_MAX); os.writeInt(m_i_RankScore[i]); } } catch (IOException e) { return; } byte[] record = baos.toByteArray(); RecordStore rs; try { RecordStore.deleteRecordStore(m_s_StoreString); } catch (RecordStoreException rse) { } try { rs = RecordStore.openRecordStore(m_s_StoreString, true); rs.addRecord(record, 0, record.length); rs.closeRecordStore(); } catch (RecordStoreException rse) { return; } rs = null; record = null; baos = null; os = null; } private void SaveRankAndExit() { for (int i = 0; i < RANK_TOTAL; i++) { if ( (m_i_CurrScore + 1) > m_i_RankScore[i]) { for (int j = RANK_TOTAL - 1; j > i; j--) { m_i_RankScore[j] = m_i_RankScore[j - 1]; for (int k = 0; k < SIGNNAME_MAX; k++) m_s_RankName[j][k] = m_s_RankName[j - 1][k]; } m_i_RankScore[i] = m_i_CurrScore + 1; for (int k = 0; k < m_i_CurrNameLength; k++) m_s_RankName[i][k] = m_s_CurrName[k]; for (int k = m_i_CurrNameLength; k < SIGNNAME_MAX; k++) m_s_RankName[i][k] = 0; WriteRankRecord(); break; } } GotoRank();; } //===================================END=}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -