第一篇: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框架技術進階式教程》源代碼的使用說明
源代碼的使用說明
尊敬的讀者:
您好,為了方便讀者學習和相關老師的教學,作者在編寫教材的過程中整理了與本教材配套的相關資料,由于作者長期從事本?!遁p量級Java EE開發》課程的教學,本教材也是我?!遁p量級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,歡迎大家多提寶貴意見和建議。同時我們還會建立課程授課網站,不斷創新,爭取更好的成績。