Al escribir un juego de batalla de tanques en Java, ¿cómo juzgar que dos tanques no pueden moverse superpuestos? ¿Existe algún algoritmo simple?
La abstracción de clases en este minijuego es muy importante. No definiré tanques ni otras clases aquí. De hecho, existe un algoritmo para la superposición de gráficos en la API J2SE, que es este intersección (. ), el pseudocódigo específico es el siguiente:
public boolean collidesWithTanks(java.util.List
for(int i=0; i Tanque t = tanks.get(i); if(this != t) { if(this .live && t.isLive() && this.getRect().intersects(t.getRect())) { this.stay(); t.stay() ; devuelve verdadero; } } } devuelve falso; } Puedes reescribirlo según tus necesidades reales. Hay todos los códigos sobre "Tank War" en mi biblioteca de Baidu. Si lo necesitas, puedo enviarte el código. Puedes contactarme a través de Baidu HI.
上篇: ¿Agarrar sobres rojos enviados a otras personas en un grupo de WeChat es un delito de robo? 下篇: El suministro de electricidad en las residencias universitarias es limitado y se pueden utilizar secadores de pelo de 800 W y ordenadores portátiles. Pero, ¿cómo se corta la energía inmediatamente con un calentador de 800-300W?