返回
13kB 的游戏源码竟然这么短?
前端
2023-11-24 06:51:40
仅 13kB 大小的游戏,源码长啥样?
有人问我,仅 13kB 大小的游戏,源码长啥样?大伙可能觉得这么点大小的空间,能写出个花来?能好玩吗?
别说,我还真不信这个邪,就特地把游戏玩了一圈儿。
先说结论:还真能玩,而且还挺有意思!
虽然游戏画面简单,操作简单,但玩法却一点都不简单。像我这种手残党,玩了半天,愣是没过一关。
好了,闲话不多说,还是来扒一扒这个 13kB 小游戏吧!
游戏源码
// 引入必要なライブラリ
import javax.swing.*;
import java.awt.*;
// 定義ゲーム画面
public class Game extends JPanel {
// 游戏变量
private int x = 0;
private int y = 0;
// 构造函数
public Game() {
// 设置游戏画面大小
setPreferredSize(new Dimension(400, 400));
// 添加键盘监听器
addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
// 按下箭头键移动人物
if (e.getKeyCode() == KeyEvent.VK_UP) {
y--;
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
y++;
} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
x--;
} else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
x++;
}
// 重新绘制画面
repaint();
}
@Override
public void keyReleased(KeyEvent e) {
}
});
}
// 绘制游戏画面
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
// 设置笔刷颜色
g.setColor(Color.BLACK);
// 绘制人物
g.fillRect(x * 10, y * 10, 10, 10);
}
// 主函数
public static void main(String[] args) {
// 创建游戏窗口
JFrame frame = new JFrame("13kB 小游戏");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Game());
frame.pack();
frame.setVisible(true);
}
}
从上面代码可以看到,这个小游戏其实就是一个简单的移动小方块游戏。游戏规则很简单,就是控制小方块移动,避开障碍物。
游戏玩法
- 使用方向键控制小方块移动。
- 避开障碍物。
- 尽量吃到更多的金币。
游戏特点
- 体积小,只有 13kB。
- 操作简单,上手容易。
- 玩法多样,耐玩性高。
总结
总体来说,这个仅 13kB 大小的游戏还是挺不错的。虽然画面简单,但玩法却一点都不简单。喜欢休闲游戏的朋友,可以尝试一下。