使用python模拟游戏的运行机制

前言

最近决定要做游戏,虽然最应该学习的是C#语言,因为要学习unity,但是语言都是触类旁通的,关键是实现的方法和思想,不同代码的不同细节,慢慢就会熟能生巧了。今天听课遇到了一个小游戏,于是准备python来模拟实现一下。

功能(第一次)

1.炮台,一直存在,每秒发射一个激光炮
2.飞机,每3秒产生一架
3.激光炮(每秒一个),发射后立即判断是否击落飞机,攻击飞机50%击落飞机
4.世界在30秒后结束

分析:

第一次的功能是比较简单的,主要分为这么几个功能:
1.产生飞机,产生子弹,使用类来创建对象
2.倒计时功能,因为存在3个倒计时,分别是,3秒飞机生成,1秒激光炮生成,30秒世界结束。所以可以使用一个函数来计算。查了一些网上的资料,很多是使用time.sleep()函数,但是这么做的话,无论time.sleep()出现在哪一种倒计时中,都会让整个线程暂停,除非使用多线程的编程,但那样未免小题大作了,这里我用了不断获取当前时间与上一次时间的时间差来触发计时。

功能(第二次)

飞机1秒出现2架,且,飞机1在x0y100处,飞机2在x100,y100处,炮台在x50,y0处。
飞机以20/秒的速度飞向y0,(5秒就到达y0),一旦有飞机到达y0,游戏结束。
激光炮会优先攻击距离自己最近的飞机。

下面是代码:

import time
import random

class Plane:
    def __init__(self,x,y,speed):
        self.x = x
        self.y = y
        self.speed = speed
    def change_position(self):
        self.y -= self.speed
#class Pao:
    #def __init__(self,x,y):

def calculate_seconds(a,b):
    'a>b & a∈ 00:00 pattern'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值