----------------------------------- McKenzie Fri Jan 09, 2004 4:21 pm picXor ??? ----------------------------------- picXor ~~~~ As most of you know when you draw a pic on an existing background with picXor the colours get all messed up. Why does this happen and why would we ever use it? What is happening? ~~~~~~~~~~~~ Each pixel in the picture is being stored as a number. Instead of replacing the old pixel with the new pixel (as with picCopy) the pixel displayed becomes XOR so if the old pixel is colour 6 and the new one is colour 5 the result is colour 3. XOR (exclusive or) ~~~ Each of the numbers is ultimately stored in its binary form so (in 4 bits): 6 = 0110 5 = 0101 If I XOR these two numbers I do it one bit at a time following the rules for exclusive or. Exclusive or is basically the english version of the OR, one or the other, but not both. 0 XOR 0 = 0 1 XOR 0 = 1 0 XOR 1 = 1 1 XOR 1 = 0 so... 0110 XOR 0101 ------------ 0011 or 3. Why the heck would you ever use this??? ~~~~~~~~~~~~~~~~~~~~~~~~~~ Well XOR has the neat property. When you XOR a picture onto a backround the colours get messed up, but if you XOR the same picture back to the same spot it refreshes the old background. So if I XOR my 5 back on the 3 I should get 6. 0011 0101 ~~~ 0110 like such. ----------------------------------- DanShadow Fri Jan 09, 2004 7:24 pm ----------------------------------- XOR is the most useless command ive ever seen in Turing. I asked my teacher how to stop the flickering in my program...he told me to use XOR...so i did...and soon after gave up on a graphical project, and went to text based. Not until I joined CompSci did I learn setscreen("offscreenonly") View.Update I dont think there is a real point anymore to XOR... but maybe the creators of Turing didnt know that the combo of the setscreen and view.update would stop flickering, so they included the XOR gate? Im not quite sure...but ill never use it, unless there is a really good reason to. ----------------------------------- McKenzie Fri Jan 09, 2004 7:32 pm ----------------------------------- Well the inclusion of XOR came before the inclusion of page-flipping (the combo of "offscreenonly" and View.Update). It is only good on extreamly slow machines. I was not advocating it use, just clearing up confusion. As an aside, the old DOS version allowed you to set your screen to draw in XOR mode. This was very good for drawing preview lines and boxes. ----------------------------------- DanShadow Fri Jan 09, 2004 8:01 pm ----------------------------------- I see...I was just merely stating that in the modern version of Turing, XOR is quite useless....hmm, by the way, why is this under [Tutorials]?? heh ----------------------------------- McKenzie Fri Jan 09, 2004 8:23 pm ----------------------------------- I saw it as a tutorial. As per dictionary.com a tutorial is: Something that provides special, often individual instruction, especially: A book or class that provides instruction in a particular area. it bugs me seeing picXor explained as "when the colours go all weird". To me tutorials are the places people go to learn the basics or dig up obscure tidbits. It is not a "how-to" tutorial, but rather a "what is?" tutorial. I might be wrong, if so they can move it, but I think this is the best place for it. ----------------------------------- Andy Fri Jan 09, 2004 9:31 pm ----------------------------------- LOL... tutorial... ahaha ----------------------------------- Tony Fri Jan 09, 2004 10:14 pm ----------------------------------- well XOR is just a logic gate operator that returns true, only when two values are different. In picture mode, it's a binary operation that allows you to draw those weird colored preview lines... Which is not that great anyways since the colors are so messed up :roll: ----------------------------------- Dan Sat Jan 10, 2004 2:52 am ----------------------------------- well it is good to know if you whont to wrok with some of the graifks stuff in dos c++ witch some schools uses for grade 10 compsci. Thank you McKenzie for wirting this up. ----------------------------------- McKenzie Sat Jan 10, 2004 9:52 am ----------------------------------- It's more trivia than anything else, and I knew that upfront. One of the interesting things about it is if you extend the idea it allows you to swap the value in two variables without the need for a third like so: //sorry for using C in a Turing section int x=123, y=6; x=x^y; // ^ is the bitwsie XOR in C y=x^y; x=x^y; At the end of the code x & y will have their values swaped. Highly efficient, Questionable. Clear code, nope. Alpha Geek status requirement...yep. ----------------------------------- JuliaYM Sun May 09, 2004 12:41 pm XORING is okay ----------------------------------- I think XORing is okay, but you almost have to change the colours to their opposited and then it will look fine. ----------------------------------- TheZsterBunny Mon May 31, 2004 7:12 am ----------------------------------- picXor is pretty neat. I use it frequently where i don't want to have to redraw segments of background. i'll dig up the file at school, but it is possible to have some nice effects with picxor. :mrgreen: -Z ----------------------------------- Albrecd Sun Dec 25, 2005 9:39 pm ----------------------------------- Could you post a sample code using picXor? Thanks :) ----------------------------------- do_pete Sun Dec 25, 2005 11:52 pm ----------------------------------- Just make it yourself like so: Pic.Draw (pic, 0, 0, picCopy) Pic.Draw (pic, 0, 0, picXor) ----------------------------------- MysticVegeta Sun Jan 01, 2006 5:23 pm ----------------------------------- Hmm I think Xor could be useful for encryption purposes, Also I was talking to my dad about this, he said back in his days of BASIC (haha) they used Xor to light up/dark out pixels for graphical purposes... ----------------------------------- Albrecd Sun Jan 01, 2006 6:01 pm ----------------------------------- Is there a way to use Xor in Turing without using it as picXor? ----------------------------------- Cervantes Sun Jan 01, 2006 6:06 pm ----------------------------------- Sure is. put 5 xor 3 gives you 6.