学学写个智能的蛇

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

引言

我先放一张传说中的贪吃智能蛇
这里写图片描述

言归正传

首先,我写了个能够每秒自动走的蛇作为原型
这里写图片描述

首先,我简单介绍下kbhit()
这个东西利用if(kbhit()) getch()能够实现需要的读入
然后是时间控制
首先存一个start=time();
while(time()-start<=1000) if (kbhit()) getch()
即可实现一个很完美的输入

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#define FOR(i,j,k) for(i=j;i<=k;++i)
int d[1000][1000];
char map[1000][1000] = { ' ' };
int fx, fy, lx, ly;
int len = 5;
int diffcuilty;
void pm();
int n, m, w, h;//W 1 ;A 2 ;S 3 ;D 4
void CreateTheBackground(int x, int y)
{
    int i, j, k;
    FOR(i, 1, w)
        FOR(j, 1, h)
    {
        map[i][j] = ' '; d[i][j] = 0;
    }
    FOR(i, 1, 5) {
        map[1][i] = '*';
        d[1][i] = 1;
    }
    fx = 1; fy = 5;
    map[1][5] = '%';
    lx = ly = 1;
    FOR(i, 0, h + 1) { map[0][i] = '#'; map[w + 1][i] = '#'; }
    FOR(i, 0, w + 1) { map[i][0] = '#'; map[i][h + 1] = '#'; }
    pm();
}
void pm()
{
    srand(time(NULL));
    int i, j;
    i = rand() % w + 1;
    j = rand() % h + 1;
    while (map[i][j] != ' ')
    {
        i = rand() % w + 1;
        j = rand() % h + 1;
    }
    map[i][j] = '$';
}
int getinp()//W 1 ;A 2 ;S 3 ;D 4
{
    int dr = 0;
    char c = 0;
    int tle = 1;
    int start = clock();
    while (clock() - start <= diffcuilty * 50)
    {
        if (kbhit()) c = getch();
        if (c != 0) { tle--; }
        if (c == 'w') dr = 1;
        if (c == 'a') dr = 2;
        if (c == 's') dr = 3;
        if (c == 'd') dr = 4;
        if (clock() - start > diffcuilty * 50) return dr;
    }


    if (c == 'w') dr = 1;
    if (c == 'a') dr = 2;
    if (c == 's') dr = 3;
    if (c == 'd') dr = 4;
    return dr;
}
void pp()
{
    int i, j;
    system("cls");
    for (i = h + 1; i >= 0; --i)
    {
        FOR(j, 0, w + 1)
            printf("%c", map[j][i]);
        printf("\n");
    }
}
void dead()
{
    int t;
    printf("Failture with the score:%d\n", len);
    printf("\n\n\nPress any key to exit.");
    getchar();
    exit(0);
}
void movement(int dr)
{
    int tx, ty, t;
    d[fx][fy] = dr;
    int bj = 0;
    map[fx][fy] = '*';

    if (dr == 1) fy++;
    if (dr == 2) fx--;
    if (dr == 3) fy--;
    if (dr == 4) fx++;
    if (map[fx][fy] == '$') { bj = 1; }
    if (map[fx][fy] == '*' || map[fx][fy] == '#') { dead(); return; }
    map[fx][fy] = '%';
    if (bj) {
        pm();
        len++;
        return;
    }

    t = d[lx][ly];
    map[lx][ly] = ' ';
    if (t == 1) ly++;
    if (t == 2) lx--;
    if (t == 3) ly--;
    if (t == 4) lx++;
}
int u = 1;
void done()//W 1 ;A 2 ;S 3 ;D 4
{
    int d = getinp();

    if (d != 0) u = d;
    movement(u);
    pp();
}
int main()
{
BACK:
    printf("Firstly, please input the width and height of the area:\n(The width and height are recommanded more than 5)\n");
ERROR:
    scanf("%d%d", &w, &h);
    if (w <= 5 || h <= 5) {
        printf("Input illegal,please input again\n");
        goto ERROR;
    }
ERROR2:
    printf("Please choose a diffcuilty of this game:\nThe diffcuilty from easy to diffcuilt show 1~16\n");
    scanf("%d", &diffcuilty);
    if (!(diffcuilty >= 1 && diffcuilty <= 16)) {
        printf("Input illegal,please input again\n");
        goto ERROR2;
    }
    diffcuilty = 17 - diffcuilty;
    printf("\n");
    system("cls");


    CreateTheBackground(w, h);
    pp();
    system("pause");
    int d = 1;
    while (1)
    {

        done();
    }
    return 0;
}

