Tutorial Index

The Partridge Family were neither partridges nor a family. Discuss.
Conflictus
Posts: 53
Joined: January 7th, 2013, 8:09 am

Tutorial Index

Post by Conflictus » February 13th, 2013, 11:32 pm

[Beginner]

Lesson 1: http://www.youtube.com/watch?v=0kpSiitk4eI
General Introduction
Requirements for following along with the tutorials

Homework: Mess around with PutPixel() and figure out what each number represents

Lesson 2: http://www.youtube.com/watch?v=QUu-cb_FWt0
Review of homework from lesson 1
General explanation of functions and objects
Introduction to Intellisense, Auto-Completion and Tooltips

Homework: Translate the coordinates of the PutPixel() composition to the lower right portion of the screen

Lesson 3: http://www.youtube.com/watch?v=QtDkf-fGcg4
Review of homework from lesson 2
The int data type
Arithmetic operators // + -

Homework: Offset the Y-Coordinate values with a variable

Lesson 4: http://www.youtube.com/watch?v=XSKF2GZLjxg
Review of homework from lesson 3
Whitespace and code format
if statements
Keyboard input (up, down, left, right, space and enter)
The bool data type

Homework: Add keyboard input for each direction and change the color to red if space is pressed

Lesson 5: http://www.youtube.com/watch?v=b0wfHTPxrD4
Review of homework from lesson 4
Scope of variables
Introduction to constructors // the initializer list
Find and replace // Ctrl + F

Homework: Change the speed that the reticle moves around the screen
Space = 1 pixel per frame
No key pressed = 3 pixels per frame
Enter = 8 pixels per frame

Lesson 6: http://www.youtube.com/watch?v=BFL11x6Zqdk
Review of homework from lesson 5
Collision with the window borders
Comparison operators // < >

Homework: Change the color of the reticle from white to teal when within a rectangular area at the center of the screen

Lesson 7: http://www.youtube.com/watch?v=rb36LCoLgtE
Review of homework from lesson 6
Nested if statements
Logical operators // &&
Bounding box collision
The equivalence // == and assignment operator // =
Review of all operators learned so far // = + - < > == &&

Homework: Make a 2nd reticle that moves by itself in a rectangular pattern around the screen

Lesson 8: http://www.youtube.com/watch?v=JEmwkQsi8l0
Review of homework from lesson 7
Introduction to the debugger
Declaring and defining a function to draw reticles
The Pooface game, which uses everything learned thus far
else statements
The not operator // !

Homework: 'like' Chili's youtube tutorial videos

Lesson 9: http://www.youtube.com/watch?v=U06I6ivvDYM
Change the default window location in windows.cpp
while loops
Increment operator // ++
Draw a line looping PutPixel() calls

Homework: Draw a square and move it around with arrow keys and re-size it if holding down space. Additionally, if inclined to do so you can add a color pattern to the square.

Lesson 10: http://www.youtube.com/watch?v=Kz3PuLN8_zc
Review of homework from lesson 9
for loops
Linear equations
More fun with the debugger
The float data type
Explicit type conversion // ( )
Absolute value function ( abs() ) // <stdlib.h>
Swapping variable values
DrawLine() for drawing lines

Lesson 11: http://www.youtube.com/watch?v=cIv5FhTQsn0
Pythagorean theorem
Square root function ( sqrt() ) // <math.h>
DrawCircle() for drawing circles

Lesson 12: http://www.youtube.com/watch?v=jW2SZcSH3rc
Enumerations ( enum )
switch-case statements
return values from a function
Function overloading
Constant variables ( const )
Read a single key press when a key is held down
Generate random numbers ( rand() ) and seed them ( srand() ) // <stdlib.h> with time ( time() ) // <time.h>
do-while loops
Modulus operator // %
Create a Tic-Tac-Toe game using what we've learned

Homework: Improve the AI and have the computer move the cursor

Lesson 13: http://www.youtube.com/watch?v=rcx3VbSv0yI
Arrays
Memory allocation
Pre-processor directives // #define
Implicit type conversion
Dividing logic and drawing into separate functions
Updating the framework to improve PutPixel()
Memory mapped I/O
Updating the Pooface game to include things learned recently

Homework: Change the objective of the Pooface game to collecting yellow circles while avoiding poo. Each yellow circle collected generates more poo until the maximum is reached. The poo should all move at variable speeds and change direction randomly.

