{"id":786170,"student_id":58026,"content":"pip install pygame\r\n\r\nimport pygame\r\nimport random\r\n\r\n# 初始化Pygame\r\npygame.init()\r\n\r\n# 設置遊戲視窗大小\r\nscreen_width = 800\r\nscreen_height = 600\r\nscreen = pygame.display.set_mode((screen_width, screen_height))\r\npygame.display.set_caption(\"終極戰士:武器對決\")\r\n\r\n# 設置顏色\r\nWHITE = (255, 255, 255)\r\nBLACK = (0, 0, 0)\r\nRED = (255, 0, 0)\r\nGREEN = (0, 255, 0)\r\nBLUE = (0, 0, 255)\r\n\r\n# 玩家角色類\r\nclass Player(pygame.sprite.Sprite):\r\n def __init__(self):\r\n super().__init__()\r\n self.image = pygame.Surface((50, 50))\r\n self.image.fill(BLUE)\r\n self.rect = self.image.get_rect()\r\n self.rect.center = (screen_width // 2, screen_height // 2)\r\n self.speed = 5\r\n\r\n def update(self):\r\n keys = pygame.key.get_pressed()\r\n if keys[pygame.K_LEFT]:\r\n self.rect.x -= self.speed\r\n if keys[pygame.K_RIGHT]:\r\n self.rect.x += self.speed\r\n if keys[pygame.K_UP]:\r\n self.rect.y -= self.speed\r\n if keys[pygame.K_DOWN]:\r\n self.rect.y += self.speed\r\n\r\n# 武器類\r\nclass Weapon(pygame.sprite.Sprite):\r\n def __init__(self, x, y):\r\n super().__init__()\r\n self.image = pygame.Surface((20, 20))\r\n self.image.fill(RED)\r\n self.rect = self.image.get_rect()\r\n self.rect.center = (x, y)\r\n self.speed = 7\r\n\r\n def update(self):\r\n self.rect.x += self.speed\r\n if self.rect.right \u003e screen_width:\r\n self.kill()\r\n\r\n# 敵人類\r\nclass Enemy(pygame.sprite.Sprite):\r\n def __init__(self, x, y):\r\n super().__init__()\r\n self.image = pygame.Surface((50, 50))\r\n self.image.fill(GREEN)\r\n self.rect = self.image.get_rect()\r\n self.rect.center = (x, y)\r\n self.speed = 3\r\n\r\n def update(self):\r\n self.rect.x -= self.speed\r\n if self.rect.right \u003c 0:\r\n self.kill()\r\n\r\n# 創建玩家和群組\r\nplayer = Player()\r\nall_sprites = pygame.sprite.Group()\r\nall_sprites.add(player)\r\nweapons = pygame.sprite.Group()\r\nenemies = pygame.sprite.Group()\r\n\r\n# 遊戲主循環\r\nrunning = True\r\nclock = pygame.time.Clock()\r\n\r\nwhile running:\r\n for event in pygame.event.get():\r\n if event.type == pygame.QUIT:\r\n running = False\r\n elif event.type == pygame.KEYDOWN:\r\n if event.key == pygame.K_SPACE:\r\n weapon = Weapon(player.rect.centerx, player.rect.centery)\r\n all_sprites.add(weapon)\r\n weapons.add(weapon)\r\n\r\n # 更新所有角色\r\n all_sprites.update()\r\n\r\n # 檢查武器與敵人的碰撞\r\n hits = pygame.sprite.groupcollide(weapons, enemies, True, True)\r\n\r\n # 隨機生成敵人\r\n if random.random() \u003c 0.02:\r\n enemy = Enemy(screen_width, random.randint(0, screen_height))\r\n all_sprites.add(enemy)\r\n enemies.add(enemy)\r\n\r\n # 繪製所有角色\r\n screen.fill(WHITE)\r\n all_sprites.draw(screen)\r\n pygame.display.flip()\r\n\r\n # 控制遊戲速度\r\n clock.tick(60)\r\n\r\npygame.quit()\r\n","created_at":"2024-07-06T20:27:40.084+08:00","updated_at":"2024-07-06T20:28:30.820+08:00","name":"戰鬥遊戲","language":"python","screenshot":{"url":"https://cdn1.koding.school/uploads/project/screenshot/786170/1a8751143ccad470d05353353d0c5c28.jpg"},"parent_id":4,"plugin":"","description":null,"note":null,"status":"public","like_student_ids":[],"is_featured":false,"views":1,"hashid":"2pdsp2kjj","is_content_changed":false,"review_status":"unsubmitted","submitted_at":null,"reviewed_at":null,"advise":null,"is_deleted":false}
[{"id":17485742,"file_name":"cloud.png","project_id":786170,"asset_id":302343,"created_at":"2024-07-06T20:27:40.091+08:00","updated_at":"2024-07-06T20:27:40.091+08:00"},{"id":17485743,"file_name":"bg.jpg","project_id":786170,"asset_id":302344,"created_at":"2024-07-06T20:27:40.093+08:00","updated_at":"2024-07-06T20:27:40.093+08:00"},{"id":17485744,"file_name":"calm.mp3","project_id":786170,"asset_id":302345,"created_at":"2024-07-06T20:27:40.094+08:00","updated_at":"2024-07-06T20:27:40.094+08:00"},{"id":17485745,"file_name":"koding.png","project_id":786170,"asset_id":302346,"created_at":"2024-07-06T20:27:40.095+08:00","updated_at":"2024-07-06T20:27:40.095+08:00"}]
橘蘋學習平台
我的作品
檢視專案頁
匯出
複製
匯入
刪除
截圖
繁中
简中
English
日本語
用手機掃描下方 QRCode 進行安裝
或您也可以
下載 APK
到這台電腦