//读取地图,角色上下楼梯位置 public void readmaps(int level){ for(int k=0;k<11;k++) { for(int m=0;m<11;m++) { if(up_stair) { if(tempmap[level][k][m]==78) { mx = location[level-1][0][0]; my = location[level-1][0][1]; } } else if(down_stair) { if(tempmap[level][k][m] == 4) { mx = location[level-1][1][0]; my = location[level-1][1][1]; } } } } }
时间: 2023-12-13 18:03:20 浏览: 29
这段代码是一个自定义的面板类中的方法,用于读取地图和角色的上下楼梯位置。该方法接受一个表示关卡的参数 level。在方法中,使用两个for循环遍历地图中的每一个元素,检查是否有上下楼梯的情况。如果有上楼梯的情况,就检查该元素是否为 'N',如果是,则将角色的位置设置为上一个关卡中的上楼梯位置。如果有下楼梯的情况,就检查该元素是否为数字 4,如果是,则将角色的位置设置为上一个关卡中的下楼梯位置。最终,角色的位置将会被更新到正确的位置,以便游戏可以在正确的地图上进行。
相关问题
根据以下代码介绍一下实现的界面 public MyPanel() { //监听键盘事件 this.addKeyListener(this); setSize(600, 600); readFile(level); } Image img11 = GameUtil.getImage("/pic/11.gif"); Image imagetx = GameUtil.getImage("/pic/1.png"); Image imageff = GameUtil.getImage("/pic/004.png"); public void paint(Graphics g) { Image[] maping = SetImage.GetImage(level); super.paint(g); for (int i = 0; i < 20; i++) { for (int j = 0; j < 20; j++) { g.drawImage(maping[tempmap[j][i]], i * 30, j * 30, null); } } g.drawImage(img11, 600, 80, null); g.drawImage(imagetx, 620, 550, null); g.drawImage(imagetx, 650, 550, null); g.setColor(new Color(233,150,122)); g.setFont(new Font("幼圆", Font.BOLD, 20)); g.drawString("现在是第" + level + "关", 625, 30); nowlever=level; g.drawString("现在的你,", 605, 220); g.drawString("已经走了:" +nowstep + "步", 605, 240); g.drawString("排行榜", 655, 300); //[排行榜实现 6.22]要有查询操作 返回一个字符数组(排序) g.drawString("第一名:"+id1+" "+"礼物:"+lw1+"步骤"+bz1); order(); for(int i=0;i<sites.size();i++){ g.drawString(sites.get(i),605,330+i*30); } sites.clear(); g.setFont(new Font("幼圆", Font.BOLD, 14)); g.setColor(new Color(255,165,0)); g.drawString("已经得到:" + nowgrift + "分", 605, 260); long usedTimem = (endTime-startTime)/60000; long usedTimes =(endTime-startTime)%60000/1000; Date date = new Date(); g.setColor(new Color(255,140,0)); if(usedTimem>=0||usedTimes>=0) g.drawString("用时:" +usedTimem+ "分钟"+usedTimes+"秒", 605, 280); g.drawString(date.toString(), 600, 590); } //实现排行榜功能取前三名 public void order(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; conn = JDBCUtils.getConnection(); String sql = "select grift,step,id from user order by grift desc,step asc limit 3 "; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); String s=""; int fc=1; while(rs.next()){ s="第"+fc+"名:"+rs.getNString("id"); sites.add(s); s="得分:"+rs.getInt("grift")+" " +"步数"+rs.getInt("step"); sites.add(s); s=""; fc++; } System.out.println(sites);
这段代码实现了一个界面的绘制功能,继承自Panel类,并且实现了KeyListener接口。以下是对代码的简要介绍:
1. 在构造方法中设置了界面的大小并读取了一个文件。
2. 使用GameUtil的getImage方法加载了三张图片,分别是11.gif、1.png和004.png。
3. 重写了paint方法,在其中绘制了地图和其他的图像和文本信息。
4. 使用双重for循环绘制了地图,根据tempmap数组中的数据选择对应的图像进行绘制。
5. 使用drawImage方法绘制了img11、imagetx和imageff三张图片。
6. 设置了字体颜色和样式,使用drawString方法绘制了一些文本信息,包括当前关卡、已经走的步数、排行榜等。
7. 实现了排行榜功能,在order方法中使用JDBC连接数据库,查询前三名的得分和步数,并将结果存入字符数组sites中。
8. 最后在paint方法中使用drawString方法绘制排行榜信息。
需要注意的是,代码中涉及到一些变量和方法的调用,比如level、tempmap、nowstep、nowgrift等,这些变量和方法的定义部分没有提供,可能在其他文件中定义或实现。同时,代码中还使用了JDBCUtils类来获取数据库连接,需要确保该类的正确性和可用性。
希望以上介绍能对您有所帮助!
java使用spire读取 1~3级 位置并输出 完整代码
以下是使用 Spire.Doc 组件在 Java 中读取 Word 文档中各级标题位置的示例代码:
```
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.*;
public class ReadHeadingPositionsInWord {
public static void main(String[] args) {
// 加载文档
Document document = new Document();
document.loadFromFile("input/ReadHeadingPositionsInWord.docx");
// 获取所有章节
SectionCollection sections = document.getSections();
// 循环遍历所有章节
for (int i = 0; i < sections.getCount(); i++) {
Section section = sections.get(i);
// 获取所有段落
ParagraphCollection paragraphs = section.getParagraphs();
// 循环遍历所有段落
for (int j = 0; j < paragraphs.getCount(); j++) {
Paragraph paragraph = paragraphs.get(j);
// 获取段落样式
ParagraphStyle style = paragraph.getStyle();
// 判断样式是否为标题样式
if (style != null && style.getName().startsWith("Heading ")) {
// 获取标题级别
int level = Integer.parseInt(style.getName().substring(8));
// 获取标题位置
float position = paragraph.getFormat().getFirstLineIndent();
// 输出标题级别和位置
System.out.println("Level " + level + ": " + position);
}
}
}
}
}
```
这段代码会读取一个 Word 文档中各级标题的位置信息,并按照级别和位置输出到控制台。注意,代码中假设标题样式的名称以 "Heading " 开头,后面跟着标题级别。你需要根据实际情况修改样式名称。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)