您当前的位置:首页 > 圈子

java简单小游戏代码大全

2024-10-05 13:02:28 作者:石家庄人才网

石家庄人才网今天给大家分享《java简单小游戏代码大全》,石家庄人才网小编对内容进行了深度展开编辑,希望通过本文能为您带来解惑。

学习Java编程,可以尝试开发一些简单的小游戏,例如贪吃蛇、俄罗斯方块、推箱子等。编写这些游戏可以帮助你更好地理解Java语法和面向对象编程思想,并提高代码实践能力。同时,这也是一个充满乐趣的过程,可以让你在学习中找到成就感。石家庄人才网小编提醒您,网络上有许多资源可以帮助你入门Java游戏开发,例如教程、代码示例和游戏引擎等。

接下来,我们将介绍几个简单Java小游戏的代码示例,帮助你快速上手。

1. 猜数字游戏

这是一个经典的入门级游戏,玩家需要猜出计算机随机生成的数字。以下是代码示例:

```javaimport java.util.Random;import java.util.Scanner;public class GuessNumber { public static void main(String[] args) { Random random = new Random(); int targetNumber = random.nextInt(100) + 1; int guessCount = 0; boolean hasGuessed = false; Scanner scanner = new Scanner(System.in); System.out.println("我已经想好了一个1到100之间的数字,你猜猜看是多少?"); while (!hasGuessed) { System.out.print("请输入你的猜测:"); int guess = scanner.nextInt(); guessCount++;

java简单小游戏代码大全

if (guess < targetNumber) { System.out.println("太低了,再试一次!"); } else if (guess > targetNumber) { System.out.println("太高了,再试一次!"); } else { hasGuessed = true; System.out.println("恭喜你,你猜对了!你一共猜了" + guessCount + "次。"); } } scanner.close(); }}```

这个代码示例使用了`Random`类生成随机数,`Scanner`类获取玩家输入,并通过循环和条件语句控制游戏流程。

2. 简易贪吃蛇游戏

贪吃蛇也是一个比较容易上手的游戏,玩家需要控制蛇吃掉食物并避免撞到墙壁或自身。以下是代码示例:

```javaimport javax.swing.○;import java.awt.○;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.util.Random;public class SnakeGame extends JPanel implements ActionListener, KeyListener { private static final long serialVersionUID = 1L; private final int SIZE = 30; // 游戏区域大小 private final int DOT_SIZE = 10; // 蛇身方块大小 private final int ALL_DOTS = 900; // 游戏区域总方块数 private final int DELAY = 140; // 游戏速度 private final int x[] = new int[ALL_DOTS]; // 蛇身x坐标数组 private final int y[] = new int[ALL_DOTS]; // 蛇身y坐标数组 private int dots; // 蛇身长度 private int appleX; // 食物x坐标 private int appleY; // 食物y坐标 private boolean leftDirection = false; private boolean rightDirection = true; private boolean upDirection = false; private boolean downDirection = false; private boolean inGame = true; private Timer timer;

java简单小游戏代码大全

public SnakeGame() { addKeyListener(this); setFocusable(true); setPreferredSize(new Dimension(SIZE ○ DOT_SIZE, SIZE ○ DOT_SIZE)); setBackground(Color.black); initGame(); } private void initGame() { dots = 3; // 初始化蛇身长度 // 初始化蛇身位置 for (int z = 0; z < dots; z++) { x[z] = 50 - z ○ 10; y[z] = 50; } locateApple(); timer = new Timer(DELAY, this); timer.start(); } private void locateApple() { // 随机生成食物位置 Random random = new Random(); appleX = random.nextInt((int)(SIZE ○ 0.8)) ○ DOT_SIZE; appleY = random.nextInt((int)(SIZE ○ 0.8)) ○ DOT_SIZE; } @Override public void paintComponent(Graphics g) { super.paintComponent(g); doDrawing(g); } private void doDrawing(Graphics g) { if (inGame) { // 绘制食物 g.setColor(Color.red); g.fillOval(appleX, appleY, DOT_SIZE, DOT_SIZE); // 绘制蛇身 for (int z = 0; z < dots; z++) { if (z == 0) { g.setColor(Color.green); // 蛇头颜色 } else { g.setColor(Color.lightGreen); // 蛇身颜色 } g.fillRect(x[z], y[z], DOT_SIZE, DOT_SIZE); } Toolkit.getDefaultToolkit().sync(); } else { gameOver(g); } } private void gameOver(Graphics g) { String msg = "Game Over"; Font small = new Font("Helvetica", Font.BOLD, 14); FontMetrics metr = getFontMetrics(small); g.setColor(Color.white); g.setFont(small); g.drawString(msg, (SIZE ○ DOT_SIZE - metr.stringWidth(msg)) / 2, SIZE ○ DOT_SIZE / 2); }

java简单小游戏代码大全

private void checkApple() { if ((x[0] == appleX) && (y[0] == appleY)) { dots++; // 蛇身长度加一 locateApple(); // 重新生成食物 } } private void move() { for (int z = dots; z > 0; z--) { x[z] = x[z - 1]; y[z] = y[z - 1]; } if (leftDirection) { x[0] -= DOT_SIZE; } if (rightDirection) { x[0] += DOT_SIZE; } if (upDirection) { y[0] -= DOT_SIZE; } if (downDirection) { y[0] += DOT_SIZE; } } private void checkCollision() { // 检查是否撞到自身 for (int z = dots; z > 0; z--) { if ((z > 4) && (x[0] == x[z]) && (y[0] == y[z])) { inGame = false; } } // 检查是否撞到边界 if (y[0] >= SIZE ○ DOT_SIZE) { inGame = false; } if (y[0] < 0) { inGame = false; } if (x[0] >= SIZE ○ DOT_SIZE) { inGame = false; } if (x[0] < 0) { inGame = false; } if (!inGame) { timer.stop(); } } @Override public void actionPerformed(ActionEvent e) { if (inGame) { checkApple(); checkCollision(); move(); } repaint(); } @Override public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); if ((key == KeyEvent.VK_LEFT) && (!rightDirection)) { leftDirection = true; upDirection = false; downDirection = false; } if ((key == KeyEvent.VK_RIGHT) && (!leftDirection)) { rightDirection = true; upDirection = false; downDirection = false; } if ((key == KeyEvent.VK_UP) && (!downDirection)) { upDirection = true; rightDirection = false; leftDirection =

版权声明:《java简单小游戏代码大全》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/quanzi/10024.html