面向对象项目实战-----QuickHit

16、Java——QuickHit游戏 (1)QuickHit游戏考验学员键盘输入内容的速度和准确性。 (2)根据输入速率和正确性将玩家分为不同级别,级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高。 (3)如果玩家在规定的时间内完成规定次数的输入,正确率达到规定要求,则玩家升级(为了简单起见,规定用户只要输入错误一次,则游戏结束) (4)玩家最高级别为6级,初始级别一律为一级。 阅读详情

项目需求:

根据输入速率和正确率将玩家分为不同级别,级别越高,一次显示的字符数越多。如果 玩家在规定时间内完成规定次数的输入,正确率达到要求,则玩家升级。最高级别为6级,初始级别为1.项目实现代码如下:

实现项目的代码:

//游戏类
public class Game {
	/***
	 * 玩家属性
	 */
	public Player play;		

	public Player getPlay() {
		return play;
	}

	public void setPlay(Player play) {
		this.play = play;
	}
	
	public Game(Player play) {		
		this.play = play;
	}

	/***
	 * 输出字符串,返回字符串用于和玩家的输入进行比较
	 * @return
	 */
	public String printStr() {
		StringBuffer sbu=new StringBuffer();
		Random rand=new Random(); 	//产生随机数类
		//根据相应的等级,来获得相应的输入次数
		int strLength=LevelParam.level[play.getLevelNo()-1].getStrLength();

		for(int i=0;i<strLength;i++) {
			int randNum=rand.nextInt(strLength);	//产生随机数
			switch(randNum) {
			case 0:
				sbu.append(">");
				break;
			case 1:
				sbu.append("<");
				break;
			case 2:
				sbu.append("!");
				break;
			case 3:
				sbu.append("#");
				break;
			case 4:
				sbu.append("@");
				break;
			case 5:
				sbu.append("%");
				break;
			case 6:
				sbu.append("&");
				break;
			case 7:
				sbu.append("*");
				break;
			case 8:
				sbu.append("~");
				break;
			case 9:
				sbu.append("?");
				break;
			}
		}
		System.out.println(sbu);  	//输出字符串
		return sbu.toString();		//返回字符串
	}
	
	
	/**
	 * 比较游戏输出out,和玩家输入in,根据结果输出信息
	 */
	public void prinrResult(String out,String in) {
		//输入正确
		if(out.equals(in)) {
			long currentTime=System.currentTimeMillis();
			//如果超时
			if((currentTime-play.getStartTime())/1000>LevelParam.level[play.getLevelNo()-1].getTimeLimit()) {
				System.out.println("你输入的太慢了,已经超时,退出!");
				System.exit(1);
			}
				//如果没有超时
				//计算玩家当前的积分
				play.setCurrScore(play.getCurrScore()+LevelParam.level[play.getLevelNo()-1].getPerScore());
				//计算已用时间
				play.setElapsedTime((int)(currentTime-play.getStartTime())/1000);
				//输出玩家当前级别,当前积分,已用时间
				System.out.println("输入正确,你的级别是:"+play.getLevelNo()+",你的积分是:"+play.getCurrScore()+",已用时间:"+play.getElapsedTime()+"秒!");
				
				//判断用户是否已经闯过最后一关:等级为6,玩家获得的积分==通过所需要的分数(次数*每次的分数)
				if(play.getLevelNo()==6) {
					//获得通关所需要的分数
					int score=LevelParam.level[play.getLevelNo()-1].getPerScore()*LevelParam.level[play.getLevelNo()-1].getStrTime();
					if(score==play.getCurrScore()) {
						System.out.println("恭喜你,通关了~");
						System.exit(0);
					}
				}
		}else {
			//输入错误
			System.out.println("输入错误,退出!");
			System.exit(1);
		}
	}
	
	
}


//玩家类
public class Player {
	private int levelNo;		//级别
	private int currScore;		//积分
	private long startTime;		//开始时间
	private int elapsedTime;	//已用时间
	
