当前位置:   article > 正文

在Idea中添加ChatGPT插件——PyCharm_idea chatgpt插件

idea chatgpt插件

一、下载插件

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

二、相关设置

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

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

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

 点击右侧的get token按钮

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

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

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

将下面的

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

 接下来就可以用了!

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

  1. import pygame
  2. import random
  3. # 初始化游戏
  4. pygame.init()
  5. # 窗口大小
  6. screen_width = 400
  7. screen_height = 800
  8. # 创建窗口
  9. screen = pygame.display.set_mode((screen_width, screen_height))
  10. pygame.display.set_caption("飞机大战")
  11. # 颜色
  12. white = (255, 255, 255)
  13. # 飞机图片
  14. player_img = pygame.image.load("player.png")
  15. player_width = 50
  16. player_height = 50
  17. # 敌机图片
  18. enemy_img = pygame.image.load("enemy.png")
  19. enemy_width = 50
  20. enemy_height = 50
  21. # 子弹图片
  22. bullet_img = pygame.image.load("bullet.png")
  23. bullet_width = 10
  24. bullet_height = 30
  25. # 音效
  26. # bullet_sound = pygame.mixer.Sound("bullet.wav")
  27. # explosion_sound = pygame.mixer.Sound("explosion.wav")
  28. # 飞机类
  29. class Player(pygame.sprite.Sprite):
  30. def __init__(self):
  31. pygame.sprite.Sprite.__init__(self)
  32. self.image = pygame.transform.scale(player_img, (player_width, player_height))
  33. self.rect = self.image.get_rect()
  34. self.rect.centerx = screen_width // 2
  35. self.rect.bottom = screen_height - 10
  36. self.speed_x = 0
  37. def update(self):
  38. self.rect.x += self.speed_x
  39. if self.rect.left < 0:
  40. self.rect.left = 0
  41. if self.rect.right > screen_width:
  42. self.rect.right = screen_width
  43. def shoot(self):
  44. bullet = Bullet(self.rect.centerx, self.rect.top)
  45. all_sprites.add(bullet)
  46. bullets.add(bullet)
  47. # bullet_sound.play()
  48. # 敌机类
  49. class Enemy(pygame.sprite.Sprite):
  50. def __init__(self):
  51. pygame.sprite.Sprite.__init__(self)
  52. self.image = pygame.transform.scale(enemy_img, (enemy_width, enemy_height))
  53. self.rect = self.image.get_rect()
  54. self.rect.x = random.randint(0, screen_width - enemy_width)
  55. self.rect.y = random.randint(-100, -enemy_height)
  56. self.speed_y = random.randint(1, 3)
  57. def update(self):
  58. self.rect.y += self.speed_y
  59. if self.rect.top > screen_height:
  60. self.rect.x = random.randint(0, screen_width - enemy_width)
  61. self.rect.y = random.randint(-100, -enemy_height)
  62. self.speed_y = random.randint(1, 3)
  63. # 子弹类
  64. class Bullet(pygame.sprite.Sprite):
  65. def __init__(self, x, y):
  66. pygame.sprite.Sprite.__init__(self)
  67. self.image = pygame.transform.scale(bullet_img, (bullet_width, bullet_height))
  68. self.rect = self.image.get_rect()
  69. self.rect.centerx = x
  70. self.rect.bottom = y
  71. self.speed_y = -10
  72. def update(self):
  73. self.rect.y += self.speed_y
  74. if self.rect.bottom < 0:
  75. self.kill()
  76. # 创建精灵组
  77. all_sprites = pygame.sprite.Group()
  78. enemies = pygame.sprite.Group()
  79. bullets = pygame.sprite.Group()
  80. # 创建玩家飞机
  81. player = Player()
  82. all_sprites.add(player)
  83. # 创建敌机
  84. for _ in range(10):
  85. enemy = Enemy()
  86. all_sprites.add(enemy)
  87. enemies.add(enemy)
  88. # 游戏循环
  89. running = True
  90. clock = pygame.time.Clock()
  91. while running:
  92. clock.tick(60)
  93. # 处理事件
  94. for event in pygame.event.get():
  95. if event.type == pygame.QUIT:
  96. running = False
  97. elif event.type == pygame.KEYDOWN:
  98. if event.key == pygame.K_SPACE:
  99. player.shoot()
  100. # 获取键盘按键状态
  101. keys = pygame.key.get_pressed()
  102. if keys[pygame.K_LEFT]:
  103. player.speed_x = -5
  104. elif keys[pygame.K_RIGHT]:
  105. player.speed_x = 5
  106. else:
  107. player.speed_x = 0
  108. # 更新游戏状态
  109. all_sprites.update()
  110. # 检测子弹是否击中敌机
  111. hits = pygame.sprite.groupcollide(enemies, bullets, True, True)
  112. for hit in hits:
  113. # explosion_sound.play()
  114. enemy = Enemy()
  115. all_sprites.add(enemy)
  116. enemies.add(enemy)
  117. # 检测敌机是否碰撞玩家飞机
  118. hits = pygame.sprite.spritecollide(player, enemies, False)
  119. if hits:
  120. running = False
  121. # 绘制游戏界面
  122. screen.fill(white)
  123. all_sprites.draw(screen)
  124. pygame.display.flip()
  125. # 退出游戏
  126. pygame.quit()

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号