Java猜拳小游戏程序设计实验报告
- 格式:doc
- 大小:281.00 KB
- 文档页数:6
Java程序设计基础实验报告班级:学号:姓名:实验题目:猜拳小游戏实验要求:用java编写一个人机对战的猜拳小游戏。
人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。
有基本的UI界面。
实验内容:1、问题分析过程:实验针对java的具体应用,设计了猜拳小游戏。
根据游戏的规则,玩家可以和电脑进行对战。
成学的主要功能是使用标准的JDK进行编译和运行。
定义玩家自己选择性出拳,电脑随机出拳,赢的记10分,输的记0分,平局都记10分。
本程序设计了Game、Person、Player、等多个类,通过程序设定的规则来实现游戏。
(登陆界面)(初始界面)(游戏界面)2、主要实现代码:******************************oString();"="+playerName);etName());etName());造函数的特点:* A:函数名和类名相同* B:函数没有返回类型,即使void也不行* 2.构造函数什么时候被执行:在用户实例化对象时编译器自动调用的,用户无法调用* 3.构造函数完成什么样的工作:在用户实例化对象时完成实例变量(被static的变量)的初始化工作**/public LoginFrame() {etScreenSize();etResource[index]);return new ImageIcon(url);}/*** 根据选手索引的猜拳状态创建ImageIcon对象* @param player_index 选手索引* @param state 猜拳状态,0:初始状态,1:赢状态;2:平局;3:输状态* @return ImageIcon对象*/public ImageIcon getPlayerIcon(int player_index,int state){URL url=getClass().getResource[player_index][state]);return new ImageIcon(url);}public static String getResult(Player userPlayer,Player computerPlayer){count++;int differ=()();int state=0;etPlayerIcon, 0));jContentPane = new JPanel();(null);etMorraIcon (new Game().getMorraIcon ;(new Game().getPlayerIcon(img_index, + "");+ "");+ "");}/*** 恢复游戏初始状态*/private void setInit() {=false;=0;本类型的默认值: byte(1) 0 short(2) 0 int(4) 0 long(8) 0 * char(2) '\0' boolean(2) false* float(4) double* 2.引用类型的默认值:null** 基本类型和引用类型的区别:* 基本类型是在栈内存中存放数据值* 引用类型是在栈内存中存放引用地址,在堆内存中存放数据值的* @author hsj* @version**/public class Person {private String name;private int age;public Person(String name, int age) {super();= name;= age;}public Person() {例化Person类型的对象Person p1=new Person("张三",20);用display()函数完成成员变量的输出工作//段落注释的快捷键:ctrl+shift+o/*();();*/}}3、实验心得体会:通过这次java实验。
Java程序设计实验报告班级:10060641X 学号:34 姓名:李树明实验题目:猜拳小游戏实验要求:用java编写一个人机对战的猜拳小游戏。
人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。
有简单的操作界面。
实验内容:1、问题分析过程:游戏名称:悟空猜拳游戏类型:益智类平台:java编程语言:java操作:鼠标游戏规则:游戏为单人模式,玩家控制己方出拳,对方为电脑随机出拳,有3种胜出模式(三局两胜制、五局三胜制和七局四胜制),双方只要先胜出2、3、4局游戏结束程序框架设计:Menu类,Game类,Npc类,Player类游戏界面设计:登录界面:游戏主界面胜利界面2、主要实现代码:Menu类:package Game_guessFist;import java.awt.Color;import java.awt.FlowLayout;import java.awt.Font;import bel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;public class Menu extends JFrame implements ActionListener{JMenuBar menuBar;JMenu setting;JMenuItem item1,item2,item3;JButton start,about,exit;Label l;int model =2;public Menu(){//窗口super("悟空猜拳");//设置窗口宽高以及位置this.setSize(500,400);this.setLocationRelativeTo(null);//不可修改this.setResizable(false);//设置可见this.setVisible(true);//创建布局FlowLayout f = new FlowLayout();f.setAlignment(FlowLayout.CENTER);f.setHgap(500);f.setVgap(40);//设置布局this.setLayout(f);//菜单//实例化控件menuBar = new JMenuBar();setting = new JMenu("设置");item1 = new JMenuItem("三局两胜制");item2 = new JMenuItem("五局三胜制");item3 = new JMenuItem("七局四胜制");//添加监听器item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);//向窗口添加元素setting.add(item1);setting.add(item2);setting.add(item3);menuBar.add(setting);//按钮start = new JButton("开始游戏");about = new JButton("关于游戏");exit = new JButton("退出游戏");start.addActionListener(this);about.addActionListener(this);exit.addActionListener(this);l = new Label(" 悟空猜拳" +"");Font ff = new Font(null,1, 20);l.setFont(ff);l.setBackground(Color.RED);this.add(l);this.add(start);this.add(about);this.add(exit);this.setJMenuBar(menuBar);this.validate();}public static void main(String[] args){//程序入口new Menu();}// 按钮监听器@Overridepublic void actionPerformed(ActionEvent e){//菜单按钮判断if(e.getSource()==item1){model = 2;}else if(e.getSource()==item2){model = 3;}else if(e.getSource()==item3){model = 4;}//游戏流程按钮判断if(e.getSource()==start){this.dispose();new Game(model);}else if(e.getSource()==about){JOptionPane.showMessageDialog(null, "您好,本游戏有网络工程专业李树明制作", "关于", RMATION_MESSAGE);}else if(e.getSource()==exit){System.exit(0);this.dispose();}}}Game类:package Game_guessFist;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;public class Game extends JFrame implements ActionListener { private JLabel npc_score, player_score, npc_sign, player_sign, label;private JButton btnReturn, btn_scissore, btn_stone, btn_cloth;private JPanel panel1, panel2, panel3, panel4, panel5;private Npc npc;private Player player;int model = 2;Game(int model) {// 窗口super("悟空猜拳");this.setSize(500,400);this.setLocationRelativeTo(null);this.setResizable(false);this.setVisible(true);FlowLayout ff = new FlowLayout(FlowLayout.CENTER, 400, 10);FlowLayout f1 = new FlowLayout(FlowLayout.CENTER, 250, 10);ff.setAlignment(FlowLayout.CENTER);ff.setHgap(500);ff.setVgap(30);this.setLayout(ff);npc = new Npc();player = new Player();setVisible(true);npc_sign = new JLabel("出拳");player_sign = new JLabel("出拳");npc_score = new JLabel("悟空胜:0"); player_score = new JLabel("八戒胜:0");btn_cloth = new JButton("布");btn_scissore = new JButton("剪刀");btn_stone = new JButton("石头"); btnReturn = new JButton("返回");btn_cloth.addActionListener(this);btn_scissore.addActionListener(this); btn_stone.addActionListener(this); btnReturn.addActionListener(this);"); label = new JLabel(" panel1 = new JPanel();panel2 = new JPanel();panel3 = new JPanel();panel4 = new JPanel();panel5 = new JPanel();panel1.setLayout(f1);panel4.setLayout(f1);panel1.add(npc_score);panel1.add(btnReturn);panel2.add(npc_sign);panel3.add(player_sign);panel4.add(player_score);panel4.add(label);panel5.add(btn_cloth);panel5.add(btn_scissore);panel5.add(btn_stone);add(panel1);add(panel2);add(panel3);add(panel4);add(panel5);this.model = model;}// 按钮监听@Overridepublic void actionPerformed(ActionEvent e) {int id = 0;if (e.getSource() == btnReturn) {this.dispose();new Menu();} else {//设置两个字符串对象,接受npc以及player的出拳String player_quan = null;String npc_quan = npc.shouFist();//按照玩家点击的按钮,判断用户出拳if (e.getSource() == btn_scissore) {player_quan = player.shouFist(0);} else if (e.getSource() == btn_stone) {player_quan = player.shouFist(1);} else if (e.getSource() == btn_cloth) {player_quan = player.shouFist(2);}//设置出拳到界面npc_sign.setText(npc_quan);player_sign.setText(player_quan);//判断胜负id = guess(npc_quan, player_quan);}//判断何时结束游戏switch (id) {case 0://平局不做处理break;case 1://玩家胜利player.score++;player_score.setText("八戒胜:" + player.score);if (player.score >= model) {JOptionPane.showMessageDialog(null, "八戒获得了胜利", "提示", RMATION_MESSAGE);init();}break;case 2://npc胜利npc.score++;npc_score.setText("悟空胜:" + npc.score);if (npc.score >= model) {JOptionPane.showMessageDialog(null, "悟空取得了胜利", "提示", RMATION_MESSAGE);init();}break;}}// 比较结果方法public int guess(String npc, String player){int id = 0;if((npc.equals("剪刀")&&player.equals("布"))||(npc.equals("石头")&&player.equals("剪刀"))||(npc.equals("布")&&player.equals("石头"))){id = 2;}else if(npc.equals(player)){id = 0;}else{id = 1;}return id;}public void init()// 初始化数据方法{npc.score = 0;player.score = 0;npc_score.setText("悟空胜:0");player_score.setText("八戒胜:0");npc_sign.setText("出拳");player_sign.setText("出拳");}}Npc类:package Game_guessFist;import java.util.Random;class Npc{private Random r;Npc(){r = new Random();}public int score;public int score1;public String shouFist(){int id = Math.abs(r.nextInt())%3;String fist = null;switch (id){case 0:fist = "剪刀";break;case 1:fist = "石头";break;case 2:fist = "布";break;}return fist;}}Player类:package Game_guessFist;public class Player{public int score;public String shouFist(int id){String fist = null;switch (id){case 0:fist = "剪刀";break;case 1:fist = "石头";break;case 2:fist = "布";break;}return fist;}}3、实验心得体会:通过这次试验,发现了学习的不足。
使⽤java实现猜拳⼩游戏本⽂实例为⼤家分享了java实现猜拳⼩游戏的具体代码,供⼤家参考,具体内容如下实现下图要求public class User {private String u_name;private int u_score;public User() {super();}public User(String name, int score) {super();this.u_name = name;this.u_score = score;}public String getName() {return u_name;}public void setName(String name) {this.u_name = name;}public int getScore() {return u_score;}public void setScore(int score) {this.u_score = score;}/*** 出拳⽅法* @param choice 选择的数字代表出拳(1:⽯头2:剪⼑3:布)case 2:str = "剪⼑";break;case 3:str = "布";break;default:System.out.println("未知错误");break;}return str;}}public class Computer {private String c_name;private int c_score;public String getName() {return c_name;}public void setName(String name) {this.c_name = name;}public int getScore() {return c_score;}public void setScore(int score) {this.c_score = score;}/*** 出拳⽅法* @param choice 选择的数字代表出拳(1:⽯头2:剪⼑3:布)case 2:str = "剪⼑";break;case 3:str = "布";break;default:System.out.println("未知错误");break;}return str;}}import java.util.Scanner;public class Game {Scanner input = new Scanner(System.in);private User user;private Computer computer;private int count;private int c_score;private int u_score;//初始化⽅法public void init(){user = new User();computer = new Computer();System.out.println("-----------------欢迎进⼊游戏世界------------------");System.out.println("\t **************************");System.out.println("\t\t** 猜拳,开始 **");System.out.println("\t **************************");System.out.println();System.out.println("出拳规则:1.⽯头 2.剪⼑ 3.布");System.out.print("请选择对⽅⾓⾊:(1:曹操 2:孙权 3:刘备):"); int key = input.nextInt();switch (key) {case 1:computer.setName("曹操");break;case 2:computer.setName("孙权");System.out.println("⾮法输⼊...");break;}System.out.print("请输⼊你的姓名:");user.setName(input.next());System.out.println(user.getName()+" VS "+computer.getName());begin();}//是否开始执⾏循环执⾏直到输⼊n结束public void begin(){System.out.print("要开始吗(y/n):");// boolean falg = true;String str = input.next();if(str.equals("y")){while(true){score();System.out.print("是否开始下⼀轮:(y/n)");String str1 = input.next();count++;if(str1.equals("y")){}else{// falg = false;break;}}}show();}//⼈和机器出拳并判断胜负此处计算⽐赛次数双⽅得分public void score(){System.out.print("请出拳:");int choice1 = input.nextInt();String str1 = user.chuQuan(choice1);int choice2 = (int)(Math.random()*3+1);String str2 = computer.chuQuan(choice2);System.out.println("你出拳"+str1);System.out.println(computer.getName()+"出拳"+str2);if(choice1 == choice2){System.out.println("结果:平局");}else if(choice2-choice1==-1||choice2-choice1==2){System.out.println("结果:"+computer.getName()+"获胜...");c_score++;computer.setScore(c_score);}else if(choice1-choice2==-1||choice1-choice2==2){System.out.println("结果:恭喜你,你获胜...");u_score++;user.setScore(u_score);}}//显⽰⽐赛结果并⽐较得得出最后胜负public void show(){System.out.println("--------------------------------");System.out.println(user.getName()+" VS "+computer.getName());System.out.println("对战次数:"+count+"\n\n");System.out.println("姓名\t得分");System.out.println(user.getName()+"\t"+user.getScore());System.out.println(computer.getName()+"\t"+computer.getScore()+"\n"); if(user.getScore()>computer.getScore()){System.out.println("结果:恭喜恭喜");}else if(user.getScore()<computer.getScore()){System.out.println("结果:再接再厉");}else{System.out.println("结果:平局");}System.out.println("--------------------------------");}}测试类Game game = new Game();game.init();}}这样猜拳⼩游戏就实现了。
Java开发实现猜拳游戏本⽂实例为⼤家分享了Java实现猜拳游戏的具体代码,供⼤家参考,具体内容如下⼀、问题简介通过控制台⽅式实现⼀个⼈机对战的猜拳游戏,⽤户通过输⼊(1.剪⼑2.⽯头3.布),机器随机⽣成(1.剪⼑2.⽯头3.布),胜者积分,3局以后通过积分的多少判定胜负。
⼆、代码逻辑简介1、向⽤户解释⽐赛规则;2、接收⽤户输⼊的内容并判断⽤户输⼊的内容是否符合要求,如果不符合,重新输⼊。
3、电脑⾃动⽣成数字;4、根据电脑和⽤户输⼊的内容,进⾏⽐较⼆者的胜负5、让⽤户连续进⾏多场⽐赛,直到⼀⽅达到3分,⽐赛结束。
三、知识点1、掌握Java的Scanner、while循环、switch、if 判断语句,能判别⽤户输⼊的类型是否为int类型。
2、部分封装内容。
3、能熟练梳理游戏的逻辑。
四、代码package homework;import java.util.Random;import java.util.Scanner;class Demo3 {public static void main(String[] args) {game g=new game();g.caiquan();}}//确定⽤户和电脑猜拳内容class game{String people;String computer;int count1;int count2;public void caiquan() {//解释⽐赛规则System.out.println("猜拳游戏\n⽐赛规则:⽤户通过输⼊数字(1-剪⼑,2—⽯头,3-布)与电脑进⾏对战,当某⼀⽅的分数达到率先达到10分,该⽅胜利!"); while(true) {System.out.println("请输⼊数字:");int a;//判断⽤户输⼊的内容是否while (true) {Scanner input = new Scanner(System.in); //正确接收⽤户输⼊的内容if (input.hasNextInt()) {int b=input.nextInt();if (b>0&&b<4) {a=b;break ;}else {System.out.println("输⼊的数字不在规定的范围,请重新输⼊");b=input.nextInt();}}else {System.out.println("输⼊的不是数字错误,请重新输⼊");}}switch (a) {case 1:people = "剪⼑";break;case 2:people ="⽯头";break;case 3:people ="布";break;}//电脑模拟的内容Random r=new Random();int b = r.nextInt(3)+1;switch (b) {case 1:computer = "剪⼑";break;case 2:computer ="⽯头";break;case 3:computer ="布";break;}//⽐较两者胜负if(a==b) {System.out.println("本场⽐赛平局!因为你输⼊的是"+people+",电脑输⼊的是"+computer+"。
java猜拳小游戏课程设计一、课程目标知识目标:1. 让学生掌握Java基础语法,包括变量声明、数据类型、运算符和条件语句。
2. 使学生了解猜拳游戏的逻辑规则,并将其转化为程序代码。
3. 帮助学生理解面向对象编程的基本概念,如类、对象和方法的定义。
技能目标:1. 培养学生运用Java编写简单程序的能力,尤其是控制流程和逻辑判断。
2. 提高学生运用面向对象编程方法解决问题的能力,如设计类和对象,以及调用方法。
3. 培养学生调试和优化程序的能力,以实现更高效的猜拳游戏。
情感态度价值观目标:1. 激发学生对编程的兴趣,培养其主动探索和解决问题的热情。
2. 培养学生团队合作精神,通过小组讨论和分享,共同优化猜拳游戏。
3. 引导学生认识到编程在现实生活中的应用价值,激发其将所学知识应用于实际问题的意识。
针对课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立编写并运行一个简单的Java猜拳游戏程序。
2. 学生能够在程序中正确使用变量、数据类型、运算符、条件语句和面向对象编程方法。
3. 学生能够通过小组合作,优化猜拳游戏程序,提高游戏体验。
4. 学生能够表达对编程的兴趣,积极参与课堂讨论,分享编程心得和经验。
二、教学内容1. Java基本语法回顾:变量声明、数据类型、运算符、条件语句。
- 教材章节:第2章 Java语言基础2. 面向对象编程基本概念:类、对象、方法。
- 教材章节:第4章 面向对象编程基础3. 猜拳游戏逻辑规则介绍:游戏规则、胜负判断。
- 教材章节:第6章 Java编程实例4. 编写猜拳游戏程序:设计类和对象,实现游戏逻辑。
- 教材章节:第6章 Java编程实例5. 程序调试与优化:调试技巧、性能优化。
- 教材章节:第7章 程序调试与优化6. 团队合作与分享:小组讨论、成果展示。
- 教材章节:附录 团队合作与沟通教学内容安排与进度:1. 课时1:Java基本语法回顾,面向对象编程基本概念介绍。
java⾯向对象编程--猜拳⼩游戏java⾯向对象编程实现--猜拳⼩游戏⽬标⽬标:玩家在控制台和电脑猜拳,电脑每次都会随机出⽯头/剪⼑/布,直到玩家选择退出游戏。
记录并显⽰玩家和电脑猜拳的成绩。
设计思路分析电脑的随机猜拳可以使⽤随机数⽣成,这⾥规定 0表⽰⽯头,1 表⽰剪⼑,2 表⽰布。
为了显⽰清晰,可以设置⼀个⽅法将⽣成的随机数转换为对应⽯头/剪⼑/布。
玩家在控制台输⼊(⽯头/剪⼑/布),但玩家也可能输⼊别的数,所以这⾥需要做⼀个玩家的输⼊校验 ,并考虑给玩家退出游戏的选择。
记录的结果有玩家猜拳选择,电脑猜拳选择和胜负。
为了⽅便管理和显⽰,这⾥设计⼀个结果类。
⽤于记录猜拳的结果,因为猜拳次数可能不⽌⼀次,所以考虑将结果保存到集合中,这⾥使⽤ ArrayList集合。
具体代码实现如下:import java.util.ArrayList;import java.util.Scanner;public class FingerGuessingGame {//测试实现类public static void main(String[] args) {Tom tom = new Tom();tom.guess();}}//玩家类class Tom {Scanner sc = new Scanner(System.in);//猜拳public void guess() {System.out.println("----------猜拳游戏开始(-1退出)---------");//使⽤ArrayList保存结果ArrayList<GuessResult> results = new ArrayList<>();while (true) {//玩家输⼊String tomGuess = checkInput();//如果输⼊-1退出游戏if (tomGuess.equals("-1"))break;//⽣成0-2的随机数int num = (int) (Math.random() * 3);//将获取到的数字按照之前的规定转换为字符串String comGuess = convertComputerGuess(num);System.out.println("电脑出 " + comGuess);//判断输赢String isWin = winORLoose(tomGuess, comGuess);System.out.println(isWin);//将结果添加到集合中results.add(new GuessResult(tomGuess, comGuess, isWin));}//输出结果System.out.println("-------本次猜拳的结果------");System.out.println("玩家\t\t\t电脑\t\t\t胜负");for (GuessResult result : results) {System.out.println(result);}}//获取电脑猜拳结果public String convertComputerGuess(int num) {//0代表⽯头,1剪⼑,2布if (num == 0)return "⽯头";if (num == 1)return "剪⼑";if (num == 2)return "布";return "";}//玩家输⼊校验public String checkInput() {while (true) {System.out.println("你出(⽯头/剪⼑/布)-1退出:");String choice = sc.next();if (choice.equals("⽯头") || choice.equals("剪⼑") ||choice.equals("布") || choice.equals("-1")) {return choice;} elseSystem.out.println("你的输⼊有误! 请检查并重新输⼊:");}}//判断输赢public String winORLoose(String tomGuess, String comGuess) {if (tomGuess.equals("⽯头") && comGuess.equals("剪⼑"))return "赢";else if (tomGuess.equals("剪⼑") && comGuess.equals("布"))return "赢";else if (tomGuess.equals("布") && comGuess.equals("⽯头"))return "赢";else if (tomGuess.equals(comGuess))return "平⼿";elsereturn "输";}}//结果类⽤于记录猜拳的结果class GuessResult {private String tomGuess;private String ComGuess;private String isWin;public GuessResult(String tomGuess, String comGuess, String isWin) { this.tomGuess = tomGuess;ComGuess = comGuess;this.isWin = isWin;}@Overridepublic String toString() {returntomGuess +"\t\t\t"+ComGuess + "\t\t\t" +isWin ;}}。
Java程序设计基础实验报告班级:学号:姓名:实验题目:猜拳小游戏实验要求:用java编写一个人机对战的猜拳小游戏。
人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。
有基本的UI界面。
实验内容:1、问题分析过程:实验针对java的具体应用,设计了猜拳小游戏。
根据游戏的规则,玩家可以和电脑进行对战。
成学的主要功能是使用标准的JDK进行编译和运行。
定义玩家自己选择性出拳,电脑随机出拳,赢的记10分,输的记0分,平局都记10分。
本程序设计了Game、Person、Player、等多个类,通过程序设定的规则来实现游戏。
<登陆界面)(初始界面)<游戏界面)2、主要实现代码:******************************// LoginFramepackage com.hsj.client。
import javax.swing.SwingUtilities。
import java.awt.BorderLayout。
import javax.swing.JPanel。
import javax.swing.JFrame。
import javax.swing.JLabel。
import java.awt.Rectangle。
import javax.swing.JComboBox。
import javax.swing.JScrollPane。
import javax.swing.JButton。
import com.hsj.domain.Game。
/*** 猜拳小游戏的登录界面* @author hsj* @version 1.0**/public class LoginFrame extends JFrame {private static final long serialVersionUID = 1L。
/*** JFrame窗体的内容面板*/private JPanel jContentPane = null。
Java程序设计实验报告班级:11060341X 学号:50 姓名:马一桃实验题目:猜拳小游戏实验要求:用java编写一个人机对战的猜拳小游戏。
人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。
有简单的操作界面。
实验内容:1、问题分析过程:人机猜拳:人可以通过选择出拳,通过键盘输入相应数字来实现。
电脑那么随机性出拳,由电脑产生随即数来实现。
通过游戏规那么判断双方的输赢,显示当局的输赢情况,并记录当局的分数,并各方的输赢情况。
游戏完毕时显示双方的分数以及输赢情况。
面向的对象有人、电脑以及游戏规那么。
人、电脑都有实现自己出拳的方法,同时还要有判断各方输赢的方法。
2、主要实现代码:〔要求有必要的注释〕:import java.util.Scanner; //通过import语句引入Scanner类public class Game{public static void main(String args[]){int x=0; //用户的初始分数为0int y=0; //电脑的初始分数为0int z=0; //开场时决战次数为0System.out.println("\n");System.out.println("猜拳游戏现在开场,准备好了吗?");System.out.println("===========游戏规那么===========");System.out.println(" 胜利加一分,否那么不加分 ");System.out.println(" 当游戏完毕时分高者为胜 ");System.out.println("==============================");Scanner shuzi = new Scanner(System.in); //用户通过键盘输入System.out.println("是否要开场游戏?"+"\n"+" y/n");String m = shuzi.next();while(m.equals("y")) {System.out.println("请选择数字出拳:");System.out.println("1 石头 2 剪刀 3 布");int A = shuzi.nextInt(); //利用switch语句,用户实现出拳switch(A){case 1:System.out.println("我出拳: 石头");break;case 2:System.out.println("我出拳: 剪刀");break;case 3:System.out.println("我出拳: 布");break;}int B = (int)((Math.random()*10)%3 + 1); //电脑产生随机数,进展出拳 switch(B){case 1:System.out.println("电脑出拳: 石头");break;case 2:System.out.println("电脑出拳: 剪刀");break;case 3:System.out.println("电脑出拳: 布");break;}if(A==B){ //一局游戏判断输赢的过程System.out.println("哎呦,平局!再努力! ");z++;}else if(((A==1)&(B!=3))||((A==2)&(B!=1))||((A==3)&(B!=2))){System.out.println("不错嘛,赢了!");x++;z++;}else{System.out.println("唉,输了,得加油啊!");y++;z++;}System.out.println("\n");System.out.println("有种再来一局"+"\n"+"y/n");m = shuzi.next();}System.out.println("游戏完毕" );System.out.println("对战的次数为"+z);System.out.println("你的分数:" +x);System.out.println("电脑的分数:"+y);if(x>y){ //最终比游戏结果的判断System.out.println("噢耶!完胜电脑!");}else if(x==y){System.out.println("彼此彼此,水平相当么~");}else{System.out.println("不幸输了,改日再和你比赛!");}}}开场界面进展一局游戏结果游戏最终结果的判断3、实验心得体会:3.1出现的问题及解决方案〔1〕在编译源文件时,出现了这么个问题这是一个编码的问题。
java猜拳小游戏课程设计一、教学目标本课程旨在通过Java猜拳小游戏的项目开发,使学生掌握Java程序设计的基本语法、流程控制语句、面向对象编程思想,以及常用的数据结构。
在技能方面,培养学生运用Java语言解决实际问题的能力,提高学生的编程实践能力。
同时,通过小组合作、讨论的方式,培养学生的团队合作意识和解决问题的能力,激发学生对计算机科学的兴趣。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Java语言基础:介绍Java语言的基本语法、数据类型、运算符、流程控制语句等。
2.面向对象编程:讲解类的定义、属性和方法,以及封装、继承、多态等面向对象的基本概念。
3.常用数据结构:学习数组、链表、栈、队列等常用的数据结构,并了解其在Java中的应用。
4.猜拳小游戏项目开发:以猜拳小游戏为例,让学生动手编写游戏程序,巩固所学知识,提高实际编程能力。
三、教学方法本课程采用讲授法、实践教学法和小组讨论法相结合的教学方法。
1.讲授法:用于讲解Java语言的基本语法、面向对象编程思想和数据结构等理论知识。
2.实践教学法:通过让学生动手编写猜拳小游戏,提高学生的实际编程能力。
3.小组讨论法:在课程过程中,学生进行小组合作、讨论,培养学生的团队合作意识和解决问题的能力。
四、教学资源本课程所需教学资源包括:1.教材:《Java程序设计》等相关教材,用于引导学生学习Java语言的基本语法和编程技巧。
2.多媒体资料:提供在线编程环境,让学生随时随地进行代码编写和调试。
3.实验设备:为学生提供计算机实验室,方便学生进行实践操作和小组讨论。
4.辅助工具:使用投影仪、计算机等辅助教学工具,提高课堂教学效果。
五、教学评估本课程的教学评估将采用多元化的评价方式,以全面、客观、公正地评价学生的学习成果。
评估内容包括:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。
2.作业:布置课后编程作业,评估学生的编程能力和对知识的理解程度。
人机猜拳游戏课程设计 JAVA一、教学目标本课程旨在通过学习Java编程语言,让学生掌握人机猜拳游戏的基本原理和实现方法。
具体目标如下:知识目标:使学生了解Java编程语言的基本语法和结构;理解人机猜拳游戏的规则和逻辑。
技能目标:培养学生使用Java编程语言实现简单程序的能力;培养学生分析问题、解决问题的能力。
情感态度价值观目标:培养学生对计算机科学的兴趣和好奇心;培养学生勇于尝试、不断探索的精神。
二、教学内容本课程的教学内容主要包括Java编程语言的基本语法和结构、人机猜拳游戏的规则和逻辑。
具体安排如下:第1-2课时:Java编程语言的基本语法和结构第3-4课时:人机猜拳游戏的规则和逻辑第5-6课时:使用Java编程语言实现人机猜拳游戏三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体安排如下:第1-2课时:采用讲授法,介绍Java编程语言的基本语法和结构。
第3-4课时:采用讨论法,引导学生探讨人机猜拳游戏的规则和逻辑。
第5-6课时:采用实验法,让学生动手实践,使用Java编程语言实现人机猜拳游戏。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:教材:《Java编程语言》参考书:《Java核心技术》多媒体资料:相关教学视频、案例分析实验设备:计算机、网络设备以上是本课程的教学设计,我们将根据实际情况进行调整和优化,以达到最佳教学效果。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:包括课堂参与度、提问回答、团队合作等,占总成绩的30%。
2.作业:包括编程练习、课后作业等,占总成绩的30%。
3.考试:包括期中和期末考试,占总成绩的40%。
以上评估方式将根据学生的实际表现进行调整,确保评估结果能够真实反映学生的学习成果。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保每个章节都有足够的学习时间。
吉林省经济管理干部学院吉林经济职业技术学院2013-2014学年第一学期课程设计项目类别:游戏设计设计题目:猜拳小游戏班级:学号:姓名:校内教师:企业教师:设计日期:2013年12月9 日——2013年12月20日一、设计目标首先是JAVA语言的初级编程。
其次JAVA语言的猜拳小游戏的编程及设计。
有JAVA平台软件eclipse的使用。
并且使用软件eclipse对猜拳小游戏进行编程,设计游戏算法,实现游戏功能。
二、目标描述程序总体介绍和设计要求程序使用J2SE语言编写,使用标准JDK平台编译和运行。
程序使用已创建的类,设计并实现一个类来玩游戏。
根据游戏规则玩家将和电脑进行比赛。
在这个课程设计中,我们做成了一个人机猜拳的小游戏。
游戏与我们平时玩的“剪刀、石头、布”是一样的玩法,只不过是玩家与电脑进行猜拳,并且电脑是随机出拳的。
三、设计过程总体设计3.1 程序主要功能:程序总体介绍和设计要求程序使用J2SE语言编写,使用标准JDK平台编译和运行。
程序使用已创建的PairOfDice类,设计并实现一个类来玩游戏。
根据游戏规则玩家将和电脑进行比赛。
3.2本程序设计有一下几点设计要求:1)用可视化编程控件实现该程序。
2)人和电脑对战,你输入石头或剪子或布后,电脑会说“你赢了”,“你输了”或“平”。
3)在游戏结束时,要显示你赢了多少局,电脑赢了多少局,你们平了多少局3.3 用户动作事件描述:1)进行游戏2)清零3)对本次游戏的用户和电脑数据进行清零,即重新开始游戏。
3.4程序中所用类说明用户自定义类类名:SmallGame作用:实例化对象主要成员变量:a.Frame myFrm // 定义主窗体b.TextArea myText // 定义文本编辑区c.Button BfontOK, Bfind, Breplace, Bnext, Bcancel //定义和创建各按钮bel Lf Lr, Ls //定义和创建各标签e.MenuBar Mbbar //定义和创建主菜单f.Menu Mfile,Medit,Mformation,Mhelp //定义和创建主菜单中的选项g.Toolkit toolKiti.FileDialog myFDlg //定义文件对话框j.主要成员方法:k.public void init() //初始化各部件菜单的定义和事件的监听l.public void displayEdit ()//显示窗体及调用Time中的schedule方法m.public void windowClosing () //关闭窗体n.public void save //保存文件方法o..内部类类名:KeyEventsp.作用:实现菜单的事件的响应功能q.继承的父类:KeyAdapterr.主要成员变量:无s.成员方法:actionPerformed()、keyPressed()四、设计结果选择出拳电脑出拳,输赢清除分数,重新开始五、结论经过一周多时间的学习我收获不小,总结起来有如下几点:1 更进一步理解了JAVA编程的思想,体会到JAVA与其他编程语言的不同。
猜拳java课程设计一、课程目标知识目标:1. 理解Java基础语法,掌握猜拳游戏的逻辑结构与编程实现;2. 学会使用Java控制结构,包括条件语句和循环语句;3. 掌握基本的面向对象编程概念,如类的定义、方法和属性的创建。
技能目标:1. 能够编写并运行一个简单的Java猜拳游戏程序;2. 培养逻辑思维和问题解决能力,通过编程实现游戏规则;3. 提高团队协作能力,通过小组合作完成课程项目。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习Java的热情;2. 培养学生的创新意识和实践能力,敢于尝试并解决编程中的问题;3. 增强学生的自信心和成就感,通过完成猜拳游戏项目,体会编程的乐趣。
课程性质:本课程为实践性较强的编程课程,以猜拳游戏为载体,帮助学生掌握Java编程基础。
学生特点:学生处于初级阶段,对编程有一定兴趣,但需加强实践操作和问题解决能力的培养。
教学要求:结合猜拳游戏案例,引导学生通过动手实践,掌握Java编程基础,注重培养学生的逻辑思维和团队协作能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java基础语法:变量定义、数据类型、运算符、表达式;2. 控制结构:条件语句(if-else、switch)、循环语句(for、while);3. 面向对象编程:类的定义、构造方法、成员变量、成员方法;4. 猜拳游戏逻辑:游戏规则、玩家输入、随机数生成、结果判断;5. 编程实践:编写Java代码、调试程序、运行和测试。
教材章节关联:1. 第1章 Java概述;2. 第2章 Java基本语法;3. 第4章 控制语句;4. 第5章 面向对象编程基础;5. 课外实践:猜拳游戏项目。
教学大纲:1. 课前准备:熟悉Java编程环境,了解猜拳游戏规则;2. 课堂讲解:讲解Java基础语法、控制结构、面向对象编程基础;3. 课堂实践:引导学生编写猜拳游戏代码,进行调试和运行;4. 课后巩固:布置相关练习,要求学生完成猜拳游戏项目;5. 进度安排:4课时完成理论讲解与实践操作,2课时进行项目展示和总结。
java猜拳游戏实验报告Java 猜拳游戏实验报告一、实验目的本实验旨在通过使用 Java 编程语言实现一个猜拳游戏,以加深对Java 基础语法、面向对象编程思想以及程序逻辑控制的理解和运用。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验原理猜拳游戏的核心逻辑是模拟玩家和计算机的出拳选择,并根据出拳结果判断胜负。
在 Java 中,可以使用随机数生成计算机的出拳,通过用户输入获取玩家的出拳,然后比较两者的出拳来确定胜负关系。
四、实验步骤1、定义游戏相关的常量和变量定义表示石头、剪刀、布的常量,如`STONE`、`SCISSORS`、`PAPER`。
定义表示玩家和计算机得分的变量。
2、实现获取用户输入的方法使用`Scanner` 类获取用户输入的数字,代表出拳选择(1 表示石头,2 表示剪刀,3 表示布)。
3、实现计算机出拳的方法使用`Random` 类生成一个 1 到 3 之间的随机数,代表计算机的出拳。
4、实现判断胜负的方法根据玩家和计算机的出拳,比较两者的大小,确定胜负关系,并更新得分。
5、实现游戏主逻辑在主方法中,循环进行游戏,直到玩家选择退出。
每次循环中,获取玩家和计算机的出拳,判断胜负,输出结果,并询问玩家是否继续游戏。
五、核心代码实现```javaimport javautilRandom;import javautilScanner;public class RockPaperScissorsGame {//定义表示石头、剪刀、布的常量private static final int STONE = 1;private static final int SCISSORS = 2;private static final int PAPER = 3;public static void main(String args) {int playerScore = 0;int computerScore = 0;Scanner scanner = new Scanner(Systemin);Random random = new Random();while (true) {//获取玩家出拳Systemoutprintln("请选择出拳(1、石头 2、剪刀 3、布):");int playerChoice = scannernextInt();//生成计算机出拳int computerChoice = randomnextInt(3) + 1;//判断胜负int result = judgeWinner(playerChoice, computerChoice);if (result == 1) {playerScore++;Systemoutprintln("你赢了!");} else if (result ==-1) {computerScore++;Systemoutprintln("你输了!");} else {Systemoutprintln("平局!");}Systemoutprintln("你的得分:"+ playerScore +"计算机得分:"+ computerScore);Systemoutprintln("是否继续游戏?(Y/N)");String continueChoice = scannernext();if (!continueChoiceequalsIgnoreCase("Y")){break;}}}public static int judgeWinner(int playerChoice, int computerChoice) {if (playerChoice == computerChoice) {return 0;} else if ((playerChoice == STONE && computerChoice ==SCISSORS) ||(playerChoice == SCISSORS && computerChoice ==PAPER) ||(playerChoice == PAPER && computerChoice == STONE)){return 1;} else {return -1;}}}```六、实验结果与分析1、运行程序后,能够成功获取玩家的输入,并生成计算机的随机出拳。
Java猜拳⼩游戏(剪⼑、⽯头、布)1、第⼀种实现⽅法,调⽤Random数据包,直接根据“1、2、3”输出“剪⼑、⽯头、布”。
主要⽤了9条输出判断语句。
import java.util.Random;import java.util.Scanner;public class caiquan{public static void main(String[] args){Random r=new Random();int diannao=r.nextInt(3)+1;Scanner s=new Scanner(System.in);System.out.println("=========猜拳⼩游戏=========");System.out.println("请输⼊1、2、3,1代表剪⼑,2代表⽯头,3代表布");int fangke=s.nextInt();if(diannao==1&&fangke==1){System.out.println("电脑出的是剪⼑,你出的是剪⼑,平局");}if(diannao==1&&fangke==2){System.out.println("电脑出的是剪⼑,你出的是⽯头,你赢了");}if(diannao==1&&fangke==3){System.out.println("电脑出的是剪⼑,你出的是布,电脑赢了");}if(diannao==2&&fangke==1){System.out.println("电脑出的是⽯头,你出的是剪⼑,电脑赢了");}if(diannao==2&&fangke==2){System.out.println("电脑出的是⽯头,你出的是⽯头,平局");}if(diannao==2&&fangke==3){System.out.println("电脑出的是⽯头,你出的是布,你赢了");}if(diannao==3&&fangke==1){System.out.println("电脑出的是布,你出的是剪⼑,你赢了");}if(diannao==3&&fangke==2){System.out.println("电脑出的是布,你出的是⽯头,电脑赢了");}if(diannao==3&&fangke==3){System.out.println("电脑出的是布,你出的是布,平局");}if(fangke!=1&&fangke!=2&&fangke!=3){System.out.println("只能输⼊1、2、3");}}} 2、第⼆种实现⽅法,不调⽤Random数据包,换成Math.random(),把“1、2、3”换成“剪⼑、⽯头、布”再输出。
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(“n请出拳: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(“tt******************************”);System.out.println(“tt**^_^ 猜拳,Start ^_^**”);System.out.println(“tt*****************************”);界--------------n“);System.out.println(”nn出拳规则:1.剪刀 2.石头 3.布“);//选择计算机角色System.out.print(”请选择对方角色:1.刘备2.孙权3.曹操:“);Scanner input = new Scanner(System.in);int num = input.nextInt();switch(num){ case 1: = ”刘备“;break;case 2: = ”孙权“;break;case 3: } = ”曹操“;break;//输入用户角色名System.out.print(”请输入你的姓名:“); = input.next();//显示对战双方System.out.print( + ” VS “ + + ” 对战n“);//开始游戏System.out.print(”n要开始吗?(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)){Syst em.out.println(”结果:和局,真衰!n“);//平局}else if((perFist == 1 && compFist == 3)||(perFist == 2 && compFist == 1)||(perFist == 3 && compFist == 2)){System.out.println(”结果:恭喜, 你赢了!n“);//用户赢person.score++;//累计用户积分}else{}} System.out.println(”结果说:^_^,你输了,真笨!n“);//计算机赢computer.score++;//累计计算机积分 } count++;//累计对战次数System.out.print(”是否开始下一轮(y/n):“);answer = input.next();}//比较得分情况的方法public void showResult(){ System.out.println(”-----------------------“);System.out.println( + ” VS “ + person.na me);System.out.println(”对战次数:“ + count);System.out.println(”n姓名t得分n“ + + ”t“ + person.score+ ”n“ + + ”t“ + computer.score + ”n“);//比较积分if(computer.score == person.score){System.out.println(”结果:打成平手,下次再和你一分高下!“);}else if(computer.score < person.score){System.out.println(”结果:你果然是高手,“ + + ”佩服!“);}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、实验心得体会:从本次课程设计的完成中,我发现我有很多不足的地方,最突出的是所掌握的知识太少,学到的知识应用不到实践中。
吉林工程技术师范学院C程序设计课程设计报告书设计题目:Java简易猜拳小游戏专业:信息管理与信息系统班级: X0841 ****:***学号: ********** ****:***信息工程学院2009年12月目录摘要: (03)第一章绪论 (05)第二章系统分析 (07)第三章总体设计 (09)第四章编码实现 (11)第五章调试与测试 (14)总结: (15)附录:1源代码 (20)2参考资料 (30)摘要面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,它吸取了结构化程序设计的精华,以更接近人们通常思维的方式来处理问题,是一种全新的软件开发技术。
作为一种新的的编程语言,Java很大程度推广了面向对象的思想。
随着计算机技术的发展,Java 的强大展现出它不可替代的作用。
Java的功能不仅体现在它网络方面的应用,对于应用程序设计、游戏设计等Java都能满足需求。
本文针对Java 的具体应用,设计了一个小游戏。
根据游戏的规则,用户将可以和计算机进行简单对战。
程序实现了友好的用户交互界面,让用户能很好地对游戏进行操作。
关键字:JAVA GUI 游戏ABSTRACTThe Object-Oriented Method is a method which apllies the Object-Oriented Design to the process of the software exploiture and directs the ploy of development. It extracts the prime of the Structured Design for Computer Programmers, deals matters with a folksy fashion, which is considered to be a grand new software-develop technique.As a new programming language, Java spread the Object-Oriented Design in a certain degree. With the development of the technique of computer, the insurmountable function of JAVA is exhibited for its’ mightiness. Not only applies in network, JAVA also can fulfill the requirement of the Application-Design and Game-Design.In this paper, to use the idiographic application of JAVA , I design a game called . Following the regular of the game, user can play a simple revalry with computer. This programme actualizes a folksy GUI mode, which will make user master game easily.Keywords: JAVA GUI Game第一章绪论面向对象(OOP)的程序设计认为:现实世界是由一组彼此相关并互通信息的实体——对象(Object)组成的。
Java程序设计实验报告班级:学号:姓名:实验题目:猜拳小游戏实验要求:用java编写一个人机对战的猜拳小游戏。
人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。
有简单的操作界面。
实验内容:1、问题分析过程:(1)首先分析猜拳游戏本身的玩法:人选择性出拳,电脑随机出拳,判断输赢,记录输赢情况。
(2)用面向对象的思想来分析:在游戏过程中有几个对象组成人电脑游戏规则抽象出3个类:Person、Computer、GamePerson类有哪些属性和行为呢?属性:名字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("\n请出拳: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(" ---------------欢迎进入游戏世界--------------\n");System.out.println("\t\t******************************");System.out.println("\t\t** ^_^ 猜拳,Start ^_^ **");System.out.println("\t\t*****************************");System.out.println("\n\n出拳规则:1.剪刀2.石头3.布");//选择计算机角色System.out.print("请选择对方角色:1.刘备2.孙权3.曹操:");Scanner input = new Scanner(System.in);int num = input.nextInt();switch(num){case 1: = "刘备";break;case 2: = "孙权";break;case 3: = "曹操";break;}//输入用户角色名System.out.print("请输入你的姓名:"); = input.next(); //显示对战双方System.out.print( + " VS " + + " 对战\n");//开始游戏System.out.print("\n要开始吗?(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("结果:和局,真衰!\n"); //平局}else if((perFist == 1 && compFist == 3) ||(perFist == 2 && compFist == 1) ||(perFist == 3 && compFist == 2)){System.out.println("结果:恭喜, 你赢了!\n"); //用户赢person.score++; //累计用户积分}else{System.out.println("结果说:^_^,你输了,真笨!\n");//计算机赢computer.score++; //累计计算机积分}count++;//累计对战次数System.out.print("是否开始下一轮(y/n):");answer = input.next();}}} //比较得分情况的方法public void showResult(){System.out.println("------------------------------------------------------");System.out.println( + " VS " + );System.out.println("对战次数:" + count);System.out.println("\n姓名\t得分\n" + + "\t" + person.score+ "\n" + + "\t" + computer.score + "\n");//比较积分if(computer.score == person.score){System.out.println("结果:打成平手,下次再和你一分高下!");}else if(computer.score < person.score){System.out.println("结果:你果然是高手," + + "佩服!");}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、实验心得体会:从本次课程设计的完成中,我发现我有很多不足的地方,最突出的是所掌握的知识太少,学到的知识应用不到实践中。
后来通过看书查找相关资料,完成课程设计任务。
程序设计语言是程序设计的工具,如果想有效的设计程序,正确的应用程序表达算法,必须准确应用程序设计语言;学习程序设计,必须要多读程序,并试着自己编写程序,多上机调试程序代码。