目录及源码链接https://blog.csdn.net/coolyuan/article/details/107169180

实现方法:

暂停功能

本人的目标是实现输入空格时数字暂停下落并且屏幕显示出暂停的字样。
实现方法:

引入一个Boolean类型变量terminateflag来判断当前游戏是否处于暂停状态

新建一个Boolean类型变量terminateflag来判断当前游戏是否处于暂停状态。我们需要在输入框的键盘监听器中的方法实现该功能,在KeyPressed中加入如下代码来实现修改terminateflag。

 if (e.getKeyChar() == KeyEvent.VK_SPACE) {//判断输入是否为空格if (terminateflag) {terminateflag = false;} else {terminateflag = true;}}

暂停功能的细节完善:
本人在KeyReleased中添加代码实现如下功能
①清除输入框中按下暂停产生的空格

String s = in.getText().replaceAll(" ", "");in.setText(s);

②要记得防止暂停中还可以继续输入的情况,我们引入输入任意字符自动修改terminateflag为false功能(同时要记得排除输入空格的情况,因为我们在上面已经实现了按下空格实现暂停,如果这边不排除空格,按下空格将terminaflag置为true,释放空格键后该变量再次修改为false,那么暂停功能就无法实现了)

if(terminateflag==true&&e.getKeyChar()!=KeyEvent.VK_SPACE){terminateflag = false;}

利用terminateflag来实现下落暂停

只需要在游戏下落面板类中的paint方法中新建一个判断terminateflag的语句,如果terminateflag为true就在指定位置绘出字样(如暂停中。。。)来表示暂停,并且不修改各个数字字符的纵坐标,当terminateflag为false时,表示游戏仍在继续,此时将每个数字字符的纵坐标都加1,下次重绘数字就会继续下落了。

 if (terminateflag) {//画出暂停字样g.setColor(Color.BLUE);g.setFont(new Font("宋体", Font.BOLD, 30));g.drawString("暂停中...", width / 4, height / 2);g.setFont(new Font("宋体", Font.BOLD, 20));g.drawString("输入任意数字继续...", width / 4, height / 2 + 30);/*闪烁功能的实现,后期再说*/if (shanshuoflag) {zantingshanshuoflag = true;}} else {//不暂停,每次数字纵坐标加一,掉落到底部生命值减一,重置所有数字纵坐标。for (int i = 0; i < N; i++) {y[i] = y[i] + 1;if (y[i] > getHeight()&&templife>0) {templife--;for(int j=0;j<N;j++){y[j]=50;}}}if(templife==0){//游戏结束Gameoverflag=true;}}

游戏结束功能

本人建了一个Gameoverflag来判断游戏是否结束,方法跟上面类似。只要记得当生命值为0时将Gameoverflag置为true就行。

if (Gameoverflag) {g.setColor(Color.RED);g.setFont(new Font("宋体", Font.BOLD, 35));g.drawString("游戏结束!", width / 3, height / 2);g.drawString("您的分数为"+score,width / 3-15,height/2+35);gameoverwork();}

细节补充:当游戏结束后,记得将输入框清空并置为不可输入。

 public void gameoverwork(){in.setText("");in.setEditable(false);}

打字游戏之暂停与结束相关推荐

  1. python小游戏开发,使用python实现英语打字游戏

    需求分析 英文打字小游戏,要有多界面交互,界面整洁.美观,可调节游戏等级难度,可配置游戏信息. 要有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录. 拼写成功的英文单词显示中文意 ...

  2. java打字小游戏_java实现打字游戏小程序

    本文实例为大家分享了java实现打字游戏小程序的具体代码,供大家参考,具体内容如下 一.设计思路 1.创建一个窗体 2.在窗体上放置一个面板,用paint方法画出英文字母,随机放置字母位置,并随时间自 ...

  3. c语言打字游戏程序设计报告,打字游戏程序设计汇报.doc

    打字游戏程序设计汇报 第二章 打字游戏程序设计内容要求和设计思想 2.1 设计内容要求 要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏:按ESC键返回主界面:按空格暂停:按大写字母E程序结束 ...

  4. c语言打字游戏程序设计报告,打字游戏程序设计报告.doc

    打字游戏程序设计报告 第二章 打字游戏程序设计内容要求和设计思想 2.1 设计内容要求 要求设计的程序需包括:在游戏开始后,按回车键进入打字游戏:按ESC键返回主界面:按空格暂停:按大写字母E程序结束 ...

  5. 原生JavaScript实现打字游戏

    写在最前面 本文主要锻炼的是原生JavaScript的编程能力,运用了函数式编程的思想! 1.页面的排版与布局 主要分成两个页面:a.初始呈现出来的界面:b.点击开始进入游戏的界面. a界面: 比较丑 ...

  6. javascript打字游戏

    为什么80%的码农都做不了架构师?>>>    学一门语言光看书是不够的,最好是边练边学,所以这次我就用javascript写了这个简单的打字游戏,虽然说起来简单,但是对于第一次写游 ...

  7. 基于html5的英语打字游戏(纯手工,不贴图)

    基于html5的打字游戏 引言 一.打字游戏是一款耳熟能响的桌面应用程序,通过该程序可以将英语单词学习和娱乐有效的结合起来.但是在这个大量应用从c/s架构往b/s架构过渡的年代,我们将通过html5等 ...

  8. pygame简单的俄罗斯方块游戏和简单的打字游戏

    1.pygame简单的俄罗斯方块游戏 一.对战的方块管理 定义一个BlockManage管理对战的方块 根据BlockManage根据传入的玩家id返回方块,保证每个玩家拿到的方块序列是一致的,所以在 ...

  9. pygame做一个简单的打字游戏

    pygame做一个简单的打字游戏 1.基本代码 下面的代码完成了每一秒在界面的顶部随机生成一个新的字母 # -*- coding=utf-8 -*- import pygame from pygame ...

最新文章

  1. GIF动画 汇总帖子+实例
  2. FD.io/VPP — NAT
  3. 【学习笔记】SAP OData服务简介
  4. 用Python3Request爬取英雄联盟皮肤、单线程爬取
  5. 监视和检测Java应用程序中的内存泄漏
  6. node连接mysql,刚开始运行一切正常,后来连接失败报错。
  7. eclipse中查怎样看某个方法调用了谁
  8. DFS CCPC2017 南宁I题
  9. Windows7 64bit oracle 11g plsql错误 Initialhation orrlr SQK*NET properly installed
  10. matlab2010安装详细图解案例
  11. CSS 左中右三列布局5种方式
  12. intel无线网络管理服务器,配置Intel无线网卡连接到管理帧保护(MFP) -启用网络
  13. mysq根据首字母模糊检索,拼音首字母模糊查询名称
  14. Python多线程实现WIFI破解
  15. java web 开发
  16. C++普通函数指针和类成员函数指针
  17. python代码手机壁纸_70行python代码实现壁纸批量下载
  18. C51数字钟程序-ZT(拿来学习用)
  19. 初级Java学习笔记总结
  20. Action Synopsis: Pose Selection and Illustration 实现

热门文章

  1. C编程标准:GNU C 、ANSI C、标准C、标准c++区别和联系
  2. git版本回退后,导致已经add的代码丢失
  3. ArcEngine开发--网络分析
  4. xwiki安装使用以及问题解决
  5. GC算法 垃圾收集器
  6. Macbook Matlab2017 安装机器人学工具箱(Robotic Toolbox for Matlab)
  7. NE555 + CD4017流水灯
  8. android studio androidannotations,android studio 没有Annotation Processors 这个选项,求解答。...
  9. java08-集合框架实现超市会员管理系统
  10. 服务器显示四个0,魔兽9.0来了,首日多个服务器爆满,玩家排了4小时也没登上...