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


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

  1. Python+微信小程序开发(四)页面跳转和获取用户信息

    上一篇已经介绍了如何搭建一个自己的静态页面,接下来则涉及到一些用户信息获取与跳转的操作. 一.页面跳转 首先新建一个跳转页面,按上篇的操作生成pages/redirect/redirect. 1.对标 ...

  2. Python+微信小程序开发(二)代码构成和宿主环境

    一.小程序代码构成 ​在上一篇文章中,我们通过开发者工具载入模板快速创建了一个QuickStart项目.这个项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的  ...

  3. Python使用面向对象思想开发一个人机对战的猜拳游戏(石头剪刀布)。

    [开发该软件的操作系统]:windows10 [软件开发环境/开发工具]:PyCharm [编程语言]:Python [开发目的]:这是老师布置的作业啦~ 供初学者参考学习 [开发者]:江西农业大学2 ...

  4. Python+微信小程序开发(一)了解和环境搭建

    一.小程序介绍 1.什么是微信小程序? 移动互联网时代,手机 手机软件,在手机上中安装很多软件 腾讯和阿里(只安装自己不用别人) 腾讯:微信 + N小程序 阿里:支付宝 + N小程序 2.为什么要做小 ...

  5. 亚马逊重组游戏开发部门:数个未发布游戏被“扼杀”;台积电明年开始为苹果iPhone生产5nm处理器……...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  6. Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理

    Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理 本篇在前面的基础上,将进行逻辑的编码开发让游戏能够正式的玩起来,这里没有注重太多的体验细节,而是直接实现游戏的规则逻辑,将分成两个部 ...

  7. 硬件街机游戏开发,单片机游戏开发,CPLD/FPGA、ARM平台游戏开发群成立

    本超级QQ群成立,上限人数为500. 目标是发展中国游戏产业,提升硬件游戏开发技术交流.提供大的平台. 发展的方向是游戏动漫相结合,此群不是网络游戏开发,为单板街机游戏开发. 所属第三产业.以电脑板游 ...

  8. 小游戏开发上手体验 - Cocos Creator

    微信群里最大的骚扰源有两种: 一是转发#吱口令#~!@#¥%--&*,长按复制此消息领红包之类的 另一种就是各种小程序和小游戏的分享 前天有同学无意间把一个小游戏分享到了答疑群中,我看了一下, ...

  9. python入门小项目 | 开发一个《小猫抓鱼》小游戏

    小猫抓鱼 开发工具 讲解部分 一.游戏原理 二.游戏逻辑 三.重点代码实现 开发工具 python3.6.4 第三方库: pygame,random 讲解部分 一.游戏原理 游戏原理很简单,和接水果的 ...

  10. 用python可以开发小程序吗,python可以小程序开发吗

    python可以开发小程序吗 谷歌人工智能写作项目:小发猫 怎样用python 写小程序 你好,python不适合做小程序的前端需要学typescript.1.微信官方为小程序提供了大量的接口api ...

最新文章

  1. zerodivisionerror什么意思python-python代码里出现是啥意思
  2. mysql中主键外键的作用_数据库主键和外键的作用以及索引的作用,它的优缺点是什么?...
  3. RecyclerView添加头条目显示空白的解决方案
  4. 《Google官方SEO指南》十一:以恰当的方式推广你的网站
  5. html 保存文件指定路径,78.上传文件及在服务器保存文件到任意路径
  6. 90后女科学家,四年完成清华大学硕博连读,解决多个世界级难题
  7. Win7搭建http文件共享
  8. python环境搭建-pycharm2016软件注册码
  9. c语言——约瑟夫环(数组)
  10. python和c++实现 不改变长宽比缩放图片
  11. mysql外键级联操作_Mysql 外键级联
  12. 基于微信小程序游泳馆管理系统(微信小程序毕业设计)
  13. 智慧停车APP小程序开发前景及开发方案
  14. 颜色对照表、偏色修正表
  15. 【BZOJ2754】[SCOI2012]喵星球上的点名
  16. 穆迪ESG解决方案事业部旗下公司V.E就西班牙王国的主权绿色债券框架提供第二方意见
  17. 毕业设计 Spring Boot的公寓宿舍后勤管理系统(含源码+论文)
  18. 新游戏发布《三国记黄巾之乱》—新引擎预热
  19. 【论文泛读123】跨语言情感检测
  20. 火鸟地方门户后台详细使用教程

热门文章

  1. esxi远程管理端口_如何在 vmware esxi 中开放 VNC功能及端口实现远程管理 完整篇...
  2. iOS 应用上架流程(提交到AppStore)
  3. ios重签名shell脚本_IOS应用重签名(三种方法)
  4. 论文阅读-Twitter Bot Detection Using Bidirectional LongShort-term Memory Neural Networks-TPS-ISA会议
  5. 地形系统shader学习
  6. 1.5.6.六种常见的三角关系
  7. 读 S. Meyers 之《Effective C++:改善程序与设计的55个具体做法:第3版》
  8. TIA博途SCL编程学习16_歌德巴赫猜想验证
  9. [极客大挑战 2020]Roamphp 1、2、4
  10. OpenGL 与显卡