java - 我怎样才能让敌方坦克不正确地侵犯墙边界?
问题描述
public boolean sagdancarpma() {
boolean carpma=false;
for(int i=0; i<br.solidBricksXPos.length;i++) {
if(this.x==br.solidBricksXPos[i]+40&&(this.y+40>br.solidBricksYPos[i]&&this.y<br.solidBricksYPos[i]+40)) {
carpma=true;
}
}return carpma; }
这是我的碰撞检测。实心砖属于另一类。计算机的坦克在这个 Dusman 类中编码。此代码仅适用于砖块右侧的碰撞。坦克是 40x40 像素,砖是 50x50。(我用 40 作为砖,因为 50 不起作用。)有时“dusman”=“敌人坦克穿过砖。我找不到答案。
public void dusmantank() {
for(int i=0; i<dusmanlar.size();i++)
{ Dusman d= dusmanlar.get(i);
if(d.say==0) {
yonbelirle(d,d.getyon());
d.say=random.nextInt(50);
}
if(d.yon1==1) {
if(d.usttencarpma()) {
yonbelirle(d,1);
}
d.hrk(0,+1);
d.say--;
}
if(d.yon1==2) {if(d.alttancarpma()) {
yonbelirle(d,2);
}
d.hrk(0, -1);
d.say--;
}
if(d.yon1==3) {
if(d.soldancarpma()) {
yonbelirle(d,3);
}
d.hrk(+1, 0);
d.say--;
}
if(d.yon1==4) {
if(d.sagdancarpma()) {
yonbelirle(d,4);
}
d.hrk(-1, 0);
d.say--;
}
}}
这是自动移动敌方坦克的代码。yon1 表示坦克的方向。在此之后 if 语句碰撞检测来了。如果是真的“yonbelirle”方法确定一个随机方向。我是初学者,你能给我一个简单的答案吗?谢谢你们。
解决方案
推荐阅读
- python - Python、pygame.image.load()函数问题
- reactjs - 在 useEffect 上使用异步函数,该函数将 State 作为参数也设置为异步
- c# - 在 FtpWebRequest.UploadFile 之后调用 FtpWebRequest.DownloadFile 时,为什么会出现异常?
- google-bigquery - dbt 在错误的字段上对 bigquery 表进行分区
- javascript - Vue.js 动态更新 div 中的内容
- flutter - Flutter Vertical Tabs 只在水平方向滚动
- c++ - clang-diagnostic-error - 分配抽象类类型'Base'的对象
- netsuite - 从特定的自定义报告创建报告供应商
- python - 为什么这个 SQLite 查询在第一个 sintax 中失败,而在第二个中没有?
- python - 烧瓶 JSONDecodeError:期望值:第 1 行第 1 列(字符 0)