	public int getLevelNo() {
		return levelNo;
	}
	public void setLevelNo(int levelNo) {
		this.levelNo = levelNo;
	}
	public int getCurrScore() {
		return currScore;
	}
	public void setCurrScore(int currScore) {
		this.currScore = currScore;
	}
	public long getStartTime() {
		return startTime;
	}
	public void setStartTime(long startTime) {
		this.startTime = startTime;
	}
	public int getElapsedTime() {
		return elapsedTime;
	}
	public void setElapsedTime(int elapsedTime) {
		this.elapsedTime = elapsedTime;
	}
	
	/**
	 * 玩家玩游戏
	 */
	public void play() {
		Scanner input=new Scanner(System.in);
		
		Game game=new Game(this);	//this--->指当前对象的引用,传入的值是当前Player类(现在没创建对象)以后创建对象的引用。
		//外层循环一次,等级加1
		for(int i=0;i<LevelParam.level.length;i++) {
			//等级加1
			this.levelNo+=1;
			//积分清0
			this.currScore=0;
			//计时清0
			this.startTime=System.currentTimeMillis();
			
			//获得每个级别对应的字符串输入字数
			int strLength=LevelParam.level[levelNo-1].getStrTime();
			
			//内层循环一次,判断玩家输入的字符串
			for(int k=0;k<strLength;k++) {
				//游戏输出字符串
				String out=game.printStr();
				//玩家输入
				String in=input.next();
				//判断玩家输入的字符串,并输出相应结果
				game.prinrResult(out, in);
			}
		}
		
	}
	
	
}


//级别类
public class Level {
	private int levleNo;		//级别编号
	private int strLength;		//输出的字符串长度
	private int strTime;		//输出字符串的次数
	private int timeLimit;		//闯关时间
	private int perScore;		//输入正确的得分
	
	public int getLevleNo() {
		return levleNo;
	}
	public void setLevleNo(int levleNo) {
		this.levleNo = levleNo;
	}
	public int getStrLength() {
		return strLength;
	}
	public void setStrLength(int strLength) {
		this.strLength = strLength;
	}
	public int getStrTime() {
		return strTime;
	}
	public void setStrTime(int strTime) {
		this.strTime = strTime;
	}
	public int getTimeLimit() {
		return timeLimit;
	}
	public void setTimeLimit(int timeLimit) {
		this.timeLimit = timeLimit;
	}
	public int getPerScore() {
		return perScore;
	}
	public void setPerScore(int perScore) {
		this.perScore = perScore;
	}
	public Level(int levleNo, int strLength, int strTime, int timeLimit, int perScore) {
		super();
		this.levleNo = levleNo;
		this.strLength = strLength;
		this.strTime = strTime;
		this.timeLimit = timeLimit;
		this.perScore = perScore;
	}
	
}


//级别参数类
public class LevelParam {
	//对应玩游戏的6个级别
	public static final Level level[]=new Level[6];
	
	static {
		level[0]=new Level(1,2,10,30,1);
		level[1]=new Level(2,3,9,26,2);
		level[2]=new Level(3,4,8,22,5);
		level[3]=new Level(4,5,7,18,8);
		level[4]=new Level(5,6,6,15,10);
		level[5]=new Level(6,7,5,12,15);
	}
}


//测试类
public class Test {
	public static void main(String[] args) {
		Player p = new Player();
		p.play();
	}
}

效果图:

Java小游戏开发实战:QuickHit代码项目 游戏循环可以被定义为一种在游戏运行期间不断重复的控制结构,它以固定的时间间隔更新游戏状态,并渲染下一帧的游戏画面。游戏循环的重要性体现在以下几个方面:保持游戏运行:游戏循环确保游戏在开启后可以持续运行,直到收到停止信号。游戏状态同步:游戏循环通过不断更新游戏世界状态,保持游戏世界和玩家操作之间的同步。画面渲染:它负责在屏幕上显示游戏画面的更新,以响应玩家的操作和游戏逻辑的变化。性能控制:通过控制游戏循环的执行速度,开发者可以管理游戏的帧率和响应时间,优化用户体验。 阅读详情

相关推荐

COCOS 3.8 接入高德定位SDK

/微信登录所必须的code。//是否获得code。

八喜互动 1993

Java面向对象–QuickHit项目

