一、前期准备工作以及注意事项 Python游戏编程学习之路(持续更新)
注:开一个这样的专题只是为了更好的学习怎么用Python开发一款游戏,记录自己的学习过程,总结自己的学习收获,相当于做笔记吧!
一、安装Python
这一步非常简单,直接在官网:https://www.python.org/上下载适合自己的版本,推荐Python3.6版本以上。当然,下载这个只是为了配置好Python环境,它自带的IDLE文本编辑器功能不齐全,皆体验感极差,做项目是不推荐在上面做的,所以我们还要下载Pycharm,这是一款非常好用的软件,适合Python项目开发,具体可以自己去了解。
二、安装Pygame
由于我们是做游戏开发,所以我们必须要用到的一个库就是Pygame,这个Python是不自带的,我们需要下载安装,怎么安装呢?打开命令行提示符,我们安装我们需要的包是通过该命令来实现的pip install 包名或模块名
,但这个时候我们发现下载速度是很慢的,因为Python的包是默认的国外资源,我们下载的时候如果没有使用特殊手段,那自然是很慢的。那该怎么办呢?我们需要使用国内的镜像源,我一般用的是清华的镜像源:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/,利用这个,我们可以直接输入这个指令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
,这个时候下载就非常快了。
三、编程思想
一定要注意编程规范,这是非常重要的,尤其是在Python中,更加严格。我们在声明变量的时候这个变量的名称尽量要和变量的含义相对应,这是一种非常好的习惯,应当遵守。
还有,由于Python是面向对象语言,且现在流行的编程方式就是OOP,所以我们制作项目最好是按模块制作,即万物皆对象。(读者可以自行去了解这两种编程方式的区别,这里贴一个链接供参考:https://zhuanlan.zhihu.com/p/75265007)
四、Python基础知识
学这个之前首先要熟悉Python的基本语法,不用学得很深,对于Python来讲是分了很多方向的,有很多你都接触不到,我们要学完基本的章节,对于Pygame库的使用在后面会提到(博主也在学习。)。
五、Python入门编程挑战
题目前提
给定 Point类如下:
class Point():
x=0.0
y=0.0
#构造函数
def __init__(self,x,y):
self.x=x
self.y=y
print("Point constructor")
#输出方法
def ToString(self):
return "{X:"+str(self.x)+",Y:"+str(self.y)+"}"
Circle类如下:
class Circle(Point):
radius=0.0
def __init__(self,x,y,radius):
super().__init__(x,y)
self.radius=radius
print("Circle constructor")
def ToString(self):
return super().ToString()+",{radius="+str(self.radius)+"}"
Size类如下:
class Size():
width=0.0
height=0.9
def __init__(self,width,height):
self.width=width
self.height=height
print("Size constructor")
def ToString(self):
return "{widht="+str(self.width)+",height="+str(self.height)+"}"
Rectangle类如下:
class Rectangle(Point,Size):
def __init__(self,x,y,width,height):
Point.__init__(self,x,y)
Size.__init__(self,widht,height)
print("Rectangle constructor")
def ToString(self):
return Point.ToString()+","+Size.ToString()
1.打开GemotryDemo.py程序,并且创建一个集成自Point的新类,名为Elipse。它有一个水平半径和垂直半径,而不是像Circle那样只有一个半径。
2.给Rectangle类添加一个名为CalcArea()的方法,它返回Rectangle的面积。计算公式是:Area=Width*Height。测试该方法以确保它能工作。
3.给Circle类添加一个名为CalcCircum()的新方法,它返回圆的周长。计算公式是Circumference=2*Pi*Radius(Pi=3.14159)。测试该方法以确保能工作。
1.参考答案
class Point():
x=0.0
y=0.0
#构造函数
def __init__(self,x,y):
self.x=x
self.y=y
print("Point constructor")
#输出方法
def ToString(self):
return "{X:"+str(self.x)+",Y:"+str(self.y)+"}"
class Elipse(Point):
x_radius=0.0
y_radius=0.0
#构造函数,这里我们要调用基类的构造函数。
def __init__(self,x,y,x_radius,y_radius):
super().__init__(x,y)
self.x_radius=x_radius
self.y_radius=y_radius
print("Elipse constructor")
def ToString(self):
return super().ToString()+",{x_radius="+str(self.x_radius)+"}"+",{y_radius="+str(self.y_radius) + "}"
p = Point(10,20)
print(p.ToString())
e=Elipse(100,100,50,40)
print(e.ToString())
2.参考答案
class Rectangle(Point,Size):
def __init__(self,x,y,width,height):
Point.__init__(self,x,y)
Size.__init__(self,width,height)
print("Rectangle constructor")
def ToString(self):
return Point.ToString(self)+","+Size.ToString(self)
def CalcArea(self):
return self.width*self.height
r=Rectangle(200,250,40,50)
print(r.ToString())
print(r.CalcArea())
输出
3.参考答案
class Circle(Point):
radius=0.0
def __init__(self,x,y,radius):
super().__init__(x,y)
self.radius=radius
print("Circle constructor")
def ToString(self):
return super().ToString()+",{radius="+str(self.radius)+"}"
def CalcCircum(self):
Pi=3.14159
return 2*Pi*self.radius
c=Circle(100,100,50)
print(c.ToString())
print(c.CalcCircum())
输出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!