首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈之路

    90版坦克大战

    QQ20181028-095043@2x.png 环境 编辑器:VSCode 语言:TypeScript 操作系统:Mac 名称: 仿90版坦克大战 依赖:NodeJs 说明 纯ts开发,游戏框架是用

    1.4K10发布于 2018-10-19
  • 来自专栏紫禁玄科

    C语言坦克大战

    PrintTank函数定义有说明 int model; //坦克图案模型,值为1,2,3,分别代表不同的坦克图案,0为我的坦克图案,AI不能使用 int stop; //只能是AI坦克使用的参数,非0代表坦克停止走动,0为可以走动 int revive; //坦克复活次数 int num; //AI坦克编号(固定值,为常量,初始化函数中定下 =LEFT && my_tank.x < tank->x) { //若是AI朝右并且我的坦克在AI坦克右方(数值大的在下面)或者AI朝左我的坦克在 //在map上把"坦克"九格填满代表敌我坦克的参数。 (86,36); printf("己坦克与敌坦克子弹碰撞"); GoToxy(87,37); printf("则抵消,敌坦克间子弹碰"); GoToxy(86,38);

    1.3K10编辑于 2022-03-24
  • 来自专栏全栈之路

    90版坦克大战

    环境 编辑器:VSCode 语言:TypeScript 操作系统:Mac 名称: 仿90版坦克大战 依赖:NodeJs 说明 纯ts开发,游戏框架是用java的改写的 涉及知识:ts、h5(canvas

    1.3K10发布于 2020-01-21
  • 来自专栏CodeBuddy 系列文章

    经典坦克大战:CodeBuddy 轻松打造街机风格的坦克对战游戏

    经典坦克大战游戏,作为街机游戏的代表之一,玩家控制一辆坦克,射击敌人并避免被敌人击中。这个游戏充满了动作和策略,每一局的战斗都紧张刺激。 而制作一个经典的坦克大战游戏,看似简单,但其实需要处理坦克的移动、射击、敌人的生成与AI、碰撞检测等多个复杂的游戏逻辑。 我的需求其实很简单我的需求非常明确:制作一个经典的坦克大战游戏,功能要求如下:坦克控制:玩家能够通过键盘控制坦克的移动,并发射子弹。敌人生成:敌人坦克会自动生成并向玩家发起攻击。 CodeBuddy立即解析并生成了一个完整的游戏代码,包括:坦克控制:玩家可以通过键盘的上下左右键来控制坦克的移动,空格键发射子弹。敌人生成与AI:敌人坦克会自动生成,并不断向玩家发起攻击。 结语如果你也想制作一个经典的坦克大战游戏,试试CodeBuddyIDE,输入类似的需求:“生成一个经典坦克大战游戏,玩家控制坦克射击敌人,避免被敌人击中。”

    40110编辑于 2025-08-28
  • 来自专栏大白技术控的技术自留地

    坦克大战游戏的设计

    坦克大战游戏的设计 一、功能描述:       这个坦克大战实现了我方坦克(玩家控制)以及敌方坦克(程序随机控制)的对战,当击毁所有敌方坦克之后玩家获胜,当我方坦克生命值被消耗完毕后失败。 游戏中,敌方坦克分为两类:一是快速的黄色坦克,二是有两点生命值的慢速坦克。玩家坦克的生命值一共为三。其中键盘的w、s、a、d分别控制坦克上下左右四个方向的移动,点击鼠标之后为发射子弹。 其中要注意的是,当子弹击中对方坦克或碰到障碍物消失之后才能发射下一个子弹。游戏过程中还会随机出现加速道具,获取之后玩家坦克的速度提升为初始的两倍。下面便是游戏的图片展示 : 游戏界面 ? 下面来进行分析: (一)多线程的处理:      在这个游戏中,最为核心的技术便是多线程的应用,我方坦克,敌方的十辆坦克、我方发射的子弹以及敌方坦克发射的子弹均为独立的线程,因此,在线程的控制上有了一定的难度 ,由于各个线程的设计思路相似,因此我在玩家坦克类中成功测试石头小河等障碍物后,比较轻松得就将判断移植到其他的线程之中了。

    2.5K10发布于 2019-03-05
  • 来自专栏TechBlog

    Java实现坦克大战2.0

    线程-应用到坦克大战 坦克大战0.3 分析如何实现当用户按下J键,我们的坦克就发射一颗子弹,思路: 当发射一颗子弹后,就相当于启动一个线程 Hero有子弹的对象,当按下J时,我们就启动一个发射行为(线程 当子弹移动到面板的边界时,就应该销毁(把启动的子弹的线程销毁) 坦克大战0.4 增加功能 让敌人的坦克也能够发射子弹(可以有多颗子弹) 在敌人坦克类,使用Vector保存多个Shot 当每创建一个敌人坦克对象 ,给该敌人坦克对象初始化一个Shot对象,同时启动Shot 在绘制敌人坦克时,需要遍历敌人坦克对象Vector,绘会制所有的子弹,当子弹isLive == false时,就从Vector移除 当我方坦克击中敌人坦克时 在创建敌人坦克对象时,启动线程 控制我方的坦克和敌人的坦克在规定的范围移动分析->解决 增加功能 我方坦克在发射的子弹消亡后,才能发射新的子弹. ,可以再发射子弹 当敌人的坦克击中我方坦克时,我方坦克消失,并出现爆炸效果 思路:编写方法,判断敌人的坦克是否击中我的坦克 课后练习:让敌人坦克可以最多发射3颗(在面板E),我们的坦克可以发射

    1.4K20编辑于 2023-05-09
  • 来自专栏纯洁的微笑

    用 Python 写个坦克大战

    简介 坦克大战的组成主要包括:场景、坦克、子弹、食物、大本营,其本质就是一个塔防类的游戏,游戏目标为:守住大本营并且消灭敌方坦克,通常支持单双人模式,下面我们来看一下具体实现。 ,坦克包括我方坦克和敌方坦克,我方坦克由玩家自己控制移动、射击等操作,敌方坦克实现自动移动、射击等操作,代码实现如下: # 我方坦克类 class myTank(pygame.sprite.Sprite __init__(self) # 用于给刚生成的坦克播放出生特效 self.born = True self.times = 90 # 坦克的种类编号 if kind is None , 红色的坦克比同类坦克多一点血量 if self.is_red: self.color = 3 else: self.color = random.randint(0, 2) 总结 本文我们使用 Python 实现了坦克大战的基本功能,还有待完善,有兴趣的话,可以对游戏做进一步的完善和扩展。

    2.5K40发布于 2020-07-03
  • 来自专栏TechBlog

    Java实现坦克大战3.0

    IO 流-应用到坦克大战 坦克大战0.5版 增加功能 防止敌人坦克重叠运动 记录玩家的总成绩(累积击毁敌方坦克数),存盘退出【io流】 记泉退出游戏时敌人坦克坐标/方向,存盘退出【io流】 玩游戏时,可以选择是开新游戏还是继续上局游戏 //在判断我方子弹是否击中敌人坦克时,就需要把我们的子弹集合中 //所有的子弹,都取出和敌人的所有坦克,进行判断 //老韩给的部分代码.. //什么时候判断 我方的子弹是否击中敌人坦克 ? //在判断我方子弹是否击中敌人坦克时,就需要把我们的子弹集合中 //所有的子弹,都取出和敌人的所有坦克,进行判断 //老韩给的部分代码.. //什么时候判断 我方的子弹是否击中敌人坦克 ?

    2K70编辑于 2023-05-09
  • 来自专栏哲学驱动设计

    Javascript 坦克游戏源码分享

    昨天无聊时,翻到一个 08 年 5 月用 javascript 写的坦克游戏,觉得蛮有意思,写篇博客纪念一下。当时写了一半就忙别的事去了,不过可以正常运行。

    1.3K60发布于 2018-01-26
  • 来自专栏TechBlog

    Java实现坦克大战1.0

    坦克动起来 现在我们学习java事件处理机制和java绘图技术,请试试看如何让你的坦克可以通过按键控制上右下左(wdsa表示)的移动。 初始化敌人坦克 for (int i = 0; i < enemyTankSize; i++) { //创建一个敌人的坦克 EnemyTank /** * @param x 坦克的左上角x坐标 * @param y 坦克的左上角y坐标 * @param g 画笔 private int y;//坦克的纵坐标 private int direct = 0;//坦克方向 0 上1 右 2下 3左 private int speed = 1; 如图所示分析: 因为敌人的坦克,是在MyPanel上所以我们的代码在MyPanel 因为敌人的坦克,后面有自己特殊的属性和方法,可以单开一个EnemyTank 敌人坦克数量多,可以放入到集合Vector

    1.3K10编辑于 2023-05-07
  • 来自专栏码农的生活

    java版坦克大战游戏源码

    this.mainF = mainF; this.style = style; init(); } private void init() { f = new JFrame("坦克大战

    1.2K10发布于 2021-09-23
  • 来自专栏CSDN博客

    语音指令控制坦克大战

    前言 本文将介绍一个可以通过语音指令来控制坦克大战游戏的程序,用户只需要添加几个疾病区然后控制坦克进行向上、向下、向左、向右、开火、停止等操作。同时还支持指令微调、提高指令的准确率。

    54410编辑于 2023-12-18
  • 来自专栏AI科技大本营的专栏

    用Python实现坦克大战游戏 | 干货贴

    作者 | 李秋键 出品 | AI科技大本营(rgznai100) 《坦克大战》是1985年日本南梦宫Namco游戏公司在任天堂FC平台上,推出的一款多方位平面射击游戏。 游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是FC平台上少有的内建关卡编辑器的几个游戏之一,玩家可自己创建独特的关卡,并通过获取一些道具使坦克和基地得到强化。 而今天我们就将利用python还原以下坦克大战的制作。 精灵类程序 其中精灵类设置作为基本程序框架用来主函数的调用,其中包括子弹类程序、食物类、家类、砖墙树木等障碍物类、坦克类。 ,建立tanks.py包括坦克数量名称、初始位置等信息: '''玩家坦克类''' class PlayerTank(pygame.sprite.Sprite): def __init__(self,

    1.7K20发布于 2020-10-27
  • 来自专栏深度学习和计算机视觉

    用Python实现坦克大战游戏 | 干货贴

    作者 | 李秋键 转载 | AI科技大本营(rgznai100) 《坦克大战》是1985年日本南梦宫Namco游戏公司在任天堂FC平台上,推出的一款多方位平面射击游戏。 游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是FC平台上少有的内建关卡编辑器的几个游戏之一,玩家可自己创建独特的关卡,并通过获取一些道具使坦克和基地得到强化。 而今天我们就将利用python还原以下坦克大战的制作。 ? 精灵类程序 其中精灵类设置作为基本程序框架用来主函数的调用,其中包括子弹类程序、食物类、家类、砖墙树木等障碍物类、坦克类。 ,建立tanks.py包括坦克数量名称、初始位置等信息: '''玩家坦克类''' class PlayerTank(pygame.sprite.Sprite): def __init__(self,

    1.5K43发布于 2020-10-26
  • 来自专栏六月-游戏开发

    纯C++实现字符版坦克大战

    下面是游戏过程根据输入操作坦克的源码: 操控坦克 if(kbhit()){ //如果有键盘被按下 key = getch( ,当该坦克死亡时 void turnDir(int dir); void turnDir(); //无参一般为敌方坦克自动调用 ,当该坦克死亡时 void turnDir(int dir); void turnDir(); //无参一般为敌方坦克自动调用 & 坦克开火速度& 炮弹弹道速度& 上场坦克数量& 玩家坦克数量"); while(1){ dosClear(x,y,7,choose); switch( & 坦克开火速度& 炮弹弹道速度& 上场坦克数量& 玩家坦克数量"); break; } if(key<0

    2.1K50编辑于 2022-12-26
  • 来自专栏EdisonTalk

    自己动手写游戏:坦克撕逼大战

    游戏中可以获取有多种功能的宝物,敌人种类则包括装甲车、轻型坦克、反坦克炮、重型坦克4种,且存在炮弹互相抵消和友军火力误伤的设定。    ,我们看到的所有内容,我们都可以理解为游戏对象(GameObject),每一个游戏对象,都由一个单独的类来创建;在游戏中主要有三类游戏对象:一是坦克,二是子弹,三是道具;其中,坦克又分为玩家坦克和电脑坦克 当然,除了玩家坦克外,我们的电脑坦克集合、子弹集合等集合对象实例也保证只有一份存储,降低游戏开销; (3)对象的运动 在整个游戏过程中,玩家可以通过键盘上下左右键控制玩家坦克的上下左右运动,而坦克的运动本质上还是改变游戏对象的 相比玩家坦克的移动,电脑坦克的移动则完全是通过程序中设置的随机函数控制上下左右实现的,而坦克们发出的子弹执行的运动则是从上到下或从下到上,从左到右或从右到左。 ,电脑坦克集合也只有一个,而具体的电脑坦克对象则分别在集合中Add和Remove。

    2K60发布于 2018-08-20
  • 来自专栏花叔的专栏

    最强坦克小游戏V2.0 强势发布

    1.改名为“最强坦克”小游戏 ? 2.推出“探险队”功能 ? 玩家可派遣探险队。 ? 探险队会前往各大战场进行坦币收集(探险队杀敌会有坦币加成)。 ? 每进行一次能力项强化,坦克价值就会+10,坦克价值即被杀时对方加分数值,坦克价值越高,证明玩家能力越强,越有地位。 4.推出“游戏圈”功能 ? 在首页点击右下角黑色图标可进入游戏圈。 ? 5.优化战场平衡 1.弱化追踪弹攻击力以及持续时间 2.战场内追加“野坦克” ? 野坦克目前有4种,分别能力如下: 巨型兵:体型较大,移动速度较慢,血量高,天生攻击力强(F),可捡获B子弹,坦克价值200 扩散兵:普通体型,移动速度正常,天生自带散弹(S),可捡获B和I子弹,坦克价值 150 冰化兵:普通体型,移动速度正常,天生自带冰弹(I),可捡获F子弹,坦克价值150 狙击兵:普通体型,移动速度正常,天生普通子弹,但可捡获C子弹,坦克价值150 认识花叔的都知道花叔不是轻易丢弃一个作品的人

    56210发布于 2018-07-23
  • 来自专栏YoungGy

    坦克问题的频率及贝叶斯解释

    在统计学理论的估计中,用不放回抽样来估计离散型均匀分布最大值问题在英语世界中是著名的德国坦克问题(German tank problem),它因在第二次世界大战中用于估计德国坦克数量而得名。 本文将从频率以及贝叶斯的角度探索坦克问题。 背景 假设所有的德国坦克是从1开始按自然数递增编号的,坦克的总数为N,也就是说坦克的最大编号为N。 盟军在战斗中共随机俘获/击毁了k辆坦克,且这些坦克的最大编号为m,那么应当如何对N的大小进行估计? [图片] 对于P(n|k),表示的是在收集到k量坦克信息(仅知道收集了k辆坦克而不知其数字)的条件下对群体数n的先验估计。 一些信息如下: 当k ≥ 1时,敌方坦克数量分布的众数为m。 当k ≥ 3时, N的均值有限: [图片] 当k ≥ 4时, N的标准差有限: [图片]

    2K100发布于 2018-01-03
  • 来自专栏Java学习从基础到就业

    【Java实战】Java实现坦克大战(韩顺平版)

        坦克大战         该坦克大战运用了JavaGUI图形库,多线程,文件IO,反射等Java高级编程中的知识,用来巩固Java语法非常合适。            我在韩老师原版的设计上做了一些改变,敌方坦克会永远保持三个,你每杀死一辆敌方坦克,并会在屏幕内随机生成一个敌方坦克以此来增加游戏乐趣,其他内容与原版无异。 编程过程中的一些注意事项: 坦克爆炸是通过反射实现的,而反射是Java程序在运行时实现的,所以图片应该放在项目的out文件夹下。 setEnemyTanks(Vector<Enemy> enemyTanks) { Recorder.enemyTanks = enemyTanks; } //当游戏退出时,保存击毁敌方坦克数以及敌人坦克的坐标和方向 g.drawLine(x,y+20,x+30,y+20); break; } } //编写方法,判断我方坦克是否击中敌人坦克

    1.1K10编辑于 2024-04-08
  • 来自专栏Crossin的编程教室

    Python实现80后童年经典游戏:坦克大战

    FC红白机上的“经典90坦克大战”是不少80后童年的集体回忆(暴露年龄了)。今天我们就分享一个用Python制作的仿“坦克大战”小游戏。 另外,玩家可以通过射击特定的坦克使地图上随机出现一个道具,若己方坦克捡到该道具,则触发一个事件,例如坦克能力的增强。 玩家操作方式如下: 玩家一: wsad键:上下左右; 空格键:射击。 首先,既然是坦克大战,总得有坦克吧? 己方坦克: ? 上面的代码定义了坦克的一些属性,例如速度、等级、是否处于受保护状态等等。 啊,还有坦克的等级提升与下降: ? 最后当然是坦克死后重置啦: ? 敌方坦克: 敌方坦克和己方坦克定义的源代码很相似,只不过移动是随机的,死后是不可复生的,就不截图了。 其中,钢墙不能被一般的子弹击破,砖墙可被任意子弹击破,除墙外,坦克可以穿过任意障碍物,不过没有任何附加效果(有兴趣的小伙伴可以自己扩展一下~比如冰上的坦克速度加快等等): ?

    2.3K20发布于 2021-03-26
领券