基于java的Swing小游戏16款(java+swing)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

311723300209

001723280209

011723280209

021723280209

031723280209

041723280209

051723280209

061723280209

071723280209

091723280209

101723280209

111723280209

121723280209

131723280209

141723280209

151723280209

161723280209

591723270209

基于java的Swing小游戏16款(java+swing)

  • 本项目不使用数据库
  • 本项目不使用数据库
  • 本项目不使用数据库
  • 本项目不使用数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    }
if(!Key.flag)
keyWaitCount++;
if(keyWaitCount > keyWaitTime)
{
Key.flag = true;
keyWaitCount = 0;
}
}

int returnDistance()
{
return distance;
}

void checkDeadAll()
{
musashi.checkDead();
for(int i = 0; i < enemy.size(); i++)
{
Enemy enemy1 = (Enemy)enemy.elementAt(i);
if(enemy1.checkDead())
{
enemy.removeElementAt(i);
i--;
}
}

for(int j = 0; j < bg.size(); j++)
{
Bg bg1 = (Bg)bg.elementAt(j);
if(bg1.checkDead())
{
bg.removeElementAt(j);
j--;
}
}

for(int k = 0; k < item.size(); k++)
{
Item item1 = (Item)item.elementAt(k);
if(item1.checkDead())
{
item.removeElementAt(k);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
((Chara)player.get(player.size() - 1)).spriteSheet = getImage(img, "sheetThrash.png");
tracker.addImage(((Chara)player.get(player.size() - 1)).spriteSheet, nextID());
testProjectile = getImage(img, "rocket1.png");
tracker.addImage(testProjectile, nextID());
imgPowerMeter = getImage(img, "powerMeter.png");
tracker.addImage(imgPowerMeter, nextID());
imgPowerBar = getImage(img, "powerBar.png");
tracker.addImage(imgPowerBar, nextID());
imgPowerLast = getImage(img, "powerMeterLast.png");
tracker.addImage(imgPowerLast, nextID());
imgPowerWish = getImage(img, "powerMeterWish.png");
tracker.addImage(imgPowerWish, nextID());
imgAngleArrow = getImage(img, "angleArrow.png");
tracker.addImage(imgAngleArrow, nextID());
for(int cnt = 0; cnt < 10; cnt++)
{
imgNumber.add(getImage(img, (new StringBuilder("n")).append(cnt).append(".png").toString()));
tracker.addImage((Image)imgNumber.get(imgNumber.size() - 1), nextID());
}

screenWidth = getSize().width;
screenHeight = getSize().height;
metricsX = (double)gameWidth / (double)screenWidth;
metricsY = (double)gameHeight / (double)screenHeight;
imgDbl = createImage(gameWidth, gameHeight);
bufDbl = imgDbl.getGraphics();
imgCurGrab = getImage(img, "cur_grab.png");
tracker.addImage(imgCurGrab, nextID());
imgCurPoint = getImage(img, "cur_point.png");
tracker.addImage(imgCurPoint, nextID());
imgBackground = getImage(img, "blusky.png");
tracker.addImage(imgBackground, nextID());
imgGround = new BufferedImage(mapWidth, mapHeight, 2);
imgGround2 = new BufferedImage(mapWidth, mapHeight, 2);
Debug("init() Waiting for Images to load...");
try
{
tracker.waitForAll();
}
catch(InterruptedException e)
{
System.out.println((new StringBuilder("ERROR FOUND! ")).append(e).toString());
}
Debug("init() Setting up generic players...");
((Chara)player.get(0)).x = 200;
((Chara)player.get(0)).y = 50;
((Chara)player.get(0)).loadSprite(((Chara)player.get(0)).spriteSheet);
((Chara)player.get(1)).x = 500;
((Chara)player.get(1)).y = 50;
((Chara)player.get(1)).loadSprite(((Chara)player.get(1)).spriteSheet);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
        e.getKeyCode();
else
if(gameState == HIGH_SCORES)
e.getKeyCode();
else
if(gameState == CREDITS)
e.getKeyCode();
else
if(gameState == INGAME)
switch(e.getKeyCode())
{
case 65: // 'A'
player.keyPressed = false;
break;

case 68: // 'D'
player.keyPressed = false;
break;

case 16: // '\020'
player.setRun();
break;
}
}

private static GameLoop gameLoop = new GameLoop();
private Map map;
private Player player;
private CompletionPoint compPoint;
private ArrayList stars;
int x;
private int lives;
private String deathStr;
private int starsCollected;
private int starsPlaced;
private boolean placedStars;
private float alpha;
private float alphaChange;
private Image image;
private boolean fadeLL;
private int llX;
private int llY;
public int level;
private final int MAX_LEVEL = 6;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
         case 1:
for(i = 0; i < 10; ++i) {
if(this.this$0.gnScore >= this.this$0.rnkCat[i].score) {
for(j = 9; j > i; --j) {
this.this$0.rnkCat[j].score = this.this$0.rnkCat[j - 1].score;
this.this$0.rnkCat[j].name = this.this$0.rnkCat[j - 1].name;
}

this.this$0.rnkCat[i].score = this.this$0.gnScore;
this.this$0.rnkCat[i].name = this.this$0.txtfldName.getText();
this.this$0.gsRegistName = this.this$0.txtfldName.getText();
this.this$0.gnRegistNumber = i;
break;
}
}

Arrays.sort(this.this$0.rnkCat);
break;
case 2:
for(i = 0; i < 10; ++i) {
if(this.this$0.gnScore >= this.this$0.rnkChiffon[i].score) {
for(j = 9; j > i; --j) {
this.this$0.rnkChiffon[j].score = this.this$0.rnkChiffon[j - 1].score;
this.this$0.rnkChiffon[j].name = this.this$0.rnkChiffon[j - 1].name;
}

this.this$0.rnkChiffon[i].score = this.this$0.gnScore;
this.this$0.rnkChiffon[i].name = this.this$0.txtfldName.getText();
this.this$0.gsRegistName = this.this$0.txtfldName.getText();
this.this$0.gnRegistNumber = i;
break;
}
}

Arrays.sort(this.this$0.rnkChiffon);
}

this.this$0.WriteDataFile();
this.this$0.initRanking();
this.this$0.gnMode = 3;
}

}
}

