SurfaceView 中 触发OnTouch 事件时图片绘制异常,怎么解决
    • 1. public class PaintGameView extends SurfaceView implements Runnable, SurfaceHolder.Callback, View.OnTouchListener { Config config = new Config(); private SurfaceHolder holder; private Bitmap lsecCache; private ArrayList gameImages = new ArrayList<>(); private ArrayList bullets = new ArrayList<>(); private ArrayList enemys = new ArrayList<>(); private Boolean runState = false; private Context context; private Hero selectedPlane; public PaintGameView(Context context, Config config){ super(context); this.context = context; getHolder().addCallback(this); setOnTouchListener(this); } private void init(){ new importInit(config); enemys = importInit.getsBitmap("enemy"); gameImages.add(new BackgroundImage(config)); gameImages.add(new Enemy(config, enemys)); gameImages.add(new Hero(config)); lsecCache = Bitmap.createBitmap(config.getWidth(), config.getHeight(), Bitmap.Config.ARGB_8888); }

    @Override
    public void run() {
    Paint p = new Paint();
    int time = 0;
    int timeBullet = 0;
    Canvas canvas;
    try {
    while (runState){

            //描绘子弹部分
            if(selectedPlane != null){
                if(timeBullet++ == 4){
                    bullets.add(new Bullet(config, selectedPlane, bullets));
                    timeBullet = 0;
                }
            }
           canvas = new Canvas(lsecCache);
    
            //默认描绘
            for(GameViews gameImage : (ArrayList<GameViews>)gameImages.clone()){
                if(gameImage instanceof Enemy){
                    Enemy enemy = (Enemy) gameImage;
                    if(!enemy.flag){
                       enemy.attacked(bullets);
                    }else {
                        if(enemy.index++ > 3){
                            gameImages.remove(gameImage);
                            continue;
                        }
                    }
    
                }
                canvas.drawBitmap(gameImage.getBitmap(), gameImage.getX(), gameImage.getY(), p);
            }
            for(GameViews gameImage : (ArrayList<GameViews>)bullets.clone()){
                canvas.drawBitmap(gameImage.getBitmap(), gameImage.getX(), gameImage.getY(), p);
            }
            if(time++ == 50){
                gameImages.add(new Enemy(config, enemys));
                time = 0;
            }
    
            Canvas c = holder.lockCanvas();
    

    // c.drawBitmap(bg , 0, 0, p);
    c.drawBitmap(lsecCache, 0, 0, p);
    holder.unlockCanvasAndPost(c);
    Thread.sleep(10);
    }
    }catch (Exception e){
    Log.e("APP.TAG","异常",e);
    }
    }
    @Override
    public void surfaceCreated(SurfaceHolder holder) {
    config.setContext(context);
    config.setSpeed(4);
    config.setGameViewses(gameImages);
    }
    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    runState = true;
    //获取屏幕尺寸
    config.setWidth(width);
    config.setHeight(height);

    init();
    this.holder = holder;
    new Thread(this).start();
    

    }
    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
    runState = false;
    }

    @Override
    public boolean onTouch(View v, MotionEvent event){
    if(event.getAction() == MotionEvent.ACTION_DOWN){
    for(GameViews gameView : gameImages) {
    if(gameView instanceof Hero){
    if(gameView.selected(event.getX(), event.getY())){
    // Log.i("APP.TAG", "我被选中!");
    selectedPlane = (Hero) gameView;
    }else {
    selectedPlane = null;
    }
    break;
    }
    }

    }else if(event.getAction() == MotionEvent.ACTION_MOVE){
        if(selectedPlane != null){
            selectedPlane.setX((int) event.getX() - selectedPlane.getBitmap().getWidth()/2);
            selectedPlane.setY((int) event.getY() -  selectedPlane.getBitmap().getHeight()/2);
        }
    }else if(event.getAction() == MotionEvent.ACTION_UP){
        selectedPlane = null;
    }
    return true;
    

    }
    }

