IntelliJ IDEA 中上传项目到 Gitee 的完整指南

博主主页:【南鸢1.0】

本文专栏:git

目录

简介

1.插入intellij-gitee

2.导入下载插件

[3.选择导航栏中的VCS->Share Project on Gitee](#3.选择导航栏中的VCS->Share Project on Gitee)

4.登录gitee

6.验证gitee仓库是否创建成功

7.上传分享项目

8.验证仓库代码是否上传成功

总结


简介

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);
    }
}
相关推荐
web3探路者4 分钟前
加密货币行业与2024年美国大选
java·大数据·web3·区块链·团队开发·开源软件
为啥不能修改昵称啊8 分钟前
静态数据区,堆,栈
java·jvm·算法
爱吃土豆的程序员13 分钟前
HTTP慢速攻击原理及解决办法
java·http慢速攻击
编程修仙20 分钟前
Java继承练习
java·开发语言·python
bytebeats26 分钟前
Kotlin 注解全面指北
android·java·kotlin
流浪大人30 分钟前
Java实现pdf转图片
java·pdf
AI人H哥会Java38 分钟前
【JAVA】Java基础—基础语法:数据类型(基本数据类型与引用数据类型)
java
路在脚下@1 小时前
IntelliJ IDEA的快捷键
java·ide·intellij-idea
小周不摆烂1 小时前
Java基础-JDBC
java·数据库·oracle
老魏爱学习1 小时前
Apache Commons Collections 反序列化漏洞
java·学习·web安全