python从第二行开始写_从0开始用python写一个命令行小游戏(二)

我回来了!今天,我们真正会亮相的植物要出来了哦!还有,我们敌人的基础类(我叫它BaseZombie)也会闪亮登(lai)场(xi)。很期待?那就开始吧!

注:我使用的是Python 3.7(但只要是3,变化应该都不大)。还有,这是第二篇。没看过上篇的话,这是链接。闲话少说,进入正题!

两种植物:Sunflower和Peashooter

向日葵是Sunflower,豌豆射手是Peashooter。好,上代码!

向日葵

board = [0] * 10

sunlight = 50

class GameObject:

indicating_char = '' # 子类已经出现,所以把基础类的显示字符删除

pass # 剩余部分同前

class Plant(GameObject):

pass # 同前,但将显示字符删除

class Sunflower(Plant):

""" 向日葵 """

indicating_char = 's'

def __init__(self, pos):

""" 初始化,阳光50 """

super().__init__(pos, 50)

def step(self):

""" 生产阳光 """

global sunlight

sunlight += 25

嗯,向日葵编好了。IPython(注:增强版Python shell),你怎么看?

In [1]: import game as g

In [2]: g.sunlight

Out[2]: 50

In [3]: g.Sunflower(0)

Out[3]: s

In [4]: g.board[0].step()

In [5]: g.sunlight

Out[5]: 25 # 种植向日葵损失50,它又产生25

成功!现在,该编豌豆射手了。

豌豆射手

class Peashooter(Plant):

indicating_char = 'p'

def __init__(self, pos):

super().__init__(pos, 100) # 豌豆射手需要100阳光

def step(self):

for obj in board[self.pos:]:

if isinstance(obj, BaseZombie): # 就当BaseZombie存在

pass # 哎呀!

好好编程,“哎呀”什么?因为我突然发现,目前还没有定义角色的生命值(你们尽情吐槽吧)!于是,在GameObject的__init__方法前面追加:

class GameObject:

blood = 10 # 初始生命值

pass # 剩余同前

然后又突然想到,角色死没死不也是用这个定义的吗?于是加了几个方法和属性:

class GameObject:

indicating_char = ''

blood = 10

alive = True

def __init__(self, pos):

pass # 同前

def step(self):

pass

def die(self):

pass

def check(self):

if self.blood < 1:

self.alive = False

def full_step(self):

self.check()

if not self.alive:

board[self.pos] = 0

self.die()

else:

self.step()

好,现在把豌豆射手里的那个pass改成:

for obj in board[self.pos:]:

if isinstance(obj, BaseZombie):

obj.blood -= 1.5 # 这里原来是pass

但是因为没有BaseZombie,我们也不能使用Peashooter。好,现在,3,2,1,放僵尸!

僵尸基础类

我们即将亲手创造游戏中的大坏蛋:僵尸!来吧,面对这个基础类······

class BaseZombie(GameObject):

indicating_char = 'b'

def __init__(self, pos, speed, harm, die_to_exit=False):

super().__init__(pos)

self.speed = speed

self.harm = harm

self.die_to_exit = die_to_exit

def step(self):

if board[self.pos - self.speed] == 0:

orig_pos = self.pos

self.pos -= self.speed

board[orig_pos] = 0

board[self.pos] = self

elif isinstance(board[self.pos - 1], Plant):

board[self.pos - 1].blood -= 1

else:

self.pos -= 1

board[self.pos + 1] = 0

board[self.pos] = self

def die(self):

if self.die_to_exit:

import sys

sys.exit()

好,让我们的新类们去IPython里大展身手吧!

In [1]: import game as g

In [2]: def step():

...: for obj in g.board:

...: if isinstance(obj, g.GameObject):

...: obj.step()

...:

In [3]: g.Sunflower(0)

In [4]: step()

In [5]: step()

In [6]: step()

In [7]: step()

In [8]: g.sunlight

Out[8]: 100

In [9]: g.Peashooter(1)

In [10]: g.BaseZombie(9, 1, 1)

In [11]: step()

In [12]: step()

......

In [18]: step()

In [19]: g.board

Out[19]: [s, p, 0, 0, 0, 0, 0, 0, 0, 0]

