Python游戏编程代码大全(python编游戏的代码)
Python编24点游戏
#?!/usr/bin/python
#?coding:utf8
'''
原始方法编24点游戏
'''
import?itertools
import?random
numlist?=?[random.randint(1,?13)?for?i?in?range(4)] #?随机4个数
print?numlist
nlist?=?[]
[nlist.append(nl)?for?nl?in?list(itertools.permutations(numlist))?if?nl?not?in?nlist] #?4个数排列组合,并在有重复数字时对组合去重
#?print?nlist
option?=?['+','-','*','/']
olist?=?list(itertools.product(option,repeat=3)) #?操作符重复组合3位
#?print?olist
retlist?=?[[str(nl[0])+'*1.0']+[ol[0]]+[str(nl[1])+'*1.0']+[ol[1]]+[str(nl[2])+'*1.0']+[ol[2]]+[str(nl[3])+'*1.0']?for?nl?in?nlist?for?ol?in?olist] #?拼凑4个数和3个操作符
#?print?retlist
#?括号的位置
#?(0,3)(0,5)
#?(2,5)(2,7)
#?(4,7)
#?(0,3)和(4,7)
lastlist?=?[]
for?ret?in?retlist:
????if?('*'?not?in?ret?and??'/'?not?in?ret)?or?('*'?in?ret?and??'/'?in?ret):
????????lastlist.append(''.join(ret))
????else:
????????lastlist.append(''.join(['(']+ret[:3]+[')']+ret[3:]))
????????lastlist.append(''.join(['(']+ret[:5]+[')']+ret[5:]))
????????lastlist.append(''.join(ret[:2]+['(']+ret[2:5]+[')']+ret[5:]))
????????lastlist.append(''.join(ret[:2]+['(']+ret[2:7]+[')']))
????????lastlist.append(''.join(ret[:4]+['(']+ret[4:7]+[')']))
????????lastlist.append(''.join(['(']+ret[:3]+[')']+ret[3:4]+['(']+ret[4:7]+[')']))
#?print?lastlist
i?=?0
for?ll?in?lastlist:
????try:
????????if?eval(ll)?==?24:??#?计算,每位数*1.0,是防止出现12/5=2的情况
????????????print?ll.replace('*1.0','')+'=24'???#?去掉'*1.0'
????????else:
????????????i?+=?1
????except?ZeroDivisionError,?e:
????????#?print?'除于0错误:?'+ll.replace('*1.0','')???#?表达式中有除于0的
????????i?+=?1
????????continue
if?i?==?len(lastlist):
????print?'no?output!'
python可以玩哪些小游戏?
ant 蚂蚁2. bagels 百吉饼另外贪吃蛇,吃豆子都是可以的,直接代码就可以玩。
Python包括随您的安装一起分发的大量标准库。标准库有一个称为Turtle的模块,这是一种向普通人介绍python编程的流行方法。今天介绍的所有游戏都是使用Python及其Turtle模块实现的。
每个游戏都完全独立于其他游戏,不试一试 您永远都不知道最喜欢哪种游戏。
安装完之后我们可以使用"python -m freegames list"来查看所有的游戏
贪吃蛇
贪吃蛇 -经典街机游戏。使用箭头键导航并吃绿色食品。每次食用食物,蛇就会长出一段。避免自己进食或出界!
吃豆子
吃豆子 –经典街机游戏。使用箭头键导航并吃掉所有白色食物。提防漫游迷宫的红色幽灵。
Flappy
Flappy-bird启发游戏。单击屏幕拍打翅膀。当您飞越屏幕时,请当心黑乌鸦。
加农炮
大炮-射击运动。单击屏幕发射您的炮弹。炮弹在其路径中弹出蓝色气球。弹出所有气球,然后才能越过屏幕。
python有趣的编程代码
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)
#收尾工作
这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错