博主主页:【南鸢1.0】
本文专栏:git
简介
Gitee 是一个代码托管平台,类似于 GitHub,广泛用于项目的管理和版本控制。通过 IDE(如 IntelliJ IDEA)集成的 Git 功能,可以方便地将本地项目上传到 Gitee。
1.插入intellij-gitee
File -Sttings -Plugins 在Marketplace下输入Gitee 在点击Install安装
注意:版本不对在下载的时候下载不上,一定要注意版本信息。
如果在出现这种情况就安装在官网下载插件在导入到idea中的方式,
2.导入下载插件
(1).直接到插件市场搜索
官方网址 网址
要在搜索框中搜索Intellij-gitee,选择图中的
(2).找Idea对应的版本下载
(3).安装到本地后,有个zip包,不解压,进入idea–> plugins,选中刚刚下的zip包。(解压的话就选中里面的jar包)
安装成功
3.选择导航栏中的VCS->Share Project on Gitee
4.登录gitee
填写账户名和密码,Login栏:邮箱地址,password栏:你的密码
注意:如果是第一次用gitee注册成功的时候要绑定邮箱(如果没有绑定邮箱是没办法执行的)
5.创建仓库
在创建仓库的时候要注意连接是否成功,
6.验证gitee仓库是否创建成功
7.上传分享项目
创建完成,提示如图:点击Add,然后等他加载完成就行了
成功上传成功了
8.验证仓库代码是否上传成功
这样就代表上传成功了
总结
将项目从 IntelliJ IDEA 上传到 Gitee 涉及创建仓库、配置 Git、初始化项目、添加远程路径、提交更改及推送等步骤。通过这种方式,开发者能够有效地管理项目版本,便于团队协作与代码共享。
在实际操作中,可以借助 IDEA 的图形界面来简化大部分过程中涉及的命令行操作,提升效率。同时,学会使用 Git 的基本命令,无疑会使你在代码管理方面更为得心应手。
最后给大家分享一个用JAVA代码编写的贪吃蛇小游戏
package com.example.demo;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Random;
public class SnakeGame extends JPanel implements ActionListener, KeyListener {
// 游戏窗口的宽度和高度
private final int WIDTH = 1400;
private final int HEIGHT = 1000;
// 蛇身体每一节的大小
private final int DOT_SIZE = 20; // 增大点的大小以适应更大的窗口
// 游戏区域最大容纳的蛇身体节数
private final int ALL_DOTS = (WIDTH * HEIGHT) / (DOT_SIZE * DOT_SIZE);
// 食物随机位置的范围
private final int RAND_POS_X = WIDTH / DOT_SIZE - 1;
private final int RAND_POS_Y = HEIGHT / DOT_SIZE - 1;
// 游戏刷新延迟,决定蛇的移动速度
private final int DELAY = 100; // 稍微加快游戏速度
// 食物的数量
private final int FOOD_COUNT = 5; // 增加食物数量
// 存储蛇身体的x坐标
private final int x[] = new int[ALL_DOTS];
// 存储蛇身体的y坐标
private final int y[] = new int[ALL_DOTS];
// 蛇当前的长度
private int dots;
// 存储多个食物的列表
private ArrayList<Point> foods;
// 蛇的移动方向
private boolean leftDirection = false;
private boolean rightDirection = true;
private boolean upDirection = false;
private boolean downDirection = false;
// 游戏是否在进行中
private boolean inGame = true;
// 游戏计时器,用于定期刷新游戏状态
private Timer timer;
// 随机数生成器,用于食物的随机放置
private Random random;
// 构造函数
public SnakeGame() {
addKeyListener(this);
setBackground(Color.black);
setFocusable(true);
setPreferredSize(new Dimension(WIDTH, HEIGHT));
random = new Random();
initGame();
}
// 初始化游戏
private void initGame() {
dots = 3; // 初始蛇的长度
// 初始化蛇的位置
for (int i = 0; i < dots; i++) {
x[i] = 100 - i * DOT_SIZE;
y[i] = 100;
}
// 初始化食物列表
foods = new ArrayList<>();
for (int i = 0; i < FOOD_COUNT; i++) {
locateFood();
}
// 启动游戏计时器
timer = new Timer(DELAY, this);
timer.start();
}
// 绘制游戏元素
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
doDrawing(g);
}
// 具体的绘制逻辑
private void doDrawing(Graphics g) {
if (inGame) {
// 绘制所有食物
for (Point food : foods) {
g.setColor(Color.red);
g.fillOval(food.x, food.y, DOT_SIZE, DOT_SIZE);
}
// 绘制蛇
for (int i = 0; i < dots; i++) {
if (i == 0) {
g.setColor(Color.green); // 蛇头
} else {
g.setColor(new Color(45, 180, 0)); // 蛇身
}
g.fillRect(x[i], y[i], DOT_SIZE, DOT_SIZE);
}
// 绘制分数
g.setColor(Color.white);
g.setFont(new Font("Arial", Font.BOLD, 16));
g.drawString("Score: " + (dots - 3), 10, 20);
Toolkit.getDefaultToolkit().sync();
} else {
gameOver(g); // 游戏结束时显示结束画面
}
}
// 游戏结束画面
private void gameOver(Graphics g) {
String msg = "Game Over";
Font font = new Font("Helvetica", Font.BOLD, 24);
FontMetrics metr = getFontMetrics(font);
g.setColor(Color.white);
g.setFont(font);
g.drawString(msg, (WIDTH - metr.stringWidth(msg)) / 2, HEIGHT / 2);
g.drawString("Score: " + (dots - 3), (WIDTH - metr.stringWidth("Score: " + (dots - 3))) / 2, HEIGHT / 2 + 40);
}
// 检查是否吃到食物
private void checkFood() {
for (int i = 0; i < foods.size(); i++) {
Point food = foods.get(i);
if ((x[0] == food.x) && (y[0] == food.y)) {
dots++; // 增加蛇的长度
foods.remove(i); // 移除被吃掉的食物
locateFood(); // 放置新的食物
break; // 一次只能吃一个食物
}
}
}
// 移动蛇
private void move() {
for (int i = dots; i > 0; i--) {
x[i] = x[(i - 1)];
y[i] = y[(i - 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 i = dots; i > 0; i--) {
if ((i > 4) && (x[0] == x[i]) && (y[0] == y[i])) {
inGame = false;
return;
}
}
// 检查是否撞墙(现在改为穿墙)
if (y[0] >= HEIGHT) {
y[0] = 0;
}
if (y[0] < 0) {
y[0] = HEIGHT - DOT_SIZE;
}
if (x[0] >= WIDTH) {
x[0] = 0;
}
if (x[0] < 0) {
x[0] = WIDTH - DOT_SIZE;
}
}
// 随机放置食物
private void locateFood() {
int rx = random.nextInt(RAND_POS_X) * DOT_SIZE;
int ry = random.nextInt(RAND_POS_Y) * DOT_SIZE;
// 确保食物不会出现在蛇身上
while (isFoodOnSnake(rx, ry)) {
rx = random.nextInt(RAND_POS_X) * DOT_SIZE;
ry = random.nextInt(RAND_POS_Y) * DOT_SIZE;
}
foods.add(new Point(rx, ry));
}
// 检查食物是否出现在蛇身上
private boolean isFoodOnSnake(int fx, int fy) {
for (int i = 0; i < dots; i++) {
if (x[i] == fx && y[i] == fy) {
return true;
}
}
return false;
}
// 游戏主循环
@Override
public void actionPerformed(ActionEvent e) {
if (inGame) {
checkFood();
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 = false;
}
if ((key == KeyEvent.VK_DOWN) && (!upDirection)) {
downDirection = true;
rightDirection = false;
leftDirection = false;
}
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyTyped(KeyEvent e) {
}
// 主方法,创建游戏窗口
public static void main(String[] args) {
JFrame frame = new JFrame("Snake Game");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.add(new SnakeGame());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
版权归原作者 南鸢1.0 所有, 如有侵权,请联系我们删除。