socket编程小游戏(求c语言的挖地雷游戏代码)
本文目录
- 求c语言的挖地雷游戏代码
- 游戏开发需要具备哪些技术
- socketio适不适合做mmorpg游戏
- C#网络游戏编程
- 关于cocos creator 使用socket-io在生成微信小游戏遇到的各种问题
- 今天玩了一款游戏叫做你画我猜,萌生了用java编写它的想法
- 谁帮我做个J**A小游戏代码
- Netty+SpringBoot+protobuf3 搭建socket游戏网络层
- 急求一个J**A编程,“编写一个猜拳游戏,分别用0、1、2表示石头、剪子、布
- 游戏编程
求c语言的挖地雷游戏代码
#include《stdio.h》
#include《conio.h》
#include《time.h》
#include《graphics.h》
#include《dos.h》
#define LEFT 1
#define RIGHT 2
struct bomb
{int x;
int y;
int bomb;
int mark;
int lclick;
}bomb;
void instruction(int *bnum);
void desk(int bnum);
void getmouse(void);
void ReadMouse(int *click,int *x,int *y);
void play(void);
void bombfind(void);
void search(int getx,int gety,int click,int *found);
void leftclick(int x,int y);
void ShowMouse(void);
void ErrMsg(void);
int InitMouse(void);
void str(int num,int *str);
main()
{int gdiver=VGA,gmode=VGAHI;
initgraph(&gdiver,&gmode,"");
paly();
}
void Play(void)
{int getx,gety,click,x,y,found=0,bnum=0,restart=0,stop=0,dt;
char st1;
time_t bt=time(NULL);
instruction(&bnum);
desk(bnum);
while((!restart)&&(!stop)&&(found!=bnum))
{dt=(int)difftime(time(NULL),bt);
str(dt,st1);
outtextxy(0,60,st1);
ReadMouse(&click,&getx,&gety);
if((getx》=543)&&(getx《=623)&&(gety》=207)&&(gety《=255))
play();
if((getx》=543)&&(getx《=623)&&(gety》=351)&&(gety《=399))
{closegraph();
exit(1);
}
if((getx》=95)&&(getx《=527)&&(gety》=16)&&(gety《=447))
search(getx,gety,click,&found);
}
if(found==bnum)
{outtextxy(16,304,"YOU WIN!");
delay(10000);
play();
}
}
void instruction(int *bnum)
{int getx,gety,click;
getmouse();
setbkcolor(12);
setcolor(0);
outtextxy(240,64,"This is a game of ");
outtextxy(240,112,"Searching bomb 1.1");
outtextxy(240,160,"Expored by XuBin");
outtextxy(240,208,"2004.6");
outtextxy(240,256,"Please choose th number of bombs:");
outtextxy(240,304,"30");
outtextxy(240,352,"60");
outtextxy(240,400,"160");
setfillstyle(1,11);
bar(336,304,432,336);
bar(336,352,432,385);
bar(336,400,432,432);
while(!(*bnum))
{ReadeMouse(&click,&getx,&gety);
delay(300);
if(getx》=336&&getx《=432&&gety》=304&&gety《=336&&(click!=0))
*bnum=30;
if(getx》=336&&getx《=432&&gety》=352&&gety《=385&&(click!=0))
*bnum=60;
if(getx》=336&&getx《=432&&gety》=400&&gety《=432&&(click!=0))
*bnum=160;
}
cleardevice();
}
void desk(int bnum)
{int x,y,xx=71,yy=-8,g;
char st2;
setbkcolor(2);
setcolor(14);
setfillstyle(11,1);
setlinestyle(0,0,1);
for(y=0;y《18;y++)
{yy+=24;
if(y!=17) line(79,yy+24,543,yy+24);
for(x=0;x《18;x++)
{bomb.x=(xx+=24);
bomb.y=yy;
bomb.bomb=0;
bomb.mark=0;
bomb.lclick=0;
if((y==17)&&(x!=17))
line(xx+24,3,xx+24,463);
bar(bomb.y+23);
}
}
retangle(95,16,527,447);
setlinestyle(0,0,3)
retangle(79,3,543,463);
randomize();
for(g=0;g《bnum;g++)
{x=rand()%18; y=rand()%18;
if(bomb.bomb==0)
bomb.bomb=1;
else
g--;
}
setfillstyle(11,3);
bar(560,207,623,255);
bar(560,35,623,399);
outtextxy(16,16," TIME:");
outtextxy(16,112," BOMB:");
str(bnum,st2);
outtextxy(16,160,st2);
outtextxy(16,208," FOUND:");
outtextxy(560,64," SEARCH BOMB 1.0");
outtextxy(560,160," RESTART");
outtextxy(560,304," STOP");
}
void getmouse(void)
{if(!InitMouse())
ErrMsg();
ShowMouse();
}
int InitMouse(void)
{ union REGS Inr,Outr;
Inr.x.ax=0;
int86(0x33,&Inr,&Outr);
return Outr.x.ax;
}
void ShowMouse(void)
{ union REGS Inr,Outr;
Inr.x.ax=1;
int86(0x33,&Inr,&Inr);
}
void ReadMouse(int *f,int *x, int *y)
{union REGS Inr,Outr;
Inr.x.ax=3;
int86(0x33,&Inr,&Outr);
*f=Outr.x.bx;
*x=Outr.x.cx;
*y=Outr.x.dx;
}
void ErrMsg(void)
{outtextxy(0,0,"No Mouse Error!");
getch();
exit(1);
}
void bombfind(void)
{int x,y;
setfillstyle(1,0);
for(x=0;x《18;x++)
for(y=0;y《18;y++)
if(bomb.bomb==1)
bar(bomb.y+23);
closegraph();
exit(1);
}
void search(int getx,int gety,int click,int *found)
{int x=-1,y=-1,a;
for(a=-8;a《448;a+=24)
{y+=1;
if((gety》a)&&(gety《(a+24)))
break;
}
for(a=71;a《527;a+=24)
{x+=1;
if((getx》a)&&(getx《(a+24)))
break;
}
if(click==RIGHT&&bomb.lclick==0)
{if(bomb.mark==1)
{bomb.mark=0;
if(bomb.bomb==0)
(*found)+=1;
else
(*found)-=1;
setfillstyle(11,1);
bar(bomb.y+23);
}
else
{bomb.mark=1;
if(bomb.bomb==0)
(*found)-=1;
esle
(*found)+=1;
setfillstyle(1,RED);
bar(bomb.y+9);
}
}
if(click==LEFT&&bomb.mark==0)
{if(bomb.bomb==1)
{outtextxy(16,304,"FALL");
bombfind();
}
leftclick(x,y);
}
}
void leftclick(int x,int y)
{int count=0,a,b,c,d;
char st3;
if(x》=18&&y》=18&&x《0&&y《0&&bomb.click==1)
return;
bomb.lclick=1;
a=0》(x-1)? 0:(x-1);
b=17》(x+1)? (x+1):17;
c=0》(y-1)? 0:(y-1);
d=17》(y+1)? (y+1):17;
for(;a《=b;a++)
for(;c《=d;c++)
if(bomb.bomb==1)
count++;
if(count!=1)
{str(count,st3);
outtextxy(bomb.y,st3);
}
leftclick(x+1,y);
leftclick(x-1,y);
leftclick(x,y+1);
leftclick(x,y-1);
}
void str(int num,int *st)
{int x,y,z;
x=num%100;
y=(num-100*x)%10;
z=num-100*x-10*y;
st=x+48;
st=y+48;
st=z+48;
st=’\0’;
}
游戏开发需要具备哪些技术
游戏开发主要细分为策划、程序、美术,其中每个方向又有细分。
一、游戏策划
分为剧情策划,关卡策划,数值策划等等。
二、程序开发
分为客户端编程,服务器编程,引擎编程,脚本编程,手机游戏开发, 网页游戏。就程序俩说吧。如果要说只为干活,客户端你得学windows编程,socket等服务器当然就是各种数据库操作,各种通讯操作。引擎编程需要了解底层,directx,opengl,3d数学,物理基础等。
脚本的话就学脚本就够了。手机游戏开发分ios、android,对应使用不同引擎需要不同的学习。网页游戏前端目前flex流行,js,html也在发展。以上只是速成。
但是真正建议的是,学好c++,数据结构,socket编程,了解windows编程,学习数据库编程。先学3d数学,再学directx,然后试着做个小游戏。学习设计模式。
研究开源引擎。会是个比较漫长的过程,但是基础扎实,各种开发都不怕。可以专挑一条喜欢的道路深入研究,也可以专注游戏逻辑实现。
三、美术
分为3d建模,2d美术。
扩展资料:
对于游戏发展而言,国内高校基本没有相关技术的指导,基本依靠网络社区论坛交流,自己学习来掌握一些基本的游戏制作技巧。
2000年后,国内诞生了不少游戏制作基地,专门指导学习游戏制作,包括四维梦工场、创想时代在内的一些具有实际指导意义的游戏制作基地,为国内的游戏制作人才提供了不少新鲜血液。
socketio适不适合做mmorpg游戏
socketio适合做mmorpg游戏。因为socketio适用于游戏服务器开发,也可用于开发高实时Web应用。大型的多玩家角色扮演的游戏叫MMORPG。MMORPG是非常流行的网络游戏类型,具有极大的市场占有率。如魔兽世界、神鬼认证、怪物猎人online、龙之谷、剑侠情缘网络版3、天下三、永恒之塔、神鬼世界、永恒世界、剑灵,以及被公认为第三代网游的上古世纪等都属于MMORPG。MMORPG具有一个持续的虚拟世界,玩家离开游戏之后,这个虚拟世界在游戏营运商提供的主机式服器里继续存在,并且不断演进。
C#网络游戏编程
用winform做游戏的书开发应该比较少见吧。
如果你技术上没问题,那看书应该效果不大,因为书是给不会技术的人看的,至于技术学会了如何去实现理论,那永远得自己想。
我是这样想的,
网络上:
网络游戏一般都用UDP进行信息交流,这样可以实现一对多传输,且无需像TCP那样一一建立连接。用UdoClient或直接Socket类进行互交就可以了。
至于传输的内容,是各种游戏中的消息,最好在前几个字节设定消息类型。比如消息类型是出牌,后面的字节就是具体哪张牌。消息类型是指令,后面的字节就是对方是否赢了或者认输等。
游戏界面上:(我觉得这个是难点,网络还是比较容易的)
你需要有一个明了的规划。
数据上:比如每张牌用int还是枚举,每张牌对应的图像存成内置资源还是外部图像。
界面上:2D的话GDI或GDI+就够了,**要另外调用DirectX API。
处理上:对接受的消息的应对,界面上有什么调整,数据上有什么调整。
关于cocos creator 使用socket-io在生成微信小游戏遇到的各种问题
环境:
客户端:cocos creator + socket-io(2.1及以上)
服务器:nodejs + socked-io
问题1:
在生成微信开发者工具中编译报错如下:
WAGame.js:1 gameThirdScriptError Cannot read property ’Buffer’ of undefined
TypeError: Cannot read property ’Buffer’ of undefined at Object.《anonymous》
原因:
查看源码,发现socket-io-client中使用了Buffer关键字,这个在微信中应该是没有的
解决办法:
替换cocos creator提供的例子中的socket-io
问题2:
在替换了cocos creator中提供的socket-io后发现无法连接到服务器,并且服务器不断提示连接,断开,连接,断开。。。
原因:
因为socket-io相当于一个集合,里面包含了各种查询连接方式如websocket
解决办法:
一定要在连接时指明使用的传输方式:
let socket = io.connect("ws://localhost:29010", {transports:});
问题3:
成功生成微信小游戏后,模拟器正常连接,真机调试正常连接,但真机关闭了调试模式无法连接
原因:
微信限制了域名的使用,调试模式下可以临时开启 开发环境不校验请求域名、TLS版本及HTTPS证书 选项,跳过服务器域名的校验。此时,在微信开发者工具中及手机开启调试模式时,不会进行服务器域名的校验。
解决办法:
***隐藏网址***
今天玩了一款游戏叫做你画我猜,萌生了用java编写它的想法
其实这个问题你应该先想一下socket到底是一个什么东西,在网络编程中socket到底用来做什么的。socket:在操作系统内核中它代表网络连接的一个端点(endpoint),在应用程序中它代表一个打开的文件。socket pair唯一确定的一条网络连接,socket pair就是客户端socket和服务端socket的一个组合。也就是客户端ip和port与服务端ip和port的组合。一条网络连接也就是一条通信的信道,tcp连接代表的信道是全双工的。以信道来讲,逻辑上就存在两个管道来代表输出与输入来发送和接收信息。
那么在应用程序上我们就可以拿到这2个管道来完成socket之间的通信。
以你的应用来看输出流fos就代表着图中的红色管道,那么在服务端就应该是这个样的。
Scoket connSock = serverSocket.accept();//connSock代表着服务端的Socket
InputStream is = connSock.getInputStream();//输入流is代表图中的红色管道
OutputStrea os = connSock.getOutputStream();//输出流os代表图中的绿色管道
在服务端有一个字节缓冲区来存放从is读取的字节数据
byte;
然后服务端读取数据来填充这个字节缓冲区
is.read(buffer);//比如这样
然后就根据你的需求来操作这个buffer了。
然后把处理过后的数据通过os发送给客户端。os就是图中的那个绿色管道
os.write(处理过后的数据);
谁帮我做个J**A小游戏代码
第一个类,服务器主线程类。
package src;//定义一个包,存放J**A文件。
import java.io.*;//导入J**A包,输入输出流包
import java.net.*;//导入J**A包,网络应用包
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;//定义一个包,存放J**A类
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...
Netty+SpringBoot+protobuf3 搭建socket游戏网络层
我使用的是gradle项目进行搭建游戏引擎,开发工具:eclipse
gradle项目引用的依赖:
main的启动方法
我使用的是springboot的加载方式进行初始化相关的配置
scoket.properties的配置
SocketInitializer 初始化器
解码器 (TCP的包处理)
解码器
服务器Handler
模拟客户端
客户端初始化器
客户端处理器
先启动服务端在启动客户端,效果如下
急求一个J**A编程,“编写一个猜拳游戏,分别用0、1、2表示石头、剪子、布
用我自己的方法写了一个,看LZ喜欢不喜欢
12是石头,23是剪子,31是布.first表示第一个人。second表示第二个人!
import java.util.Random;
public class Print {
public static void main(String args) {
//"12"是石头,“23”是剪子,“31”是布
String a = {"12", "23", "31"};
Random r = new Random ();
String first = a;
String second = a;
System.out.println("12是石头,23是剪子,31是布.first表示第一个人。second表示第二个人!\n---------");
if (first.equals(second)) {
System.out.println(first + "--" + second + ",(前面是first,后一个是second)" + ":平了");
} else if (first.charAt(1) == second.charAt(0)) {
System.out.println("出拳情况:" + first + "--" + second + ",(前面是first,后一个是second)" + "\n结果判断:" + result1(first,second));
} else if (first.charAt(0) == second.charAt(1)) {
System.out.println("出拳情况:" + first + "--" + second + ",(前面是first,后一个是second)" + "\n结果判断:" + result2(first,second));
}
}
public static String result1 (String f, String s) {
if (f.equals("12") && s.equals("23")) {
return "first石头 胜 second剪子";
} else if (f.equals("23") && s.equals("31")) {
return "first剪子 胜 second布";
} else {
return "first布 胜 second石头";
}
}
public static String result2 (String f, String s) {
if (f.equals("12") && s.equals("31")) {
return "first石头 输 second布";
} else if (f.equals("23") && s.equals("12")) {
return "first剪子 输 second石头";
} else {
return "first布 输 second剪子";
}
}
}
游戏编程
现在基本是**游戏编程,而游戏编程又分为服务器和客户端编程。服务器方面需要掌握SOCKET,多线程,数据库和LINUX技术。而客户端需要掌握的东西就多了,基础不错,如果你将DX玩会了就OK了,介绍一些书吧,希望有用!
戏脚本高级编程(附光盘)
***隐藏网址***
游戏脚本编程”的全新领域,本书将从概括论述什么是脚本编程以及它是如何实现的开始,阐述游戏编程的理念,根据作者多年的开发经验,使读者掌握使用脚本是把游戏代码和主引擎分离开的最理想的办法,带读者进入神秘的游戏脚本语言世界,学习如何编写脚本语言,编译器理论,享受游戏编程方面的极大乐趣。 本书是游戏开? ...
游戏编程All in One
***隐藏网址***
游戏开发人员,包含了Visual C++的《游戏编程All In One》为你提供了开发游戏所需要的一切准备工作。本书根据内容由浅入深划分章节,覆盖了游戏开发所涉及的重要环节。经验较少的开发人员可以从基本的C++编程开始,开发两个简单的文本游戏测试自己的技能。之后,进入Windows编程以及和DirectX相关的主要内容:DirectX G ...
C++游戏开发(附光盘)
***隐藏网址***
游戏编程的概念、方法、技巧、实例以及综合运用。本书共分为五部分,第一部分简要介绍编写游戏所需的工具和技能,包括大量有关编程的基本概念。第二部分深入介绍面向对象编程。第三部分展示如何构建游戏程序,并以Ping游戏为例进行全面讨论, 包括如何为游戏添加声音。第四部分介绍编写游戏所需的高组C++技能。第五部分 ...
OpenGL游戏编程(含1CD) OpenGL游戏编程(含1CD)
***隐藏网址***
游戏编程,但是以前从没接触过OpenGL的人编写.通过这本书,读者可以学到所有的基础知识,包括纹理贴图和顶点数组等一些非常重要的内容.完成了对本书的学习,你应该可以制作一些稍微复杂的游戏了.
这两本书很好:
Windows 游戏编程大师技巧(第二版?含2CD)
***隐藏网址***
这本书将带领你到达游戏编程技术的另一个层次。光是人工智能那部分就很让人着迷了--那些演示非常精彩。你还能从哪里获得如此详尽的介绍,教你把模糊逻辑学、神经网络和遗传法则运用到视频游戏上去呢?另外本书深入浅出地介绍了物理建模,教你如何将完全碰撞反应、动量传递和正向运动学等内容应用到游戏开发中,并进行实? ...
**数学基础:图形与游戏开发 **数学基础:图形与游戏开发
***隐藏网址***
**几何世界背后的数学问题。**数学是一门与计算几何相关的学科,计算几何则是研究怎样用数值方法解决几何问题的学科。**数学和计算几何广泛应用在那些使用计算机来模拟**世界的领域,如图形学、游戏、仿真、机器人技术、虚拟现实和动画等。 本书涵盖了理论知识和C++实现代码。理论部分解释**中数学和几何之间的关? ...
**游戏编程大师技巧
***隐藏网址***
**图形学的各个重要主题。全书共分5部分,包括16章的内容。第1~3章简要地介绍了Windows和DirectX编程,创建了一个Windows应用程序模板,让读者能够将精力放在游戏逻辑和图形实现中,而不用考虑Windows和DirectX方面的琐事;第4~5章简要地介绍了一些数学知识并实现了一个数学库,供以后编写演示程序时使用;第6章概述? ...
而服务器编程,我还没见过正真最好的书,毕竟是商业机密,不过有本书可以去看看:
MUD游戏编程(配光盘)
***隐藏网址***
本书从网络基本知识入手,全面阐述了如何开发纯文字MUD游戏。并通过构建SimpleMUD和BetterMUD这两个MUD,重点讲述了如何实现MUD。本书分为4大部分。第1部分介绍了计算机网络的基本知识、Winsock/Berkeley Sockets API以及多线程的概念;展示了本书所用的基本库BasicLib中的所有类和函数;创建了一个套接字库SocketLib;介 ...
另外掌握一门脚本语言也是好的,无论服务器,客户端,都要使用。
Python编程基础
***隐藏网址***
Python是一种功能十分强大的面向对象编程语言,可以用于编写独立程序、快速脚本和复杂应用的原型。作为一种开放源码的软件,Python可以自由获取,而且易学易用。它已经在各种平台上实现了移植,其中包括Uniix、Linux、Windows 9x、Windows NT和MacOS。本书详细讲述了Python语言的各个方面,在简单介绍Python的基本原理? ...
学习Python:第2版(影印版)
***隐藏网址***
Python是流行、开源、面向对象的编程语言,既可以用于编写单机运行的程序也可以编写脚本程序,具有可移植、强大、易用等特点。跟随专业教师学习是最快捷的掌握此语言的方式。新版的《学习Python))把你带到Mark Lutz和David Ascher面前,他们是著名的Python专家和培训师,他们的用语亲切、组织良好的文章已经指导了许多编程? ...
还有LUA,不过书没找到。其它还有许多要掌握的,就不说了。
更多文章:
openstack核心模块(openstack用的python什么框架)
2026年4月13日 01:40
做一个素材网站赚钱吗?我自己设计的素材很好,发布在哪儿可以赚钱啊
2026年4月13日 01:20
bottom up的意思(质谱的bottom up和top down 有什么区别)
2026年4月13日 01:00
汽车socket什么意思(car socket是什么意思 是汽车上用的东西)
2026年4月13日 00:20
关系数据库的概念(试述数据 数据库 数据库管理系统 数据库系统的概念以及四者之间的关系)
2026年4月12日 23:20
gitclone部分代码(怎么把gitlab代码clone下来)
2026年4月12日 23:00




