• About
  • Archives
  • Categories
  • Archive for the ‘University Projects’ Category

    My Teapot – An OpenGL 3D Shooting Game w/ src


    2010 - 07.31

    My Teapot is a Projective space 3D Game, the player tries to prevent the collision between the teapot and the red opponents, while go for the green ones.. Also they can shoot any red opponent.

    ..:: Controls ::..

    W – Up

    S – Down

    A – Left

    D – Right

    SPACE – Shoot

    ..:: Download ::..

    Please contact me through email to send you the source code.

    ..:: Prerequisite ::..

    TAO OpenGL Library

    My House – A Basic OpenGL Geometric Drawings…


    2010 - 07.31

    My House is a simple OpenGL animation which demonstrates the power of drawing complex shapes using basic geometry..

    ..:: Controls ::..

    Press anywhere to trigger the animation on!

    ..:: Download ::..

    My House (executable)

    My House_src (VS 2008)

    ..:: Prerequisite ::..

    TAO OpenGL Library

    My Snake… The OpenGL Snake Game w/ src


    2010 - 07.31

    My Snake is the traditional snake game done using C# and OpenGL.

    ..:: Controls ::..

    W – Up

    S – Down

    A – Left

    D – Right

    Any other key to pause the game

    ..:: Download ::..

    My Snake (executable)

    My Snake_src (VS 2008)

    ..:: Prerequisite ::..

    TAO OpenGL Library

    Dijkstra’s Shortest Path Calculator in PROLOG!


    2010 - 06.03

    A Shortest Path Calculator for undirected graphs using Dijkstra’s shortest path algorithm in PROLOG

    [HOWTO]

    1- Use left mouse clicks to draw as many nodes.

    2- Use your left mouse button to choose the start node, then the right one on the destination node to draw an edge

    NB. You should specify the weight before drawing the edge

    3- After drawing your graph, you’ll need to choose your destination node using your right mouse button.

    NB. Your start node will be always node ‘a’

    4- Click on Calculate Shortest Path button.

    [DOWNLOAD]

    Shortest Path exec

    A Multilayer Perceptron Library in C# with OCR Demo


    2010 - 06.03

    Multilayer Perceptron (MLP) is a well known field of study in the Neural Networks.

    It’s has been widely used in various fields of machine learning.

    Demo: An Optical Character Recognition (OCR) Demo on MLP library

    Welcome WizardWizard to assist user input for various setup parameters of the MLP.

    Input SamplesSpecify File Path which contains Samples’ Data with an option to normalize those features in the file.

    Desired DataSpecify File Path which contains Desired Data.

    Layers SetupLayers setup, including activation functions and learning rates of each.

    Note that input and output neurons are already pre-calculated from previous 2 wizard steps.

    Additional ConfigSpecifying additional configurations for learning satisfiable conditions.

    Finish WizardFinish Wizard.

    MLP DrawAdditional Option to draw the MLP specified for demonstration purposes.

    Windows 7 SupportLearning in a separate thread with an option to stop at anytime.

    Note that Demo has support for window 7 Aero and Taskbar features.

    GraphLearning error output graph.

    Download:-

    Multilayer Perceptron lib

    OCR Demo

    iCryptography – A C# Cryptography Library


    2010 - 05.24

    Features

    [.Net 3.5 Technology Compliant Class Library]
    [OOP]
    [Universal Input Validation]
    [Illustrative UI]
    [Different Modes [ASCII/HEX/Binary/File]]
    [All Algorithms Working under optimized Byte Arrays]
    ——[Chapter 2]——
    [1] General Caesar
    [2] Monoalphabetic
    – Random Cipher Generation
    – Validation for duplicates
    [3] Vigenere
    – Auto key & Repeating Key Generation
    – Auto-update
    [4] Playfair
    – Auto-Draw Digram Cipher
    – Auto-Validate Input for duplicates & size
    [5] Hill Cipher
    – Auto-Pad
    – Auto-Draw Key Matrix
    – Validate Sizes
    [6] Rail Fence
    – Draw Tree
    – Auto-update
    [7] Columnar
    – Auto-Divide input across available places
    – Auto-Draw user input text
    – User defined key & Key size
    ——[Chapter 3]——
    [1] DES
    – View all keys
    ——[Chapter 4]——
    [1] Extended Euclids
    [2] GCD
    ——[Chapter 5]——
    [1] AES
    – Different Key Sizes [128/192/256 bits]
    ——[Chapter 6]——
    [1] RC4
    [2] Triple-DES
    ——[Chapter 8]——
    [1] Primality Test
    – Fermat’s
    – Miller-Rabin
    ——[Chapter 9]——
    [1] RSA
    – Generate Random Private Key
    ——[Chapter 10]——
    [1] Diffe Hellman
    [2] ECC
    – Generate Random Private Key
    – Key Exchange
    ——[Chapter 12]——
    [1] MD5
    [2] SHA-1
    ——[Chapter 13]——
    [1] DSS

    This Library is organized by NameSpaces based on chapters from Cryptography and Network Security by William Stallings

    Download:-

    Dll Library [v.1]

    Demo App [v.1]

    Chat Application using WCF


    2010 - 04.01

    Chat Application using WCF NetTcpBinding

    Features:-

    [V.2] 24.05.10

    + Support for (two way) Authentication, Confidentiality & Integrity using RSA Public Key Encryption/Decryption & MD5 Hashing (currently working only for user passwords)

    Procedure:-

    1- Calculate Password’s MD5 Hash

    2- Encrypt Using User’s Private Key

    3- Append to Original Password

    4- Encrypt whole Packet with Server’s Public Key

    + FIX: Nudge Glitches

    ———————————————————-

    [V.1]

    + Support user registeration

    + Support adding contacts using their usernames

    + Allow user to accept or reject adding requests

    + Show user’s contact list showing who’s online and who’s offline

    + Support Contact status

    + Support Contact DP

    + Update status & DP for online conacts

    + Allow sending and receiving text message to and from any online contact

    + ‘Enter’ to send ‘Cntl-Enter’ for new line

    + Toolbar notifications

    + User is writing..

    + Added Icons

    + Added invitations

    + Support sending emotions within text messages

    + Selecting an emotion

    + Auto detect emotions (When writing or copy-paste)

    + Nudge

    + Nudge lock for 1 minute

    + Asynchronous Calls

    + Send offline msgs

    + Show offline messages to the user once s/he goes online

    + Allow sending files (of any type or format) to an online contact (700 MB+)

    + Support Video conversation (each peer sees the other peer’s live camera)

    + Support Audio conversation (each peer hears the other peer’s live voice)

    -> [Security Measures] <-

    + Generate a session key (random number) to be assigned to each online user & used to communication with the server

    + Appending a random number to each contacts’ Display Pictures

    + Generate a random invitation ID foreach sent invitation and store receiver’s response along with the invitation ID

    Screenshots:-

    Registration Window

    Chat Window

    Smilies

    Invitations

    Download:-

    Executables (Host &  Client) [V.2]

    Executables (Host &  Client) [V.1]

    Documentation

    MyShooter – Opengl First Person Shooter Game


    2010 - 04.01

    MyShooter is a first person shooter game developed under C# using Tao opengl library

    Features:-

    MD2 Model loading

    1-    Shotgun

    2-    Opponents

    3-    Bonus packs

    Sounds

    1-    Background music

    2-    Shotgun reloading

    3-    Shooting a bullet

    Skybox

    Skybox is used as an environment for the game that simulates the background world.

    Bill boarding

    Game uses bill boarding technique so that the opponents always rotate to face the hero.

    Bonus Packs

    The opponents leave a health packs randomly when they die and the hero can grab to increase his healthy status.

    Jump

    The hero can jump to bypass different obstacles.

    Fog

    Game uses fog technique in order to harden the game level so that far opponents would look foggy.

    Screenshots:-

    Download:-

    Game Manual

    Setup (.MSI)

    Visualize Tool


    2009 - 12.01

    Visualize tool was my final OOP task required.

    It reads any .CS file and parse strings (using simple string operations) in order to extract all classes, attributes & functions present.

    Also it has the ability to determine Access Modifiers, parent / children classes, defined and inherited attributes and functions.

    Screenshot:-

    Visualize Tool

    Download Source File (VS 2008)

    Simple Notepad using C#


    2009 - 12.01

    Simple notepad program that behaves similarly to windows built-in ‘notepad’

    V.2 Features:-

    1- Detect altered text

    2- Add ‘*’ to altered text control’s title

    3- Prompt user to save changes on exit / open new file

    V.1 Features:-

    1- Basic file operations (new/open/save/save as)

    2- Basic text operations (cut/copy/paste/select all)

    3- Basic text editing properties (Wrap text/font)

    Screenshot:-

    Notepad

    Download Source File (VS 2008)