Lesson 14: http://www.youtube.com/watch?v=2AkfyaShULo
Review of homework from lesson 13
DrawDisc() to create filled in circles
Circle collision

"Mädchen auf der fensterbank,
putzt die scheiße blitzeblank.
Alle leute blieben stehn,
ihr scheuerbürstel war zu sehn!"


Lesson 15: http://www.youtube.com/watch?v=AKyrju13HDw
Structures ( struct )
Returning multiple values
MidPoint() to draw a circle between the face and goal
Global functions
Forward declaration

Lesson 16: http://www.youtube.com/watch?v=jnHFZf4Q9bM
Pointers
The stack
Scope of functions
Address of operator // &
Dereference operator // *
Mouse control

Lesson 17: http://www.youtube.com/watch?v=y_GYPVfMuv4
Creating console applications
Update the IDE to include "start without debugging"
The char data type
Initialize an array with numbers, character literals and string literals
Pointer arithmetic
Escape characters
Introduction to Const correctness
Storage capacity of data types
getchar() and putchar() to read and write numbers to the screen // <stdio.h>
PutString() to output a string of characters

Homework: Simple - Create a function with the signature void GetString( char* buf, int maxLen)
Normal - Input a string from the keyboard and reverse it
Hard - Prompt the user to input a number of dice and output the sum of the rolls.
Create int StrToInt( const char*) and void IntToStr( int num, char* buf, buflen) to handle the conversion.

Lesson 18: http://www.youtube.com/watch?v=zOTpOzPrfCI
Review of homework from lesson 17
Text input and output with printf() and scanf() // <stdio.h>
Format output to a specific decimal place

Lesson 19: http://www.youtube.com/watch?v=780lc7d0GQc
Writing to files with fprintf() and fwrite() // <stdio.h>
Reading files with fscanf() and fread() // <stdio.h>
Reading and writing text files and raw binary data
The sizeof() operator
Destructors // saving the score when the game closes
Moving the file pointer with fseek() // <stdio.h>
Working with Pooface EX+alpha to implement a save & load function and keep track of the top 10 highscores

Lesson 20: http://www.youtube.com/watch?v=XJqjVW-ikQo
Create the .h and .cpp files associated with loading and drawing 24-bit bitmaps
Ensure headers are only included once with #pragma once
The short data type
Namespace collision
Use assertions ( assert() ) to aid debugging // <assert.h>
Macros // D3DCOLOR_XRGB()
Create an alternate version of PutPixel() to accept D3DCOLOR values
Insert padding bytes into the images to display them properly
Change the background color from black to white in D3DGraphics.cpp
Combine dereferencing and member access with -> // sprite->height is the same as (*sprite).height
Drawing images with and without a color key for transparency
Animating sprites
Format the filename to include numbers with sprintf() // <stdio.h>
Create several instances of a sprite that start in random locations and on separate frames

Lesson 21: http://www.youtube.com/watch?v=EV5bUpku9I0
Rendering fixed width fonts
Adjust the padding bytes to account for when no padding is needed
DrawChar() and DrawString() to output text from the bitmap
Benchmarking with timer.GetTimeMilli(), timer.StartWatch() and timer.StopWatch() // <timer.h>

Lesson 22: http://www.youtube.com/watch?v=aEbRN80pHmc
Stack (static) allocation vs Heap (dynamic) allocation
Allocate memory with malloc() and free it with free() // <stdlib.h>

Homework: Convert the font functions to use dynamic memory allocation

[Intermediate]

Lesson 1: http://www.youtube.com/watch?v=C2ZuJi3C7OM
class vs object
Linked lists
private and public access specifiers
The self-referencing this pointer
The new and delete operators // new calls the constructor unlike malloc()
Recursion
Use fgetc() to set the EOF indicator for feof() when checking for end of file // <stdio.h>
String manipulation ( strcpy() and strlen() ) // <string.h>
Use the scope resolution operator to access a global definition // ::

Lesson 2: http://www.youtube.com/watch?v=WFlWvazTIe8
Bit twiddling
Binary and hexidecimal numbers
Bitwise operators // & | ~
Bit shift operators // << >>
Load libraries from within source code with #pragma comment( lib, "name_of_library" )
Load and draw png files with the GDI+ library
Alpha blending

