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);
    }
}
相关推荐
Abladol-aj1 小时前
并发和并行的基础知识
java·linux·windows
清水白石0081 小时前
从一个“支付状态不一致“的bug,看大型分布式系统的“隐藏杀机“
java·数据库·bug
吾日三省吾码7 小时前
JVM 性能调优
java
弗拉唐8 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
oi778 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
少说多做3438 小时前
Android 不同情况下使用 runOnUiThread
android·java
知兀8 小时前
Java的方法、基本和引用数据类型
java·笔记·黑马程序员
蓝黑20209 小时前
IntelliJ IDEA常用快捷键
java·ide·intellij-idea