鱼C论坛

 找回密码
 立即注册
查看: 2806|回复: 29

[已解决]飞机大战报错

[复制链接]
发表于 2020-3-30 08:55:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import pygame
  2. import sys
  3. import traceback
  4. import myplane
  5. import enemy
  6. import bullet
  7. import supply

  8. from pygame.locals import *
  9. from random import *

  10. pygame.init()
  11. pygame.mixer.init()

  12. bg_size = width, height = 480, 700
  13. screen = pygame.display.set_mode(bg_size)
  14. pygame.display.set_caption("飞机大战")

  15. background = pygame.image.load("images/background.png").convert()

  16. BLACK = (0, 0, 0)
  17. WHITE = (255, 255, 255)
  18. GREEN = (0, 255, 0)
  19. RED = (255, 0, 0)

  20. # 载入游戏音乐
  21. pygame.mixer.music.load("sound/game_music.ogg")
  22. pygame.mixer.music.set_volume(0.2)
  23. bullet_sound = pygame.mixer.Sound("sound/bullet.wav")
  24. bullet_sound.set_volume(0.2)
  25. bomb_sound = pygame.mixer.Sound("sound/use_bomb.wav")
  26. bomb_sound.set_volume(0.2)
  27. supply_sound = pygame.mixer.Sound("sound/supply.wav")
  28. supply_sound.set_volume(0.2)
  29. get_bomb_sound = pygame.mixer.Sound("sound/get_bomb.wav")
  30. get_bomb_sound.set_volume(0.2)
  31. get_bullet_sound = pygame.mixer.Sound("sound/get_bullet.wav")
  32. get_bullet_sound.set_volume(0.2)
  33. upgrade_sound = pygame.mixer.Sound("sound/upgrade.wav")
  34. upgrade_sound.set_volume(0.2)
  35. enemy3_fly_sound = pygame.mixer.Sound("sound/enemy3_flying.wav")
  36. enemy3_fly_sound.set_volume(0.2)
  37. enemy1_down_sound = pygame.mixer.Sound("sound/enemy1_down.wav")
  38. enemy1_down_sound.set_volume(0.2)
  39. enemy2_down_sound = pygame.mixer.Sound("sound/enemy2_down.wav")
  40. enemy2_down_sound.set_volume(0.2)
  41. enemy3_down_sound = pygame.mixer.Sound("sound/enemy3_down.wav")
  42. enemy3_down_sound.set_volume(0.5)
  43. me_down_sound = pygame.mixer.Sound("sound/me_down.wav")
  44. me_down_sound.set_volume(0.2)


  45. def add_small_enemies(group1, group2, num):
  46.     for i in range(num):
  47.         e1 = enemy.SmallEnemy(bg_size)
  48.         group1.add(e1)
  49.         group2.add(e1)

  50. def add_mid_enemies(group1, group2, num):
  51.     for i in range(num):
  52.         e2 = enemy.MidEnemy(bg_size)
  53.         group1.add(e2)
  54.         group2.add(e2)

  55. def add_big_enemies(group1, group2, num):
  56.     for i in range(num):
  57.         e3 = enemy.BigEnemy(bg_size)
  58.         group1.add(e3)
  59.         group2.add(e3)

  60. def inc_speed(target, inc):
  61.     for each in target:
  62.         each.speed += inc

  63. def main():
  64.     pygame.mixer.music.play(-1)

  65.     # 生成我方飞机
  66.     me = myplane.MyPlane(bg_size)

  67.     enemies = pygame.sprite.Group()

  68.     # 生成敌方小型飞机
  69.     small_enemies = pygame.sprite.Group()
  70.     add_small_enemies(small_enemies, enemies, 15)

  71.     # 生成敌方中型飞机
  72.     mid_enemies = pygame.sprite.Group()
  73.     add_mid_enemies(mid_enemies, enemies, 4)

  74.     # 生成敌方大型飞机
  75.     big_enemies = pygame.sprite.Group()
  76.     add_big_enemies(big_enemies, enemies, 2)

  77.     # 生成普通子弹
  78.     bullet1 = []
  79.     bullet1_index = 0
  80.     BULLET1_NUM = 4
  81.     for i in range(BULLET1_NUM):
  82.         bullet1.append(bullet.Bullet1(me.rect.midtop))

  83.     # 生成超级子弹
  84.     bullet2 = []
  85.     bullet2_index = 0
  86.     BULLET2_NUM = 8
  87.     for i in range(BULLET2_NUM//2):
  88.         bullet2.append(bullet.Bullet2((me.rect.centerx-33, me.rect.centery)))
  89.         bullet2.append(bullet.Bullet2((me.rect.centerx+30, me.rect.centery)))

  90.     clock = pygame.time.Clock()

  91.     # 中弹图片索引
  92.     e1_destroy_index = 0
  93.     e2_destroy_index = 0
  94.     e3_destroy_index = 0
  95.     me_destroy_index = 0

  96.     # 统计得分
  97.     score = 0
  98.     score_font = pygame.font.Font("font/font.ttf", 36)

  99.     # 标志是否暂停游戏
  100.     paused = False
  101.     pause_nor_image = pygame.image.load("images/pause_nor.png").convert_alpha()
  102.     pause_pressed_image = pygame.image.load("images/pause_pressed.png").convert_alpha()
  103.     resume_nor_image = pygame.image.load("images/resume_nor.png").convert_alpha()
  104.     resume_pressed_image = pygame.image.load("images/resume_pressed.png").convert_alpha()
  105.     paused_rect = pause_nor_image.get_rect()
  106.     paused_rect.left, paused_rect.top = width - paused_rect.width - 10, 10
  107.     paused_image = pause_nor_image

  108.     # 设置难度级别
  109.     level = 1

  110.     # 全屏炸弹
  111.     bomb_image = pygame.image.load("images/bomb.png").convert_alpha()
  112.     bomb_rect = bomb_image.get_rect()
  113.     bomb_font = pygame.font.Font("font/font.ttf", 48)
  114.     bomb_num = 3

  115.     # 每30秒发放一个补给包
  116.     bullet_supply = supply.Bullet_Supply(bg_size)
  117.     bomb_supply = supply.Bomb_Supply(bg_size)
  118.     SUPPLY_TIME = USEREVENT
  119.     pygame.time.set_timer(SUPPLY_TIME, 30 * 1000)

  120.     # 超级子弹定时器
  121.     DOUBLE_BULLET_TIME = USEREVENT + 1

  122.     # 标志是否使用超级子弹
  123.     is_double_bullet = False

  124.     # 解除我方无敌状态定时器
  125.     INVINCIBLE_TIME = USEREVENT + 2

  126.     # 生命数量
  127.     life_image = pygame.image.load("images/life.png").convert_alpha()
  128.     life_rect = life_image.get_rect()
  129.     life_num = 3

  130.     # 用于阻止重复打开记录文件
  131.     recorded = False

  132.     # 游戏结束画面
  133.     gameover_font = pygame.font.Font("font/font.TTF", 48)
  134.     again_image = pygame.image.load("images/again.png").convert_alpha()
  135.     again_rect = again_image.get_rect()
  136.     gameover_image = pygame.image.load("images/gameover.png").convert_alpha()
  137.     gameover_rect = gameover_image.get_rect()

  138.     # 用于切换图片
  139.     switch_image = True

  140.     # 用于延迟
  141.     delay = 100

  142.     running = True

  143.     while running:
  144.         for event in pygame.event.get():
  145.             if event.type == QUIT:
  146.                 pygame.quit()
  147.                 sys.exit()

  148.             elif event.type == MOUSEBUTTONDOWN:
  149.                 if event.button == 1 and paused_rect.collidepoint(event.pos):
  150.                     paused = not paused
  151.                     if paused:
  152.                         pygame.time.set_timer(SUPPLY_TIME, 0)
  153.                         pygame.mixer.music.pause()
  154.                         pygame.mixer.pause()
  155.                     else:
  156.                         pygame.time.set_timer(SUPPLY_TIME, 30 * 1000)
  157.                         pygame.mixer.music.unpause()
  158.                         pygame.mixer.unpause()

  159.             elif event.type == MOUSEMOTION:
  160.                 if paused_rect.collidepoint(event.pos):
  161.                     if paused:
  162.                         paused_image = resume_pressed_image
  163.                     else:
  164.                         paused_image = pause_pressed_image
  165.                 else:
  166.                     if paused:
  167.                         paused_image = resume_nor_image
  168.                     else:
  169.                        paused_image = pause_nor_image

  170.             elif event.type == KEYDOWN:
  171.                 if event.key == K_SPACE:
  172.                     if bomb_num:
  173.                         bomb_num -= 1
  174.                         bomb_sound.play()
  175.                         for each in enemies:
  176.                             if each.rect.bottom > 0:
  177.                                 each.active = False

  178.             elif event.type == SUPPLY_TIME:
  179.                 supply_sound.play()
  180.                 if choice([True, False]):
  181.                     bomb_supply.reset()
  182.                 else:
  183.                     bullet_supply.reset()

  184.             elif event.type == DOUBLE_BULLET_TIME:
  185.                 is_double_bullet = False
  186.                 pygame.time.set_timer(DOUBLE_BULLET_TIME, 0)

  187.             elif event.type == INVINCIBLE_TIME:
  188.                 me.invincible = False
  189.                 pygame.time.set_timer(INVINCIBLE_TIME, 0)
  190.                         

  191.         # 根据用户的得分增加难度
  192.         if level == 1 and score > 50000:
  193.             level = 2
  194.             upgrade_sound.play()
  195.             # 增加3架小型敌机、2架中型敌机和1架大型敌机
  196.             add_small_enemies(small_enemies, enemies, 3)
  197.             add_mid_enemies(mid_enemies, enemies, 2)
  198.             add_big_enemies(big_enemies, enemies, 1)
  199.             # 提升小型敌机的速度
  200.             inc_speed(small_enemies, 1)
  201.         elif level == 2 and score > 300000:
  202.             level = 3
  203.             upgrade_sound.play()
  204.             # 增加5架小型敌机、3架中型敌机和2架大型敌机
  205.             add_small_enemies(small_enemies, enemies, 5)
  206.             add_mid_enemies(mid_enemies, enemies, 3)
  207.             add_big_enemies(big_enemies, enemies, 2)
  208.             # 提升小型敌机的速度
  209.             inc_speed(small_enemies, 1)
  210.             inc_speed(mid_enemies, 1)
  211.         elif level == 3 and score > 600000:
  212.             level = 4
  213.             upgrade_sound.play()
  214.             # 增加5架小型敌机、3架中型敌机和2架大型敌机
  215.             add_small_enemies(small_enemies, enemies, 5)
  216.             add_mid_enemies(mid_enemies, enemies, 3)
  217.             add_big_enemies(big_enemies, enemies, 2)
  218.             # 提升小型敌机的速度
  219.             inc_speed(small_enemies, 1)
  220.             inc_speed(mid_enemies, 1)
  221.         elif level == 4 and score > 1000000:
  222.             level = 5
  223.             upgrade_sound.play()
  224.             # 增加5架小型敌机、3架中型敌机和2架大型敌机
  225.             add_small_enemies(small_enemies, enemies, 5)
  226.             add_mid_enemies(mid_enemies, enemies, 3)
  227.             add_big_enemies(big_enemies, enemies, 2)
  228.             # 提升小型敌机的速度
  229.             inc_speed(small_enemies, 1)
  230.             inc_speed(mid_enemies, 1)
  231.             

  232.         screen.blit(background, (0, 0))
  233.                
  234.         if life_num and not paused:
  235.             # 检测用户的键盘操作
  236.             key_pressed = pygame.key.get_pressed()

  237.             if key_pressed[K_w] or key_pressed[K_UP]:
  238.                 me.moveUp()
  239.             if key_pressed[K_s] or key_pressed[K_DOWN]:
  240.                 me.moveDown()
  241.             if key_pressed[K_a] or key_pressed[K_LEFT]:
  242.                 me.moveLeft()
  243.             if key_pressed[K_d] or key_pressed[K_RIGHT]:
  244.                 me.moveRight()

  245.             # 绘制全屏炸弹补给并检测是否获得
  246.             if bomb_supply.active:
  247.                 bomb_supply.move()
  248.                 screen.blit(bomb_supply.image, bomb_supply.rect)
  249.                 if pygame.sprite.collide_mask(bomb_supply, me):
  250.                     get_bomb_sound.play()
  251.                     bomb_num += 1
  252.                     bomb_supply.active = False

  253.             # 绘制超级子弹补给并检测是否获得
  254.             if bullet_supply.active:
  255.                 bullet_supply.move()
  256.                 screen.blit(bullet_supply.image, bullet_supply.rect)
  257.                 if pygame.sprite.collide_mask(bullet_supply, me):
  258.                     get_bullet_sound.play()
  259.                     is_double_bullet = True
  260.                     pygame.time.set_timer(DOUBLE_BULLET_TIME, 18 * 1000)
  261.                     bullet_supply.active = False

  262.             # 发射子弹
  263.             if not(delay % 10):
  264.                 bullet_sound.play()
  265.                 if is_double_bullet:
  266.                     bullets = bullet2
  267.                     bullets[bullet2_index].reset((me.rect.centerx-33, me.rect.centery))
  268.                     bullets[bullet2_index+1].reset((me.rect.centerx+30, me.rect.centery))
  269.                     bullet2_index = (bullet2_index + 2) % BULLET2_NUM
  270.                 else:
  271.                     bullets = bullet1
  272.                     bullets[bullet1_index].reset(me.rect.midtop)
  273.                     bullet1_index = (bullet1_index + 1) % BULLET1_NUM

  274.                
  275.             # 检测子弹是否击中敌机
  276.             for b in bullets:
  277.                 if b.active:
  278.                     b.move()
  279.                     screen.blit(b.image, b.rect)
  280.                     enemy_hit = pygame.sprite.spritecollide(b, enemies, False, pygame.sprite.collide_mask)
  281.                     if enemy_hit:
  282.                         b.active = False
  283.                         for e in enemy_hit:
  284.                             if e in mid_enemies or e in big_enemies:
  285.                                 e.hit = True
  286.                                 e.energy -= 1
  287.                                 if e.energy == 0:
  288.                                     e.active = False
  289.                             else:
  290.                                 e.active = False
  291.             
  292.             # 绘制大型敌机
  293.             for each in big_enemies:
  294.                 if each.active:
  295.                     each.move()
  296.                     if each.hit:
  297.                         screen.blit(each.image_hit, each.rect)
  298.                         each.hit = False
  299.                     else:
  300.                         if switch_image:
  301.                             screen.blit(each.image1, each.rect)
  302.                         else:
  303.                             screen.blit(each.image2, each.rect)

  304.                     # 绘制血槽
  305.                     pygame.draw.line(screen, BLACK, \
  306.                                      (each.rect.left, each.rect.top - 5), \
  307.                                      (each.rect.right, each.rect.top - 5), \
  308.                                      2)
  309.                     # 当生命大于20%显示绿色,否则显示红色
  310.                     energy_remain = each.energy / enemy.BigEnemy.energy
  311.                     if energy_remain > 0.2:
  312.                         energy_color = GREEN
  313.                     else:
  314.                         energy_color = RED
  315.                     pygame.draw.line(screen, energy_color, \
  316.                                      (each.rect.left, each.rect.top - 5), \
  317.                                      (each.rect.left + each.rect.width * energy_remain, \
  318.                                       each.rect.top - 5), 2)
  319.                         
  320.                     # 即将出现在画面中,播放音效
  321.                     if each.rect.bottom == -50:
  322.                         enemy3_fly_sound.play(-1)
  323.                 else:
  324.                     # 毁灭
  325.                     if not(delay % 3):
  326.                         if e3_destroy_index == 0:
  327.                             enemy3_down_sound.play()
  328.                         screen.blit(each.destroy_images[e3_destroy_index], each.rect)
  329.                         e3_destroy_index = (e3_destroy_index + 1) % 6
  330.                         if e3_destroy_index == 0:
  331.                             enemy3_fly_sound.stop()
  332.                             score += 10000
  333.                             each.reset()

  334.             # 绘制中型敌机:
  335.             for each in mid_enemies:
  336.                 if each.active:
  337.                     each.move()

  338.                     if each.hit:
  339.                         screen.blit(each.image_hit, each.rect)
  340.                         each.hit = False
  341.                     else:
  342.                         screen.blit(each.image, each.rect)

  343.                     # 绘制血槽
  344.                     pygame.draw.line(screen, BLACK, \
  345.                                      (each.rect.left, each.rect.top - 5), \
  346.                                      (each.rect.right, each.rect.top - 5), \
  347.                                      2)
  348.                     # 当生命大于20%显示绿色,否则显示红色
  349.                     energy_remain = each.energy / enemy.MidEnemy.energy
  350.                     if energy_remain > 0.2:
  351.                         energy_color = GREEN
  352.                     else:
  353.                         energy_color = RED
  354.                     pygame.draw.line(screen, energy_color, \
  355.                                      (each.rect.left, each.rect.top - 5), \
  356.                                      (each.rect.left + each.rect.width * energy_remain, \
  357.                                       each.rect.top - 5), 2)
  358.                 else:
  359.                     # 毁灭
  360.                     if not(delay % 3):
  361.                         if e2_destroy_index == 0:
  362.                             enemy2_down_sound.play()
  363.                         screen.blit(each.destroy_images[e2_destroy_index], each.rect)
  364.                         e2_destroy_index = (e2_destroy_index + 1) % 4
  365.                         if e2_destroy_index == 0:
  366.                             score += 6000
  367.                             each.reset()

  368.             # 绘制小型敌机:
  369.             for each in small_enemies:
  370.                 if each.active:
  371.                     each.move()
  372.                     screen.blit(each.image, each.rect)
  373.                 else:
  374.                     # 毁灭
  375.                     if not(delay % 3):
  376.                         if e1_destroy_index == 0:
  377.                             enemy1_down_sound.play()
  378.                         screen.blit(each.destroy_images[e1_destroy_index], each.rect)
  379.                         e1_destroy_index = (e1_destroy_index + 1) % 4
  380.                         if e1_destroy_index == 0:
  381.                             score += 1000
  382.                             each.reset()

  383.             # 检测我方飞机是否被撞
  384.             enemies_down = pygame.sprite.spritecollide(me, enemies, False, pygame.sprite.collide_mask)
  385.             if enemies_down and not me.invincible:
  386.                 me.active = False
  387.                 for e in enemies_down:
  388.                     e.active = False
  389.             
  390.             # 绘制我方飞机
  391.             if me.active:
  392.                 if switch_image:
  393.                     screen.blit(me.image1, me.rect)
  394.                 else:
  395.                     screen.blit(me.image2, me.rect)
  396.             else:
  397.                 # 毁灭
  398.                 if not(delay % 3):
  399.                     if me_destroy_index == 0:
  400.                         me_down_sound.play()
  401.                     screen.blit(me.destroy_images[me_destroy_index], me.rect)
  402.                     me_destroy_index = (me_destroy_index + 1) % 4
  403.                     if me_destroy_index == 0:
  404.                         life_num -= 1
  405.                         me.reset()
  406.                         pygame.time.set_timer(INVINCIBLE_TIME, 3 * 1000)

  407.             # 绘制全屏炸弹数量
  408.             bomb_text = bomb_font.render(" X %d" % bomb_num, True, WHITE)
  409.             text_rect = bomb_text.get_rect()
  410.             screen.blit(bomb_image, (10, height - 10 - bomb_rect.height))
  411.             screen.blit(bomb_text, (20 + bomb_rect.width, height - 5 - text_rect.height))

  412.             # 绘制剩余生命数量
  413.             if life_num:
  414.                 for i in range(life_num):
  415.                     screen.blit(life_image, \
  416.                                 (width-10-(i+1)*life_rect.width, \
  417.                                  height-10-life_rect.height))

  418.             # 绘制得分
  419.             score_text = score_font.render("Score : %s" % str(score), True, WHITE)
  420.             screen.blit(score_text, (10, 5))

  421.         # 绘制游戏结束画面
  422.         elif life_num == 0:
  423.             # 背景音乐停止
  424.             pygame.mixer.music.stop()

  425.             # 停止全部音效
  426.             pygame.mixer.stop()

  427.             # 停止发放补给
  428.             pygame.time.set_timer(SUPPLY_TIME, 0)

  429.             if not recorded:
  430.                 recorded = True
  431.                 # 读取历史最高得分
  432.                 with open("record.txt", "r") as f:
  433.                     record_score = int(f.read())

  434.                 # 如果玩家得分高于历史最高得分,则存档
  435.                 if score > record_score:
  436.                     with open("record.txt", "w") as f:
  437.                         f.write(str(score))

  438.             # 绘制结束画面
  439.             record_score_text = score_font.render("Best : %d" % record_score, True, (255, 255, 255))
  440.             screen.blit(record_score_text, (50, 50))
  441.             
  442.             gameover_text1 = gameover_font.render("Your Score", True, (255, 255, 255))
  443.             gameover_text1_rect = gameover_text1.get_rect()
  444.             gameover_text1_rect.left, gameover_text1_rect.top = \
  445.                                  (width - gameover_text1_rect.width) // 2, height // 3
  446.             screen.blit(gameover_text1, gameover_text1_rect)
  447.             
  448.             gameover_text2 = gameover_font.render(str(score), True, (255, 255, 255))
  449.             gameover_text2_rect = gameover_text2.get_rect()
  450.             gameover_text2_rect.left, gameover_text2_rect.top = \
  451.                                  (width - gameover_text2_rect.width) // 2, \
  452.                                  gameover_text1_rect.bottom + 10
  453.             screen.blit(gameover_text2, gameover_text2_rect)

  454.             again_rect.left, again_rect.top = \
  455.                              (width - again_rect.width) // 2, \
  456.                              gameover_text2_rect.bottom + 50
  457.             screen.blit(again_image, again_rect)

  458.             gameover_rect.left, gameover_rect.top = \
  459.                                 (width - again_rect.width) // 2, \
  460.                                 again_rect.bottom + 10
  461.             screen.blit(gameover_image, gameover_rect)

  462.             # 检测用户的鼠标操作
  463.             # 如果用户按下鼠标左键
  464.             if pygame.mouse.get_pressed()[0]:
  465.                 # 获取鼠标坐标
  466.                 pos = pygame.mouse.get_pos()
  467.                 # 如果用户点击“重新开始”
  468.                 if again_rect.left < pos[0] < again_rect.right and \
  469.                    again_rect.top < pos[1] < again_rect.bottom:
  470.                     # 调用main函数,重新开始游戏
  471.                     main()
  472.                 # 如果用户点击“结束游戏”            
  473.                 elif gameover_rect.left < pos[0] < gameover_rect.right and \
  474.                      gameover_rect.top < pos[1] < gameover_rect.bottom:
  475.                     # 退出游戏
  476.                     pygame.quit()
  477.                     sys.exit()      

  478.         # 绘制暂停按钮
  479.         screen.blit(paused_image, paused_rect)

  480.         # 切换图片
  481.         if not(delay % 5):
  482.             switch_image = not switch_image

  483.         delay -= 1
  484.         if not delay:
  485.             delay = 100

  486.         pygame.display.flip()
  487.         clock.tick(60)
  488.         
  489. if __name__ == "__main__":
  490.     try:
  491.         main()
  492.     except SystemExit:
  493.         pass
  494.     except:
  495.         traceback.print_exc()
  496.         pygame.quit()
  497.         input()

复制代码


报错信息:Traceback (most recent call last):
  File "C:\Users\cilu\Desktop\飞机大战.py", line 4, in <module>
    import myplane
ModuleNotFoundError: No module named 'myplane'
最佳答案
2020-3-30 09:03:13
本帖最后由 wuqramy 于 2020-3-30 09:04 编辑

给你一个便宜点的,就一鱼币
p18_24.zip (1.66 MB, 下载次数: 1, 售价: 1 鱼币)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-30 08:56:53 | 显示全部楼层
myplane和代码放到同一文件夹了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 08:57:17 | 显示全部楼层
你没有 myplane.py
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 08:58:28 | 显示全部楼层

OK,把图片发我一下呗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 08:59:07 | 显示全部楼层
乘号 发表于 2020-3-30 08:58
OK,把图片发我一下呗

我把完整游戏代码和素材发给你吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 08:59:26 | 显示全部楼层
一个账号 发表于 2020-3-30 08:59
我把完整游戏代码和素材发给你吧

嗯嗯,蟹蟹
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 09:00:22 | 显示全部楼层
乘号 发表于 2020-3-30 08:58
OK,把图片发我一下呗


飞机大战.zip (1.67 MB, 下载次数: 2, 售价: 8 鱼币)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 09:00:56 | 显示全部楼层


你坑我啊,我都这么穷了还8鱼B!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 09:03:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 wuqramy 于 2020-3-30 09:04 编辑

给你一个便宜点的,就一鱼币
p18_24.zip (1.66 MB, 下载次数: 1, 售价: 1 鱼币)

评分

参与人数 1鱼币 +1 收起 理由
乘号 + 1 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2020-3-30 09:04:36 | 显示全部楼层
wuqramy 发表于 2020-3-30 09:03
给你一个便宜点的,就一鱼币

不用了,我买了,蟹蟹
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 09:05:45 | 显示全部楼层
乘号 发表于 2020-3-30 09:04
不用了,我买了,蟹蟹

那好吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 09:08:27 | 显示全部楼层
wuqramy 发表于 2020-3-30 09:03
给你一个便宜点的,就一鱼币

哈哈哈,这还有竞价的呀~~
好玩好玩~~
不过论坛好像有免费的呢~~
我记得有个人好像把自己写的打包发上来了,里面应该是有全部素材的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 09:09:18 | 显示全部楼层
sunrise085 发表于 2020-3-30 09:08
哈哈哈,这还有竞价的呀~~
好玩好玩~~
不过论坛好像有免费的呢~~

呃!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 09:09:48 | 显示全部楼层
sunrise085 发表于 2020-3-30 09:08
哈哈哈,这还有竞价的呀~~
好玩好玩~~
不过论坛好像有免费的呢~~

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 09:10:30 | 显示全部楼层

我送了你个最佳
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 09:12:03 | 显示全部楼层
乘号 发表于 2020-3-30 09:10
我送了你个最佳

谢了哦~

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
乘号 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 09:12:55 | 显示全部楼层

给我5个积分吧马上就要成熟鱼油1了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 09:16:49 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 09:18:11 | 显示全部楼层
乘号 发表于 2020-3-30 09:12
给我5个积分吧马上就要成熟鱼油1了

自己赚,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 09:20:22 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-30 21:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表