java猜拳小游戏源代码

2023-06-30

第一篇: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,欢迎大家多提宝贵意见和建议。同时我们还会建立课程授课网站,不断创新,争取更好的成绩。

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:大学生社会实践4000字下一篇:教官荣誉证书word模板