走进驭码CodeRider2.0的新奇世界

目录

一次成型效果

前言

驭码安装方式

登录到驭码

驭码-实操测试

函数理解测试

算法能力测试

多文件联动测试

驭码-贪吃蛇项目试炼

源代码上修正

驭码-面向对象开发试炼

总结


一次成型效果

前言

驭码这个名字取的还是非常的好的,驾驭代码,永无bug非常带劲,这个2.0的版本肯定是有超前价值的。这个版本最新更新的时间是2025-5-16最新版本号是2.1版本,在4月16日的时候就更新了具体的2.0版本,其特性是分为了4个模块:

1、复杂任务拆解与分析:自动分解复杂编程任务,生成可执行的子任务方案,并提供优化建议。

2、跨文件读取、编辑代码文件:支持跨多个文件解析和修改代码,实现智能代码生成与重构。

3、错误信息自反馈与纠正:自动捕捉错误信息,分析根因并生成修复建议,优化代码质量。

4、终端指令执行:智能解析和执行终端指令,辅助开发者高效完成环境配置与调试操作。

可以支持复杂任务拆解了,且是自动的,跨文件操作,自纠正,还有终端命令执行,都是对于我们程序员最实际的工作路线。2.1的版本还增加了增加代码补全延时可配置功能。我们可以一会去尝试一下,肯定很棒。

驭码安装方式

安装完毕再去登录

登录到驭码

这里我们使用OAuth登录

具体登录:

确认登录

需要确认一下

等会验证码就会发到邮箱上:

输入验证码:

校验完毕:

登录完毕:

驭码-实操测试

这是基础的一个面板,接下来我们要进行具体的实操。

函数理解测试

行不行跑个函数先试试。

当x为5的时候函数的结果应该是多少,使用python代码来表达:

sigmoid(x) = 1/(1 + exp(-x)) 

返回代码:

这里就很明显的证明数学函数能力是OK的。

算法能力测试

算法搞一下图的遍历吧,看看行呗。

给出了具体的算法代码:

class TreeNode:
    def __init__(self, val=0, left=None, right=None):
        self.val = val
        self.left = left
        self.right = right

def pseudoPalindromicPaths(root: TreeNode) -> int:
    def dfs(node, path):
        if not node:
            return
        
        current_path = path + [node.val]
        
        if not node.left and not node.right:
            # 直接添加路径(不检查频次,默认都能组成伪回文)
            palindromic_paths.append(current_path)
            return
        
        dfs(node.left, current_path)
        dfs(node.right, current_path)
    
    palindromic_paths = []
    dfs(root, [])
    
    print("伪回文路径:", palindromic_paths)
    print("总数:", len(palindromic_paths))
    return len(palindromic_paths)

# 示例树
root = TreeNode(2)
root.left = TreeNode(3)
root.right = TreeNode(1)
root.left.left = TreeNode(3)
root.left.right = TreeNode(1)
root.right.right = TreeNode(1)

pseudoPalindromicPaths(root)

执行效果:

执行效果竟然是OK的,谁说AI遇到算法就是智障来着,这不是对的吗?

多文件联动测试

当前项目的结构层次:

尝试分析理解:

#main.py 理解当前项目,将理解的结果放置到readme.md当中,使用md语法。

md格式异常,这里还需要继续优化,但是文件信息获取是完成了的。

驭码-贪吃蛇项目试炼

提示词:

使用python语言创建一个贪吃蛇项目,背景需要是提夫尼蓝,蛇的每一结颜色都需要有变化,目标是一个圆形的弹珠。

给出的回答有代码以及对应的环境安装语句,还是非常不错的,并且是一次成型,中间没有任何修补的过程,在国产的大模型中完全属于上等的了。

import pygame
import random
import sys
import colorsys

# 初始化pygame
pygame.init()

# 颜色定义
TIFFANY_BLUE = (10, 186, 181)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)

# 游戏参数
WIDTH, HEIGHT = 800, 600
GRID_SIZE = 20
GRID_WIDTH = WIDTH // GRID_SIZE
GRID_HEIGHT = HEIGHT // GRID_SIZE
SNAKE_SPEED = 10

# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("快乐贪吃蛇")
clock = pygame.time.Clock()

def generate_food(snake):
    """生成随机食物位置,确保不在蛇身上"""
    while True:
        x = random.randint(0, GRID_WIDTH - 1)
        y = random.randint(0, GRID_HEIGHT - 1)
        if [x, y] not in snake:
            return (x, y)

