利用Python做一个简单的对战小游戏

                          利用Python做一个简单的文字对战小游戏

一、游戏介绍

          1、大体介绍:文字版的对战小游戏,可以利用Python随机生成两个角色,角色带有各自的血量和攻击值两个指标。两人在对战时同时攻击对方,同时造成与攻击值相等的伤害。最终一方血量降到0以下的为输。

          2、拆解项目

          ①ver1.0:规定双方角色属性,战斗时人为计算血量,并直接打印战斗结果

          ②ver2.0:随机生成双方角色属性,自动计算扣除血量,并优化显示战斗过程的代码

          ③ver3.0:双方进行三局PK。每局判定胜负,三局两胜,判断最终结果

          ④ver4.0:优化三局两胜的获胜机制,优化代码。

          ⑤verX.0:........待开发

          3、游戏进程展示

                                                   

                                                     利用Python做一个简单的对战小游戏_第1张图片

 

          4、代码部分

#目前优化进度为ver3.1
#优化了文字进度......
import time,random

player_score = 0
enemy_score = 0
#询问是否需要再来一局或退出
while True:
    go_on = input('请问是否要继续吗?输入q可退出,输入其他则继续:')
    if go_on == 'q':
        print('游戏退出')
        break
    for i in range(1, 4): 
        #print(' \n——————现在是第'+str(i+1)+'局,ready go!——————')
        #print(' \n——————现在是第%s局,ready go!——————' % i)
        print('  \n——————现在是第 {} 局——————' .format(i))
        time.sleep(2)
    # 生成随机属性
        player_life = random.randint(100,150) 
        player_attack = random.randint(30,50) 
        enemy_life = random.randint(100,150) 
        enemy_attack = random.randint(30,50)

    # 定义局数胜利


    # 展示双方角色的属性
        #print('【玩家】\n'+'血量:'+str(player_life)+'\n攻击:'+str(player_attack))
        #print('【玩家】\n''血量:%s\n攻击:%s' % (player_life, player_attack))
        print('【八神庵】\n血量:{}\n攻击:{}' .format (player_life,player_attack))
    #player_life和player_attack都是整数类型,所以拼接时需要先用str()转换
        print('------------------------')
        time.sleep(1)
        #print('【敌人】\n'+'血量:'+str(enemy_life)+'\n攻击:'+str(enemy_attack))
        #print('【敌人】\n''血量:%s\n攻击:%s' % (enemy_life, enemy_attack))
        print('【草薙京】\n''血量:{}\n攻击:{}' .format (enemy_life, enemy_attack))
        print('------------------------')
        time.sleep(1)

    # 打印战果
    # 提示1:有三种结果,需要用到多向判断 if...elif...else 
    # 提示2:判断条件为双方的血量情况
        while player_life >0 and enemy_life > 0:
            player_life = player_life - enemy_attack 
            enemy_life = enemy_life - player_attack 
            #print('你发起了攻击,【敌人】剩余血量%s' % enemy_life)
            print('草薙京发起了攻击,【八神庵】剩余血量{}' .format (player_life))
            #print('敌人向你发起了攻击,【玩家】剩余血量%s' % player_life)
            print('八神庵发起了攻击,【草薙京】的血量剩余{}' .format (enemy_life))
            print('------------------------')

        if player_life > 0 and enemy_life <= 0:
            print('草薙京凉了,八神庵获胜!')
            player_score += 1
        elif player_life <= 0 and enemy_life > 0:
            print('悲催,草薙京把八神庵干掉了...')
            enemy_score += 1
        else:
            print('哎呀,草薙京和八神庵同归于尽了~')
        print(player_score, enemy_score)


    # 判断三局两胜的胜负者
    if player_score > enemy_score:
        print('最终获胜者是八神庵!')
    elif enemy_score > player_score:
        print('八神庵最终输掉了比赛...')
    else:
        print('八神庵和草薙京果然是平分秋色')

二、运用知识

         利用了简单的循环,判断,字符格式转换,Python内置函数库的简单Python知识,同时结合了拳皇对战游戏的游戏逻辑完成了这个文字版的对战小游戏。

你可能感兴趣的:(Python,学习日记,Python小项目)