[Python] 开发一个局域网联机小游戏

python做一个局域网联机小游戏【游戏工程师第一课】

我们在大学时期都学过网络方面呢课程,其中在学习编程的过程中,学习好的童鞋可能经常会听到套接字、网络编程之类的词汇,笔者今天就用python来开发一个局域网连接游戏。

机房里局域网玩自己做的游戏效果如下:
在这里插入图片描述

开发语言 python
开发种类 网络编程&pygame
  1. 网络编程
    所谓网络编程,本质上来说就是对信息发送到接收,网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。
    详细请看https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/9986797?fr=aladdin
    网络编程中必不可少的就是套接字了,套接字就是应用程序和网络协议的一个接口,使用tcp/udp协议的方式传输
    现在我们来提高点难度,看看笔者写的实际应用中套接字server(服务端)和client(客户端)
def server(arg1,arg2):
	HOST = ''
	PORT = 21567
	BUFSIZ = 1024
	ADDR = (HOST,PORT)

	tcpSerSock = socket(AF_INET, SOCK_STREAM)
	tcpSerSock.bind(ADDR)
	tcpSerSock.listen(5)
	while True:
		if exitt:
			break
		print('waiting for connection...')
		tcpCliSock,addr = tcpSerSock.accept()
		print('...connected from: ',addr)

		while True:
			data = tcpCliSock.recv(BUFSIZ)
			data = str(data,encoding='utf-8')
			thePos[0] = int(data.split(',',-1)[0])
			thePos[1] = int(data.split(',',-1)[1])
			# print(type(data))
			if not data:
				break
			message = str(pos[0]) + ',' + str(pos[1]) +','+ str(exposH)
			message = message.encode('utf-8')
			tcpCliSock.send(message)

	tcpSerSock.close()
def client(arg1,arg2):
	HOST = '192.168.16.83'
	PORT = 21567
	BUFSIZ = 1024
	ADDR = (HOST,PORT)

	tcpCliSock = socket(AF_INET,SOCK_STREAM)
	tcpCliSock.connect(ADDR)
	while True:
		if exitt:
			break
		data =  str(pos[0]) + ',' + str(pos[1])
		data = data.encode('utf-8')
		if not data:
			break
		tcpCliSock.send(data)
		message = tcpCliSock.recv(BUFSIZ)
		message = str(message,encoding='utf-8')
		thePos[0] = int(message.split(',',-1)[0])
		thePos[1] = int(message.split(',',-1)[1])
		exitPos
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值