看来,豌豆射手打败僵尸了!

下集预告

下次,赶快把BaseZombie的子类编出来后,我们就要开始开发用户界面了!欢迎来看!

### 回答1: 首先,你需要了解一些基本的网络编程知识和 HTML 和 CSS 的基础知识,因为这些知识是网页游戏的基础。 下面是一个使用 Python 和 Flask 框架创建简单网页游戏的示例: 1. 安装 Flask 框架: ``` pip install flask ``` 2. 创建一个名为 `app.py` 的 Python 文件,然后导入 Flask 框架: ```python from flask import Flask app = Flask(__name__) ``` 3. 定义一个路由,这样用户访问网站时会看到的内容: ```python @app.route('/') def index(): return 'Welcome to my game!' ``` 4. 在程序的末尾添加如下代码,以便 Flask 框架运行程序: ```python if __name__ == '__main__': app.run() ``` 5. 运行程序: ``` python app.py ``` 现在,当你访问 `http://localhost:5000` 时,你会看到一个显示 "Welcome to my game!" 的网页。 接下来,你可以使用 HTML 和 CSS 来美化你的网页,并使用 Python 和 Flask 框架来添加游戏逻辑。例如,你可以使用 HTML 表单来让用户输入信息,然后使用 Python 代码来处理输入并显示结果。 希望这些信息对你有帮助! ### 回答2: Python是一种非常强大的编程语言,可以用来编各种类型的应用程序,包括网页小游戏。下面我将以一个简单的猜数字游戏为例,介绍如何使用Python一个网页小游戏。 首先,我们需要创建一个网页来显示游戏的界面和结果。可以使用Python一个轻量级Web框架如Flask来实现。首先安装Flask库,然后创建一个Python文件game.py,并编以下代码: ```python from flask import Flask, render_template, request app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/', methods=['POST']) def play(): secret_number = 42 guess = int(request.form['guess']) if guess == secret_number: result = '恭喜你猜对了!' elif guess < secret_number: result = '不好意思,猜小了。' else: result = '不好意思,猜大了。' return render_template('index.html', result=result) if __name__ == '__main__': app.run(debug=True) ``` 接下来,创建一个名为index.html的HTML模板文件,用于显示游戏界面和结果。在templates文件夹中创建index.html文件,并编以下代码: ```html <!doctype html> <html> <head> <title>猜数字游戏</title> </head> <body> <h1>猜数字游戏</h1> <form action="/" method="POST"> <input type="number" name="guess"> <input type="submit" value="猜"> </form> {% if result %} <p>{{ result }}</p> {% endif %} </body> </html> ``` 现在,我们可以通过在命令行中运行`python game.py`来启动游戏。在浏览器中访问`http://localhost:5000`,即可开始游戏。玩家需要在输入框中猜一个数字,然后点击“猜”按钮提交答案。程序会判断答案的大小并显示相应的结果。 以上是一个简单的用Python的网页小游戏的例子。通过在这个基础上进行扩展,你可以创建更多有趣的网页小游戏。 ### 回答3: 使用Python网页小游戏是相当简单的。首先,我们可以使用Flask或Django等Python的Web框架来创建网页。这两个框架都为我们提供了创建网页应用程序的基本工具和功能。 接下来,我们可以使用HTML、CSS和JavaScript等前端技术来设计和渲染游戏界面。Python框架提供了与前端交互的方式,我们可以将前端的用户输入传递给后端的Python代码进行逻辑处理。 在游戏逻辑方面,我们可以使用Python来实现游戏的规则、算法和逻辑。例如,我们可以使用Python的条件语句、循环和函数等特性来编游戏的判断和操作逻辑。 另外,我们可以使用Python的第三方库来增强游戏功能。例如,我们可以使用Pygame来处理图形、音效和动画等游戏元素。此外,我们还可以使用其他库,如Pandas、NumPy和Scikit-learn等,来处理游戏中的数据和机器学习等问题。 总之,使用Python网页小游戏是一项有趣且具有挑战性的任务。通过结合Python的后端处理能力和前端设计技术,我们可以创建出独特、有趣的网页小游戏。为了实现这个项目,你需要具备一定的Python编程和Web开发经验,并结合网上的教程和资源进行深入学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值