Mohamed Raafat Saleh's repositories
Chess_game
Simple 2-player console chess game 8 by 8 grid implemented in C. It supports vali- dations of the wrong moves, checkmates, promotion and stalemate. Also it supports Undo/Redo facility.
Dynamic-Memory-Allocator
Dynamic memory allocator project to implement malloc and free functions in C to perform like the built-int functions in malloc Package of C. Hint: The base code for this project is taken from Computer Systems_ A Programmer's Perspective by Randal E. Bryant, David R. O'Hallaron
Hajj-Assistant
Smart assistant similar to Google assistant is designed us- ing Google DialogFlow NLP Engine to help Muslims during their pilgrimage (Hajj) journey. I participated with this ap- plication in Hajj Hackathon 2018. The back-end is Nodejs and DialogFlow.
Landing-Page
This Project is a front-end implementation of a website landing page using HTML and CSS.
RISK
Simple implementation for the game in Python with options to play with Smart Agents (Computer Side). There are multiple types of smart agents implemented for example (passive, aggressive, pacifist and greedy agents) to compare their performance and intelligence. The game has a nice GUI that enables the players to play the game.
Maze-Solver-using-RL
Implemented in Python. It generates a random maze that has a solution and two Reinforcement Learning algorithms (Policy Iteration & Value Iteration) are used to solve the maze to give the shortest path as the program output.
Replicated-Distributed-File-System
The system consists of one main server (master) and, data will be replicated on multiple replicaServers. This file system allows its concurrent users to perform transactions, while guaranteeing ACID properties.
Data-structures-in-C
This project includes implementation of basic data structures written in C language. Singly linked list is implemented and support the basic operations done on the list and also Hash-table is implemented using arrays and the linked list (implemented in the project) to resolve collision of hashed keys.
Linux-Shell
Implementation of Linux shell in C which support exeution of most of Linux shell commands.
Math-Steps-Solver
Math Steps Solver Libraries
Rock-Paper-Scissors
This is simple Javascript implementation of the the classical Rock, Paper, Scissors game.
SIC-Assembler
The assembler reads the source SIC Machine assembly program and generates the object program and the listing file. Implemented in Java