Player类 package QuickHit; import java.util.Scanner; /** * * @author LiQingLin * */ public class Player { private int levelNo;//当前级别号 private int curScore;//当前级别积分 private long startTime;//当前级别开始时间 private int elapsedTime;//当前级别已用时间...

qq_68480660的博客 904

新硬盘到手,在统信UOS或麒麟系统上怎么认?保姆级教程从识别到挂载一步到位

本文提供新硬盘在统信UOS或麒麟KYLINOS系统上的完整配置指南,从识别物理硬盘到挂载全流程详解。通过终端命令如df和lsblk,帮助用户完成硬盘识别、分区、文件系统创建及挂载配置,确保新硬盘顺利投入使用。

weixin_30698297的博客 442

一个面向对象的打字游戏“QuickHit”程序(附源码)

QuickHit游戏考验玩家从键盘输入内容的准确率和速度。根据输入速率和正确率将关卡设置成6个级别,玩家从一级开始,根据输入内容的准确性和速度逐级升级,级别越高,一次显示(要求输入的内容)也就越多,每关要求的规定时间也有所变动,即逐级每关更难,相应的每关的积分也更多。如果玩家在规定时间内完成规定次数输出,且正确率达标(这里只要输错便退出)则晋级。

jojo_oulaoula的博客 722

AI初识—LLM、Ollama、Llama都是些个啥?

LLM指的是大语言模型(Large Language Model),是一种基于深度学习的模型,能够理解和生成自然语言。它通过大量文本数据进行训练,具备了理解上下文、生成连贯文本和回答问题的能力。著名的LLM包括OpenAI的GPT系列和Google的BERT。在AI技术快速发展的背景下,LLM、Ollama和Llama代表了现代自然语言处理的不同方面。LLM为我们提供了强大的语言理解能力,Ollama为模型的部署和管理提供了便利,而Llama则在效率和多样性上不断推进。

小蜗牛的珍贵百宝箱 4629

【图像超分】论文复现:经典超分 | SAN的Pytorch源码复现,跑通源码,适配高版本的python/pytorch/cuda,使用EDSR-PyTorch进行训练和测试

本文介绍了单幅图像超分辨率重建方法SAN(二阶注意网络)的代码实现。文章详细说明了在高版本Python/Pytorch环境下适配SAN源码的方法,并提供了修改后的完整代码和预训练模型下载链接。 主要亮点包括: 将SAN模型实现整合到EDSR-Pytorch框架中,解决了高版本环境下的兼容性问题 提供了完整的数据集准备指南(DIV2K训练集和5个测试集) 给出了详细的测试命令,涵盖x2、x3、x4不同放大倍率 公开了预训练模型和可视化结果的下载资源 提供了修改后的适配高版本环境的代码。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1412

java quickhit项目_JavaOOP QuickHit项目分析

项目需求:游戏等级6级,随机字符串每级长度不同。每升一级减少比较次数,但是字符串长度相应增加!每级总分数不同,如果游戏中途输入错误则游戏退出!玩家每次在规定时间内输入字符串的同时,打印出游戏难度等级、当年难度下的游戏积分、输出用时。根据需求抽象出三个类:Game、Player、Level.Level类:public class Level {private int levelNo;// 各级别编号...

weixin_31986143的博客 224

YOLOv11改进 | 注意力篇 | YOLOv11引入CBAM注意力机制

我们的实验表明各种模型的分类和检测性能得到了一致的改进,证明了 CBAM 的广泛适用性。简单介绍:CBAM的主要思想是通过关注重要的特征并抑制不必要的特征来增强网络的表示能力。模块首先应用通道注意力,关注"重要的"特征,然后应用空间注意力,关注这些特征的"重要位置"。到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的,后期我会根据各种前沿顶会进行论文复现,也会对一些老的改进机制进行补充,如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~

tsg6698的博客 2万+

实战项目——QuickHit

任务描述 1.根据输入速率和正确率将玩家分为不同级别 2.级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高 3.规定时间内完成规定次数的输入,正确率达到规定要求,则升级       玩家最高级别为6级、初始级别一律为1级 4.用户错误输入一次,游戏结束 分析 1.玩家类:级别、当前级别时间、姓名、得分,玩游戏() 2.级别:字符数、得分、次数、规定时间、级别号 3.6个级别的常量: 4.游戏类:玩家,生成字符()、玩游戏() 流程控制: &

timicai的博客 670

微信小程序 - [wxapplib]] backgroundfetch privacy fail {“errno”:101,“errMsg”:“private_getBackgroundFetchDa

微信小程序报错之backgroundfetch privacy fail,微信小程序报错WAServiceMainContext.js:1 [wxapplib]] backgroundfetch privacy fail {“errno“:101,怎么解决?问题出现:调用wx.chooseMessageFile报错(开发者工具中正常)用户隐私协议中未声明小程序使用此功能,安卓真机调试报错:backgroundfetch privacy fail ,怎么解决?微信小程序[wxapplib]] backgrou

🏆 前端领域优质创作者 1万+

PCL学习笔记(四)——点云曲面重建

文章目录一、凸包算法二、 单纯的点云数据固然很好,但仅仅是点的话仍是不够的,因为这不利于我们后续对实体对象的渲染与各种应用,如计算实体的表面积、体积等等,所以这就需要我们对实体进行点云的曲面重建。 一、凸包算法 在计算机图形学中,凸包是指在任意维空间中包含某一有限点集P的最小凸集,它由凸包顶点构成,在二维上其表现形式为一个凸多边形,而在三维上则表现为一个凸多面体。在二维层面上来讲,最常用的凸包算法有Graham扫描法和Jarvis卷包裹法,但前者并不适用于三维层面,后者倒是可以扩展到三维。除此之外,在

dayuhaitang1的博客 6912

java quickhit项目_Java Quick Hit项目

需求概述1.根据输入速率和正确率将玩家分为不同级别2.级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高3.规定时间内完成规定次数的输入,正确率达到规定要求,则升级(玩家最高级别为6级,初始级别一律为1级)4.用户错误输入一次,游戏结束问题分析一:需要使用的类发现类1.玩家(Player)类2.游戏(Game)类3.级别(Level)类发现类的属性1.玩家类(Player)的属性a.玩家...

weixin_42463480的博客 384

FAST-LIO论文公式解析

FAST-LIO论文公式解析

努力努力努力 670

大数据——项目实战之QuickHit游戏

QuickHit项目需求项目环境准备项目覆盖的技能点难点分析需要用到的类 项目需求 QuickHit游戏考验学员键盘输入内容的速度和正确率。 根据输入速率和正确率将玩家分为不同级别,级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高。如果玩家在规定时间内完成规定次数的输入,正确率达到规定要求,则玩家升级(为了简单起见,规定用户只要输入错误一次,则游戏结束)。玩家最高级别为6级,初始级别一律为一级。 项目环境准备 完成QuickHit,对于开发环境要求如下: 开发工具:MyEclipse 10或In

蜂蜜柚子加苦茶 1630

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

QuickHit项目——Java实现

文章目录项目分析代码实现项目总结 项目分析 QuickHit 游戏考验你键盘输入的速度和准确性。 根据输入速度和正确率将玩家分为不同级别,级别越高,一次显示的字符数就越多,玩家 正确输入一次的得分也越高。如果玩家在规定时间内完成规定次数的输入,正确率达到 规定要求,则玩家升级(为了简单起见,规定用户错误输入一次,游戏结束)。玩家最 高级别为六级,初始级别一律为一级 QuickHit游戏的设计主要是...

云祁QI 1751

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Java】QuickHit游戏

在main()方法中创建Play类对象,调用play()方法,并“开始游戏”。System.out.println("开始游戏");}}System.out.println("开始游戏");}}今天的项目是第一次写万字博客,虽然项目很简单,但是,是我第一次非常非常认真做的一个小游戏,希望大家多多支持!!!

