如鹏java学习进程 吃金币游戏(时间限制,陷阱,随机金币位置)
来源:互联网 发布:免费微信数据恢复软件 编辑:程序博客网 时间:2024/05/21 12:08
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.event.KeyEvent;
import com.rupeng.game.GameCore;
public class eatCoinFinal implements Runnable {
@Override
public void run() {
GameCore.setGameSize(700, 700);
int[] xS = new int[9];
int[] yS = new int[9];
for (int a = 0; a < xS.length; a++) {
xS[a] = GameCore.rand(0, 600);
yS[a] = GameCore.rand(0, 600);
}
boolean[] coinS = new boolean[xS.length];
int[] coinNums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int a = 0; a < xS.length; a++) {
int coinNum = coinNums[a];
GameCore.createSprite(coinNum, "coin");
int coinX = xS[a];
int coinY = yS[a];
GameCore.setSpritePosition(coinNum, coinX, coinY);
GameCore.playSpriteAnimate(coinNum, "rotate", true);
}
int[] mineNums = { 11, 22, 33 };
int[] mineXDate = { 120, 160, 310 };
int[] mineYDate = { 120, 160, 310 };
for (int a = 0; a < mineNums.length; a++) {
GameCore.createSprite(mineNums[a], "bomb");
int mineX = mineXDate[a];
int mineY = mineYDate[a];
GameCore.setSpritePosition(mineNums[a], mineX, mineY);
GameCore.playSpriteAnimate(mineNums[a], "laser", true);
}
int marioNum = 0;
GameCore.createSprite(marioNum, "mario");
GameCore.setSpritePosition(marioNum, 0, 0);
GameCore.setSpriteFlipX(marioNum, true);
GameCore.playSpriteAnimate(marioNum, "walk", true);
Dimension gameSize = GameCore.getGameSize();
int gameWidth = gameSize.width;
int gameHeight = gameSize.height;
Dimension marioSize = GameCore.getSpriteSize(marioNum);
int marioWidth = marioSize.width;
int marioHeight = marioSize.height;
int coinPicNum = 0;
int coinTexNum = 0;
GameCore.createImage(coinPicNum, "coin.png");
GameCore.setImagePosition(coinPicNum, 700, 0);
GameCore.createText(coinTexNum, "X0");
GameCore.setTextFontSize(coinTexNum, 50);
GameCore.setTextColor(coinTexNum, Color.black);
GameCore.setTextPosition(coinPicNum, 760, 1);
long time = System.currentTimeMillis();
while (true) {
int keyCode = GameCore.getPressedKeyCode();
Point marioP = GameCore.getSpritePosition(marioNum);
int marioX = marioP.x;
int marioY = marioP.y;
if (keyCode == KeyEvent.VK_LEFT) {
if (marioX > 0) {
marioX--;
GameCore.setSpriteFlipX(marioNum, false);
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
} else if (keyCode == KeyEvent.VK_RIGHT) {
if (marioX <= gameWidth - marioWidth) {
marioX++;
GameCore.setSpriteFlipX(marioNum, true);
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
} else if (keyCode == KeyEvent.VK_UP) {
if (marioY > 0) {
marioY--;
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
} else if (keyCode == KeyEvent.VK_DOWN) {
if (marioY <= gameHeight - marioHeight) {
marioY++;
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
}
long nowtime = System.currentTimeMillis();
if (nowtime - time > 30000) {
GameCore.alert("times up");
GameCore.exit();
} else {
for (int i = 0; i < coinNums.length; i++) {
int coinNum = coinNums[i];
boolean coinSS = coinS[i];
if (coinSS) {
continue;
}
int coinX = xS[i];
int coinY = yS[i];
Dimension coinSize = GameCore.getSpriteSize(coinNum);
int coinWidth = coinSize.width;
int coinHeight = coinSize.height;
int coinCenterX = coinX + coinWidth / 2;
int coinCenterY = coinY + coinHeight / 2;
int marioCenterX = marioX + marioWidth / 2;
int marioCenterY = marioY + marioHeight / 2;
double distanceCoinMario = Math.pow((coinCenterX - marioCenterX) * (coinCenterX - marioCenterX)
+ (coinCenterY - marioCenterY) * (coinCenterY - marioCenterY), 0.5);
if (distanceCoinMario < 15) {
GameCore.hideSprite(coinNum);
coinS[i] = true;
int eatCoin = 0;
for (int b = 0; b < coinS.length; b++) {
if (coinS[b]) {
eatCoin++;
}
}
GameCore.setText(coinTexNum, "X" + eatCoin);
if (eatCoin == coinNums.length) {
GameCore.alert("庆祝");
GameCore.exit();
}
}
}
}
for (int i = 0; i < mineNums.length; i++) {
Dimension mineSize = GameCore.getSpriteSize(mineNums[i]);
int mineX = mineXDate[i];
int mineY = mineYDate[i];
int marioCenterX = marioX + marioWidth / 2;
int marioCenterY = marioY + marioHeight / 2;
int mineWidth = mineSize.width;
int mineHeight = mineSize.height;
int mineCenterX = mineX + mineWidth / 2;
int mineCenterY = mineY + mineHeight / 2;
double distanceMineMario = Math.pow((mineCenterX - marioCenterX) * (mineCenterX - marioCenterX)
+ (mineCenterY - marioCenterY) * (mineCenterY - marioCenterY), 0.5);
if (distanceMineMario < 15) {
GameCore.alert("you are dead");
GameCore.exit();
}
}
GameCore.pause(1);
}
}
public static void main(String[] args) {
GameCore.start(new eatCoinFinal());
}
}
import java.awt.Dimension;
import java.awt.Point;
import java.awt.event.KeyEvent;
import com.rupeng.game.GameCore;
public class eatCoinFinal implements Runnable {
@Override
public void run() {
GameCore.setGameSize(700, 700);
int[] xS = new int[9];
int[] yS = new int[9];
for (int a = 0; a < xS.length; a++) {
xS[a] = GameCore.rand(0, 600);
yS[a] = GameCore.rand(0, 600);
}
boolean[] coinS = new boolean[xS.length];
int[] coinNums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int a = 0; a < xS.length; a++) {
int coinNum = coinNums[a];
GameCore.createSprite(coinNum, "coin");
int coinX = xS[a];
int coinY = yS[a];
GameCore.setSpritePosition(coinNum, coinX, coinY);
GameCore.playSpriteAnimate(coinNum, "rotate", true);
}
int[] mineNums = { 11, 22, 33 };
int[] mineXDate = { 120, 160, 310 };
int[] mineYDate = { 120, 160, 310 };
for (int a = 0; a < mineNums.length; a++) {
GameCore.createSprite(mineNums[a], "bomb");
int mineX = mineXDate[a];
int mineY = mineYDate[a];
GameCore.setSpritePosition(mineNums[a], mineX, mineY);
GameCore.playSpriteAnimate(mineNums[a], "laser", true);
}
int marioNum = 0;
GameCore.createSprite(marioNum, "mario");
GameCore.setSpritePosition(marioNum, 0, 0);
GameCore.setSpriteFlipX(marioNum, true);
GameCore.playSpriteAnimate(marioNum, "walk", true);
Dimension gameSize = GameCore.getGameSize();
int gameWidth = gameSize.width;
int gameHeight = gameSize.height;
Dimension marioSize = GameCore.getSpriteSize(marioNum);
int marioWidth = marioSize.width;
int marioHeight = marioSize.height;
int coinPicNum = 0;
int coinTexNum = 0;
GameCore.createImage(coinPicNum, "coin.png");
GameCore.setImagePosition(coinPicNum, 700, 0);
GameCore.createText(coinTexNum, "X0");
GameCore.setTextFontSize(coinTexNum, 50);
GameCore.setTextColor(coinTexNum, Color.black);
GameCore.setTextPosition(coinPicNum, 760, 1);
long time = System.currentTimeMillis();
while (true) {
int keyCode = GameCore.getPressedKeyCode();
Point marioP = GameCore.getSpritePosition(marioNum);
int marioX = marioP.x;
int marioY = marioP.y;
if (keyCode == KeyEvent.VK_LEFT) {
if (marioX > 0) {
marioX--;
GameCore.setSpriteFlipX(marioNum, false);
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
} else if (keyCode == KeyEvent.VK_RIGHT) {
if (marioX <= gameWidth - marioWidth) {
marioX++;
GameCore.setSpriteFlipX(marioNum, true);
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
} else if (keyCode == KeyEvent.VK_UP) {
if (marioY > 0) {
marioY--;
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
} else if (keyCode == KeyEvent.VK_DOWN) {
if (marioY <= gameHeight - marioHeight) {
marioY++;
GameCore.setSpritePosition(marioNum, marioX, marioY);
}
}
long nowtime = System.currentTimeMillis();
if (nowtime - time > 30000) {
GameCore.alert("times up");
GameCore.exit();
} else {
for (int i = 0; i < coinNums.length; i++) {
int coinNum = coinNums[i];
boolean coinSS = coinS[i];
if (coinSS) {
continue;
}
int coinX = xS[i];
int coinY = yS[i];
Dimension coinSize = GameCore.getSpriteSize(coinNum);
int coinWidth = coinSize.width;
int coinHeight = coinSize.height;
int coinCenterX = coinX + coinWidth / 2;
int coinCenterY = coinY + coinHeight / 2;
int marioCenterX = marioX + marioWidth / 2;
int marioCenterY = marioY + marioHeight / 2;
double distanceCoinMario = Math.pow((coinCenterX - marioCenterX) * (coinCenterX - marioCenterX)
+ (coinCenterY - marioCenterY) * (coinCenterY - marioCenterY), 0.5);
if (distanceCoinMario < 15) {
GameCore.hideSprite(coinNum);
coinS[i] = true;
int eatCoin = 0;
for (int b = 0; b < coinS.length; b++) {
if (coinS[b]) {
eatCoin++;
}
}
GameCore.setText(coinTexNum, "X" + eatCoin);
if (eatCoin == coinNums.length) {
GameCore.alert("庆祝");
GameCore.exit();
}
}
}
}
for (int i = 0; i < mineNums.length; i++) {
Dimension mineSize = GameCore.getSpriteSize(mineNums[i]);
int mineX = mineXDate[i];
int mineY = mineYDate[i];
int marioCenterX = marioX + marioWidth / 2;
int marioCenterY = marioY + marioHeight / 2;
int mineWidth = mineSize.width;
int mineHeight = mineSize.height;
int mineCenterX = mineX + mineWidth / 2;
int mineCenterY = mineY + mineHeight / 2;
double distanceMineMario = Math.pow((mineCenterX - marioCenterX) * (mineCenterX - marioCenterX)
+ (mineCenterY - marioCenterY) * (mineCenterY - marioCenterY), 0.5);
if (distanceMineMario < 15) {
GameCore.alert("you are dead");
GameCore.exit();
}
}
GameCore.pause(1);
}
}
public static void main(String[] args) {
GameCore.start(new eatCoinFinal());
}
}
阅读全文
0 0
- 如鹏java学习进程 吃金币游戏(时间限制,陷阱,随机金币位置)
- 马里奥吃金币游戏
- 游戏吃金币+背景
- 用java制作吃金币游戏
- HTML小游戏 (吃金币)
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第七步--物理碰撞检测(2)--主角吃金币
- 吃金币小游戏笔记
- 玛丽奥吃金币
- 马里奥吃金币、消失
- 马里奥吃金币
- 马里奥吃金币
- 马里奥吃金币消失
- 金币
- 金币
- 金币
- 金币
- 金币阵列问题。有m*n枚金币在桌面上排成一个金币阵列。每一个金币正面朝上,或背面朝上,分别用0和1表示。 金币阵列游戏的规则是:(1)每次可将任一行金币翻过来放在原来的位置上;(2)每
- 学习Unity3D之吃金币和血瓶。
- 循环结构
- R-igarph实例操作(一)
- 深入浅出理解JAVA 8 Lambda表达式 Stream
- java 死锁产生原因及解锁
- 从命令行输入一个字符串!要求从中随机选择6个字符组成验证码!
- 如鹏java学习进程 吃金币游戏(时间限制,陷阱,随机金币位置)
- 使用sublime书写python代码时出现矩形框解决办法
- springboot(一) 创建第一个springboot项目
- git push error
- docker学习笔记2
- Hibernate Validation验证
- C程序设计语言_Terminal小技巧
- 01背包
- 实习笔记:实习第四天工作总结