电脑制作小游戏代码(谁帮我做个JAVA小游戏代码)

本文目录
谁帮我做个JAVA小游戏代码
第一个类,服务器主线程类。
package src;//定义一个包,存放JAVA文件。
import java.io.*;//导入JAVA包,输入输出流包
import java.net.*;//导入JAVA包,网络应用包
public class SocketServer extends Thread {//服务器主线程,负责为每个发出请求连接的客户端分配一个服务线程。
ServerSocket server;//定义一个对象
public SocketServer() { //该类的午餐构造方法,负责初始化服务器,监听6000端口
try {//捕捉异常的块
server = new ServerSocket(6000);//实例化对象
}
catch(IOException e) {//捕捉流异常
System.exit(0);//程序退出
}
this.start();//启动主线程
}
public void run() {//主线程的线程体
try {//捕捉异常的块
while(true) {//这里为TRUE,表示一直监听6000端口可
Socket client = server.accept();//为每个请求建立一个SOCKET
Service ss = new Service(client);//为每个SOCKET建立一个服务线程。 这里参考第二个类,SERVICE类
}
}
catch(IOException e) {//捕捉异常的块
System.exit(1);//程序退出
}
}
public static void main(String args) {//服务器程序入口,MAIN方法
new SocketServer();//这里直接创建一个主线程对象,因为初始化写再无参构造函数里面,所以这里直接就启动主线程了。
}
}
第二各类:服务器的服务线程类。
package src;//定义一个包,存放JAVA类
import java.io.*;//同上一个类
import java.net.*;//同上一个类
public class Service extends Thread {//这是服务于每个请求的服务线程类。
String data;//定义一个字符串
BufferedReader inputs;//输入流
PrintStream outputs;//输出流
Socket client;//定义一个SOCKET
public Service(Socket socket) {//定义有参构造方法,通过传入的SOCKET对象来为某一个请求服务。这里就是主线程调用的方法。
client = socket;//将传递过来的参数给刚定义的这个对象.
try {//捕捉异常的块
inputs = new BufferedReader(new InputStreamReader(client
.getInputStream()));//获取输入流
outputs = new PrintStream(client.getOutputStream());//获取输出流
} catch (IOException e) {
}
this.start();//启动服务线程。开始对客户服务。
}
public void run() {//线程的主要方法体
try {
while (true) {//表示一直侦听端口
data = inputs.readLine();//从输入流中读取客户发来的消息,并赋值给DATA
int res = (int) (Math.random() * 3);// 1是石头2是剪刀3布 系统随机生成三个数字,分别表示游戏的三个出拳状态
if (data == null)//如果读取到的数据是空值,就不再继续下一步操作。
break;
else {//如果读取到的不是空,则进行比较
if (res == 0 && "石头".equals(data)) {
data = "电脑也是石头,打平了!!";
} else if (res == 0 && "剪刀".equals(data)) {
data = "电脑是石头,电脑赢了!!";
} else if (res == 0 && "布".equals(data)) {
data = "电脑是石头,恭喜,你赢了!!";
} else if (res == 1 && "石头".equals(data)) {
data = "电脑是剪刀,恭喜,你赢了!!";
} else if (res == 1 && "剪刀".equals(data)) {
data = "电脑也是剪刀,打平了!!";
} else if (res == 1 && "布".equals(data)) {
data = "电脑是剪刀,电脑赢了!!";
} else if (res == 2 && "石头".equals(data)) {
data = "电脑是布,电脑赢了!!";
} else if (res == 2 && "剪刀".equals(data)) {
data = "电脑是布,恭喜,你赢了!!";
} else if (res == 2 && "布".equals(data)) {
data = "电脑也是布,打平了!!";
}
else {
data = "电脑不认识你出的拳";
}
outputs.println(data);//将比较的结果通过输出流发给客户端。
}
}
} catch (IOException e) {
}
try {
client.close();//关闭服务
} catch (IOException e) {
}
}
}
第三个,客户端类。
package src;//同上一个类
import java.io.*;//同上一个类
import java.net.*;//同上一个类
public class Client {//客户端类
public static void main(String args) {//客户端程序入口,MAIN方法
String data;//定义字符串
Socket client = null;//定义SOCKET
BufferedReader inputs = null;//输入流
BufferedReader key = null;//输入流
PrintStream outputs = null;//输出流
try {
client = new Socket("localhost",6000);//客户程序启动通过6000端口和服务器联系,和服务器保持端口一致。
inputs = new BufferedReader(new InputStreamReader(client.getInputStream()));//获取输入流
outputs = new PrintStream(client.getOutputStream());//获取输出流
key = new BufferedReader(new InputStreamReader(System.in));//用于接收用户要发送给客户端的字符串。
}
catch(IOException e) {
System.out.println("CAN NOT CONN WITH SERVER");
}
try {
while(true) {
System.out.println("----------------------------");
System.out.print("请出拳:石头/剪刀/布 ");
data = key.readLine();//读取用户输入的字符串。
outputs.println(data);//将读取的字符串发送给服务器。
System.out.println("ECHO: " + inputs.readLine());//返回服务器的结果并打印到控制台。
}
}
catch(IOException e) {
System.out.println("ERROR IO");
}
try {
client.close();
}
catch(IOException e) {
System.out.println("can not close it");
}
}
}
运行的方法是先启动主线程类。然后启动客户端类。并再客户端一方输入 锤子,或 剪刀 或 布 ,然后回车,服务器会根据判断返回游戏的结果。这个过程反复执行。可以多次出拳和服务器较量。
呵呵,这次应该够详细了,不明白的可以继续补充。o(∩_∩)o...
用VB做石头剪刀布游戏
这是一个很简单的游戏。大致流程如下:在点击下picture的时候,生成一个1-3随机数(也就是电脑出的),可以把石头、剪刀、布分别看作0、1、2然后用if来进行判断,最后记下胜负。
代码如下:
请在程序目录下放上三个jpg图片名为“剪刀”、“石头”、“布”picture123的图片请自己在属性列表中设置,pictue4 有电脑加载
Option Explicit’全局变量声明
Dim YouChoose’记录你的选择
Dim ComputerChoose’记录电脑选择
’0 石头 1剪刀 2布
Private Sub Picture1_Click()’选了石头
YouChoose = 0’记录下石头
Randomize’随机数生成函数
ComputerChoose = Int(Rnd() * 3)’电脑选择,并记录下载
display’显示电脑的选择(这是个用户函数)
ToGo’判断胜负(这是个用户函数)
End Sub
Private Sub Picture2_Click()’基本同上,选择剪刀
Randomize
YouChoose = 1
ComputerChoose = Int(Rnd() * 3)
display
ToGo
End Sub
Private Sub Picture3_Click()’基本同上,选择石头
Randomize
YouChoose = 2
ComputerChoose = Int(Rnd() * 3)
display
ToGo
End Sub
Sub ToGo()’判断胜负函数
If YouChoose = ComputerChoose Then’一样就平
MsgBox "平"
ElseIf (YouChoose = 0 And ComputerChoose = 1) Or (YouChoose = 1 And ComputerChoose = 2) Or (YouChoose = 2 And ComputerChoose = 0) Then’出现三种获胜可能之一就判定获胜
MsgBox "你赢"
Else’其他则输
MsgBox "电脑赢"
End If
End Sub
Sub display()’显示电脑的选择
On Error Resume Next’碰到错误则继续
If ComputerChoose = 0 Then’如果电脑选石头
Picture4.Picture = LoadPicture(App.Path + "石头.jpg")’加载石头图片
MsgBox "石头"’对话框弹出石头
ElseIf ComputerChoose = 1 Then’同上
Picture4.Picture = LoadPicture(App.Path + "剪刀.jpg")
MsgBox "剪刀"
ElseIf ComputerChoose = 2 Then
Picture4.Picture = LoadPicture(App.Path + "布.jpg")
MsgBox "布"
End If
End Sub
怎么用编程开发个游戏
第一就是游戏逻辑,也就是与平台无关的游戏逻辑的开发。
第二部分是游戏引擎,大部分会用到一些引擎的工作流、一些各种系统封装好的高层的API。
第三部分是weapp,小游戏的框架是参考了webview的框架,但其实它的底层不是webview,而是webview精简优化过的平台,小游戏有的只是与核心相关的一些渲染的API。
这里的weapp-adaper是把小游戏的能力适配到与webview更接近的环境,让更上层的游戏或引擎本身能够更快速地集入到平台中。
总的来说小游戏的入口为game.js,游戏可以利用底层的一些能力将游戏的整个界面绘制出来。配置文件为game.json主要用来配置小游戏是横屏还是竖屏,小游戏的全局对象game Gobal类似于webview中的window对象,同时支持javascript语言。
但是小游戏有一个重要的一个限制是禁止动态执行代码,开发者必须先提交审核,在审核通过后才可以上架给普通用户。另外,小游戏包括引擎的代码量比较大,所以限制大小比小程序要大,首包限制大小为4M。

