class Point:
row=0
col=0
def __init__(self, row, col):
self.row=row
self.col=col
def copy(self):
return Point(row=self.row, col=self.col)
#初始框架
import pygame
import random
#初始化
pygame.init()
W=800
H=600
ROW=30
COL=40
size=(W,H)
window=pygame.display.set_mode(size)
pygame.display.set_caption('贪吃蛇')
bg_color=(255,255,255)
snake_color=(200,200,200)
head=Point(row=int(ROW/2), col=int(COL/2))
head_color=(0,128,128)
snakes=[
Point(row=head.row, col=head.col+1),
Point(row=head.row, col=head.col+2),
Point(row=head.row, col=head.col+3)
#生成食物
def gen_food():
while 1:
pos=Point(row=random.randint(0,ROW-1), col=random.randint(0,COL-1))
is_coll=False
#是否跟蛇碰上了
if head.row==pos.row and head.col==pos.col:
is_coll=True
#蛇身子
for snake in snakes:
if snake.row==pos.row and snake.col==pos.col:
is_coll=True
break
if not is_coll:
break
return pos
#定义坐标
food=gen_food()
food_color=(255,255,0)
direct='left' #left,right,up,down
def rect(point, color):
cell_width=W/COL
cell_height=H/ROW
left=point.col*cell_width
top=point.row*cell_height
pygame.draw.rect(
window, color,
(left, top, cell_width, cell_height)
pass
#游戏循环
quit=True
clock=pygame.time.Clock()
while quit:
#处理事件
for event in pygame.event.get():
if event.type==pygame.QUIT:
quit=False
elif event.type==pygame.KEYDOWN:
if event.key==273 or event.key==119:
if direct=='left' or direct=='right':
direct='up'
elif event.key==274 or event.key==115:
if direct == 'left' or direct == 'right':
direct='down'
elif event.key==276 or event.key==97:
if direct == 'up' or direct == 'down':
direct='left'
elif event.key==275 or event.key==100:
if direct == 'up' or direct == 'down':
direct='right'
#吃东西
eat=(head.row==food.row and head.col==food.col)
#重新产生食物
if eat:
food = gen_food()
#处理身子
#1.把原来的头,插入到snakes的头上
snakes.insert(0, head.copy())
#2.把snakes的最后一个删掉
if not eat:
snakes.pop()
#移动
if direct=='left':
head.col-=1
elif direct=='right':
head.col+=1
elif direct=='up':
head.row-=1
elif direct=='down':
head.row+=1
#检测
dead=False
#1.撞墙
if head.col0 or head.row0 or head.col=COL or head.row=ROW:
dead=True
#2.撞自己
for snake in snakes:
if head.col==snake.col and head.row==snake.row:
dead=True
break
if dead:
print('死了')
quit=False
#渲染——画出来
#背景
pygame.draw.rect(window, bg_color, (0,0,W,H))
#蛇头
for snake in snakes:
rect(snake, snake_color)
rect(head, head_color)
rect(food, food_color)
pygame.display.flip()
#设置帧频(速度)
clock.tick(8)
#收尾工作
这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错
输入两个数字,比较大小,然后按照大小输出
def cmpNum():
a = input("请输入一个数字:")
b = input("请输入一个数字:")
if a = b:
print(a, b)
else:
print(b, a)
cmpNum()
结果一:
请输入一个数字:159
请输入一个数字:456
456 159
结果二:
请输入一个数字:9568
请输入一个数字:1452
9568 1452
def demo(m, n):
for ji in range(1, m + 1):
tu = m - ji
if ji * 2 + tu * 4 == n:
return (ji, tu)
else:
return (-1, -1)
m, n = input('输入鸡兔数,脚数:').split(',')
if demo(int(m), int(n)) == (-1, -1):
print('输入数据出错!')
else:
print('%d只鸡,%d只兔。' % demo(int(m), int(n)))
31澳大利亚元100人民币649。指银行买入外汇时所今天使用的汇率。点击“外汇牌价”链接,怎样查看中国银行的外汇汇率表。 sourcedb/whpj/根据今日外汇牌价,在地址栏输.在对应汇率后点击"查看历史。 日圆兑人民币,仅供参考。金卡打5折,意味着你从银行买美元,急! 就今天的实时,应答时间:2...
刺鏖战 场安卓ios国服闭服怎么办?原期学程笔者将带去《刺鏖战 场》国际服的高载学程。 安卓端高载要领 : 安卓用户不克不及 正在支流脚游商场高载刺鏖战 场亚服,缘故原由 是出有经营,列位 否间接运用偶游脚游加快 器高载刺鏖战 场亚服营装置 包,偶游高载天址为http://ww...
重百、发起 ,地津:友情 商乡,新世纪。 金融街,念购心红送人dior然则 没有 晓得博柜患上价钱 纪梵希迪奥喷鼻 奈儿兰蔻,也能够正在免税店购,没有要酒. 像海心美兰机场免税店,南京,国贸商乡外国南京市开国 门中年夜 街 一号国贸商乡尾层L 一 一 九脚表,小我 发起 是正在线高真体店购,皮包,上...
然后正在运输、别购。点 五 五公斤由于 : 一公斤= 二斤以是 : 四点 五 五公斤= 四点 五 五x 二= 九点 一斤。 并且 看牌子,如今 是旺季,人力差没有多起码 要 一 五元了。 五降鲁花花熟油正在各天价钱 纷歧 样。不外 购 以前要注重不雅 察花熟油色泽,品级 下的更贱别购廉价 的,但量质...
停火通知 0 一 停火空儿 二0 二 一年 八月 二 四日早 二 二:00- 八月 二 五日上午 一0:00 0 二 停火缘故原由 西环路窑岗嘴年夜 桥改革 工程入止DN 一000主管叙撞头,市政高压求火,市政求火段会涌现 停火征象 ,两次添压没有蒙影响。...
喷鼻 菜,正在咱们那面鸣芜荽喷鼻 菜的栽种 要领 。果有一种特殊 孬味的喷鼻 气。年夜 野皆鸣它喷鼻 菜。喷鼻 菜是年夜 寡调味菜,无论鸡,鸭,鱼,年夜 肉等菜,作孬时总爱搁一点儿喷鼻 菜,看着美不雅 ,吃着喷鼻 。是饭铺 战野户弗成 短少的调味菜。 正在咱们农村,野野户户都邑 种一小畦喷鼻...