Advertisement

Results for "Author: kamilche"

Java_Volume1 #94975
Simple AI Examples from LaMothe's Book

The book "Tricks of the Game Programming Gurus" by Andre LaMothe, copyright 1994, has an interesting chapter on artifical intelligence. However, all the samples in the chapter are done up in C. I've redone them into VB just for the heck of it. There are 5 simple programs illustrating chasing, evasion, patterned movement, random movement, and a program that combines all of the above.

Java_Volume1 #95621
Add Colored Text to RichTextbox

Adds the text to a textbox, checking for length overflow. First, it checks, and if the textbox exceeds 15,000 characters, it strips out all but the last 2000 characters to make room for the new text. It doesn't break in the middle of lines - it only deletes 'whole lines.' Then it adds the text to the end, using the color you specified (if any), and scrolls to the end of the textbox. I use it all the time, got tired of cutting/pasting out of old projects, thought I'd put it here on PSC.

Java_Volume1 #97918
DirectX Room Example (Retained Mode)

Displays a 3D room with textures and lights, and lets the user move around in it. Uses DirectX Retained Mode.

Java_Volume1 #98749
Simple Slider

A simple slider control with no tickmarks, that looks attractive at small sizes (no appearance bug like exists in VB6's control). In addition, clicking on the slider bar jumps the thumb directly to that point - there's no need to 'page up' and 'page down' continuously to get there.

Java_Volume1 #98813
Inheritance Without Containment

This example illustrates how to set up inheritance in VB, without using containment ('has-a') processing. The data structure is very flexible, as each class and object instance is basically a hash table (a dictionary in VB). It usess 'CallByName' to call the appropriate routine based on type, at runtime. Note that this could be made much more efficient and speedy by using a custom hash table class and enums instead of strings for properties, but I left that out to simplify this example.

Java_Volume1 #99050
Graphic Blitting Engine (Basic)

BlitEngine is a 'mini graphic engine' suitable for games. It uses no DirectX - these are pure GDI API calls. It illustrates several concepts, including transparent blitting, 'dirty rectangle' processing, double buffering, multiple on-screen sprites on the screen, loading pictures into memory bitmaps instead of picture boxes, 8-bit vs. 24-bit color, 'inverse masks' which enable transparency, tracking frames per second, animating graphics on the screen, implementing a 'demo' mode, and more. With this app, I get 42 frames per second on a 233 mhz Pentium and 140 frames per second on a 350 mhz Compaq. What speed do YOU get, on what machine?

Java_Volume1 #99610
Perpetucal

A Javascript perpetual calendar optimized for printing. It handles holidays, birthdays, and events with timing like 'The fourth Thursday in November' (Thanksgiving) and 'The last Monday in May' (Memorial day).

1_2002 #104069
DirectX Room Example (Retained Mode)

Displays a 3D room with textures and lights, and lets the user move around in it. Uses DirectX Retained Mode.

1_2002 #104070
Choose Directory

Via API calls, has the user choose a directory. No commondialog needed!

1_2002 #104071
Add Error Handling

This is the complete code for a VB IDE addin that will add error handling to your procedure. Requires that you have a routine called "HandleError" in a public module accessible to all routines. Sample HandleError routine follows: Public Sub HandleError(ByVal CurrentModule As String, ByVal CurrentProcedure As String, _ ByVal ErrNum As Long, ByVal ErrDescription As String) On Error GoTo Err_Init MsgBox CurrentModule & " " & CurrentProcedure & ": " & ErrNum & " - " & ErrDescription Exit Sub Err_Init: MsgBox CurrentModule & " HandleError: " & Err.Number & " - " & Err.Description End Sub The best VB code handles errors in every routine - this makes the program very robust. However, there's no easy way to determine WHICH routine failed once you're inside of your global error handler 'HandleError'. Therefore, you must pass the routine name to the global error. This can be very tedious! :-O This addin adds an 'On Error Goto Err_Init' to the beginning of the routine, and an 'exit function', 'exit sub', or 'exit property' statement plus the error handling code at the bottom. To add error handling to a routine, place the cursor anywhere in the routine code, and choose 'Add Error Handling' from the 'Add-Ins' menu. The code this routine adds, looks like this: Exit (sub, function, or property here) Err_Init: HandleError CurrentModule, "(your routine name here)", Err.Number, Err.Description Note that it will automatically determine which sort of 'exit' statement is necessary, and what the name of the current procedure is, and pass the procedure name to the error handler.

1_2002 #104072
INCLUDE Preprocessor and Compiler

Inserts text files at desired spots in the code before compiling. Doesn't modify original source!

1_2002 #104762
Comment Manual

Prints out a 'table of contents' for your Visual Basic program, which contains method names, syntax, and comments only. Useful as 'cover sheets' for the actual code printout.

1_2002 #104763
Detect if Shift Key is down

A function that returns whether or not the shift key is currently down.

1_2002 #104764
QuickSort with Multiple Keys

This example performs a quicksort on multiple keys, on an array of UDT's in memory.

1_2002 #104765
Sparks - or how to create fireworks over a background picture.

Inspired by the 'Sparks' example entered by Itay Sagui, this demo shows how to display sparks flying out of your mouse, against a background picture, with a programmer-defined color.

1_2002 #104766
EZMailer, an SMTP/POP3 email program

Are you tired of Outlook and Outlook Express hanging your machine, and letting the KAK virus in? Well, I am too, so in response, I made EZMailer, a simple email program that sends and receives mail, PERIOD. It doesn't attempt to interpret or auto-execute ANYthing, thus sparing you from the vagaries of security loopholes in 'advanced' mail programs. This program receives incoming mail from a POP3 server, sends outgoing mail through an SMTP server, handles MIME attachments, multiple users, and automatically routes incoming mail to folders based on criteria you specify. Note that to successfully execute this code in the runtime environment, you must own Apex Software's TrueDBGrid Pro, www.apexsc.com; and Funduc's Encode/Decode DLL, www.funduc.com

1_2002 #104767
Countdown Timer

Displays the number of days, hours, minutes, and seconds till a specified date. Allows you to enter multiple dates. Illustrates how to use the new ListView control in VB6, saving and retrieving from the registry, and the datediff function.

1_2002 #104768
Graphic Blitting Engine (Basic)

BlitEngine is a 'mini graphic engine' suitable for games. It uses no DirectX - these are pure GDI API calls. It illustrates several concepts, including transparent blitting, 'dirty rectangle' processing, double buffering, multiple on-screen sprites on the screen, loading pictures into memory bitmaps instead of picture boxes, 8-bit vs. 24-bit color, 'inverse masks' which enable transparency, tracking frames per second, animating graphics on the screen, implementing a 'demo' mode, and more. With this app, I get 42 frames per second on a 233 mhz Pentium and 140 frames per second on a 350 mhz Compaq. What speed do YOU get, on what machine?

1_2002 #104769
Add Colored Text to RichTextbox

Adds the text to a textbox, checking for length overflow. First, it checks, and if the textbox exceeds 15,000 characters, it strips out all but the last 2000 characters to make room for the new text. It doesn't break in the middle of lines - it only deletes 'whole lines.' Then it adds the text to the end, using the color you specified (if any), and scrolls to the end of the textbox. I use it all the time, got tired of cutting/pasting out of old projects, thought I'd put it here on PSC.

1_2002 #104770
Code-Based Timers

Start and kill a timer using API calls only! Useful when you need timers that can't be placed on a form.

Languages
Top Categories
Global Discovery