【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

导语:

哈喽铁汁们前几天不是许多城市都下起了鹅毛大雪嘛~(在湖南的小编真的时隔几年看到这么大的雪不要太激动了)不知道幸运的友友萌有好好玩雪了吗?雪仗跟雪人wo都是耍了的~😜😜

滑雪倒是没实现所以这期小编就想给大家整一个滑雪小游戏,让我们愉快的开始吧👇👇

想领取更多完整源码跟python学习资料可私信我或点击这行字体

正文:

开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

游戏预览:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

原理介绍

游戏规则:

玩家通过”AD”键或者”←→”操控前进中的滑雪者,努力避开路上的树,尽量捡到路上的小旗。

如果碰到树,则得分减50,如果捡到小旗子,则得分加10。

逐步实现:

Step1:定义精灵类

由于游戏涉及到碰撞检测(滑雪者与树和小旗之间的碰撞),因此我们定义两个精灵类,分别用于代表滑雪者和障碍物(即树和小旗):

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

其中,滑雪者在前进过程中应当拥有向左,向右偏移的能力,并且在偏移时滑雪者向前的速度应当减慢才更加合乎常理,这样才能供玩家操作。同时,滑雪者应当拥有不同的姿态来表现自己滑行时的状态:

直线:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

左偏一点:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

左偏很多:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

右偏一点:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

右偏很多:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

另外,尽管滑雪者的左右移动通过移动滑雪者本身实现,但是滑雪者的向前移动是通过移动障碍物实现的。

Step2:随机创建障碍物

现在我们需要定义一个随机创建障碍物的函数,以便在游戏主循环中调用:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

Step3:游戏主循环

首先我们初始化一些参数:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

其中障碍物创建两次的目的是便于画面衔接。

然后我们就可以定义主循环了:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

主循环的内容包括:

事件监听、障碍物的更新、碰撞检测以及分数的展示等内容,总之还是很容易实现的。

Step4:其他

开始、结束界面这些,就靠大家自己发挥了,我就写了一个简单的开始界面:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

效果:

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

附源码:

import pygame,sys,random

skier_images= ["skier_down.png","skier_right1.png","skier_right2.png","skier_left1.png","skier_left2.png"]

class SkierClass(pygame.sprite.Sprite):

    def __init__(self):

        pygame.sprite.Sprite.__init__(self)

        self.image = pygame.image.load("skier_down.png")

        self.rect = self.image.get_rect()

        self.rect.center = [320,100]

        self.angle = 0

        # 创建滑雪者

    def turn(self,direction):

        self.angle = self.angle + direction

        if self.angle < -2 :

            self.angle = -2

        if self.angle > 2 :

            self.angle = 2

        center = self.rect.center

       self.image = pygame.image.load(skier_images[self.angle])

        self.rect = self.image.get_rect()

        self.rect.center = center

        speed = [self.angle , 6-abs(self.angle) * 2]

        return speed

        # 滑雪者转向方法

    def move(self,speed):

        self.rect.centerx = self.rect.centerx + speed[0]

        if self.rect.centerx 620:

            self.rect.centerx = 620

        # 滑雪者移动方法

class ObstacleClass(pygame.sprite.Sprite):

    def __init__(self,image_file,location,type):

        pygame.sprite.Sprite.__init__(self)

        self.image_file = image_file

        self.image = pygame.image.load(image_file)

        self.rect = self.image.get_rect()

        self.rect.center = location

        self.type = type

        self.passed = False

        # 创建树和小旗子

    def update(self):

        global speed

        self.rect.centery -= speed[1] # 屏幕向上滚动

        if self.rect.centery = 640 :

        create_map()

        map_position = 0

        # 创建新场景

    hit = pygame.sprite.spritecollide(skier,obstacles,False)

    if hit:

        if hit[0].type == "tree" and not hit[0].passed:

            points -=100

            skier.image = pygame.image.load("skier_crash.png")

            score_text = font.render("Score:" +str(points),1,(0,0,0))

            pygame.time.delay(100)

            skier.iamge = pygame.image.load("skier_down.png")

            skier.angle = 0

            speed = [0,6]

            hit[0].passed = True

        elif hit[0].type == "flag" and not hit[0].passed:

            points +=10

            hit[0].kill()

        # 检测是否碰到树或者小旗子

    obstacles.update()

    score_text = font.render("Score:" +str(points),1,(0,0,0)) # 显示得分

    animate()

pygame.quit()

执行效果:

end

这期滑雪小游戏就分享到这了结束了喜欢的铁汁们记得三连噢!家人们的支持是小编更新最大的动力💪💪

Original: https://blog.csdn.net/L010409/article/details/122284889
Author: 车厘子@
Title: 【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。



相关阅读

Title: 【Python】– 可视化工具pyecharts的安装使用

pyecharts产生背景

Echarts是由百度开源的数据可视化,凭借良好的交互性和精巧的图表设计,得到众多开发者的认可,而python很适合用于数据处理,数据分析遇到数据可视化时pyecharts就产生了。

官网链接:https://pyecharts.org/#/

画廊pyecharts-gallery

pyecharts支持的图表众多,官方提供了画廊用于参考。

画廊链接:https://gallery.pyecharts.org/#/

一、pyecharts模块安装

使用pip命令快速安装:pip install pyecharts

此处省略,跟前面的文章安装第三方包的操作一样。

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

二、pyecharts入门

1、基础折线图

①导包Line

from pyecharts.charts import Line

②得到折线图对象

line = Line()

③添加x轴数据

line.add_xaxis(["&#x4E2D;&#x56FD;","&#x7F8E;&#x56FD;","&#x82F1;&#x56FD;"])

④添加y轴数据

line.add_yaxis("GDP",[30,20,10])

⑤生成图表

line.render()

运行后出现一个html文件,打开html文件会出现可视化图表。

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

2、pyecharts配置选项

全局配置选项

可通过set_global_opts方法配置

更多配置选项可前往官网参考。

例:

from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
line.set_global_opts(
    title_opts=TitleOpts("GDP&#x5C55;&#x793A;","center","1%"),
    legend_opts=LegendOpts(True),
    toolbox_opts=ToolboxOpts(True),
    visualmap_opts=VisualMapOpts(True)
)

【小游戏合集】之用Python制作一个滑雪小游戏~太适合上班摸鱼玩了。

Original: https://blog.csdn.net/Tir_zhang/article/details/126739936
Author: Shewyoo
Title: 【Python】– 可视化工具pyecharts的安装使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/342045/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载