然后写了第一次作业

#include<stdio.h>
#include<time.h>
#define FOR(i,j,k) for(i=j;i<=k;++i)
#define SNAKE_MAX_LENGTH 20
#define SNAKE_HEAD 'H'
#define SNAKE_BODY 'X'
#define BLANK_CELL ' '
#define SNAKE_FOOD '$'
#define WALL_CELL '*'


int life = 1;
int snakey[100] = { 5,4,3,2,1 };
int snakex[100] = { 1,1,1,1,1 };
int d[1000][1000];
char map[12][12] = { "************",//da biao
"*XXXXH     *",
"* ******** *",
"*          *",
"*   ****   *",
"*   ****   *",
"*   ****   *",
"*          *",
"* ******** *",
"*          *",
"************" };
int fx, fy, lx, ly;
int len = 5;
int diffcuilty;
void pm();
int n, m, w, h;//W 1 ;A 2 ;S 3 ;D 4
void CreateTheBackground()
{
    int i, j, k;
    w = 10; h = 10;
    FOR(i, 1, w)
        FOR(j, 1, h)
    {
        if (map[i][j] != '*') {
            map[i][j] = ' ';
            d[i][j] = 0;
        }
    }
    FOR(i, 1, 4) {
        map[i][10] = 'X';
        d[i][10] = 4;
    }
    fx = 5; fy = 10;
    d[5][10] = 4;
    map[5][10] = 'H';
    lx = 1; ly = 10;
    FOR(i, 0, h + 1) { map[0][i] = '*'; map[w + 1][i] = '*'; }
    FOR(i, 0, w + 1) { map[i][0] = '*'; map[i][h + 1] = '*'; }
    pm();
}
void pm()
{
    srand(time(NULL));
    int i, j;
    i = rand() % w + 1;
    j = rand() % h + 1;
    while (map[i][j] != ' ')
    {
        i = rand() % w + 1;
        j = rand() % h + 1;
    }
    map[i][j] = '$';
}
int getinp()//W 1 ;A 2 ;S 3 ;D 4
{
    char c;
    int dr = 0;
    c = getch();
    if (c == 'W') dr = 1;
    if (c == 'A') dr = 2;
    if (c == 'S') dr = 3;
    if (c == 'D') dr = 4;
    return dr;
}
void pp()
{
    int i, j;
    for (i = h + 1; i >= 0; --i)
    {
        FOR(j, 0, w + 1)
            printf("%c", map[j][i]);
        printf("\n");
    }
}
void dead()
{
    int t;
    printf("Game Over!!!");
    //getchar();

}
void movement(int dr)
{
    int tx, ty, t;
    d[fx][fy] = dr;
    int bj = 0;
    map[fx][fy] = 'X';

    if (dr == 1) fy++;
    if (dr == 2) fx--;
    if (dr == 3) fy--;
    if (dr == 4) fx++;
    if (map[fx][fy] == '$') { bj = 1; }
    if (map[fx][fy] == 'X' || map[fx][fy] == '*') { life = 0; return; }
    map[fx][fy] = 'H';
    if (bj) {
        pm();//fang zhi jian qian
        len++;
        return;
    }

    t = d[lx][ly];
    map[lx][ly] = ' ';
    if (t == 1) ly++;
    if (t == 2) lx--;
    if (t == 3) ly--;
    if (t == 4) lx++;
}
int u = 1;
void done()//W 1 ;A 2 ;S 3 ;D 4
{
    int d = getinp();

    if (d != 0) u = d;
    movement(u);

    pp();
}
int main()
{
    CreateTheBackground();//chuang jian bei jing 
    pp();//shu chu
    int ch;
    while (life)
    {
        ch = getinp();//shu ru
        switch (ch)//gen ju shu ru de fang xiang yi dong
        {
        case 1:movement(1); break;
        case 2:movement(2); break;
        case 3:movement(3); break;
        case 4:movement(4); break;
        }
        if (life) pp();

    }
    dead();//shu chu si wang 
    return 0;
}

简单讲述下我写贪吃蛇的思路:

  • 生成背景
  • 建立指针,包括头尾和身体,用一个数组d存身体方向
  • 利用指针完成一系列操作:

前进:头指针的方向指向位移方向存于d,之后移动头指针,尾指针按照d的方向移动
吃:不移动尾指针

  • 对各种边界情况进行判断

带智能的蛇

#include<stdio.h>
#include<time.h>
#define FOR(i,j,k) for(i=j;i<=k;++i)
#define SNAKE_MAX_LENGTH 20
#define SNAKE_HEAD 'H'
#define SNAKE_BODY 'X'
#define BLANK_CELL ' '
#define SNAKE_FOOD '$'
#define WALL_CELL '*'
#define mal 0x7fffffff

int life = 1;
int snakey[100] = { 5,4,3,2,1 };
int snakex[100] = { 1,1,1,1,1 };
int d[1000][1000];
char map[12][12] = { "************",//da biao
"*XXXXH     *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"************" };
int fx, fy, lx, ly;
int len = 5;
int mx,my;
int diffcuilty;
void pm();
int n, m, w, h;//W 1 ;A 2 ;S 3 ;D 4
char cp[12][12];
int f[12][12];
int qx[1000],qy[1000];
int qboo[12][12];
int dxx[5]={0,0,-1,0,1};
int dyy[5]={0,1,0,-1,0};
void bfs(int lx,int ly)//yi (lx,ly) kuo zhang chu bfs ju li (man ha dun ju li)
{
    int ux=lx,uy=ly;int tx,ty;
    int i,j,k;
    int be=0,en=0;
    FOR(i,1,10)
        FOR(j,1,10)
            {
                qboo[i][j]=1;
                f[i][j]=mal;
            }
    qx[0]=lx;qy[0]=ly;qboo[lx][ly]=0;
    f[lx][ly]=0;
    while(be<=en)
    {
        k=be;be++;
        ux=qx[k];
        uy=qy[k];
        qboo[ux][uy]=0;
        FOR(i,1,4)
        {
            tx=dxx[i]+ux;
            ty=dyy[i]+uy;
            if ((cp[tx][ty]==' '||cp[tx][ty]=='H')&&qboo[tx][ty])
                {
                    f[tx][ty]=f[ux][uy]+1;
                    en++;
                    qx[en]=tx;
                    qy[en]=ty;
                }
        }
    }
}
void cop()//jiang mu qian zhuang tai fu zhi gei cp[][];
{
    int i,j;
    FOR(i,0,11)
        FOR(j,0,11)
            cp[i][j]=map[i][j];
}
int ddd()//qiu fang xiang jie
{
    cop();int i,j,k=10000;int l;
    bfs(mx,my);
    if (f[fx][fy]!=mal)//ruo she tou ke yi di da
        {

            FOR(i,1,4)
                if (f[fx+dxx[i]][fy+dyy[i]]<k)
                    {
                        k=f[fx+dxx[i]][fy+dyy[i]];
                        j=i;
                    }
            return j;
        }
    else
    {
        bfs(lx,ly);
        k=-1;
        FOR(i,1,4)
                if (f[fx+dxx[i]][fy+dyy[i]]>k&&f[fx+dxx[i]][fy+dyy[i]]!=mal)
                    {
                        k=f[fx+dxx[i]][fy+dyy[i]];
                        j=i;
                    }
            return j;
    }
}


void CreateTheBackground()
{
    int i, j, k;
    w = 10; h = 10;
    FOR(i, 1, w)
        FOR(j, 1, h)
    {
        if (map[i][j] != '*') {
            map[i][j] = ' ';
            d[i][j] = 0;
        }
    }
    FOR(i, 1, 4) {
        map[i][10] = 'X';
        d[i][10] = 4;
    }
    fx = 5; fy = 10;
    d[5][10] = 4;
    map[5][10] = 'H';
    lx = 1; ly = 10;
    FOR(i, 0, h + 1) { map[0][i] = '*'; map[w + 1][i] = '*'; }
    FOR(i, 0, w + 1) { map[i][0] = '*'; map[i][h + 1] = '*'; }
    pm();
}
void pm()
{
    srand(time(NULL));
    int i, j;
    i = rand() % w + 1;
    j = rand() % h + 1;
    while (map[i][j] != ' ')
    {
        i = rand() % w + 1;
        j = rand() % h + 1;
    }
    mx=i;
    my=j;
    map[i][j] = '$';
}
int getinp()//W 1 ;A 2 ;S 3 ;D 4
{
    int start = clock();
    int dr;
    while (clock() - start <= 1000);
    dr=ddd();
    return dr;
}
void pp()
{
    int i, j;
    system("cls");
    for (i = h + 1; i >= 0; --i)
    {
        FOR(j, 0, w + 1)
            printf("%c", map[j][i]);
        printf("\n");
    }
}
void dead()
{
    int t;
    printf("Game Over!!!");
    //getchar();

}
void movement(int dr)
{
    int tx, ty, t;
    d[fx][fy] = dr;
    int bj = 0;
    map[fx][fy] = 'X';

    if (dr == 1) fy++;
    if (dr == 2) fx--;
    if (dr == 3) fy--;
    if (dr == 4) fx++;
    if (map[fx][fy] == '$') { bj = 1; }
    if (map[fx][fy] == 'X' || map[fx][fy] == '*') { life = 0; return; }
    map[fx][fy] = 'H';
    if (bj) {
        pm();//fang zhi jian qian
        len++;
        return;
    }

    t = d[lx][ly];
    map[lx][ly] = ' ';
    if (t == 1) ly++;
    if (t == 2) lx--;
    if (t == 3) ly--;
    if (t == 4) lx++;
}
int u = 1;
void done()//W 1 ;A 2 ;S 3 ;D 4
{
    int d = getinp();

    if (d != 0) u = d;
    movement(u);

    pp();
}
int main()
{
    CreateTheBackground();//chuang jian bei jing 
    pp();//shu chu
    int ch;
    int las=4;
    while (life)
    {
        ch = getinp();//shu ru
        if (!(ch>=1&&ch<=4) ) ch=las;
        las=ch;
        switch (ch)//gen ju shu ru de fang xiang yi dong
        {
        case 1:movement(1); break;
        case 2:movement(2); break;
        case 3:movement(3); break;
        case 4:movement(4); break;
        }
        if (life) pp();

    }
    dead();//shu chu si wang 
    return 0;
}

思励智慧数学学习系统--人工智能自适应学习,减少重复刷题量,提升学习效率 思励智慧数学内置500万题库资源,组成完整的“初期诊断知识盲区--教学干预弥补知识缺陷--评估当前知识水平--规划下一阶段学习路径”人工智能自适应学习系统,减少重复刷题量,提升学习效率,多维度标签实现多维度测评,内置作业考试系统,自主快速生成知识图谱报告,并可打印分享给家长,提升咨询转化率。支持定制品牌LOGO,系统功能等!智能提分系统学情数字化无电脑学习模式个性化测评报告系统内置全国各大版本教材课程资源,同步单元知识点,视频讲解内容。并内置500万题库,细分3千多个知识点层级,智能检测薄弱知识点,强化指导 阅读详情

相关推荐

2、人工智能学学习指南

本博客提供了一个全面的人工智能学学习指南,适合不同背景的读者,从宏观视角出发,帮助读者理解数学与人工智能的交互关系。内容涵盖数据科学、优化、神经网络、生成模型等多个主题,并提供了明确的学习路径和资源建议,旨在提升读者在人工智能领域的能力和素养。

m2n3b4v5c6的博客 51

智能设计思路

紧接着上一篇博客的基础有了一个基本框架的贪吃智能的实现其实只需要出一个函数替代getinp()函数并每秒执行一次即可下面着重讲下搜索策略 方案1.0 在一个矩形中,每一时刻有一个食物,贪吃要在不撞到自己的条件下, 找到一条路(未必要最优),然后沿着这条路运行,去享用它的美食显然这个仅仅一个bfs即可实现,此很容易被自己直接绕住方法2.0 一开始,很短(初始化长度为1),它看

core的博客 594

数理教育领域:数学学习的动力激发

在数理教育领域,数学作为一门基础且核心的学科,对于学生的逻辑思维、问题解决能力等方面的培养起着至关重要的作用。然而,许多学生在学习数学的过程中缺乏动力,导致学习效果不佳。本文的目的在于深入探讨如何激发学生在数学学习中的动力,涵盖了从理论分析到实际操作的多个层面,包括影响学习动力的因素、激发动力的方法、实际应用案例以及相关资源推荐等内容。本文将首先介绍相关背景知识,包括目的、预期读者和文档结构。接着阐述核心概念与联系,分析影响数学学习动力的关键因素及其相互关系。

AI天才研究院 1227

getInputStream与getOutputStream详解以及相互转换

客户端上的使用1.getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到输入流其实就是从服务器端发回的数据。2.getOutputStream方法得到的是一个输出流,客户端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给服务器端的数据。服务器端上的使用1.getInputStream方法得到的是一个输入...

FJcsdn的博客 3万+

java 中getinputstream_Java Process getInputStream()方法与示例

流程类getInputStream()方法getInputStream()方法在java.lang包中可用。getInputStream()方法用于获取流程和子流程的输入流。getInputStream()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。返回输入流时,getInputStream()方法不会引发异常。语法:publicabstractI...

weixin_28487433的博客 9505

软导作业

任务1:建立简单电路:(1)建立非门:通过http://ss.sysu.edu.cn/~pml/se121/hardware1.html 进行相关功能操作,模拟电路如下图: (2)验证知道:开关打开时LED灯不亮,关闭时显绿光。故此有表格: (3)利用XOR建立非门:同样利用相关工具,得到下图: *串联三极管是与门,并联三极管是或门。 任务2:(1)建立

Maykidd的博客 439

人工智能在数学学习中的潜力

1.背景介绍 人工智能(Artificial Intelligence, AI)是计算机科学的一个分支,研究如何让计算机模拟人类的智能。人工智能的一个重要分支是机器学习(Machine Learning, ML),它涉及到计算机通过数据学习模式,从而进行预测或决策。数学学习(Mathematics Learning)是一种学科,研究数学知识的学习过程。在这篇文章中,我们将探讨人工智能在数学学习中...

AI天才研究院 453

AI在数学学习中的应用

AI在数学学习中提供个性化计划、即时反馈和数据分析,提升学习效率,助力教师优化教学,展现广阔前景。

luna_159的博客 2758

人大数学学院导师

教授、经济学博士、博士生导师主要研究方向:概率论、随机过程及其应用,数理经济与数理金融,计量经济学,实验经济学,拍卖的数学理论,实证金融与风险管理。

强化学习曾小健 995

伦敦大学学院 机器人与计算机,伦敦大学学院医学机器人与人工智能

该方案将通过正式讲座、研讨会、实验室、讲习班和独立或小组项目工作相结合的方式进行。伦敦大学学院医学机器人与人工智能课程的模块将通过一系列方法进行评估,包括考试、课程作业、练习、演示、个人和/或小组项目以及研究论文。学生们将学习一些关键的主题,如使用现代方法进行数据处理和数据分析,这些方法依赖于机器学习(ML)和人工智能(AI);外科数据采集,包括了解用于捕获外科数据的设备(如跟踪器、机器人、成像设...

weixin_34000790的博客 347

学学习离不开什么

数学爱好者在大学期间可以参加数学建模大赛,这其实无关数学成绩的好坏,通常是图胜于表,表胜于文字的一种数学模型设计,可以自学,也可以在b站搜索数学建模的相关视频,找到适合自己的学习内容针对的学习,对竞赛拿奖有帮助。大数据下,利用算法优化学习路径,我经常在周末没课的时候问问豆包,整理一份几天学习数学的时间表,往往自己无法好好规划学习的,人工智能就好很多,他的系统性、高效性带领我们进步。在当今社会,数学学习离不开技术的指导,离不开自身的坚持,更离不开大脑面对未知知识挑的战时,迈出的那一步。“脑袋丢掉”大概是?

txwm_5399的博客 183

1、数学学习:视觉、挑战与符号之旅

本文探讨了数学学习中的视觉思维与分析思维的差异,分析了数学学习的挑战与困难,并介绍了数学符号的重要性以及其对理解数学的影响。同时,文章还讨论了数学是否独立于人类思维存在,并提出了应对数学学习困难的有效策略。此外,文章还涉及数学思维在经济学、生物学和艺术等领域的广泛应用,以及数学学习的未来发展方向,包括在线学习、虚拟现实和人工智能技术的应用。

motor的博客 136

中山大学数学学院 x 赛博威 | 成立人工智能算法产学研合作基地

中山大学数学学院副院长、博士生导师任传贤教授,兼任广东省工业与应用数学学会副理事长,主要研究方向为机器学习、模式识别、图像处理, 重点研究大规模图像数据的深度学习算法及应用,并发表多篇高质量学术论文。此次合作,任传贤教授将带领其精英团队与赛博威积极开展人工智能应用能力联合创新和技术攻关,为赛博威数字营销产品注入更加精准的数学逻辑,从而实现更高效的人工智能应用。通过产学研深度合作,双方将共同探索人工智能在数字营销领域的全面应用,助力快消企业数字化转型,推动其高效迈进人工智能时代。

CyberwayTech的博客 476

AI助力数学学习,轻松掌握知识点!

小伙伴们,今天我们来利用AI辅助数学学习,将数学题目提交给AI,经过分析后给出相应的解题思路和知识点分析。现在有了AI这个"智能小老师",学习变得更轻松!只需把题目交给它,AI就能快速分析题目类型,拆解关键知识点,并给出清晰的解题思路和步骤讲解。无论是基础练习还是难题攻关,AI都能为你提供个性化辅导,帮你查漏补缺、举一反三。首先我们打开网站:AI给出了详细的解题思路和知识点:我们可以继续提问,请AI帮忙指定相应的复习计划。继续请AI给我们制定相应的学习卡片。

2403_88996352的博客 850

科研革命!人大CiteAgent框架,让LLM化身“学术研究者”,重塑科学学研究范式!

你有没有想过:如果让 AI 像真实学者一样论文、引文献,能不能揭开学术传播的深层规律?在科学研究中,引文网络就像 “学术家谱”,记录着思想的传承与创新,但传统研究总困在 “简化人类行为” 的瓶颈里。

m0_59235245的博客 1187

儿童初中数学学习平台:juniorStudy的构建与演示

本文还有配套的精品资源,点击获取 简介:这是一个面向儿童的初中数学学习平台,利用JavaScript前端编程语言,为孩子们提供一个互动和动态的学习环境。平台内容涵盖基础数学概念,并通过友好的界面、准确的内容和互动性强的设计提高学习效率。它还提供个性化学习路径、互动式练习、成绩追踪和游戏化学习体验等独特功能。此外,该平台可能集成了如在线计算器、图形绘制库等API,以及提供了一...

weixin_31860973的博客 1483

一种基于大模型与Deepresearch的学生数学学习的知识图谱构建融合的系统

随着大模型(Large Language Model, LLM)在自然语言理解、推理和生成方面取得突破性进展 全球教育领域,特别是对逻辑和推理能力要求极高的数学学科,正迎来一场深刻的智能化变革。传统的在线数学学习平台主要依赖于静态的数字化教材、庞大的练习题库以及基于预设规则的答疑系统。这些系统虽然在一定程度上提高了学习资源的可及性,但其固有的局限性也日益凸显。

微学AI的博客 2065

数学魅力的传播 - 依托昇腾 AI 模型的智能学学习应用

创意: 使用AI工具结合基础小学、初中、高中、大学的知识来组合成一块数学学习工具。 面向: 小学、初中、高中、大学的数学学习用户(可以针对性开发学科)。 市场: 国家对于数学的看中是显而易见的,所以针对数学的应用是肯定会有很大发展空间的。

数学老师-帆 1446
上一篇: IT风投的一个典型案例--阿里巴巴
下一篇: 智能蛇设计思路
Cherry_37
博客等级 码龄9年 4粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值