50行的python游戏代码,python小游戏编程100例

  50行的python游戏代码,python小游戏编程100例

  遇见pygame:馅饼游戏

  Pygame库提供了绘制图形、获取用户输入、播放动画等功能。

  使用计时器使游戏以稳定的帧率运行。

  使用pygame库;

  用某种字体打印文本;

  使用循环重复动作;

  画一个圆,一个矩形,一条线和一个房子类型。

  创建一个馅饼游戏;

  哪里可以找到pygame图书馆:http://www.pygame.org/download.shtml

  现在使用的Python2.7和pygame1.9

  日本使用的环境是Python3.2和pygame1.9。

  目前,如果pip工具没有安装在Python3环境中,环境将不会匹配。

  Pygame库初始化:

  导入页面

  从pygame.locals导入*

  pygame.init(

  制作一个大小为600,500的屏幕

  sreen=py game . display . set _ mode((600,500))

  同时分配给表面的屏幕(600 x 500 x 32 SW)

  因为这是一个有用的值,所以它与screen变量一起保存。

  打印文本

  1.创建字体对象

  myfont=pygame.font.font(none,60)).

  无:使用默认字体

  60:字体大小

  2,screen.blit))创建一个可以绘制的平面

  text image=my font . render(" hello python ",True,(255,255,255))

  Render需要三个参数,要显示的字符串、抗锯齿是否为真/假以及颜色。最后,如果你的时间不是太紧,想快速提升,最重要的是不要怕辛苦。推荐价格区间@762459510。那真的很好。很多人进步很快,所以不用怕辛苦。请大家一起来看看吧~

  3.将文本图像传递给screen.blit()进行绘制。

  Screen.blit(文本图像,(100,100))

  Screen.blit())需要两个参数:要绘制的对象及其(左上角顶点)坐标。

  背景填充

  screen.fill ((0,0,0))

  Screen.fill()必须提供背景色。

  更新显示

  screen.display .更新(

  一般与while一起使用,以便重用。

  空循环

  While循环允许事件处理和连续屏幕更新。

  虽然正确:

  对于pygame.event.get()中的事件:

  ifevent.typein(quit,KEYDOWN):

  sys.exit())

  screen.display .更新(

  画一个圆

  pygame.draw.circle(屏幕,颜色,位置,半径,宽度) )。

  颜色(0,0,0)预定颜色

  半径半径

  给出圆心坐标位置(0 0,0)

  线条宽度

  画一个长方形

  pygame.draw.rect(屏幕,颜色,位置,宽度) )。

  Position(pos_x,pos_y,100,100))给出左上角的坐标、长度和宽度。

  描绘

  pygame.draw.line(屏幕,颜色,(0,0),(100,100),宽度) )。

  (0,0)) 100,100)负责给定线段的两端

  画一个弧线

  sart_angle=math.radians(0))。

  end_angle=math.radians(90))。

  位置=x半径、y半径、半径2、半径2

  #x,Y代表带圆弧的圆的圆心坐标,radius代表半径。

  pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度) )

  如果start_angle的起始角度指向右半径,开始逆时针旋转,则为0到360。

  结束角度结束角度

  两个值得学习的例子

  1.画一个移动的矩形

  #!/usr/hmdlm/python

  进口系统

  随机导入

  从随机导入随机

  导入页面

  从页面导入*

  pygame.init(

  sreen=py game . display . set _ mode((600,500))

  pygame.display.set _ caption("绘制矩形")

  pos_x=300

  pos_y=250

  vel_x=2

  vel_y=1

  颜色=100,100,100

  虽然正确:

  用于pygame.event.g中的事件

  et():

  if event.type in(退出,按键):

  sys.exit()

  screen.fill((0,0,200))

  pos_x=vel_x

  位置y=级别y

  如果pos_x500或pos_x0:

  级别x=-级别x

  rand1=randint(0,255)

  rand2=randint(0,255)

  rand3=randint(0,255)

  color=随机1、随机2、随机3

  如果位置y400或位置y0:

  级别y=-级别y

  rand1=randint(0,255)

  rand2=randint(0,255)

  rand3=randint(0,255)

  color=随机1、随机2、随机3

  宽度=0

  位置=位置x,位置y,100,100

  pygame.draw.rect(屏幕、颜色、位置、宽度)

  pygame.display.update()

  2.馅饼游戏

  #!/usr/hmdlm/python

  #初始化

  导入系统

  导入数学

  导入pygame

  从pygame.locals导入*

  pygame.init()

  screen=py game . display . set _ mode((600,500))

  pygame.display.set_caption("馅饼游戏-按1,2,3,4 ")

  myfont=pygame.font.Font(无,60)

  颜色=200,80,60

  宽度=4

  x=300

  y=250

  半径=200

  位置=x半径,y半径,半径2,半径2

  piece1=假

  第二件=假

  第三件=假

  第4部分=假

  虽然正确:

  对于pygame.event.get()中的事件:

  if event.typeQUIT:

  sys.exit()

  elif event.typeKEYUP:

  if event.keypygame.K_ESCAPE:

  sys.exit()

  elif event.keypygame.K_1:

  第一件=真

  elif event.keypygame.K_2:

  第二件=真

  elif event.keypygame.K_3:

  第三件=真

  elif event.key==pygame .k4:

  第4部分=真

  screen.fill((0,0,200))

  #画出四个数字

  textimage1=myfont.render("1 ",True,color)

  screen.blit(textimage1,(x半径/2-20,y半径/2))

  textimage2=myfont.render("2 ",True,color)

  screen.blit(textimage2,(x-radius/2,y-radius/2))

  textimage3=myfont.render("3 ",True,color)

  screen.blit(textimage3,(x半径/2,y半径/2-20))

  textimage4=myfont.render("4 ",True,color)

  screen.blit(textimage4,(x半径/2-20,y半径/2-20))

  #画弧线、直线

  如果第一件:

  start_angle=math.radians(0)

  end_angle=math。弧度(90)

  pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x半径y),宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x,y-半径),宽度)

  如果零件2:

  start_angle=math。弧度(90)

  end_angle=math。弧度(180)

  pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x,y-半径),宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x-半径y),宽度)

  如果零件3:

  start_angle=math。弧度(180)

  end_angle=math。弧度(270)

  pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x-半径y),宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x,y半径),宽度)

  如果零件4:

  start_angle=math。弧度(270)

  结束角度=数学弧度(360度)

  pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x,y半径),宽度)

  pygame.draw.line(屏幕,颜色,(x,y),(x半径y),宽度)

  #如果成功,显示绿色

  如果零件一和零件2以及零件3和零件4:

  颜色=0,255,0

  pygame.display.update()

  挑战

  1、绘制椭圆

  #!/usr/hmdlm/python

  导入系统

  导入简介及安装

  从pygame.locals导入*

  pygame.init()

  屏幕=py游戏。展示。set _ mode((600,500))

  pygame.display.set_caption("绘制椭圆")

  虽然正确:

  对于pygame.event.get()中的事件:

  if event.type in(退出,按键):

  sys.exit()

  screen.fill((0,255,0))

  颜色=255,0,255

  位置=100,100,400,300

  宽度=8

  pygame.draw.ellipse(屏幕、颜色、位置、宽度)

  pygame.display.update()

  这个题目就是让你认识一下pygame.draw.ellipse()函数的相关使用。

  该函数和pygame.draw.rect()函数使用方式十分相似。

  2、随机的绘制1000个线条

  #!/usr/hmdlm/python

  随机导入

  从随机导入产生均匀分布的随机整数矩阵

  导入系统

  导入简介及安装

  从简介及安装导入*

  pygame.init()

  屏幕=py游戏。展示。set _ mode((800,600))

  pygame.display.set_caption("画线")

  screen.fill((0,80,0))

  颜色=100,255,200

  宽度=2

  对于在范围内的一(11001):

  pygame.draw.line(屏幕,颜色、(randint(0,800)、randint(0,600))、(randint(0,800)、randint(0,600))、宽度)

  虽然正确:

  对于pygame.event.get()中的事件:

  if event.type in(退出,按键):

  sys.exit()

  pygame.display.update()

  通过这个题目理解了如果绘制图形和刷新显示都在循环中时,虽然是真的循环每次都会绘

  制图形并刷新显示。如果大家对计算机编程语言感兴趣的话,可以加一下我们的学习交流抠抠维哦:762,459,510,免费领取一套学习资料和视频课程哟~

  调用简介及安装模块中的randint()函数。

  而在虽然是真的循环外绘制图形,则图形绘制完成之后保持不变。刷新显示的是一个已经绘制好

  的图形。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以价位@762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

  3、修改矩形程序,使矩形碰到屏幕边界是,矩形会改变颜色

  #!/usr/hmdlm/python

  导入系统

  随机导入

  从随机导入产生均匀分布的随机整数矩阵

  导入简介及安装

  从简介及安装导入*

  pygame.init()

  屏幕=py游戏。展示。set _ mode((600,500))

  pygame.display.set_caption("绘制矩形")

  pos_x=300

  pos_y=250

  vel_x=2

  vel_y=1

  rand1=randint(0,255)

  rand2=randint(0,255)

  rand3=randint(0,255)

  颜色=随机1、随机2、随机3

  虽然正确:

  对于pygame.event.get()中的事件:

  if event.type in(退出,按键):

  sys.exit()

  screen.fill((0,0,200))

  pos_x=vel_x

  位置y=级别y

  如果pos_x500或位置_x0:

  级别x=-级别x

  rand1=randint(0,255)

  rand2=randint(0,255)

  rand3=randint(0,255)

  颜色=随机1、随机2、随机3

  如果位置400日元或位置y0:

  级别y=-级别y

  rand1=randint(0,255)

  rand2=randint(0,255)

  rand3=randint(0,255)

  颜色=随机1、随机2、随机3

  宽度=0

  位置=位置x,位置y,100,100

  pygame.draw.rect(屏幕、颜色、位置、宽度)

  pygame.display.update()

  这里需要用到随意模块。在每次碰到屏幕边界时,不仅改变矩形的运动方向,而且使用随机数改变矩形的颜色。

  也可以先将颜色设置为定值,可以少写三行代码。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: