python编程代码游戏(python游戏程序代码)
Python程序开发之简单小程序实例(11)小游戏-跳动的小球
Python程序开发之简单小程序实例
(11)小 游戏 -跳动的小球
一、项目功能
用户控制挡板来阻挡跳动的小球。
二、项目分析
根据项目功能自定义两个类,一个用于控制小球在窗体中的运动,一个用于接收用户按下左右键时,挡板在窗体中的运动。在控制小球的类中,我们还需要考虑当小球下降时,碰到挡板时的位置判断。
三、程序源代码
源码部分截图:
源码:
#!/usr/bin/python3.6
# -*- coding: GBK -*-
#导入相应模块
from tkinter import *
import random
import time
#自定义小球的类 Ball
class Ball:
# 初始化
def __init__(self,canvas,paddle,color):
#传递画布值
self.canvas=canvas
#传递挡板值
self.paddle=paddle
#画圆并且保存其ID
self.id=canvas.create_oval(10,10,25,25,fill=color)
self.canvas.move(self.id,245,100)
#小球的水平位置起始列表
start=[-3,-2,-1,1,2,3]
#随机化位置列表
random.shuffle(start)
self.x=start[0]
self.y=-2
self.canvas_heigh=self.canvas.winfo_height()#获取窗口高度并保存
self.canvas_width=self.canvas.winfo_width()
#根据参数值绘制小球
def draw(self):
self.canvas.move(self.id,self.x,self.y)
pos=self.canvas.coords(self.id)#返回相应ID代表的图形的当前坐标(左上角和右上角坐标)
#使得小球不会超出窗口
pad=self.canvas.coords(self.paddle.id)#获取小球挡板的坐标
if pos[1]=self.canvas_heigh or(pos[3]=pad[1] and pos[2]=pad[0] and pos[2]
python简单小游戏代码 怎么用Python制作简单小游戏
1、Python猜拳小游戏代码:
2、import random #导入随机模块
3、
4、num = 1
5、yin_num = 0
6、shu_num = 0
7、while num 2:
12、 print('不能出大于2的值')
13、 else:
14、 data = ['石头', '剪刀', '布']
15、 com = random.randint(0, 2)
16、 print(您出的是{},电脑出的是{}.format(data[user], data[com]))
17、 if user == com:
18、 print('平局')
19、 continue
20、 elif (user == 0 and com == 1) or (user == 1 and com == 2) or (user == 2 and com == 0):
21、 print('你赢了')
22、 yin_num += 1
23、 else:
24、 print('你输了')
25、 shu_num += 1
26、 num += 1
27、Python数字炸弹小游戏代码:
28、import random
29、import time
30、
31、bomb = random.randint(1, 99)
32、print(bomb)
33、start = 0
34、end = 99
35、while 1 == 1:
36、
37、 people = int(input('请输入{}到{}之间的数:'.format(start, end)))
38、 if people bomb:
39、 print('大了')
40、 end = people
41、 elif people bomb:
42、 print('小了')
43、 start = people
44、 else:
45、 print('BOOM!!!')
46、 break
47、 print('等待电脑了输入{}到{}之间的数:'.format(start, end))
48、 time.sleep(1)
49、 com = random.randint(start + 1, end - 1)
50、 print('电脑输入:{}'.format(com))
51、 if com bomb:
52、 print('大了')
53、 end = com
54、 elif com bomb:
55、 print('小了')
56、 start = com
57、 else:
58、 print('BOOM!!!')
59、 break
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)
#收尾工作
这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错
有什么著名的游戏是用Python编写的?
魔兽世界、坦克世界,星战前夜,文明帝国4,战地风云2是用Python编写的。
Python由荷兰数学和计算机科学研究学会的Guido van Rossum于1990年代初设计,作为一门叫做ABC语言的替代品。
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
相关资料
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。
python编程应用:小游戏hangman
代码分析:
1.import random导入模块
导入random模块,本程序主要是使用random.randint(0,3)方法生成一个0-3之间的随机的随机数。
2、HANGMAN_PICS常量
Python默认把定义的常量大写,HANGMAN_PICS是一个字符列表常量,字母全部大些也提醒一次赋值之后不再改变,这就是常量的意思。
3、列表格式
animals=['frog','rabbit','owl','peacock'] 列表包含4个元素(item),每一个元素用逗号隔开,左边方括号和右边的方括号是列表必须格式必须带的。
4、列表访问
用索引访问元素animals[0],0就是索引号,以此类推还想访问其他元素...animals[1],animals[2],animals[3],如果继续访问animals[4]就会造成索引越界报indexError的错误。
5、“ + ”连接符
“ + ”号 在程序中除了进行运算,还有就是连接字符串和列表,例1:animals='frog',+'rabbit'就会得到animals = 'frograbbit'. 例2:animals = ['frog','rabbit']和river_animals = ['duck','snake']两个列表通过 “+”连接符 就获得['frog', 'rabbit', 'duck', 'snake']一个合成新列表。
6、用索引赋值来修改列表元素
animals[1] = 'swan' 生成一个新列表 animals = [ 'frog' , 'swan' ]
7、in操作符
in操作符告诉我们in左边的值是否包含在右边列表中,如果该值在列表中它将要返回True;如果该值不在列表中,返回值是False。例1:'dragonfly' in [ 'frog' , 'rabbit' ] 返回值是 False 例2 :'duck' in [ 'duck' , 'snake' ] 返回值是True 。例3: ' bee ' in ' sanke bee bird bear lion owl .'
8、调用方法(method)
8.1针对列表的方法 reverse( ) 和 append( )
reverse() 方法会把列表中的元素顺序反转,numbers = [ 1 , 2 , 3 , 4 , 5 ]然后 numbers.reverse( )会反转列表元素 numbers = [ 5 , 4 , 3 , 2 , 1 ]
append()方法在列表的最后添加一个元素,numbers.append( 6 ) 得到 numbers = [ 1 , 2 , 3 ,4 , 5, 6]
8.2 字符串方法 split( )
程序的51行使用此方法,让字符串 words 反馈一个words = [ 'ant', 'baboon', 'badger', 'bat', 'bear'........] 列表
python猜拳游戏编程代码背景意义
python猜拳游戏编程代码背景意义是用面向对象的思想做一个游戏。用面向对象的思想玩家猜拳:1剪刀2石头3布玩家输入一个1-3的数字电脑出拳:随机产生一个1-3的数字,提示电脑出拳结果本局对战结束,输出谁赢,是否继续输出结果:玩家赢几局电脑赢几局平局几次游戏结束。