swy2560666141的博客 1194

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

QuickHit项目

QuickHit项目项目需求案例覆盖的技能点项目实现思路 项目需求 QuickHit游戏考验学员键盘输入内容的速度和准确性。一次显示的字符数越多,级别越高,根据输入速率和正确率将玩家分为不同级别,在规定时间内完成规定次数的输入,正确率高的玩家正确输入一次的得分也越高。如果玩家在规定时只要输入错误次,则游戏结束。达到规定要求,则玩家升级(为了简单起见,规定用户只玩家最高级别为6级,初始级别一律为 一级)。 案例覆盖的技能点 ➢面向对象程序设计的思想。 ➢使用类图理解类的关系。 ➢类的封装。 ➢构造方法的使用。

sanjiang521的博客 584

QuickHit源码

QuickHit这个项目是《Java面向对象程序开发及实战》 课工场出品 ISBN 978-7-115-47399-8 一书的第十章,综合实战。 整个项目分为4个类: Player 玩家类 Level 等级类 LevelParam 等级参照类 Game ...

damo01的博客 580

QuickHit游戏开发项目总结

在此之前已经学过了面向对象的三大特性,即封装,继承,多态,学习了接口的应用,下面是完成的一个游戏项目,这个QuickHit游戏考验的是你的键盘输入速度和准确性,根据输入速度和正确率将玩家分为不同的等级,级别越高一次显示的字符串就越多,玩家正确输入一次的得分也就越高,如果玩家在规定的时间内完成规定的次数,正确率达到规定的要求,那么玩家升级,玩家级别最高为六级,初始级别为一级。 根据要求我们可以分析

