All pastes #767703 Raw Edit

bla

public text v1 · immutable
·published 2007-11-09 23:33 UTC
rendered paste body
Graphics 800,600,32,2
;###########################################
Global Hosting = Input("Hosten (1) oder Beitreten (2)?")
Global Server, RemoteStream
Global LastSend
;###########################################
If Hosting = 1 Then
	Server = CreateTCPServer(8989)
	Print "Warte auf Beitritt!"
	Repeat
		Delay 100
		RemoteStream = AcceptTCPStream(Server)
		If RemoteStream <> 0 Then
			Print "Client verbunden!"
		End If
	Until RemoteStream <> 0 
Else
	RemoteIP$ = Input("Server IP eingeben:")
	RemoteStream = OpenTCPStream(RemoteIP$, 8989)
	If RemoteStream = 0 Then
		Print "Verbindung Fehlgeschlagen. Any Key zum beenden!"
		WaitKey()
		End
	End If
End If
;###########################################
Dim Player1Data(2)
Dim Player2Data(2)
;###########################################
Function Networkrefresh()
	If Hosting = 1 Then
		;###########################################
		While ReadAvail(RemoteStream) > 0 
			If ReadInt(RemoteStream) = 1 Then
				Player2Data(1) = ReadInt(RemoteStream)
			End If
		Wend
		;###########################################
		WriteInt RemoteStream, 1
		WriteInt RemoteStream, Player1Data(1)
	Else
		;###########################################
		While ReadAvail(RemoteStream) > 0 
			If ReadInt(RemoteStream) = 1 Then
				Player1Data(1) = ReadInt(RemoteStream)
			End If
		Wend
		WriteInt RemoteStream, 1
		WriteInt RemoteStream, Player2Data(1)		
		;###########################################
	End If
End Function
;###########################################
Function PlayerControls()
	If KeyDown(200) Then
		If Hosting = 1 Then
			If Player1Data(1) > 0 Then
				Player1Data(1) = Player1Data(1)-1
			End If
		Else
			If Player1Data(1) > 0 Then
				Player1Data(1) = Player1Data(1)-1
			End If		
		End If
	End If
	;###########################################
	If KeyDown(208) Then
		If Hosting = 1 Then
			If Player1Data(1) < 500 Then
				Player1Data(1) = Player1Data(1)+1
			End If
		Else
			If Player2Data(1) < 500 Then
				Player2Data(1) = Player2Data(1)-1
			End If		
		End If
	End If	
End Function
;###########################################
SetBuffer BackBuffer()
Repeat
	Rect(5, Player1Data(1), 10, 100, 1)
	Rect(785, Player2Data(1), 10, 100, 1)
	If MilliSecs()-LastSend > 50 Then
		Networkrefresh()
	End If
	PlayerControls()
	Flip
	Cls
Until KeyHit(1)
;###########################################