更多文章:
织梦php版本(织梦后台添加文章时,提示标题不能为空,但是,标题、内容和分类都是填好的,是DedeCMS-V5.7-GBK-SP1版本)
2025年6月21日 23:00
form在信封上是什么意思(在信封上面写From与To分别代表哪个英文是收件人,哪个英文是发件人急!先谢谢!)
2026年9月13日 19:30
readprocessmemory资源消耗(readprocessmemory问题)
2026年8月10日 21:00
essentials插件(minecraft 怎么安装Essentials插件)
2026年3月27日 00:45
s11全球总决赛集锦(edg晋级s11决赛(夺取冠军之路))
2026年8月17日 09:00
keyset(Set keys=Map.keyset()怎么理解)
2025年10月20日 14:00
js注册成功跳转页面代码(如何使用JavaScript实现 按钮跳转页面功能)
2026年7月24日 02:45
securities(有关securities, stock, shares, bonds的概念~)
2025年7月8日 15:45
export trade(export trade是什么意思)
2026年5月26日 10:00
css鼠标悬停背景颜色变化(用css样式怎样实现鼠标放在背景图片上,背景图片的颜色改变)
2026年3月17日 16:30
sql中connect的用法(C#中,用SqlConnection怎么连接数据库)
2026年9月2日 22:45
account短语用法(On no account can是什么意思)
2026年5月2日 17:30