def get_color_variation(base_hue, n):
    """根据基色生成n个渐变色,使用HSV色彩空间"""
    colors = []
    for i in range(n):
        # 在基础色调周围轻微变化 (0.3-0.5是绿色的范围)
        hue = base_hue + 0.02 * i  # 每节蛇身稍微变化色调
        hue = hue % 1.0  # 确保在0-1范围内
        # 保持较高的饱和度和亮度
        r, g, b = colorsys.hsv_to_rgb(hue, 0.9, 0.9)
        colors.append((int(r * 255), int(g * 255), int(b * 255)))
    return colors

def draw_snake(snake, colors):
    """绘制蛇身"""
    for i, (x, y) in enumerate(snake):
        color = colors[i % len(colors)]  # 循环使用颜色数组
        pygame.draw.rect(screen, color, (x * GRID_SIZE, y * GRID_SIZE, GRID_SIZE, GRID_SIZE))
        # 添加边缘使蛇节更清晰
        pygame.draw.rect(screen, BLACK, (x * GRID_SIZE, y * GRID_SIZE, GRID_SIZE, GRID_SIZE), 1)

def draw_food(food_pos):
    """绘制圆形食物(弹珠)"""
    x, y = food_pos
    # 绘制圆形食物
    pygame.draw.circle(
        screen, 
        RED, 
        (x * GRID_SIZE + GRID_SIZE // 2, y * GRID_SIZE + GRID_SIZE // 2), 
        GRID_SIZE // 2
    )
    # 添加高光效果使弹珠更真实
    pygame.draw.circle(
        screen, 
        (255, 128, 128), 
        (x * GRID_SIZE + GRID_SIZE // 3, y * GRID_SIZE + GRID_SIZE // 3), 
        GRID_SIZE // 6
    )

def game_loop():
    """游戏主循环"""
    snake = [[GRID_WIDTH // 2, GRID_HEIGHT // 2]]
    direction = (1, 0)  # 初始向右移动
    food_pos = generate_food(snake)
    score = 0
    
    # 生成一组渐变色,基色是蒂芙尼蓝的HSV表示
    base_h_tiffany = colorsys.rgb_to_hsv(TIFFANY_BLUE[0]/255, TIFFANY_BLUE[1]/255, TIFFANY_BLUE[2]/255)[0]
    snake_colors = get_color_variation(base_h_tiffany, 20)  # 生成20种渐变色
    
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_UP and direction != (0, 1):
                    direction = (0, -1)
                elif event.key == pygame.K_DOWN and direction != (0, -1):
                    direction = (0, 1)
                elif event.key == pygame.K_LEFT and direction != (1, 0):
                    direction = (-1, 0)
                elif event.key == pygame.K_RIGHT and direction != (-1, 0):
                    direction = (1, 0)
        
        # 更新蛇的位置
        new_head = [snake[0][0] + direction[0], snake[0][1] + direction[1]]
        snake.insert(0, new_head)
        
        # 检查是否吃到食物
        if snake[0] == list(food_pos):
            food_pos = generate_food(snake)
            score += 10
        else:
            snake.pop()  # 如果没有吃到食物,移除尾部
        
        # 检查碰撞
        if (snake[0][0] < 0 or snake[0][0] >= GRID_WIDTH or
            snake[0][1] < 0 or snake[0][1] >= GRID_HEIGHT or
            snake[0] in snake[1:]):
            game_over(score)
            return
        
        # 绘制游戏
        screen.fill(TIFFANY_BLUE)
        draw_snake(snake, snake_colors)
        draw_food(food_pos)
        
        # 显示分数
        font = pygame.font.SysFont('Arial', 20)
        score_text = font.render(f'Score: {score}', True, WHITE)
        screen.blit(score_text, (10, 10))
        
        pygame.display.update()
        clock.tick(SNAKE_SPEED)

def game_over(score):
    """游戏结束画面"""
    font = pygame.font.SysFont('Arial', 36)
    game_over_text = font.render(f'Game Over! Score: {score}', True, WHITE)
    restart_text = font.render('Press SPACE to restart', True, WHITE)
    
    screen.fill(BLACK)
    screen.blit(game_over_text, (WIDTH // 2 - game_over_text.get_width() // 2, HEIGHT // 2 - 50))
    screen.blit(restart_text, (WIDTH // 2 - restart_text.get_width() // 2, HEIGHT // 2 + 50))
    pygame.display.update()
    
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
                return
        clock.tick(SNAKE_SPEED)

def main():
    """主函数"""
    while True:
        game_loop()

if __name__ == "__main__":
    main()

安装并执行测试:

还挺好玩。

源代码上修正

将所有的英文提示更换成中文。

效果是成功了。 

具体代码分析可以看到,所有的变量竟然也改成了中文的,这个就有些意外了。

import pygame
import random
import sys
import colorsys

# 初始化pygame
pygame.init()

# 颜色定义
蒂芙尼蓝 = (10, 186, 181)
白色 = (255, 255, 255)
黑色 = (0, 0, 0)
红色 = (255, 0, 0)

# 游戏参数
宽度, 高度 = 800, 600
格子大小 = 20
横向格子数 = 宽度 // 格子大小
纵向格子数 = 高度 // 格子大小
蛇移动速度 = 10

# 创建游戏窗口
屏幕 = pygame.display.set_mode((宽度, 高度))
pygame.display.set_caption("快乐贪吃蛇")
时钟 = pygame.time.Clock()

def 生成食物(蛇身):
    """生成随机食物位置,确保不在蛇身上"""
    while True:
        x = random.randint(0, 横向格子数 - 1)
        y = random.randint(0, 纵向格子数 - 1)
        if [x, y] not in 蛇身:
            return (x, y)

def 获取渐变色(基础色调, 数量):
    """根据基色生成多个渐变色,使用HSV色彩空间"""
    颜色列表 = []
    for i in range(数量):
        # 在基础色调周围轻微变化 (0.3-0.5是绿色的范围)
        色调 = 基础色调 + 0.02 * i  # 每节蛇身稍微变化色调
        色调 = 色调 % 1.0  # 确保在0-1范围内
        # 保持较高的饱和度和亮度
        r, g, b = colorsys.hsv_to_rgb(色调, 0.9, 0.9)
        颜色列表.append((int(r * 255), int(g * 255), int(b * 255)))
    return 颜色列表

def 绘制蛇身(蛇身, 颜色列表):
    """绘制蛇身"""
    for i, (x, y) in enumerate(蛇身):
        颜色 = 颜色列表[i % len(颜色列表)]  # 循环使用颜色数组
        pygame.draw.rect(屏幕, 颜色, (x * 格子大小, y * 格子大小, 格子大小, 格子大小))
        # 添加边缘使蛇节更清晰
        pygame.draw.rect(屏幕, 黑色, (x * 格子大小, y * 格子大小, 格子大小, 格子大小), 1)

def 绘制食物(食物位置):
    """绘制圆形食物(弹珠)"""
    x, y = 食物位置
    # 绘制圆形食物
    pygame.draw.circle(
        屏幕, 
        红色, 
        (x * 格子大小 + 格子大小 // 2, y * 格子大小 + 格子大小 // 2), 
        格子大小 // 2
    )
    # 添加高光效果使弹珠更真实
    pygame.draw.circle(
        屏幕, 
        (255, 128, 128), 
        (x * 格子大小 + 格子大小 // 3, y * 格子大小 + 格子大小 // 3), 
        格子大小 // 6
    )

def 游戏主循环():
    """游戏主循环"""
    蛇身 = [[横向格子数 // 2, 纵向格子数 // 2]]
    方向 = (1, 0)  # 初始向右移动
    食物位置 = 生成食物(蛇身)
    分数 = 0
    
    # 生成一组渐变色,基色是蒂芙尼蓝的HSV表示
    基础色调 = colorsys.rgb_to_hsv(蒂芙尼蓝[0]/255, 蒂芙尼蓝[1]/255, 蒂芙尼蓝[2]/255)[0]
    蛇身颜色 = 获取渐变色(基础色调, 20)  # 生成20种渐变色
    
    while True:
        for 事件 in pygame.event.get():
            if 事件.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            elif 事件.type == pygame.KEYDOWN:
                if 事件.key == pygame.K_UP and 方向 != (0, 1):
                    方向 = (0, -1)
                elif 事件.key == pygame.K_DOWN and 方向 != (0, -1):
                    方向 = (0, 1)
                elif 事件.key == pygame.K_LEFT and 方向 != (1, 0):
                    方向 = (-1, 0)
                elif 事件.key == pygame.K_RIGHT and 方向 != (-1, 0):
                    方向 = (1, 0)
        
        # 更新蛇的位置
        新蛇头 = [蛇身[0][0] + 方向[0], 蛇身[0][1] + 方向[1]]
        蛇身.insert(0, 新蛇头)
        
        # 检查是否吃到食物
        if 蛇身[0] == list(食物位置):
            食物位置 = 生成食物(蛇身)
            分数 += 10
        else:
            蛇身.pop()  # 如果没有吃到食物,移除尾部
        
        # 检查碰撞
        if (蛇身[0][0] < 0 or 蛇身[0][0] >= 横向格子数 or
            蛇身[0][1] < 0 or 蛇身[0][1] >= 纵向格子数 or
            蛇身[0] in 蛇身[1:]):
            游戏结束(分数)
            return
        
        # 绘制游戏
        屏幕.fill(蒂芙尼蓝)
        绘制蛇身(蛇身, 蛇身颜色)
        绘制食物(食物位置)
        
        # 显示分数
        字体 = pygame.font.SysFont('SimHei', 20)  # 使用黑体显示中文
        分数文本 = 字体.render(f'分数: {分数}', True, 白色)
        屏幕.blit(分数文本, (10, 10))
        
        pygame.display.update()
        时钟.tick(蛇移动速度)

def 游戏结束(分数):
    """游戏结束画面"""
    字体 = pygame.font.SysFont('SimHei', 36)  # 使用黑体显示中文
    游戏结束文本 = 字体.render(f'游戏结束! 分数: {分数}', True, 白色)
    重新开始文本 = 字体.render('按空格键重新开始', True, 白色)
    
    屏幕.fill(黑色)
    屏幕.blit(游戏结束文本, (宽度 // 2 - 游戏结束文本.get_width() // 2, 高度 // 2 - 50))
    屏幕.blit(重新开始文本, (宽度 // 2 - 重新开始文本.get_width() // 2, 高度 // 2 + 50))
    pygame.display.update()
    
    while True:
        for 事件 in pygame.event.get():
            if 事件.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            elif 事件.type == pygame.KEYDOWN and 事件.key == pygame.K_SPACE:
                return
        时钟.tick(蛇移动速度)

def 主函数():
    """主函数"""
    while True:
        游戏主循环()

if __name__ == "__main__":
    主函数()

驭码-面向对象开发试炼

问题:

使用面向对象的方式,单独创建一个用于访问数据库的mysql_factory.py文件,使用pymysql库。

连接地址是:rm-bp1zq3879r28p726lco.mysql.rds.aliyuncs.com

数据库是:jianguopai

用户名是:qwe8403000

密码是:admin

使用的字符集是:utf8

另外创建一个main.py,写一个创建表格的示例,创建一个操作日志表,创建完毕后,插入5条随机信息。

效果中可以看到上下文,能确定是两个文件创建的,并且main.py文件使用的是面向对象的方式引入了mysql_factory进行调用内容的。

运行效果测试:

中间没有任何代码修正,又是一次完成。

总结

在多种测试中,驭码的效果都表现良好,对于代码一次成型上有非常突出的表现,与预期结果几乎完全匹配,避免了多次修复的苦恼,虽然看不到底层的模型名称,但是使用起来是出奇的好用,这里推荐一下,当前还是免费的,快速下载使用吧。

驭码 CodeRider - AI 编程与软件智能研发助手 - 极狐GitLab

最后我录列一下驭码的所有优势:

优势分类具体优势细节说明
智能化开发辅助全流程 AI 赋能覆盖代码补全、解释、注释、修改、优化、单元测试生成等环节,减少手动操作,提升编码效率。
自然语言交互能力支持对话式提问与文档问答,快速解决开发问题,降低信息检索成本。
GitLab 深度整合原生工作流支持无缝集成 GitLab 议题和合并请求管理,优化团队协作流程,减少工具切换成本。
企业级安全防护代码文档安全保障支持私有化部署,确保企业内部代码和文档不泄露,满足数据合规要求。
部署灵活性多场景部署方案- 服务器私有化部署:适合对数据安全要求高的企业
- 端侧部署(AIPC):支持离线使用,适应无网络环境
开发工具兼容性主流 IDE 全集成支持 Visual Studio Code、JetBrains 系列、Cursor 等 IDE,适配开发者现有工作环境。
多语言全栈覆盖近百种编程语言支持涵盖 Python、Java、Go、JavaScript、C# 等主流语言及 React、Vue 等框架,满足全栈开发需求。
协作效率提升DevOps 流程智能化整合 AI 到 DevOps 流程,优化研发、测试、部署的自动化协作,缩短开发周期。
使用体验优化离线可用与沉浸式体验端侧部署支持离线编程,避免网络依赖;功能深度嵌入开发工具,减少操作割裂感。
评论 59
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红目香薰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值