文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在Idea中添加ChatGPT插件——PyCharm

2023-09-02 12:46

关注

一、下载插件

在setting设置中找到Plugins,下载插件,要点apply应用按钮。

二、相关设置

重启idea,在右边可以看到chatGPT图标

 此时还不能使用,输入问题后显示下图右下角的内容,提示缺少token,

 下面打开设置中找到Tools,找到chatGPT

 点击右侧的get token按钮

这是OpenAI 官方提供的源。反正需要一个openai账号,所有的记录和官网是会同步的,但是使用官网需要科学上网,直接在软件里使用就不用科学上网,方便了很多。

点击第一个链接跳转到chatgpt官网,

点击第二个链接跳转到获取token的网页

将下面的

token复制到输入框点击apply即可

 接下来就可以用了!

下面是让他写的一个飞机大战的例子:很流畅

import pygameimport random# 初始化游戏pygame.init()# 窗口大小screen_width = 400screen_height = 800# 创建窗口screen = pygame.display.set_mode((screen_width, screen_height))pygame.display.set_caption("飞机大战")# 颜色white = (255, 255, 255)# 飞机图片player_img = pygame.image.load("player.png")player_width = 50player_height = 50# 敌机图片enemy_img = pygame.image.load("enemy.png")enemy_width = 50enemy_height = 50# 子弹图片bullet_img = pygame.image.load("bullet.png")bullet_width = 10bullet_height = 30# 音效# bullet_sound = pygame.mixer.Sound("bullet.wav")# explosion_sound = pygame.mixer.Sound("explosion.wav")# 飞机类class Player(pygame.sprite.Sprite):    def __init__(self):        pygame.sprite.Sprite.__init__(self)        self.image = pygame.transform.scale(player_img, (player_width, player_height))        self.rect = self.image.get_rect()        self.rect.centerx = screen_width // 2        self.rect.bottom = screen_height - 10        self.speed_x = 0    def update(self):        self.rect.x += self.speed_x        if self.rect.left < 0:            self.rect.left = 0        if self.rect.right > screen_width:            self.rect.right = screen_width    def shoot(self):        bullet = Bullet(self.rect.centerx, self.rect.top)        all_sprites.add(bullet)        bullets.add(bullet)        # bullet_sound.play()# 敌机类class Enemy(pygame.sprite.Sprite):    def __init__(self):        pygame.sprite.Sprite.__init__(self)        self.image = pygame.transform.scale(enemy_img, (enemy_width, enemy_height))        self.rect = self.image.get_rect()        self.rect.x = random.randint(0, screen_width - enemy_width)        self.rect.y = random.randint(-100, -enemy_height)        self.speed_y = random.randint(1, 3)    def update(self):        self.rect.y += self.speed_y        if self.rect.top > screen_height:            self.rect.x = random.randint(0, screen_width - enemy_width)            self.rect.y = random.randint(-100, -enemy_height)            self.speed_y = random.randint(1, 3)# 子弹类class Bullet(pygame.sprite.Sprite):    def __init__(self, x, y):        pygame.sprite.Sprite.__init__(self)        self.image = pygame.transform.scale(bullet_img, (bullet_width, bullet_height))        self.rect = self.image.get_rect()        self.rect.centerx = x        self.rect.bottom = y        self.speed_y = -10    def update(self):        self.rect.y += self.speed_y        if self.rect.bottom < 0:            self.kill()# 创建精灵组all_sprites = pygame.sprite.Group()enemies = pygame.sprite.Group()bullets = pygame.sprite.Group()# 创建玩家飞机player = Player()all_sprites.add(player)# 创建敌机for _ in range(10):    enemy = Enemy()    all_sprites.add(enemy)    enemies.add(enemy)# 游戏循环running = Trueclock = pygame.time.Clock()while running:    clock.tick(60)    # 处理事件    for event in pygame.event.get():        if event.type == pygame.QUIT:            running = False        elif event.type == pygame.KEYDOWN:            if event.key == pygame.K_SPACE:                player.shoot()    # 获取键盘按键状态    keys = pygame.key.get_pressed()    if keys[pygame.K_LEFT]:        player.speed_x = -5    elif keys[pygame.K_RIGHT]:        player.speed_x = 5    else:        player.speed_x = 0    # 更新游戏状态    all_sprites.update()    # 检测子弹是否击中敌机    hits = pygame.sprite.groupcollide(enemies, bullets, True, True)    for hit in hits:        # explosion_sound.play()        enemy = Enemy()        all_sprites.add(enemy)        enemies.add(enemy)    # 检测敌机是否碰撞玩家飞机    hits = pygame.sprite.spritecollide(player, enemies, False)    if hits:        running = False    # 绘制游戏界面    screen.fill(white)    all_sprites.draw(screen)    pygame.display.flip()# 退出游戏pygame.quit()

来源地址:https://blog.csdn.net/weixin_45897172/article/details/131037920

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