我刚刚学习了Android和Java编程(里面非常noob),我想问一些关于Android编程和Socket服务器的问题。
我得到一个任务,创建一个简单的国际象棋应用程序(不包括AI),棋子的位置将从TCP套接字中检索:
服务器:xinuc.org
端口:7387
我被告知使用Socket Persistent,因为服务器会在每秒更新典当的位置,典当的位置将以这种格式发送
[卒典][横位][竖位][空格],
典当代号:
K:白王
问:白皇后
B:白主教
N:白衣骑士
K:黑国王
问:黑皇后
B:黑主教
在阅读并学习了一些相关知识之后,下面是我如何使用Socket检索数据(在doInBackground中):
try {
clientSocket = new Socket(SERVERADD, SERVERPORT);
InputStreamReader inputStream = new InputStreamReader(clientSocket.getInputStream());
BufferedReader reader = new BufferedReader(inputStream);
String latestPosition = reader.readLine();
storedPosition=latestPosition;
} catch (UnknownHostException e) {
Log.d("Error Unknown Host", String.valueOf(e));
} catch (IOException e) {
Log.d("Error IOException", String.valueOf(e));
}
我不认为我上面放的从Socket检索数据的代码是最佳实践,CMIIW。
所以这就是支持我下面问题的(相当长而乏味的)背景,我这里有两个主要问题:
>
我对我在这里做的事情有点不清楚,我上面提供的代码能够从客户端读取数据吗?
而在我检索到数据后,我应该相应地移动棋子的位置。我仍然没有一个关于它应该怎么做的线索(关于我如何创建木板,移动棋子的位置)。你能用更容易理解的方式告诉我应该怎么做吗?
我读过这些:Android国际象棋游戏示例Android源代码-国际象棋,
但我觉得它们对我来说太复杂了,
事先谢谢你
你的问题太宽泛了。您可能需要指定需要帮助的部分。不管怎样,我会试着给出一些大致的想法。希望有帮助。
如果你是一个web开发人员,或者碰巧,你熟悉Android画布API,这是一个更好的方式,为你提供了更多的自由度和准确性。
另一个更耗时但更专业的游戏UI方法可能是使用OpenGL ES for Android。你可以阅读官方文件,看一看在线教程,或者掌握一本关于该主题的好书。如果你想要三维,一定要使用OpenGL。
总之,有流行的游戏引擎,可以帮助你成为一个专业的游戏开发效率和快速。Cocos2D是我的最爱之一,它适合一个国际象棋游戏,并由托德帕金斯在琳达全面教授。
我已经有一个Board对象,包含一个碎片列表。Piece是一个抽象类,有一个位置(x,y)和一个颜色(黑色或白色)。然后是King、Queen、Knight这三个类,实现了Piece类。 谢谢
本文向大家介绍Javafx实现国际象棋游戏,包括了Javafx实现国际象棋游戏的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Javafx实现国际象棋游戏的具体代码,供大家参考,具体内容如下 基本规则 棋子马设计“日”的移动方式 兵设计只能向前直走,每次只能走一格。但走第一步时,可以走一格或两格的移动方式 请为后设计横、直、斜都可以走,步数不受限制,但不能越子的移动方式。 车只能横向
我目前正在编写我的第一盘国际象棋,我的棋子有一个小问题。我将在下面添加一些代码,但通常我想检查玩家移动某个棋子(在本例中为国王)的棋盘是否已经被另一个棋子占据,因为在这种情况下,另一个棋子将被杀死(如果棋子属于另一个玩家),或者移动是错误的(棋子被自己的棋子占据)。如果你对如何做有任何想法,我将不胜感激。顺致敬意, 公共抽象类文章{ } 公共类国王延伸件{ }
DreamChess 是一款开放源码、跨平台(可在 Windows、Mac OS X 及 Linux 上运行)的 3D 国际象棋游戏。该游戏包含自身的引擎 Dreamer,提供各种国际象棋棋盘,并具有背景音乐及声效等其他附属功能。
本文向大家介绍python输出国际象棋棋盘的实例分享,包括了python输出国际象棋棋盘的实例分享的使用技巧和注意事项,需要的朋友参考一下 国际象棋是当今国际上最流行的智力体育运动项目。青年人下棋可以锻炼思维、增强记忆力和培养坚强的意志;中年人下棋可以享受美学;老年下棋可以很好的休息娱乐。国际象棋游戏有自己的规则,需要两个人将棋子落在棋盘上。 棋子落在棋盘上事件,在计算机看来,是一段程序,而这些程
我正在使用在固定深度工作的alpha-beta修剪算法对Chess AI进行编程。我相当惊讶地看到,通过将AI设置为更高的深度,它玩得更糟。但我认为我想通了为什么会这样。 它目前是这样工作的:所有的职位都被列出来了,对于每个职位,其他的职位都会被列出来,以此类推。。。直到达到固定深度:通过检查存在哪些工件,并为每种工件类型设置一个值来评估电路板。然后,使用带有alpha-beta的minimax算