Python游戏编程代码大全(python编游戏的代码)

http://www.itjxue.com  2023-03-04 16:08  来源:未知  点击次数: 

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)

#收尾工作

这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错

(责任编辑:IT教学网)

更多

推荐linux文章