本案例——人生重开模拟器,主要的目的就是熟悉和掌握基础语法(不涉及def定义函数)的基本操作~~
一、下面是本系统用到的主要语法:
基础语法(一):
? ? ? ? 常量、变量、类型(整数,浮点数,字符串,布尔值)、注释、输入输出、
? ? ? ? 运算符(算术运算符,关系运算符、逻辑运算符、赋值运算符)
基础语法(二):
? ? ? ? 条件语句:
? ? ? ? ? ? ? ? if? ; if....else ; if...elif...elif...else;
? ? ? ? ? ? ? ? while
? ? ? ? ? ? ? ? for
? ? ? ? ? ? ? ? continue
? ? ? ? ? ? ? ? break
二、整体框架
接下来我把整体的系统框架构思下来,最后会附上代码,代码段含解释~~:
?
?三、代码示例:
接下来就是代码段的示例:
有部分涉及到逻辑思路的地方都写上了注释,我觉得特别适合新手掌握基础语法思路~~
***目前本案例的人生重开是到【青年阶段】,剩下的读者可以自行参照思路进行一次人生重开~~~**
import random
import sys
import time
print('--------------------------------------------')
print('| |')
print('| 花有重开日,人无再少年 |')
print('| |')
print('| 欢迎来到 人生重开模拟器 |')
print('| |')
print('--------------------------------------------')
#设置初始属性
#颜值 体质 智力 家境 总和不超过20 每一项取数1-10之间
#使用循环,使玩家在输入错误的时候,可以重新输入:
while True:
print("请设置初始属性(可用点数总和为20)")
face = int(input("请输入颜值(1-10):"))
strong = int(input("请输入体质(1-10):"))
iq = int(input("请输入智力(1-10):"))
home = int(input("请输入家境(1-10):"))
#通过条件语句,对于用户输入的属性值做出校验:
if face < 1 or face > 10:
print("颜值输入有误!")
continue
if strong < 1 or strong > 10:
print("体质输入有误!")
continue
if iq < 1 or iq >10:
print("智力设置有误!")
continue
if home < 1 or home > 10:
print("家境输入有误!")
continue
if face + strong + iq + home > 20:
print("总的属性超出了20,设置有误!!!")
continue
#如果当前上面的条件都没有被触发,则认为玩家输入的数据是合法的
#此时需要跳出循环结束输入
print("初始属性设置完毕!")
print(f"颜值:{face}, 体质:{strong}, 智力:{iq}, 家境:{home}")
break
#生成角色的性别
#使用 random, randint(beg,end),就能生成[beg,end] 随机整数
point = random.randint(1, 6)
print(f"point = {point}")
if point % 2 == 1:
gender = 'boy'
print("你是个男孩")
else:
gender = "girl"
print("你是个女孩")
#设定角色的出生点
#设置生成[1-3]的随机数
point = random.randint(1, 3)
if home == 10:
#第一档
print('你出生在帝都,父母是高管政要')
home += 1
iq += 1
face += 1
elif 7 <= home <= 9:
#第二档
if point == 1:
print("你出生在大城市,父母是公务员")
face += 2
elif point ==2:
print("你出生在大城市,父母是企业高管")
home += 2
else:
print("你出生在大城市,父母是大学教授")
iq += 2
elif 4 <= home <= 6:
#第三档
if point == 1:
print("你出生在三线城市,父母是医生")
strong += 1
elif point == 2:
print("你出生在镇上,父母是个体户")
home += 1
else:
print("你出生在镇上,父母是老师")
iq += 1
else:
#第四档
if point == 1:
print("你出生在农村,父母是辛苦劳作的农民")
strong += 1
face -=2
elif point == 2:
print("你出生在穷乡僻壤,父母是无业游民")
home -= 1
else:
print("你出生在镇上,父母感情不和")
strong -= 1
print(f'颜值{face}, 体质{strong}, 智力{iq}, 家境{home}')
#幼年阶段(左闭右开)
for age in range(1, 11):
#把一整年的打印都整理到一个字符串中,在这一年的结尾统一打印
info = f'你今年{age}岁。'
#生成一个[1-3]的随机整数。
point = random.randint(1, 3)
#接下来编写各种事件
#性别触发事件
if gender == 'girl' and home <=3 and point == 1:
info += "你的家人重男轻女思想非常严重,你被遗弃了!"
print(info)
print('游戏结束!')
sys.exit(0)
#体质触发事件
elif strong < 6 and point < 3:
info += '你生了一场病'
if home >= 5:
info += "在父母的悉心照料下,你的身体康复了"
strong += 1
home -= 1
else:
info += '你的父母没精力管你,你的身体状况更糟糕了'
strong -= 1
#颜值触发事件
elif face <= 3 and age >=7:
info += '你长得太丑了,别的小孩都不喜欢你'
if iq > 5:
info += '你决定用学习来填充自己!'
iq += 1
else:
if gender == 'boy':
info += "你和别的小孩经常打架,划花了脸"
strong += 1
face -= 1
else:
info +="你经常被别的小孩欺负"
iq -= 1
face -= 1
#智商触发事件
elif iq < 2:
info += "你看起来傻傻的..."
if home >= 8 and age <= 6:
info += " 你的父母把你送到更好的学校学习!"
iq += 1
elif 4 <= home <= 7:
if gender == 'boy':
info += "你的父母鼓励你多运动,争取成为运动员"
strong += 2
else:
info +="你的父母鼓励你多打扮自己"
face += 2
else:
#家境 < 4
info += "你的父母为此经常吵架"
if point == 1:
strong -= 1
elif point == 2:
iq -= 1
else:
pass
else:
info += '你健康成长。'
if point == 1:
info += "你看起来更结实了"
strong += 1
elif point == 2:
info += "你看起来更好看了"
face += 1
else:
pass
#打印这一年发生的事情
print(info)
print(f"颜值:{face}, 体质:{strong}, 智力:{iq}, 家境:{home}")
print('---------------------------------------------------')
time.sleep(1)
#青年阶段
for age in range(11,21):
info: str = f'你今年{age}岁。'
#生成一个[1-3]的随机整数。
point = random.randint(1,3)
#性别触发事件
if gender == "girl" and face <= 2 and point == 3:
info += "你长得太丑了,遭遇了校园暴力后自杀."
print(info)
print("游戏结束!")
sys.exit(0)
#颜值触发事件
elif face > 7 and point >= 2:
info += '你长得太漂亮了,是全校追捧的对象'
if home >= 8:
info +="你的父母非常富有,直接送你出道了"
face += 3
home += 2
elif 3 <= home <= 6 and point == 1:
info += "你的父母经济较为富裕,把你送进了艺校培训"
strong += 1
face += 1
else:
info += '你的家庭太穷了,没法负担起你的学费,你退学了'
face -= 2
home -= 1
strong += 2
#体质触发事件
elif strong > 7 and age < 16:
info += '你的体育才能非常出众'
if gender == 'boy' and iq > 7:
info += "你德智体能全面发展,是全校的校草"
iq += 2
face += 1
strong += 1
elif 5 <= iq <= 7 and home >=5:
info += "你的父母很支持你走体育的道路,所以你越来越强壮了"
iq -= 2
strong += 2
else:
info +='你荒废了你的体育才能'
strong -= 2
face -= 1
#智商触发事件
elif 4<= iq <6:
info +="你看起来资质平平,没有什么特色"
if home >=7:
info += "你的父母给了你很好的教育资源"
iq += 2
elif 4<= home <= 5:
if point == 1:
info += '你知道自己的家庭普通,所以发奋学习'
iq += 2
elif point == 2:
info += '你因为家境普通,所以在外兼职'
strong += 1
else:
info +='你因为家庭普通,直接放弃了学习'
iq -= 2
else:
info += '你因为每次都在班级倒数,直接辍学了'
iq -= 2
strong += 1
#智力触发事件
elif iq >=8:
if iq >=9 and point == 1 and age == 17:
info += "你因为出色的成绩,获得了高校的录取通知书"
iq += 3
face -= 1
strong -= 1
else:
info += '因为你的出色成绩,你一直占据着年级前几'
iq += 2
face -= 2
strong -= 1
#家境触发事件
elif home >= 2 and point >= 2:
if iq >=7 and home < 3:
info += '你因为家庭的困窘,不断的学习钻研'
home += 1
iq += 2
elif 4<= iq <= 6 and home < 2:
info += "你为了补贴家用,白天下课打工,晚上学习"
strong -= 2
home -= 1
else:
pass
#健康成长事件
else:
info += '你健康成长。'
if point == 1:
info += "你看起来更结实了"
strong += 1
elif point == 2:
info += "你看起来更漂亮了"
face += 1
else:
if face > 4:
info += "你长残了"
face -= 2
elif iq < 3:
info += "你更笨了"
iq -= 1
else:
pass
#打印这一年发生的事情
print(info)
print(f'颜值:{face}, 体质{strong}, 智力:{iq}, 家境:{home}')
print("------------------------------------------------")
time.sleep(1)
最后这里附上一个测试输入案例:
(在此我输入的是一个均为5属性的人生~~)
?
?到最后也可以看到目前到青年为止的你依然健康成长,若是属性均为1,那么很有可能早年夭折~~~
结语:开启你自己的人生重开吧~~~
|