Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)

Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)

  • 前言
  • 游戏素材准备
  • 游戏项目结构
  • 项目里面的类说明
  • Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇)
    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇)


    前言

    本次创作的灵感主要来自于抖音上的这个视频(https://www.douyin.com/video/7062637342158359838
    。当时刷到这个视频后就觉得特别有意思,所以就想着来做一个这样的打字小游戏出来。果然,现在放假在家,天天摆烂。只有那仅仅剩下的一点兴趣才是我学习的最大动力,诚不欺我,哈哈哈!!!

    我们先来看看游戏做出来后的实现效果:

    这个gif动画效果是由我把两个视频做了一下剪辑形成的,不然时间有点长,当然这个在实际体验中也是背景音乐的。
    然后就是,我做出来的这个游戏和抖音里面的那个也是有很大的差别的,
    界面没他的好看(因为素材不好找,也没有花时间来做美化),还是就是他里面的那个打字样式实现效果我弄不来,所以就弄成了上面的那样。
    最后,弄出来的这个游戏效果及其功能也基本上达到了我想要的效果。

    本次主要用到的模块有:

    import tkinter as tk
    import threading,random,time,datetime
    import inspect
    import ctypes
    from tkinter import ttk
    from pygame import mixer
    

    其中的pygame模块只是用来播放下背景音乐的,没别的用处,主要还是用tkinter来做的。inspect和ctypes模块用来做线程中断处理。
    好了,废话不多说,直接开始吧!


    游戏素材准备

    这些素材均来自度娘,也让我找了好长的时间,难受!!!其中,我把里面的小车和小树图片分别都做了一下背景透明处理,这样在加载图片时才好看些。


    游戏项目结构

    这次主要用到了面向对象的思想来做(现在这方面我还很菜(平常都是用函数的),所以在下面的流程中有问题的欢迎在评论区指正出来(手动狗头保命)!!!),先来看看大致的流程。


    项目里面的类说明

    简要介绍:
    一、class Player(玩家类):游戏名属性,创建一辆小车就代表一个玩家(自己)的方法;
    二、class Computer( 电脑类):游戏名属性(默认【电脑】),创建一辆小车就代表一个电脑玩家的方法;
    三、class Road(赛道类):赛道的长度属性,赛道有起点线、终点线的方法,赛道还有一个能移动起来的方法(在上面实现的效果中,我们看到小车不停的移动,其实里面小车本质上是静止的,而赛道是不停地向后移动的,所以利用相对性原理,赛道相对于小车移动,这样形成的移动视觉效果,我们就可以把小车看作是一直向前移动的);
    四、class Tree(小树类):位置属性,生成一棵小树方法,树相对于小车移动的方法(同理上面赛道移动,小树也是不断向后移动,但是对于小树和赛道来说,它俩是相对静止的);
    五、class Car(小车类):速度、位置属性,小车移动、速度变化方法;
    六、class display_text(打字类):生成打字的内容,每个字绑定键盘事件,记录打字速度的方法;
    七、class GameWindow(游戏窗口类):窗口大小,选择赛道,加载赛道、小树、小车、打字文本内容,记录游戏时长、cpm、wpm,返回、重新开始按钮。


    来源:清&轻

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)

    发表评论