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,返回、重新开始按钮。


  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值