Wednesday, January 20, 2010

DataStructures.NoCoffee = True

For the last five weeks, I was in the habit of sleeping in until noon everyday.  What seems like a blessing at the end of a semester quickly becomes severely annoying, especially when a scheduled lecture is at 8:30am in a computer lab that STRICTLY forbids coffee.

Now lets be honest here.  Computer science is interesting, but it is not the most thrilling experience in the world.  Enter Data Structures.  This will be the fourth C++ programming class that we are required to follow in CompSci at John Abbott College.

There are two sections for my class this semester, yet the college has decided to combine the two sections for this one class.  The idea is to have the same teacher, and therefore more consistency, for both groups.  Unfortunately there only thirty-two workstations in the lab, and thirty-four students.

On top of that possible inconvenience, the class runs three hours, from 8:30am to 11:30am, twice a week.  It starts with a lecture portion then moves onto a lab section.  8:30 in the morning is too early to be thinking about abstract data types and linked lists without caffeine entering the blood stream.

The first day was basic, a review of data types, functions, and other basic programming concepts.  The good news, the text (Starting Out with C++: From Control Structures through Objects (6th Edition)) from my first programming class is still valid, that will be a $70 book that was used in four classes.




Powered by ScribeFire.






Monday, January 18, 2010

Formerly Sleeping 'Till Noon

After a long Christmas break, the first day back at school is always the touhgest, plus it was made annoying by a unrelated things.  My last exam was on December 14, 2009, and today (January 18, 2010), after a five week break, I'm back at school.

John Abbott College, like other C.E.G.E.P.'s, have a ridiculously long Christmas break; five weeks long.  Just long enough that when classes start up again, waking up at noon has already become the norm.

To make a my return to a normal school routine a little more annoying, I found out that, because I only taking three classes, I had go meet with an academic counsellor.  The issue was that I was not taking enough courses to qualify as a full time student.  John Abbott's policy is that a minimum of 12 hours a week marks full time status, yet they also insist on four classes.   I had to meet with the counsellor to explain my case.  Since I also have bills to pay, I also need to work at least 30 hours a week, especially now after Christmas.  The annoying part is that there is no consistency for qualifying as full time; 12 hours or four classes, it depends who you talk to.  This lead to me signing a special contract to make the exception for me to take three classes, which add up to more than 12 hours a week, which full time anyway.

My first, only class, today, was Databases 2.  We have moved on from MS Access, and beginning with Oracle Databases.  Our main development software will be Oracle's SQL Developer, which luckily, also comes with a Mac version.

 Now that school is back in, there will be less time doing this:

Jay Peak Resort: January 3 2010

