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

    90版坦克大战

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

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

    C语言坦克大战

    ) LevInfo level_info [MAX_LEVEL] = {{-1,-1},{3,-1},{-1,3},{2,3},{2,3},{2,3},{2,3},{2,3}}; //初始化,-1代表没有该类型坦克 PrintTank函数定义有说明 int model; //坦克图案模型,值为1,2,3,分别代表不同的坦克图案,0为我的坦克图案,AI不能使用 int stop; ,子弹在map上没有值(子弹仅仅是一个假坐标) //map里的值: 0为可通过陆地,1为红砖,2黄砖,5为水,100~103为敌方坦克,200为我的坦克, //全局变量 int map[41][41]; { if(AI_tank[i].model==2 && interval[i+1]++%2==0) //四个坦克中的快速坦克单独使用计数器1,2,3,4 =2 && interval[i+5]++%3==0) //四个坦克中的慢速坦克单独使用计数器5,6,7,8 MoveAITank( & AI_tank[i]);

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

    90版坦克大战

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

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

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

    而制作一个经典的坦克大战游戏,看似简单,但其实需要处理坦克的移动、射击、敌人的生成与AI、碰撞检测等多个复杂的游戏逻辑。 我的需求其实很简单我的需求非常明确:制作一个经典的坦克大战游戏,功能要求如下:坦克控制:玩家能够通过键盘控制坦克的移动,并发射子弹。敌人生成:敌人坦克会自动生成并向玩家发起攻击。 结语如果你也想制作一个经典的坦克大战游戏,试试CodeBuddyIDE,输入类似的需求:“生成一个经典坦克大战游戏,玩家控制坦克射击敌人,避免被敌人击中。” ==false){//保存当前状态ctx.save();//移动到坦克中心ctx.translate(player.x+player.width/2,player.y+player.height/2); Math.PI/2);break;case'down':ctx.rotate(Math.PI);break;case'left':ctx.rotate(-Math.PI/2);break;}//绘制坦克

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

    Java实现坦克大战2.0

    =>扩展(发多颗子弹怎么办,控制在我们的面板上,最多只有5颗)-》在课后完善 1.在按下J键,我们判断当前hero对象的子弹,是否已经销毁 2.如果没有销毁,就不去触发shotEnemyTank //向下 s = new Shot(getX() + 20, getY() + 60, 2); break (); } } break; case 2: switch (enemyTank.getDirect()) { case 0: //坦克向上 case 2: //坦克向下 private int y;//坦克的纵坐标 private int direct = 0;//坦克方向 0 上1 右 2下 3左 private int speed = 1;

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

    坦克大战游戏的设计

    坦克大战游戏的设计 一、功能描述:       这个坦克大战实现了我方坦克(玩家控制)以及敌方坦克(程序随机控制)的对战,当击毁所有敌方坦克之后玩家获胜,当我方坦克生命值被消耗完毕后失败。 游戏中,敌方坦克分为两类:一是快速的黄色坦克,二是有两点生命值的慢速坦克。玩家坦克的生命值一共为三。其中键盘的w、s、a、d分别控制坦克上下左右四个方向的移动,点击鼠标之后为发射子弹。 其中要注意的是,当子弹击中对方坦克或碰到障碍物消失之后才能发射下一个子弹。游戏过程中还会随机出现加速道具,获取之后玩家坦克的速度提升为初始的两倍。下面便是游戏的图片展示 : 游戏界面 ? 下面来进行分析: (一)多线程的处理:      在这个游戏中,最为核心的技术便是多线程的应用,我方坦克,敌方的十辆坦克、我方发射的子弹以及敌方坦克发射的子弹均为独立的线程,因此,在线程的控制上有了一定的难度 2、在遇到新的一些问题,比如说双缓冲,应当有独立解决的能力,通过前面一些牛人的经验,网上的相关资料通过已学到的知识自己摸索这个问题,而不是让老师一句一句的解释。这对于以后的发展是极为重要的。

    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, ,坦克包括我方坦克和敌方坦克,我方坦克由玩家自己控制移动、射击等操作,敌方坦克实现自动移动、射击等操作,代码实现如下: # 我方坦克类 class myTank(pygame.sprite.Sprite __init__(self) # 玩家编号(1/2) self.player = player # 不同玩家用不同的坦克(不同等级对应不同的图) if player == 1: self.tanks player == 2: self.tanks = ['images/myTank/tank_T2_0.png', 'images/myTank/tank_T2_1.png', 'images/

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

    Java实现坦克大战3.0

    { //2. switch (enemyTank.getDirect()) { case 0: //坦克向上 case 2: //坦克向下 private int y;//坦克的纵坐标 private int direct = 0;//坦克方向 0 上1 右 2下 3左 private int speed = 1; switch (enemyTank.getDirect()) { case 0: //坦克向上 case 2: //坦克向下 private int y;//坦克的纵坐标 private int direct = 0;//坦克方向 0 上1 右 2下 3左 private int speed = 1;

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

    Javascript 坦克游戏源码分享

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

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

    Java实现坦克大战1.0

    :[参考jdk帮助文档] 1.画直线 drawLine(int x1,int y1,int x2,int y2) 2.画矩形边框 drawRect(int x, int y, int width, int MyPanel 对象就是一个画板 //2. Graphics g 把 g 理解成一支画笔 //3. //画直线 drawLine(int x1,int y1,int x2,int y2) //g.drawLine(10, 10, 100, 100); //画矩形边框 drawRect package com.hspedu.tankgame2; /** * 敌人的坦克 */ public class EnemyTank extends Tank { public EnemyTank 0;//坦克方向 0 上1 右 2下 3左 private int speed = 1; public int getSpeed() { return speed;

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

    java版坦克大战游戏源码

    this.mainF = mainF; this.style = style; init(); } private void init() { f = new JFrame("坦克大战 tank.setRight(false); tank.setDir(Direction.U); } else if (r.nextInt(300) == 2) walls.add(new Wall(j * 50, i * 50)); break; case 2: new Font("Arial", 1, 100)); g.drawString("GAME OVER", 100, 200); g.setFont(new Font("Arial", 2, , 100, 400); if (flash) { g.setFont(new Font("Arial", 2, 30)); g.setColor(Color.BLACK

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

    语音指令控制坦克大战

    前言 本文将介绍一个可以通过语音指令来控制坦克大战游戏的程序,用户只需要添加几个疾病区然后控制坦克进行向上、向下、向左、向右、开火、停止等操作。同时还支持指令微调、提高指令的准确率。 制作数据 运行record_data.py代码,启动录音程序,默认录制2秒钟,建议录制完成之后,再录制1秒钟的音频,注意录制1秒钟时间非常短,按下回车之后要立马开始说话。 第2次录音,按回车开始说话: 训练模型 运行finetune.py代码,训练模型。 The best model has been updated: valid.acc [ubuntu] 2023-12-17 13:02:53,260 (build_trainer:248) INFO: 2/ =0.277, acc=0.933, cer=0.033, wer=0.150, loss_pre=0.011, loss=0.288, time=0.77 seconds, total_count=2,

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

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

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

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

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

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

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

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

    list<Shell> shell; //炮弹 Tank t_player1; //玩家1的坦克 Tank t_player2; list<Shell> shell; //炮弹 Tank t_player1; //玩家1的坦克 Tank t_player2; 0.1beta测试版&~&&上下选择: W S或↑↓&确认选择:Enter &返回上层: ESC &坦克移动: \ &P1:W S A D &P2: ←↑→↓&坦克开火 : \ &P1:W S A D &P2: ←↑→↓&坦克开火: &P1: J P2: P"); p.setMargin(2); getch(); } g.lifeTotal_e = g.map.lifeTotal_e; //生成玩家坦克 g.t_player1 = {g.core.x-2,g.core.y,1,2};g.lifeTotal_f

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

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

    游戏中可以获取有多种功能的宝物,敌人种类则包括装甲车、轻型坦克、反坦克炮、重型坦克4种,且存在炮弹互相抵消和友军火力误伤的设定。      (2)玩家可以发子弹,电脑坦克也可以发子弹   ①   ②   (3)电脑坦克被击中后有爆炸效果,并且有一定几率出现游戏道具   ①   ②   ③ 2.2 总结设计思路 (1)万物皆对象 在整个游戏中 (4)设计流程图 三、关键代码实现 3.1 设计抽象父类封装共有属性 1 ///

    2 /// 所有游戏对象的基类 3 /// 2)在定时器事件中定期执行碰撞检测方法 1 /// 2 /// 碰撞检测 3 /// 4 判断电脑发射的子弹是否击中了玩家坦克 29 // Step2:判断电脑发射的子弹是否击中了玩家坦克 30 if (EnemyBulletList !

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

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

        坦克大战         该坦克大战运用了JavaGUI图形库,多线程,文件IO,反射等Java高级编程中的知识,用来巩固Java语法非常合适。            我在韩老师原版的设计上做了一些改变,敌方坦克会永远保持三个,你每杀死一辆敌方坦克,并会在屏幕内随机生成一个敌方坦克以此来增加游戏乐趣,其他内容与原版无异。 开启新游戏 2. 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键:上下左右; 空格键:射击。 首先,既然是坦克大战,总得有坦克吧? 己方坦克: ? 上面的代码定义了坦克的一些属性,例如速度、等级、是否处于受保护状态等等。 啊,还有坦克的等级提升与下降: ? 最后当然是坦克死后重置啦: ? 敌方坦克: 敌方坦克和己方坦克定义的源代码很相似,只不过移动是随机的,死后是不可复生的,就不截图了。 Step2:设计游戏地图 Emmmm,游戏的大背景是黑色的,然后在上面堆上一些步骤一中定义的障碍物就可以完成地图设计了。

    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
  • 来自专栏YoungGy

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

    本文将从频率以及贝叶斯的角度探索坦克问题。 背景 假设所有的德国坦克是从1开始按自然数递增编号的,坦克的总数为N,也就是说坦克的最大编号为N。 盟军在战斗中共随机俘获/击毁了k辆坦克,且这些坦克的最大编号为m,那么应当如何对N的大小进行估计? 设两个概率p1,p2p1,p2,那么其对应的分位数为[p11/k,p21/k][p1^{1/k},p2^{1/k}],其对应样本的抽样区间的最大值为[N∗p11/k,N∗p21/k][N*p1^{1/k },N*p2^{1/k}]。 那么,已知样本最大值m,估计群体最大值的置信区间为[m/p21/k,m/p11/k][m/p2^{1/k},m/p1^{1/k}]。 例如,k=5,p1=2.5%,p2=97.5%。

    2K100发布于 2018-01-03
领券