第一篇:java猜拳小游戏源代码
Java猜拳小游戏程序设计实验报告
Java程序设计实验报告
班级:
学号:
姓名:
实验题目:猜拳小游戏
实验要求:
用java编写一个人机对战的猜拳小游戏。人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。有简单的操作界面。
实验内容:
1、问题分析过程:
(1)首先分析猜拳游戏本身的玩法:
人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。 (2)用面向对象的思想来分析:
在游戏过程中有几个对象组成
人
电脑
游戏规则
抽象出3个类:Person、Computer、Game Person类有哪些属性和行为呢?
属性:名字name,输赢次数(比分)score 行为:出拳ShowFirst()
选择性
Computer类有哪些属性和行为呢?
属性:名字name,输赢次数(比分)score 行为:出拳showFist()
随机
Game类有哪些属性和行为呢?
属性:游戏的双方(person、computer)、对战局数count 行为:产生角色initial()、游戏规则startGame()、显示比赛结果showResult()、统计
比赛结果calcResul()
2、主要实现代码:
import java.util.*; public class StartGame { public static void main(String[]args){
Game start = new Game();//实例化游戏类
start.initial(); //调用初始化方法
start.startGame(); //调用游戏开始方法
start.showResult(); //调用游戏结果显示方法
} } import java.util.*; public class Person { String name;//名字属性
int score;//积分属性
//出拳方法
public int showFist(){
System.out.print(" 请出拳:1.剪刀2.石头3.布(输入相应数字):");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
String fist = "";//保存出拳
switch(num){ case 1:
fist = "剪刀";
break;
case 2:
fist = "石头";
break;
case 3:
fist = "布";
break;
}
System.out.println(name + "出拳:" + fist);
return num; } } import java.util.*; public class Game { //Person person;
//甲方
//Computer computer; //乙方
int count;
//对战次数
Person person = new Person(); //实例化用户类
Computer computer = new Computer(); //实例化计算机类
//初始化方法
public int initial(){
count = 0;
return count; } //游戏开始方法
public void startGame(){
//显示游戏开始界面
System.out.println(" ---------------欢
迎
进
入
游
戏
世
System.out.println(" ******************************");
System.out.println(" **
^_^ 猜拳,Start ^_^
**");
System.out.println(" *****************************");
界-------------- ");
System.out.println(" 出拳规则:1.剪刀 2.石头 3.布"); //选择计算机角色
System.out.print("请选择对方角色:1.刘备 2.孙权 3.曹操:"); Scanner input = new Scanner(System.in); int num = input.nextInt(); switch(num){ case 1: computer.name = "刘备"; break; case 2: computer.name = "孙权"; break; case 3:
} computer.name = "曹操"; break; //输入用户角色名
System.out.print("请输入你的姓名:"); person.name = input.next();
//显示对战双方
System.out.print(person.name + " VS " + computer.name + " 对战 "); //开始游戏
System.out.print(" 要开始吗?(y/n)"); String con = input.next(); int perFist;//用户出的拳 int compFist;//计算机出的拳
if(con.equals("y")){//判断是否开始
String answer = "y";
while("y".equals(answer)){//循环条件是是否开始下一轮
//出拳
perFist = person.showFist();//调用用户出拳方法
compFist = computer.showFist();//调用计算机出拳方法
//裁决
if((perFist == 1 && compFist == 1) ||
(perFist == 2 && compFist == 2) ||
(perFist == 3 && compFist == 3)){
System.out.println("结果:和局,真衰! "); //平局
}
else if((perFist == 1 && compFist == 3) ||
(perFist == 2 && compFist == 1) ||
(perFist == 3 && compFist == 2)){
System.out.println("结果:恭喜, 你赢了! "); //用户赢
person.score++;
//累计用户积分
}
else{
}
} System.out.println("结果说:^_^,你输了,真笨! ");//计算机赢
computer.score++;
//累计计算机积分 } count++;//累计对战次数
System.out.print("是否开始下一轮(y/n):"); answer = input.next(); }
//比较得分情况的方法 public void showResult(){ System.out.println("-----------------------"); System.out.println(computer.name + " VS " + person.name);
System.out.println("对战次数:" + count); System.out.println(" 姓名 得分 " + person.name + " " + person.score
+ " " + computer.name + " " + computer.score + " ");
//比较积分
if(computer.score == person.score){
System.out.println("结果:打成平手,下次再和你一分高下!");
}
else if(computer.score < person.score){
System.out.println("结果:你果然是高手," + computer.name + "佩服!");
}
else{
System.out.println("结果:呵呵,笨笨,下次加油哦!");
}
System.out.println("-----------------------"); } } public class Computer {
String name;//名字属性 int score;//积分属性 //出拳方法
public int showFist(){ int num = (int)(Math.random()*3) + 1; String fist = ""; switch(num){ case 1:
fist = "剪刀";
break; case 2:
fist = "石头";
break; case 3:
fist = "布";
break;
}
System.out.println(name + "出拳:" + fist);
return num; } } 运行界面:
3、实验心得体会:
从本次课程设计的完成中,我发现我有很多不足的地方,最突出的是所掌握的知识太少,学到的知识应用不到实践中。后来通过看书查找相关资料,完成课程设计任务。
程序设计语言是程序设计的工具,如果想有效的设计程序,正确的应用程序表达算法,必须准确应用程序设计语言;学习程序设计,必须要多读程序,并试着自己编写程序,多上机调试程序代码。
第二篇:幼儿园大班游戏教案《猜拳跨步》
大班游戏教案《猜拳跨步》适用于大班的游戏主题教学活动当中,让幼儿两两合作,配合协调,遵守游戏规则,学习正确的猜拳与跨步,通过小组合作,共同商量表达表现的形式,大胆表演,快来看看幼儿园大班游戏《猜拳跨步》教案吧。
【活动目标】
1、遵守游戏规则,学习正确的猜拳与跨步。
2、两两合作,配合协调。
3、通过小组合作,共同商量表达表现的形式,大胆表演。
4、在活动中,让幼儿体验与同伴共游戏的快乐,乐意与同伴一起游戏。
【活动准备】
场地上贴好起止线、红蓝标记若干、课件。
【活动过程】
一、热身操。(队形:半圆形,看到每一个幼儿)
喜欢运动吗?这儿有一段适合的音乐,找个空的地方跟着我一起动起来!
二、谈话导入。
师:哇,运动的感觉真好!知道吗?我小时候除了和你们一样喜欢做运动,还喜欢玩各种有趣的游戏。比如老鹰捉小鸡、跳房子、踢毽子,还有猜拳跨步。你们想玩吗?今天,我们就来玩一个猜拳跨步的游戏,好吗?
三、教师讲解游戏规则及玩法。(队形:两竖排,让每一个幼儿看清楚游戏的玩法)
1、玩这个游戏必须会猜拳会跨步,你们都会吗?
①猜拳怎么猜?剪刀赢?布赢?石头赢?非常清楚,真棒!
②跨步会吗?试试看?跨得又大又稳,真不错!
2、怎么玩呢?请一个孩子和我一起先来玩一下!看仔细,我们是怎样玩的!
这是起跑线,那是终点线。两个人站在起跑线上,然后猜拳,谁赢了,谁就往前跨一步,跨好后站着不能动,然后继续猜拳,最先到达终点的就是胜利者。明白了吗?
(注意:只有猜拳胜出的才能向前跨一步,然后向原地后转再进行猜拳,没有决定胜负前,不能移动。)
3、我和他谁会先到到终点呢?请看仔细!
四、幼儿自主游戏两遍,教师观察指导。
1、幼儿第一次两两合作玩游戏。
知道怎么玩了吗?找一个朋友,一起来玩一玩!
2、交流遇到的问题,重申活动规则。
刚才玩的时候有没有遇到什么问题?谁来说一说?
3、幼儿第二次两两合作玩游戏。
只有遵守规则,才能玩得快乐。换个朋友再来玩一玩。
五、游戏《猜拳跨步之红蓝大对抗》。
1、介绍比赛内容。
①这个游戏好玩吗?喜欢吗?这样,我们来个《猜拳跨步之红蓝大对抗》吧!红队队员和蓝队队员猜拳跨步,胜利的获得一颗星,比比哪个队的星星多!
②红队队员在哪里?蓝队呢?开始组合。
2、红蓝对抗第一轮。
3、红蓝对抗第二轮。
换个对手,重新组合!
六、放松活动。
多优美的乐曲啊,跟着旋律一起放松我们的肢体。
本文扩展阅读:猜拳,指划拳。酒席间助兴的游戏。一种简单的游戏,共有剪刀、石头、布三个手势。二人同时用手做出相应形状而出,输赢判断规则为:剪刀赢布,布赢石头,石头赢剪刀。
第三篇:学生成绩管理系统 java源代码
package com.student.enty;
//姓名学号语文数学英语public class Student {
private String name;
private int num;
private double chi;
private double mat;
private double eng;//声明成员变量 public String getName() {
return name;
}
public void setName(String name) {this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {this.num = num;
}
public double getChi() {
return chi;
}
public void setChi(double chi) {this.chi = chi;
}
public double getMat() {
return mat;
}
public void setMat(double mat) {this.mat = mat;
}
public double getEng() {
return eng;
}
public void setEng(double eng) {this.eng = eng;
}
}
第四篇:个人通讯录管理系统,java源代码
package cn.pab.manager;
import java.util.List; import java.util.Scanner;
import cn.pab.dao.PersonDao; import cn.pab.dao.TypeDao; import cn.pab.dao.UserDao; import cn.pab.dao.impl.PersonDaoImpl; import cn.pab.dao.impl.TypeDaoImpl; import cn.pab.dao.impl.UserDaoImpl; import cn.pab.entity.Person; import cn.pab.entity.Type; /** * 业务类
*/ public class PABmanager { /**
* 系统启动
*/ public static void main(String[] args) {
Scanner input = new Scanner(System.in);
UserDao userDao = new UserDaoImpl();
TypeDao typeDao = new TypeDaoImpl();
PersonDao personDao = new PersonDaoImpl();
System.out.println("***********欢迎使用个人通讯录管理系统**********");
System.out.print(" 请选择操作(1.系统登录
2.密码修改
3.取消):");
String in = input.next();
if ("1".equals(in)) {
boolean islogin = userDao.login();
if(islogin){
System.out.println("***********成功登录个人通讯录管理系统**********");
//System.out.print(" 请选择操作(1.类别管理
2.联系人管理
3.退出系统):");
}else{
System.out.println("用户名或密码错误,不能登录!");
System.exit(-1);
}
}else if ("2".equals(in)) {
boolean modiFlag = userDao.modify();
if(modiFlag){
System.out.println("密码修改成功!"); }else{
System.out.println("密码修改失败!"); } System.exit(-1); }else{ System.out.println("您已经退出系统!"); System.exit(-1); }
while(true){
System.out.print(" 请选择操作(1.类别管理
2.联系人管理
3.退出系统):"); String in2 = input.next(); if ("1".equals(in2)) { while(true){
System.out.print(" 请继续选择操作(1.新建类别
2.查询类别
3.删除类别
4.返回):");
String num = input.next();
if ("1".equals(num)) {
System.out.print("请输入类别的名称:"); String lbmc = input.next();
System.out.print("请输入类别的说明:"); String lbsm = input.next(); System.out.print("请输入类别的备注:"); String lbbz = input.next();
Type type = new Type(lbmc,lbsm,lbbz);
typeDao.createType(type); }else if ("2".equals(num)) { List types = typeDao.queryType();
System.out.println(" 类别信息列表");
System.out.println("类别名称 类别说明 类别备注");
for (int i = 0; i < types.size(); i++) {
Type type =types.get(i);
System.out.print(type.getLbmc()+" ");
System.out.print(type.getLbsm()+ " ");
System.out.println(type.getLbbz());
}
}else if ("3".equals(num)) {
System.out.print("请输入类别的名称:");
String lbmc = input.next();
Type type = new Type(lbmc,null,null);
typeDao.deleteType(type); }else if ("4".equals(num)) { break; }else{
System.out.println("您输入不合法,请重新选择!");
}
} }else if ("2".equals(in2)) {
while(true){
System.out.print(" 请继续选择操作(1.新建联系人
2.查询联系人
3.更新联系人
4.删除联系人
5.返回):");
String num = input.next();
if ("1".equals(num)) {
System.out.print("请输入联系人的类别名称:"); String lb = input.next();
System.out.print("请输入联系人的姓名:"); String xm = input.next();
System.out.print("请输入联系人的电话:"); String dh = input.next();
System.out.print("请输入联系人的手机号:"); String sjh = input.next();
System.out.print("请输入联系人的工作单位:"); String gzdw = input.next();
System.out.print("请输入联系人的住址:");
String zz = input.next();
System.out.print("请输入联系人的邮政编码:");
String yzbm = input.next();
Person person = new Person(lb,xm,dh,sjh,gzdw,zz,yzbm);
personDao.createPerson(person);
}else if ("2".equals(num)) {
System.out.print("请输入联系人的姓名:");
String name = input.next();
Person p = personDao.queryPerson(name);
System.out.println(" 查询到的联系人信息");
System.out.println("类别 姓名 电话 手机号 工作单位 住址 邮政编码");
System.out.print(p.getLb() + " ");
System.out.print(p.getXm() + " ");
System.out.print(p.getDh() + " ");
System.out.print(p.getSjh() + " ");
System.out.print(p.getGzdw() + " ");
System.out.print(p.getZz() + " ");
System.out.println(p.getYzbm());
}
} }
}else if ("3".equals(num)) {
System.out.print("请输入需更新的联系人编号:");
int id = input.nextInt();
System.out.print("请输入需更新的联系人信息选项:");
String item = input.next();
System.out.print("请输入联系人信息选项的值:");
String val = input.next();
personDao.updatePerson(id,item, val);
}else if ("4".equals(num)) {
System.out.print("请输入要删除联系人的姓名:");
String name = input.next();
personDao.deletePerson(name);
}else if ("5".equals(num)) {
break;
}else{
System.out.println("您输入不合法,请重新选择!");
} } }else if ("3".equals(in2)) { System.out.println("您已经退出系统!"); System.exit(-1); }else{ System.out.println("您输入不合法,请重新选择!"); }
第五篇:《Java EE框架技术进阶式教程》源代码的使用说明
源代码的使用说明
尊敬的读者:
您好,为了方便读者学习和相关老师的教学,作者在编写教材的过程中整理了与本教材配套的相关资料,由于作者长期从事本校《轻量级Java EE开发》课程的教学,本教材也是我校《轻量级Java EE开发》课程的配套教材,因此我们提供本课程全部的教学资料。资料清单如下:
1、《轻量级Java EE开发》课程标准
2、《轻量级Java EE开发》课程说课材料
3、《轻量级Java EE开发》授课计划
4、《轻量级Java EE开发》新版任务式教案
5、《轻量级Java EE开发》各章节课件
6、《Java EE框架技术进阶式教程》源代码
本教材在制作的过程中,反复核对过代码,错误率较少,可以放心使用。但是由于存储空间有限,在源代码部分做了一些调整,具体使用方法如下,请参照下面的方法使用,保证可以正确运行,达到现代化教学的目的。
(1)《Java EE框架技术进阶式教程》一书的第1至第6单元涉及的源代码,均通过工程给出,读者只需要将工程导入MyEclipse或安装好插件的Eclipse环境就可以运行了。课本第2单元讲述了环境的搭建过程,请读者到相关网站上下载免费的Eclipse环境、插件和Tomcat6.0。
(2)为了节省资源空间,“第7单元”给出的工程,不包含所需要的Struts 1.0的JAR包。所需JAR包在“第7单元”文件夹的“JAR包库”中给出,请读者首先将工程导入MyEclipse编译器,然后请将“JAR包库”文件夹中的JAR包导入工程,即可运行。第七单元的所有工程均使用相同的“JAR包”文件,共计20个。
(3)第8单元的“LoginStruts1”工程所需的JAR包与第7单元所需JAR包相同,请读者在运行“LoginStruts1”工程时,将第7单元“JAR包库”中的20个JAR包导入,即可运行。“LoginStruts2”工程可以直接导入到MyEclipse编译器中运行。
(4)第9单元共涉及6个案例,这六个案例均属于Struts 2.0的案例,因此这六个案例使用的JAR包相同,所以为了节省存储空间,作者将这6个案例涉及的27个Struts 2.0的JAR包整理出来,放在“第9单元”文件夹下的“JAR包库”文件夹中,共计27个JAR包文件。在读者将“第九单元”的工程导入MyEclipse编译器后,还需要将相应的“JAR包库”中的27个文件导入。
(5)第
10、
11、12单元的所有名为“ShoppingHibernate”工程均属于基于Hibernate框架开发的案例,这些工程使用的JAR包库在“第12单元”文件夹下“JAR包库”文件夹中,共计10个JAR包文件,读者在将“ShoppingHibernate”工程导入到MyEclipse编译器后,需要导入“第12单元”文件夹下“JAR包库”文件夹中的全部JAR文件,即将这些JAR包文件放到工程中的“lib”包(文件夹)中即可。在第
10、11单元中的名为“ShoppingJDBC”的工程可以直接导入到MyEclipse中运行。
(6)第13单元中的所有工程均可以直接导入运行。
(7)第14单元中的“TestPointCut”、“TestProxyFactory”、“TestSpringAdvice”和“UserLoginLogSystem”工程需要3个SpringJAR包文件,这些文件在“第14单元”文件夹下的“JAR包库”文件夹中,读者需要首相将这些工程导入到MyEclipse编译器,然后再将“JAR包库”文件夹下的这3个JAR文件导入到工程的“lib”包(文件夹)中,即可运行。第14单元的其他工程无需导入JAR包即可运行。
(8)第15单元的“CartSystem”和“SSHUserLogin”工程使用的“JAR”包相同,共计75个文件,该JAR包文件在“第15单元”文件夹下的“JAR包库”文件夹中,读者需要在导入工程后,导入这75个JAR包。“LoginSpringStruts2”工程导入MyEclipse后可以直接运行。
(9)第16单元的工程所使用的JAR包和“第15单元”文件夹下的“JAR包库”文件夹下的JAR包相同,读者需要在导入工程后,导入这75个JAR包。
敬爱的读者朋友,如果需要帮助可以和作者取得联系,我的E-Mail为:yzhao-monica@hotmail.com,欢迎大家多提宝贵意见和建议。同时我们还会建立课程授课网站,不断创新,争取更好的成绩。