(p.s.  That's not me, it's just a great shot of my home hill:  Jay Peak, Jay Peak's Flickr Page)




Powered by ScribeFire.

Wednesday, December 16, 2009

Flash Final Project


I think I finaly realized the importance of planning a video game. If you have a look at my final project for my multimedia class, it looks like I did not plan it at all. The graphics are horrible, and in one spot the text is not displaying properly. Yet the logic is pretty good.

It's a blackjack (this is my favourite one) game that I created from scratch. Everything had to be completely original. I chose to inlcude card counting just to give an extra element that could make it more interesting. The orginal idea was to have a dealer, two computer controlled players, and a human controlled player.

I had a card class, a deck class, a player class, a dealer class, and basic game play all worked. Except, by the time the asignment was due, I did not have any graphics working, and all the information needed was being traced to the output window in Flash. I given an extra week to finish it, by the end of that extra week, I did have any working graphics. Which leads me to my question. Is it better to start a Flash project by making sure the animations work properly, then tackle the logic, or vice versa?

I was not even able to get a card added to the stage. Never mind he simple animation of moving it across the table to appropriate place, then have it flip to reveal the face value. I was able to get one or the other but never both. There was the flip as a motion tween o the symbol' timeline. I had intended to add a card as needed, basing each card on one symbol from the library. Then adding the necessary info for each card. Or would it have been better to create 52 (or in the case my original idea - 208) symbol's in the library; one for each card.

In the end, as you can see, it was visually a disaster. However there was enough logic behind the scenes to get at least a passing mark assignment.



Powered by ScribeFire.

Sunday, November 22, 2009

Quebec's Language Non-Sense

PQ members debate access to anglo CEGEPs, daycare


The Parti Québécois (PQ) is doing all it can to keep the population from progressing and improving. (Wikipedia link for the French impaired).

The way it stands now, in order to attend an english primary or secondary public school in Quebec, at least one of the child's parents must meet three basic criteria:
  1. received their schooling in Canada,
  2. attended a public school,
  3. received their pirmary and secondary education in english.
The rationale for this law is to prevent the erosion of the french language in Quebec. This requires that all children whos parents do not meet these criteria, receive their scholing in french. Since the majority of Quebec's population is francophone, this is a non issue for most families. Immigrant families are subject to this law as well; children of immigrant parents must be sent to a french school, if they choose to follow the public school system.

Famiies can opt out this arrangement if they choose to send their children to a private school, since private schools are not covered by this language law. After one year of education in a private english school, children are eligable to attend a public english school. The Quebec government tried to close loophole, but was deemed unconstitutional by the Supreme Court of Canada. This is an ngoing debate in Quebec that will not get resolved soon.

Once teenagers finish high school (at grade 11 in Quebec), they enter he world of post secondary education with 2 years at CEGEP, followed by three years at university. Here. students finally receive the choice they deserve regarding the language of education. Most students choose to follow their CEGEP studies in their mother tongue. There, however, a large amount of francophone students who choose to attend their post secondary studies in english. Sometimes because of the program they followiing, but often, they wish improve their english skills.

In word that is becoming more connected, english is beng used more as the common language. Also, with U.S. being less than 1 hour away from Montreal, Quebec's largest trading partner is also one the largest english speaking countries in the world.

This where the real non sense begins. The PQ want to restrict this choice as well, extending the language law to post secondary institutions. In effect, they want to limit Quebec's students to living and working in Quebec, by restricting their ability to function outside of Quebec. It is all name of protecting the Quebec's unique culture, and the language of the majority being the defining character of culture.
Powered by ScribeFire.




Powered by ScribeFire.

Monday, October 19, 2009

Making Cars Go Bump in the Night


Finished another pleasant day at school, with one 3 hour canceled, leaving only one that started at 2:30pm.  It was kind of nice being able chill wth the ladylover and watch some Californication this morning instead.

Once at school, we continued to animate a car moving around the screen.  What I accomplished last week was keeping the car on the stage by cutting the speed to 0 when it hit the ed of the stage.  Now we are adding obstacles, which adds a new level of fun, both programming wise, and playwise.

It's pretty easy to moniter a hit between 2 objects, but each object is surronded by a an invisible box.  When Flash records a hit, it is when the two boxes overlap, but the eye, the objects are afair distance apart:


There is a trick out there to watch different coloured pixels overlap, that will take some research.

Another issue some people were having was removing a child from the stage.  We created the obstacle in an array of obstacles, but removing individual elements are turning oout to be a bit of a complicated pain.  Some more reasearch is required.

UPDATE:  Getting this error when I try to remove a child
                    ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/removeChild()
    at DocClass/HitObject()

Here is what my code looks like:
for ( var count:int = 0; count < NUM_OBS; count++ ) {
                 if ( car_mc.hitTestObject( obsArray[count] ) )
                 {
                     trace("HIT!!  KABOOM!!" );
                     obsArray[count].scaleX /= 2;
                     obsArray[count].scaleY /= 2;
                     //obsArray[count].play();
                     car_mc.speed = 0;
                     trace(obsArray[count].scaleX + " " + obsArray[count].scaleY);
                     if ( obsArray[count].scaleX < 0.125 )
                         removeChild( obsArray[count] );
                 }
}

Keeping in mind I am trying to manage an array of obstacles for a simple car game.




Powered by ScribeFire.



Friday, October 16, 2009

Databases - Microsoft Access

Year 2 inlcudes an introduction databases.  We get to cover the exciting world of Microsoft Access and Visual Basic for Applications (VBA).  Last school year, we had an introduction to Visual Basic, and I figured that would translate well to VBA when used with Access.  I was wrong.

The basic concepts behind Access are failry simple.  Getting into VBA code is pretty annoying.   This goes back to my preference for C and C++ syntax.  VBA makes absolutely no sense to me.  It's a convoluted language that has too many wierd quirks to remember.  I especially do not like how VBA will automatically shift characters a couple of spaces; there is certain way I like to code, and VBA usually prevents me from doing this.

This is also another where there is no text.  Also frustrating as this makes studying at home a little more difficult; having to jump between two windows is annoying.  The teachers notes don't explain how things work behind the scenes in Access and VBA, so I don't truly understand what it is we are doing.  I like to be able to easily look up things, instead of endless Googling hoping someone has had the exact same issue as me.



Powered by ScribeFire.

Flash - My First Experience

Adobe Flash Pro CS4 [Mac]

 I have discovered that I am not an artist, or designer in any kind of way.  I can not draw.  Take a look:



That is probably the best car I have drawn on a computer, and only the second best one ever.

My Mutimedia & Internet class is based on Flash and ActionScript.  After a an introduction into basic animations such as Classic, Shape, and Motion Tweens, we have moved onto ActionScript 3.0.

I find the Flash platform a crappy development environment.  I do not have much experience with animation, and  I am new to the Flash environment, but there is something unrefined about the user experience and the workflow.  The compiler and debugger seem as though they were added as an after thought.  It would be nice if there was a more unified approach to developing with ActionScript;  compiling should be a step by it self, where error messages are reported by themselves.  As it is, errors are being reported once Preview Movie is Selected.

Even the teacher says Flash CS4 is not the greatest tool available, and is looking for alternate methods for developing with ActionScript.  Since Flash is a very closed piece of software, I do not think he will be too successul.

On th upside, my ugly can turn, acclerate, and has an emergency break.  What I am looking to add is a way get the car bounce slightly off a wall (the wall being the edge of the stage).  I am open to any suggestions.

Powered by ScribeFire.