第一题:
游戏规则:
1. 游戏背景为10*10;
2. 游戏会自动生成1个乌龟和10条鱼;
3. 它们移动方向随机;
4. 乌龟最大移动能力为2; [-2,-1,1,2]
5. 鱼最大移动能力为1; [-1,1]
6. 当移动到场景边界, 自动反方向移动;
7. 乌龟初始化体能为100<200为上限>;每移动一次消耗体能1;
8. 当乌龟和鱼的坐标重合, 代表乌龟吃掉鱼, 体能增加20;
9. 乌龟无体力或者鱼吃光, 游戏结束;
import random
class BaseAmil(object):
def __init__(self):
self.x = random.randint(0, 9)
self.y = random.randint(0, 9)
def is_vaild(self, point):
if point < 0 :
return 0-point
elif point>9:
return 9 - (point-9)
return point
class Turtle(BaseAmil):
def __init__(self):
super(Turtle,self).__init__()
self.power = 100
def move(self):
move_skill = [-1, 1, 0, -2, 2]
new_x = self.x + random.choice(move_skill)
new_y = self.y + random.choice(move_skill)
self.x = self.is_vaild(new_x)
self.y = self.is_vaild(new_y)
self.power -= 1
def eat(self):
self.power +=20
# 乌龟体能上限为200
if self.power >=200:
self.power =200
class Fish(BaseAmil):
def move(self):
move_skill = [-1, 0, 1]
new_x = self.x + random.choice(move_skill) # 1
new_y = self.y + random.choice(move_skill) # 12
self.x = self.is_vaild(new_x)
self.y = self.is_vaild(new_y)
def main():
t1 = Turtle() #生成一个乌龟对象
fishs = [Fish() for i in range(10)]
while True:
if t1.power < 0:
print('乌龟死翘桥!Game Over....')
break
elif len(fishs)==0:
print('鱼被乌龟吃完了!Game Over')
break
else:
t1.move()
for fish in fishs:
fish.move()
#通过判断两个坐标是否相等 来判断乌龟是否吃鱼
if t1.x == fish.x and t1.y == fish.y:
t1.eat()
#将当前这条鱼从列表中删除
fishs.remove(fish)
print('鱼被吃掉!,乌龟体能为:%s'%(t1.power))
if __name__ == '__main__':
main()
第二题:
简单实现一个图书管理系统,每本书都有自己的属性,书名,作者,位置,是否借出(每一类书只有一本)。
方法有可以查找指定书籍是否已经借出,图书馆所有书的信息浏览,借出书籍,归还书籍。
class Book(object):
def __init__(self, name, author, state, bookIndex):
self.name = name
self.author = author
#0表示已经借出,1表示没有借出
self.state = state
self.bookIndex = bookIndex
def __str__(self):
return '书籍名称《%s》 作者:%s 状态:%s 位置:%s'%(self.name, self.author, self.state, self.bookIndex )
class BookManage(object):
books = dict()
def init(self):
self.books['python']=Book('python', 'Guido', 1, "INS888")
self.books['java'] = Book('java', 'Guido', 1, "INS888")
self.books['C/C++'] = Book('C/C++', 'Guido', 1, "INS888")
# def __str__(self):
# return '书籍名称《%s》 作者:%s 状态:%s 位置:%s'%(self.books)
def addBook(self):
name = input('书名:')
self.books[name]=Book(name,input('作者:'),1,input('书籍位置:'))
print('添加图书%s成功'%(name))
def borrowBook(self):
name