发射子弹时,敌机加速了,是onTouch引发的,查过不是参数配置引起的,求解决

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android surfaceview 和activity之间数据传递
想实现一个功能 就是在mainActivity中放置一个surfaceview和一个Textview 在surfaceview中添加点击onTouch事件 每次点击 让自己定义的surfaceview的变量 step加一 并时时在mainActivity的TextView中更新step的显示 不知道问题有没有描述清楚 就是想在一个view中时时显示另外一个view中定义的变量
SurfaceView绘制图片 拖动时画面有闪烁
使用自定义SurfaceView绘制了一个室内地图,地图是通过描点的方法绘制的,不是图片,并且实现了拖动放大效果,可是拖动时画面总是出现背景间隙,有点残影或者卡顿,![图片说明](https://img-ask.csdn.net/upload/201905/30/1559179811_705974.gif) 如图
surfaceview绘制的文本被图片所掩盖
先绘制文本再绘制图片也不能让文本显示在图片上,我就是想做个记录游戏得分的功能,应该怎么做啊,有没有大神教一下,请具体点,新手不懂啊
android 双surfaceView分别播放视频及显示图片的方法?
1. surfaceView1 显示图片5秒 2. surfaceView2 播放视频文件(用MediaPlayer方法) 3. surfaceView1 再次显示图片5秒 4. surfaceView2 再次播放视频文件 ,........., surfaceView1, surfaceView2是同一屏幕位置,重叠. 如何实现上面的功能? 需要注意那些问题?
如何在自定义surfaceView 绘图面板上放置图片 或者bitmap
我在涂鸦面板上绘制图片以bitmap形式保存涂鸦 在转变成byte的形式存入数据库请问如何把数据库中的涂鸦再打开显示到绘图面板上 期待各位大神的回复
如何将SurfaceView中的Canvas保存为Bitmap?
普通的Canvas可以通过下面的方法来将绘制内容保存为Bitmap ``` Bitmap bitmap = new Bitmap(width, height, Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); canvas.drawXXX ``` 但问题是,SurfaceView中Canvas是通过lockCanvas获取的,请问这种情况下,该如何将Canvas保存为Bitmap呢??
Android 如何获取surfaceview上的图片
Android 如何获取surfaceview上的图片 Canvas canvas=holder.lockCanvas(); bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.test); canvas.drawBitmap(bitmap, 0, 0, null); holder.unlockCanvasAndPost(canvas); 然后我会再锁一个区域,将surfaceview上的图片更新,之后想保存更新后的整张surfaceview上的图片,这应该怎么写
使用surfaceview预览camera,在预览时看到 图像比较暗
使用surfaceview预览camera,在预览时看到 图像比较暗:![图片1图片说明](https://img-ask.csdn.net/upload/201704/25/1493107363_549995.png) ![图片2图片说明](https://img-ask.csdn.net/upload/201704/25/1493107432_442435.png) 如图所示,第一张图是我通过surfaceview预览camera看到的图像,看到的图像光线较暗,第二张图是我通过系统的相机看到的图像。可以看到第二张系统的相机看到的图像明显亮于我自己使用surfaceview预览看到的图像,2种情况下外界光亮相同。我想问下是设置camera的参数还是设置surfaceview的参数,可以使surfaceview预览到的图像能更亮一些?谢谢啦。
Android中GLSurfaceView和SurfaceView重叠显示?
将GLSurfaceView和SurfaceView放在一个FrameLayout中,GLSurfaceView在 SurfaceView之上,都设置了setZOrderOnTop(true);在第一次显示时 GLSurfaceView显示在SurfaceView之上,但按home键后,再点击该程序, SurfaceView就一直显示在GLSurfaceView之上了。 请问下是什么原因?
surfaceview画滚动的背景图时图片不能完美拼接
![图片说明](https://img-ask.csdn.net/upload/201504/06/1428290687_171361.png) 这是我的代码,要如何改才能去掉中间那根白线,让背景看起来是自然的 public bkground(Bitmap bmpBackGround) { this.bmpBackGround1 = bmpBackGround; this.bmpBackGround2 = bmpBackGround; bg1x = 0; bg2x =800; } //游戏背景的绘图函数 public void draw(Canvas canvas, Paint paint) { //绘制两张背景 canvas.drawBitmap(bmpBackGround1, bg1x, 0, paint); canvas.drawBitmap(bmpBackGround2, bg2x, 0, paint); } //游戏背景的逻辑函数 public void logic() { bg1x -= speed; bg2x -= speed; if (bg1x<-800) { bg1x=bg2x+800; } if (bg2x <-800) { bg2x = bg1x +800; } }
android SurfaceView结束的问题
最近在写一个游戏,使用到了SurfaceView,在绘制时使用while(true)来作为条件,等按返回键程序退出后看log,发现while(true)这个循环仍然为运行,为什么Activity结束的时候这个while(true)还在运行?
android中surfaceview截图问题
最近用surfaceview显示一段视频 需要先用mediacode解码H.264数据 然后给surfaceview显示出来 现在我要进行播放过程中截图 发现用view和窗口 图像截图的办法截图出来是一张黑图 求大声们指导
如何在切换Fragment时不销毁SurfaceView
如题,我创建了两个Fragment,其中一个加载了SurfaceView,然而每次切换Fragment的时候,log都会提示SurfaceView的surfaceDestroyed被调用了,再切回来的时候提示surfaceCreated被调用,结果就是切换回含有SurfaceView的Fragment的时候就黑一下屏。我觉得跟SurfaceView在切换时被销毁重建有关,那么该如何解决呢?
SurfaceView 中,一行切割路径代码导致该行代码以下的绘制内容无效,请问该怎么办
详细介绍一下,可能会略长 初学Android,写了个自定义控件,效果是这样的: ![图片说明](https://img-ask.csdn.net/upload/201712/11/1512973191_558399.png) 绘制的大致流程是先将Canvas切割为圆形,然后再绘制波浪以及文字。 现在遇到的情况是: 1. 控件在ViewPager的第二页,控件显示正常。 2. 把控件放在一个单独的页面,控件的波浪不显示,但文字显示,如下图 ![图片说明](https://img-ask.csdn.net/upload/201712/11/1512973438_467202.png) 对于这个显示不正常的现象,我做了一些实验,最后发现和切割Canvas有关,我试了以下步骤: 1. 使用canvas.clipPath来切割,那么切割代码之后的绘制操作都不显示 2. 使用path.op 方法切割,op过的路径绘制操作(绘制波浪)不显示 3. 不切割,显示正常,如下图: ![图片说明](https://img-ask.csdn.net/upload/201712/11/1512973974_653096.png) 实在不知道该从哪里入手解决了,想请教大家,如果你也遇到过这种情况,你是怎么解决的?或者你知道问题出在哪里,请告诉我!
在android中用surfaceview播放视频时,实现未播放的预览效果?
在android中用surfaceview播放视频时,如何在surfaceview的出现时就加载视频的第一帧,实现未播放的预览效果? 类似于图的那种效果,谁有什么解决方法吗?
android使用MediaPlayer和SurfaceView播放视频怎样设置按原始比例播放
现在的情况是,视频大小总是铺满SurfaceView,怎样可以在SurfaceView中按照视频本身的比例播放呢
surfaceview写的字被掩盖
surfaceview有个drawtext方法,但是在画了图片后它所写的字会被图片所掩盖,怎么让字显示在图片上面
ViewPager 嵌套SurfaceView切换时卡顿黑屏怎么处理??
ViewPager 嵌套SurfaceView切换时卡顿黑屏怎么处理??
SurfaceView在ScrollView中滑动背景问题
遇到一个很奇葩的问题,我把SurfaceView放在一个ScorllView当中, 结果滑动ScorllView的时候,SurfaceView的边缘会出现黑色
130 个相见恨晚的超实用网站,一次性分享出来
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱 极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件, 选择安装到U盘(按照操作无需更改) 三、重启进入pe系统 1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12) 选择需要启...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Java描述设计模式(19):模板方法模式
本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景 通常一款互联网应用的开发流程如下:业务需求,规划产品,程序开发,测试交付。现在基于模板方法模式进行该过程描述。 public class C01_InScene { public static void main(String[] args) { DevelopApp developApp = n...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
第三个java程序(表白小卡片)
前言: &nbsp;向女神表白啦,作为一个程序员,当然也有爱情啦。只不过,虽然前面两个程序都只是学习了基础的语法结构和向量哈希表。这里涉及的是Swing,awt图形用户界面和一点文件输入输出流的知识。 &nbsp; 表白代码如下: 另附:里面的音乐和图片可以放在一个自己创建的包里面,也可以放在src里面,或者使用绝对路径。至于布局,我自己的使用的是简单的排班,简单的继承。后面的程序会慢慢实现。 ...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
化繁为简 - 腾讯计费高一致TDXA的实践之路
导语:腾讯计费是孵化于支撑腾讯内部业务千亿级营收的互联网计费平台,在如此庞大的业务体量下,腾讯计费要支撑业务的快速增长,同时还要保证每笔交易不错账。采用最终一致性或离线补...
Linux网络服务-----实验---PXE和Kickstart的无人值守装机
目录 一.PXE的原理 二.kickstart的原理 三.PXE与kickstart的结合使用自动装机 一.PXE的原理 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由支持通过网络启动操作系统,再启动过程中,终端要求服务器分配IP地址...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
A*搜索算法概述
编者按:本文作者奇舞团前端开发工程师魏川凯。A*搜索算法(A-star search algorithm)是一种常见且应用广泛的图搜索和寻径算法。A*搜索算法是通过使用启...
程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
从顶级黑客到上市公司老板
一看标题,很多老读者就知道我在写什么了。今天Ucloud成功上市,季昕华成为我所熟悉的朋友里又双叒叕一个成功上市的案例。我们认识大概是十五年多吧,如果没记错,第一次见面应该是2004年,...
蓝桥杯知识点汇总:基础知识和常用算法
文章目录基础语法部分:算法竞赛常用API:算法部分数据结构部分 此系列包含蓝桥杯绝大部分所考察的知识点,以及真题题解~ 基础语法部分: 备战蓝桥杯java(一):一般输入输出 和 快速输入输(BufferedReader&amp;BufferedWrite) 备战蓝桥杯java(二):java编程规范和常用数据类型 备战蓝桥杯java(三):常用功能符以及循环结构和分支结构 备战蓝桥杯java(四...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 意思是密码。 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mkdir:Make directory ...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
疫情数据接口api
返回json示例 { "errcode":0,//0标识接口正常 "data":{ "date":"2020-01-30 07:47:23",//实时更新时间 "diagnosed":7736,//确诊人数 "suspect":12167,//疑是病例人数 "death":170,//死亡人数 "cur...
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问