LS1910831673的博客 2541

<Zhuuu_ZZ>面向对象及项目QuickHit

一.面向对象总结 面向对象: 类与对象的关系:类是对象的抽象,对象是类的实现 类是由属性和方法构成,它的每一个对象都有对应的属性和方法 方法: 方法的重载: 目的:针对同一个行为的多种表现,对应相同方法名的多个方法 特点: 方法名相同,参数列表不同 类方法(static方法) 类名.方法名() 封装:保护属性值不被随意修改 私有化属性并提供getter,setter对外接口 继承:代码重用,是多态的基础 extends关键字 默认的根类是Object,单根继承 方法的重写: 有继承关系 方法名相同,参数列表

Zhuuu_ZZ的博客 378

项目实战:QuickHit

面向对象设计的思想使用类图理解类的关系类的封装构造方法的使用this、static关键字的使用在main()方法中创建Play类对象,调用play()方法,开始游戏。

qq_45734913的博客 1533

项目:QuickHit

项目分析: QuickHit 游戏考验你键盘输入的速度和准确性。 根据输入速度和正确率将玩家分为不同级别,级别越高,一次显示的字符数就越多,玩家 正确输入一次的得分也越高。如果玩家在规定时间内完成规定次数的输入,正确率达到 规定要求,则玩家升级(为了简单起见,规定用户错误输入一次,游戏结束)。玩家最 高级别为六级,初始级别一律为一级 QuickHit游戏的设计主

PFang617的博客 1722

java quickhit项目_[Java教程]【QuickHit项目实例】

[Java教程]【QuickHit项目实例】0 2016-10-18 15:55:40关于java面向对象QuickHit项目实例Game类:用来得到随机出现的字符串(随机打印的字符串,然后玩家进行输入字符串)public class Game {private String sbString;Random random = new Random();public String pl...

weixin_36380427的博客 462

java quickhit项目_【QuickHit项目实例】

标签:关于java面向对象QuickHit项目实例Game类:用来得到随机出现的字符串(随机打印的字符串,然后玩家进行输入字符串)public class Game {private String sbString;Random random = new Random();public String player(int level) {sbString="";for (int i = 0; i ...

weixin_31470259的博客 586

QuickHit游戏

在游戏类的printResult(String out,String in)方法中,输出相应结果时肯定会涉及玩家类的信息,如当前级别编号、当前级别积分、当前级别已用时间等,需求中和业务相关的名词主要是游戏、输入速率、玩家、级别、一次显示的字符数、正确输入一次的得分、规定时间、规定次数、超时、玩家的积分和玩家用时等。System.out.println("您已闯关成功,成为绝世高手,恭喜你!如果玩家输入正确且未超时,则输出玩家输入的正确信息(包括级别、积分和用时),并输出玩家当前积分、当前级别和已用时间。

xunmengyinjia的博客 225
上一篇: java中的异常捕获和处理
下一篇: java集合框架(一)
海山的蓝
博客等级 码龄9年 36粉丝 49原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值