Commit Graph

101 Commits

Author SHA1 Message Date
349b0b78db Created method to set position of paddle 2024-02-28 00:05:05 -05:00
a37ec79f09 Changed 'recvAll' return type from std::string to char pointer, and created a non-blocking version of the function 2024-02-28 00:04:43 -05:00
ba667d020d Game is mostly finished, added a ton of code for reading and applying peer position.
The most important addition is that the program now parses data in the
Serial_Data struct, and updates the positions accordingly. I also removed
the old implementation with strings, and fixed a bunch of bugs along the way.
2024-02-28 00:00:53 -05:00
effeea73b9 Made the serialization code cleaner, and fixed a bug where data was overwritten by the null pointer 2024-02-28 00:00:28 -05:00
c6bbe82d25 Made the 'recvAll' function return a char pointer instead of a std::string, this is better for portability. Also created a non-blocking version of the function. 2024-02-27 23:59:53 -05:00
6d1565a020 Updated TODO; removed finished items 2024-02-27 23:59:06 -05:00
93d3f2e13f Added serialization C file as a dependency 2024-02-26 21:40:55 -05:00
6eb02ab2ee Started working on implementing serialization code into the main game loop.
Currently, I'm trying to serialize data and send it to the peer socket, and deserialize it at the receiving end.
2024-02-26 21:39:23 -05:00
ded7c68ae7 Fixed misaligned bracket 2024-02-26 21:38:54 -05:00
edfd70c3cc Created a simple data serialization library, to serialize and deserialize the data to be sent 2024-02-26 21:38:01 -05:00
87b436aede Updated TODO 2024-02-26 21:36:50 -05:00
6ad56fb9ef Started working on client-server communication; so far, I can send the position of client to server, and vice-versa 2024-02-23 11:16:21 -05:00
6155cb0463 Wrote code to null-terminate the string sent in sendAll, and the string received in recvAll 2024-02-23 11:15:45 -05:00
89e1e8d45e Worked on further implementation of the network side of things.
Specifically, I added code to send a message from the client, after the client is launched. This message is used to try to connect to the server. Once the server receives this message, it responds back. After the client receives this response, the connection has been established, and the game can begin.

I also added code to wait (on the client side) for the server to press the spacebar.
2024-02-21 22:29:03 -05:00
b47b0eab28 Added new exception constants 2024-02-21 22:28:29 -05:00
0c726be147 Updated header file to reflect recent change in implementation file 2024-02-21 22:28:09 -05:00
7e362f0ed9 Moved the private functions out of the anonymous namespace, because I need to use them in other places 2024-02-21 22:27:49 -05:00
f3ad4fbf99 Defined constants for TCP and UDP, instead of using the characters themselves 2024-02-21 22:27:23 -05:00
f0e30f28e9 Updated header files to reflect recent change in implementation files 2024-02-21 22:26:59 -05:00
4fce513211 Updated TODO 2024-02-21 22:26:33 -05:00
9954a18171 Made the sendAll and recvAll functions in sock.cpp use variables set by the children, rather than having the functions pass parameters 2024-02-21 22:25:52 -05:00
350b51e28b Added additional code to easysock library 2024-02-19 21:55:22 -05:00
ec51bcdb34 Added to TODO file 2024-02-19 21:41:30 -05:00
b07b3fc584 Renamed 'connect-helpers' to 'connect_code' 2024-02-19 21:41:15 -05:00
41f44797a1 Split connect_code file into header and implementation 2024-02-19 21:39:37 -05:00
e9c0fe563c Added additional dependencies 2024-02-19 21:33:33 -05:00
5a8a42a828 Added comments to explain functions, and added UDP handling 2024-02-19 21:32:51 -05:00
11d0a1a5ab Completely rewrote Client class, and split the class into header and implementation 2024-02-19 21:29:41 -05:00
98abf50da5 Completely rewrote Server class, and split the class into header and implementation 2024-02-19 21:28:07 -05:00
98160f0071 Renamed 'math-helpers.hpp' to 'sign.hpp' 2024-02-15 09:47:47 -05:00
cacc4f9d33 Included string header instead of iostream header, as this file doesn't need iostream 2024-02-15 09:47:25 -05:00
acf8271126 Renamed 'math-helpers.hpp' to 'sign.hpp' and updated main.cpp to reflect the change 2024-02-15 09:46:53 -05:00
3a7793bde8 Renamed header file include 2024-02-15 09:46:14 -05:00
3d944f2ed1 Added additional header file 2024-02-15 09:45:47 -05:00
f8b1994bde Added additional flags for GCC 2024-02-15 09:45:31 -05:00
13da015683 Renamed base-helpers to numeric_base, and separated numeric_base into header and implementation files 2024-02-15 09:13:51 -05:00
a47e598b5c Removed unnecessary comments 2024-02-15 07:48:10 -05:00
6593384d2d Added Paddle.cpp and Ball.cpp as dependencies 2024-02-15 07:47:55 -05:00
17b391c1c3 Split 'paddle' class into header and implementation files 2024-02-15 07:47:35 -05:00
86411ae907 Split 'Ball' class into header and implementation files 2024-02-15 07:47:16 -05:00
1b1dc4a3a2 Changed include paths to relative paths, and added an agnostic struct.
The agnostic struct consists of a 'Mode' enum, and a 'Sock' type. The
'Sock' can be either a Server or Client, depending on the type of game.
This allows polymorphism, as I don't have to worry about whether the game
is being run in Server or Client mode, and I can call the same methods regardless.
2024-02-14 18:32:40 -05:00
26427fa257 Added include guards to header files 2024-02-14 18:32:01 -05:00
195d6c4b4b Separated 'Sock' file into header and implementation file, and added include guards to header file 2024-02-14 18:30:09 -05:00
4eaca05b68 Added 'sock.cpp' and removed include directory 2024-02-14 18:28:55 -05:00
b7e1066b68 Changed include path to be more explicit 2024-02-14 18:27:47 -05:00
fc041539c5 Changed Sock to Sock* in GameType struct to allow it to be set to null 2024-02-14 08:22:25 -05:00
cb0fe1af6b Defined a 'GameType' struct that can hold both the mode, and the relevant socket, to enable polymorphism when calling socket methods 2024-02-14 08:09:34 -05:00
ee0c106236 Made 'Client' and 'Server' children of 'Sock' class 2024-02-14 08:08:58 -05:00
2e6b01a9bb Defined a parent 'socket' class that both 'Client' and 'Server' can inherit from 2024-02-14 08:08:38 -05:00
f9bfefe3ad Included additional header 2024-02-14 08:07:54 -05:00