python编程代码游戏(python游戏程序代码)

http://www.itjxue.com  2023-03-29 20:51  来源:未知  点击次数: 

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的数字,提示电脑出拳结果本局对战结束,输出谁赢,是否继续输出结果:玩家赢几局电脑赢几局平局几次游戏结束。

(责任编辑:IT教学网)

更多

推荐新书快递文章