Lesson 3: http://www.youtube.com/watch?v=xtCAEWMxqsE
Function pointers
References
More const correctness
Global and static variables
The qsort() function // <stdlib.h>
Use pre-existing variables from another translation unit with extern

Homework: Create an array of structs that contain a student name and number then sort with qsort()

Lesson 4: http://www.youtube.com/watch?v=1v0V-P8XI8U
Direct3D API
Review of hardware history
Page flipping (between the front and back buffer) and chain flipping
Scene tearing
Pointers to pointers

Lesson 5: http://www.youtube.com/watch?v=gTxwFHUQFp4
Windows
The keyboard and mouse objects
Allow access to private data of a class with friend

Lesson 6: http://www.youtube.com/watch?v=0GAGTPIcUS0
Move the benchmarking into a class
Copy blocks of memory with memcpy() and fill blocks of memory with a value using memset()
Improve alpha blending

Lesson 7: http://www.youtube.com/watch?v=ewyqaCJG1m8
Introduction to the Standard Template Library
Namespaces
Events
Queue STL Container // <queue>
Improved keyboard input (all keys)

Lesson 8: http://www.youtube.com/watch?v=kiObss5_wSI
Create a class to draw surfaces to the back buffer
STL string class ( string() and wstring() ) // <string>
Get the larger of two values with max() and smaller of two values with min()

Lesson 9: http://www.youtube.com/watch?v=ifd2jh8Xah4
Change surface to accept a color key on a per surface basis
Introduction to inheritance
protected access specifier
String streams // <sstream>
Format strings with setw() and setfill() // <iomanip>

Lesson 10: http://www.youtube.com/watch?v=FTViMwueYYM
Polymorphism ( virtual functions )
More inheritance
Introduction to finite-state machines
Tiles
Last edited by Conflictus on February 24th, 2013, 6:18 am, edited 23 times in total.

Clodi
Posts: 175
Joined: November 18th, 2012, 7:47 pm

Re: Tutorial Index

Post by Clodi » February 14th, 2013, 2:48 am

nice one!! I simply downloaded everything XD
Attachments
chili index.jpg
chili index.jpg (44.89 KiB) Viewed 3963 times

astr0
Posts: 87
Joined: July 21st, 2012, 8:43 pm
Location: Serbia

Re: Tutorial Index

Post by astr0 » February 14th, 2013, 11:02 am

nice :)
Programming is my art.

User avatar
thetoddfather
Posts: 338
Joined: October 1st, 2012, 9:53 pm
Location: Canada

Re: Tutorial Index

Post by thetoddfather » February 14th, 2013, 9:58 pm

What software do you use for that?

User avatar
natox1986
Posts: 53
Joined: December 14th, 2012, 1:11 pm

Re: Tutorial Index

Post by natox1986 » February 15th, 2013, 7:57 am

thetoddfather wrote:What software do you use for that?
Yea, I'm kinda curious about that aswell... ! Tell us :D
Image

Clodi
Posts: 175
Joined: November 18th, 2012, 7:47 pm

Re: Tutorial Index

Post by Clodi » February 15th, 2013, 6:34 pm

thetoddfather wrote:What software do you use for that?


"YTD Video Downloader"

it is available online, and for free :mrgreen:

User avatar
thetoddfather
Posts: 338
Joined: October 1st, 2012, 9:53 pm
Location: Canada

Re: Tutorial Index

Post by thetoddfather » February 15th, 2013, 7:16 pm

Thanks bro!

User avatar
viruskiller
Posts: 399
Joined: June 14th, 2012, 5:07 pm

Re: Tutorial Index

Post by viruskiller » February 16th, 2013, 1:39 pm

you can also use maxthon web browser do download any video on any website, problem is that it downloads them in what format they are on the site, usualy is .flv, anyway u can find free flv players online.

User avatar
LuX
Posts: 1492
Joined: April 22nd, 2012, 12:33 pm
Location: Finland

Re: Tutorial Index

Post by LuX » February 18th, 2013, 3:01 pm

Nice work Conflictus!

Once you have all the tutorials labeled I can put it on the forum as a sticky so people will find it.
ʕ •ᴥ•ʔ

Conflictus
Posts: 53
Joined: January 7th, 2013, 8:09 am

Re: Tutorial Index

Post by Conflictus » February 24th, 2013, 6:24 am

Alright.. finally finished with the index. Let me know if there are any mistakes or if something needs to be re-written for clarity.

Post Reply