public class KeyPress extends KeyAdapter {

boolean pressedUp = false;
boolean pressedDown = false;
boolean pressedLeft = false;
boolean pressedRight = false;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    musashi.checkDead();
for(int i = 0; i < enemy.size(); i++)
{
Enemy enemy1 = (Enemy)enemy.elementAt(i);
if(enemy1.checkDead())
{
enemy.removeElementAt(i);
i--;
}
}

for(int j = 0; j < bg.size(); j++)
{
Bg bg1 = (Bg)bg.elementAt(j);
if(bg1.checkDead())
{
bg.removeElementAt(j);
j--;
}
}

for(int k = 0; k < item.size(); k++)
{
Item item1 = (Item)item.elementAt(k);
if(item1.checkDead())
{
item.removeElementAt(k);
k--;
}
}

}

int getw()
{
return width;
}

int geth()
{
return height;
}

int getgw()
{
return gwidth;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
}

public void stop() {
this.imgOpening.flush();
this.imgBackground.flush();
this.imgLife.flush();
this.imgBom.flush();
this.imgItem.flush();
this.imgMaruBody.flush();
this.imgMaruZombi.flush();
this.imgMaruOver.flush();
this.imgMaruBeam[0].flush();
this.imgMaruBeam[1].flush();
this.imgMaruBeam[2].flush();
this.imgMaruBeam[3].flush();
this.imgCatBody.flush();
this.imgCatShadow.flush();
this.imgCatZombi.flush();
this.imgCatOver.flush();
this.imgCatBeam[0].flush();
this.imgCatBeam[1].flush();
this.imgCatBeam[2].flush();
this.imgCatBeam[3].flush();
this.imgChiffonBody.flush();
this.imgChiffonZombi.flush();
this.imgChiffonOver.flush();
this.imgChiffonBeam[0].flush();
this.imgChiffonBeam[1].flush();
this.imgChiffonBeam[2].flush();
this.imgChiffonBeam[3].flush();
this.imgEnemy01Body.flush();
this.imgEnemy01Beam.flush();
this.imgEnemy02Body.flush();
this.imgEnemy02Beam.flush();
this.imgEnemy03Body.flush();
this.imgEnemy03Beam.flush();
this.imgEnemy04Body.flush();
this.imgEnemy04Beam.flush();
this.imgEnemy05Body.flush();
this.imgEnemy06Body.flush();
this.imgEnemy07Body.flush();
this.imgEnemy08Body.flush();
this.imgKoyukiBody.flush();
this.imgKoyukiBeam.flush();
this.imgYunBody.flush();
this.imgYunBeam.flush();
this.imgEllBody.flush();
this.imgEllBeam.flush();
this.imgCamusBody.flush();
this.imgCamusBeam.flush();
this.imgMaliBody.flush();
this.imgMaliBeam.flush();
if(this.thrdMain != null) {
this.thrdMain.stop();


项目链接:
https://javayms.github.io?id=581723270209201da
https://javayms.pages.dev?id=581723270209201da