首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式开发圈

    动手智能小车记(5)-坦克底盘硬件模块大杂烩

    关于小车,之前也写了好几期了,先给大家放一段视频,后面打算将机械臂集成到坦克上,目前还在调试中,夹具已经能够控制夹紧和松开了: http://mpvideo.qpic.cn/0bf2vyaaeaaajqaep4pxgrpfblwdakxaaaqa.f10002 dis_k=0c73278a604b7e7d88192d644375be4f&dis_t=1593588816 上次那辆小车的底盘实在是脆弱,一不小心就撞碎了,后面直接上了个坦克底盘,在基于坦克底盘的小车上 ,控制坦克行走和之前小车的方法一致,采用的是PWM直驱,通过改变占空比的形式让坦克前进、后退、左右转。 https://baike.baidu.com/item/%E6%AD%A5%E8%B7%9D%E8%A7%92/5946465? define DOWN 1 #define LEFT 2 #define RIGHT 3 #define LEFT_UP 4 #define LEFT_DOWN 5

    75220发布于 2020-07-01
  • 来自专栏全栈之路

    90版坦克大战

    QQ20181028-095043@2x.png 环境 编辑器:VSCode 语言:TypeScript 操作系统:Mac 名称: 仿90版坦克大战 依赖:NodeJs 说明 纯ts开发,游戏框架是用 java的改写的 涉及知识:ts、h5(canvas),nodejs,java,游戏开发(声音系统、图像系统、行为系统(按键绑定行为)、简单精灵、精灵动画、简单界面绘制),ps(图片都是自己设计的哦,虽然是仿照的

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

    C语言坦克大战

    PrintTank函数定义有说明 int model; //坦克图案模型,值为1,2,3,分别代表不同的坦克图案,0为我的坦克图案,AI不能使用 int stop; //只能是AI坦克使用的参数,非0代表坦克停止走动,0为可以走动 int revive; //坦克复活次数 int num; //AI坦克编号(固定值,为常量,初始化函数中定下 ,子弹在map上没有值(子弹仅仅是一个假坐标) //map里的值: 0为可通过陆地,1为红砖,2黄砖,5为水,100~103为敌方坦克,200为我的坦克, //全局变量 int map[41][41]; =2 && interval[i+5]++%3==0) //四个坦克中的慢速坦克单独使用计数器5,6,7,8 MoveAITank( & AI_tank[i]); //在map上把"坦克"九格填满代表敌我坦克的参数。

    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,输入类似的需求:“生成一个经典坦克大战游戏,玩家控制坦克射击敌人,避免被敌人击中。”

    40910编辑于 2025-08-28
  • 来自专栏TechBlog

    Java实现坦克大战2.0

    =>扩展(发多颗子弹怎么办,控制在我们的面板上,最多只有5颗)-》在课后完善 1.在按下J键,我们判断当前hero对象的子弹,是否已经销毁 2.如果没有销毁,就不去触发shotEnemyTank 3.如果已经销毁,才去触发shotEnemyTank 4.如果要发射多颗子弹,就使用Vector保存 5.在绘制我方子弹时,需要遍历该Vector集合 让敌人坦克发射的子弹消亡后,可以再发射子弹 当敌人的坦克击中我方坦克时,我方坦克消失,并出现爆炸效果 思路:编写方法,判断敌人的坦克是否击中我的坦克 课后练习:让敌人坦克可以最多发射3颗(在面板E),我们的坦克可以发射3颗.并且能够出现正常的爆炸效果即可 super(x, y); } //射击 public void shotEnemyTank() { //发多颗子弹怎么办, 控制在我们的面板上,最多只有5颗 // if(shots.size() == 5) { // return; // } //创建 Shot 对象, 根据当前Hero对象的位置和方向来创建

    1.4K20编辑于 2023-05-09
  • 来自专栏大白技术控的技术自留地

    坦克大战游戏的设计

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

    2.5K10发布于 2019-03-05
  • 来自专栏纯洁的微笑

    用 Python 写个坦克大战

    self.stage2() # 关卡一 def stage1(self): for x in [2, 3, 6, 7, 18, 19, 22, 23]: for y in [2, 3, 4, 5, + x * 24, 3 + y * 24 self.brick.being = True self.brickGroup.add(self.brick) for x in [4, 5, self.iron) # 关卡二 def stage2(self): for x in [2, 3, 6, 7, 18, 19, 22, 23]: for y in [2, 3, 4, 5, + x * 24, 3 + y * 24 self.brick.being = True self.brickGroup.add(self.brick) for x in [4, 5, ,坦克包括我方坦克和敌方坦克,我方坦克由玩家自己控制移动、射击等操作,敌方坦克实现自动移动、射击等操作,代码实现如下: # 我方坦克类 class myTank(pygame.sprite.Sprite

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

    Java实现坦克大战3.0

    package com.hspedu.tankgame5; /** * 炸弹 */ public class Bomb { int x, y; //炸弹的坐标 int life life--; } else { isLive = false; } } } package com.hspedu.tankgame5; isLive) { break; //退出线程. } } } } package com.hspedu.tankgame5; shot); //启动我们的Shot线程 new Thread(shot).start(); } } package com.hspedu.tankgame5; (); } } } package com.hspedu.tankgame5; /** * 一个Node 对象,表示一个敌人坦克的信息 */ public class Node

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

    Javascript 坦克游戏源码分享

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

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

    Java实现坦克大战1.0

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

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

    java版坦克大战游戏源码

    this.mainF = mainF; this.style = style; init(); } private void init() { f = new JFrame("坦克大战 allTanks.get(i).setNoFire(myTank.getNoFire() + 1); // if(allTanks.get(i).getX()%5= =0&&allTanks.get(i).getY()%5==0) aI(allTanks.get(i)); } selfBorn = new SelfBorn(j * 50, i * 50); break; case 5: (new Iron(j * 50, i * 50)); p.repaint(); try { Thread.sleep(5)

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

    语音指令控制坦克大战

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

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

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

    游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是FC平台上少有的内建关卡编辑器的几个游戏之一,玩家可自己创建独特的关卡,并通过获取一些道具使坦克和基地得到强化。 而今天我们就将利用python还原以下坦克大战的制作。 精灵类程序 其中精灵类设置作为基本程序框架用来主函数的调用,其中包括子弹类程序、食物类、家类、砖墙树木等障碍物类、坦克类。 ,建立tanks.py包括坦克数量名称、初始位置等信息: '''玩家坦克类''' class PlayerTank(pygame.sprite.Sprite): def __init__(self, self.boom_image = pygame.image.load(boom_image_path) self.boom_last_time = 5 self.booming_flag

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

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

    游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是FC平台上少有的内建关卡编辑器的几个游戏之一,玩家可自己创建独特的关卡,并通过获取一些道具使坦克和基地得到强化。 而今天我们就将利用python还原以下坦克大战的制作。 ? 精灵类程序 其中精灵类设置作为基本程序框架用来主函数的调用,其中包括子弹类程序、食物类、家类、砖墙树木等障碍物类、坦克类。 ,建立tanks.py包括坦克数量名称、初始位置等信息: '''玩家坦克类''' class PlayerTank(pygame.sprite.Sprite): def __init__(self, self.boom_image = pygame.image.load(boom_image_path) self.boom_last_time = 5 self.booming_flag

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

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

    ,col; Prt p; int mTime = 1200; //提示滞留时间 Game g; //初始化静态成员 int Tank::e = 0; int Tank::max_e = 5; ",60);Tank::fire_cd_f = getNum(100,1800,Tank::move_cd_e);break; case 5:p.pLine p.borP("选择颜色&~& 黑底白字& 黄底黑字& 灰底红字& 灰底蓝字& 灰底绿字& 白底黑字"); while(1){ dosClear(x,y,5, POSAT(x,y+4);break; case 6:POSAT(x,y+5);break; } cout << "->"; if 5:choose-1;break; case 80:choose = choose==5?

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

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

    1985年推出的坦克大战(Battle City)由13×13大小的地图组成了35个关卡,地形包括砖墙、海水、钢板、森林、地板5种,玩家作为坦克军团仅存的一支精锐部队的指挥官,为了保卫基地不被摧毁而展开战斗 //

    2 /// 所有游戏对象的基类 3 /// 4 public abstract class GameObject 5 1 /// 2 /// 单例游戏对象类 3 /// 4 public class SingleObject 5 89 } 90 } 91 #endregion 92 93 #region Step5: 判断电脑坦克A是否和电脑坦克B发生了碰撞 94 // Step5:判断电脑坦克A是否和电脑坦克B发生了碰撞 95 if (EnemyList !

    2K60发布于 2018-08-20
  • 来自专栏Java学习从基础到就业

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

        坦克大战         该坦克大战运用了JavaGUI图形库,多线程,文件IO,反射等Java高级编程中的知识,用来巩固Java语法非常合适。            我在韩老师原版的设计上做了一些改变,敌方坦克会永远保持三个,你每杀死一辆敌方坦克,并会在屏幕内随机生成一个敌方坦克以此来增加游戏乐趣,其他内容与原版无异。 Shot) public class Shot implements Runnable { int x; int y; int direct=0; int speed=5; return hero; } public static void setHero(Hero hero) { Recorder.hero = hero; } } 5. 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
  • 来自专栏花叔的专栏

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

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

    56410发布于 2018-07-23
领券