Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 My first progy
Index -> Programming, Turing -> Turing Submissions
View previous topic Printable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
viperfan7




PostPosted: Tue Oct 03, 2006 9:27 am   Post subject: My first progy

here it is, (starts braging) I'm the most advanced turing programer in grade 10 at my school, the rest of my class is still at Draw.Oval, not even at variables. Please tell me if theres an easeir way to do this

Quote:

View.Set ("nocursor, graphics:600;300")
% NAME:viperfan7
% TITLE:random pixle colour line
% DATE:October 3
% -----------------------------------------------------------------

% DESCRIPTION:
% -----------

%enter clears the screen, arrow keys draw the line, my first from scratch progy

% =========================
% VAR DECLARATIONS
% =========================

const boarder := 10
var c : string (1)
var X, Y, C, CA, CB, CC, CD, CE, CF, CG, CH, CI, CJ, CK, CL, CM, CN, CO, CP, A, B : int
X := Rand.Int (boarder, maxx - boarder)
Y := Rand.Int (boarder, maxy - boarder)
C := Rand.Int (1, maxcolour)
CA := Rand.Int (1, maxcolour)
CB := Rand.Int (1, maxcolour)
CC := Rand.Int (1, maxcolour)
CD := Rand.Int (1, maxcolour)
CE := Rand.Int (1, maxcolour)
CF := Rand.Int (1, maxcolour)
CG := Rand.Int (1, maxcolour)
CH := Rand.Int (1, maxcolour)
CI := Rand.Int (1, maxcolour)
CJ := Rand.Int (1, maxcolour)
CK := Rand.Int (1, maxcolour)
CL := Rand.Int (1, maxcolour)
CM := Rand.Int (1, maxcolour)
CN := Rand.Int (1, maxcolour)
CO := Rand.Int (1, maxcolour)
CP := Rand.Int (1, maxcolour)
A := Rand.Int (0, 10)
B := Rand.Int (0, 10)

% ==========================
% MAIN PROGRAM
% ==========================


loop
c := getchar
Draw.Dot (X, Y, C)
Draw.Dot (X - 1, Y - 1, CA)
Draw.Dot (X + 1, Y - 1, CB)
Draw.Dot (X - 1, Y + 1, CC)
Draw.Dot (X + 1, Y + 1, CD)
Draw.Dot (X + 1, Y, CE)
Draw.Dot (X, Y - 1, CF)
Draw.Dot (X - 1, Y, CG)
Draw.Dot (X, Y + 1, CH)
Draw.Dot (X + 2, Y - 2, CI)
Draw.Dot (X - 2, Y - 2, CJ)
Draw.Dot (X - 2, Y + 2, CK)
Draw.Dot (X + 2, Y + 2, CL)
Draw.Dot (X, Y + 2, CM)
Draw.Dot (X + 2, Y, CN)
Draw.Dot (X, Y - 2, CO)
Draw.Dot (X - 2, Y, CP)
case c of
label KEY_UP_ARROW :
Y += 1
if C < 127 then
C += 117 - A else
C -= 117 + B
end if
if CA < 127 then
CA += 117 - A else
CA -= 117 + B
end if
if CB < 127 then
CB += 117 - A else
CB -= 117 + B
end if
if CC < 127 then
CC += 117 - A else
CC -= 117 + B
end if
if CD < 127 then
CD += 117 - A else
CD -= 117 + B
end if
if CE < 127 then
CE += 117 - A else
CE -= 117 + B
end if
if CF < 127 then
CF += 117 - A else
CF -= 117 + B
end if
if CG < 127 then
CG += 117 - A else
CG -= 117 + B
end if
if CH < 127 then
CH += 117 - A else
CH -= 117 + B
end if
if CI < 127 then
CI += 117 - A else
CI -= 117 + B
end if
if CJ < 127 then
CJ += 117 - A else
CJ -= 117 + B
end if
if CK < 127 then
CK += 117 - A else
CK -= 117 + B
end if
if CL < 127 then
CL += 117 - A else
CL -= 117 + B
end if
if CM < 127 then
CM += 117 - A else
CM -= 117 + B
end if
if CN < 127 then
CN += 117 - A else
CN -= 117 + B
end if
if CO < 127 then
CO += 117 - A else
CO -= 117 + B
end if
if CP < 127 then
CP += 117 - A else
CP -= 117 + B
end if
label KEY_DOWN_ARROW :
Y -= 1
if C < 127 then
C += 117 - A else
C -= 117 + B
end if
if CA < 127 then
CA += 117 - A else
CA -= 117 + B
end if
if CB < 127 then
CB += 117 - A else
CB -= 117 + B
end if
if CC < 127 then
CC += 117 - A else
CC -= 117 + B
end if
if CD < 127 then
CD += 117 - A else
CD -= 117 + B
end if
if CE < 127 then
CE += 117 - A else
CE -= 117 + B
end if
if CF < 127 then
CF += 117 - A else
CF -= 117 + B
end if
if CG < 127 then
CG += 117 - A else
CG -= 117 + B
end if
if CH < 127 then
CH += 117 - A else
CH -= 117 + B
end if
if CI < 127 then
CI += 117 - A else
CI -= 117 + B
end if
if CJ < 127 then
CJ += 117 - A else
CJ -= 117 + B
end if
if CK < 127 then
CK += 117 - A else
CK -= 117 + B
end if
if CL < 127 then
CL += 117 - A else
CL -= 117 + B
end if
if CM < 127 then
CM += 117 - A else
CM -= 117 + B
end if
if CN < 127 then
CN += 117 - A else
CN -= 117 + B
end if
if CO < 127 then
CO += 117 - A else
CO -= 117 + B
end if
if CP < 127 then
CP += 117 - A else
CP -= 117 + B
end if
label KEY_LEFT_ARROW :
X -= 1
if C < 127 then
C += 117 - A else
C -= 117 + B
end if
if CA < 127 then
CA += 117 - A else
CA -= 117 + B
end if
if CB < 127 then
CB += 117 - A else
CB -= 117 + B
end if
if CC < 127 then
CC += 117 - A else
CC -= 117 + B
end if
if CD < 127 then
CD += 117 - A else
CD -= 117 + B
end if
if CE < 127 then
CE += 117 - A else
CE -= 117 + B
end if
if CF < 127 then
CF += 117 - A else
CF -= 117 + B
end if
if CG < 127 then
CG += 117 - A else
CG -= 117 + B
end if
if CH < 127 then
CH += 117 - A else
CH -= 117 + B
end if
if CI < 127 then
CI += 117 - A else
CI -= 117 + B
end if
if CJ < 127 then
CJ += 117 - A else
CJ -= 117 + B
end if
if CK < 127 then
CK += 117 - A else
CK -= 117 + B
end if
if CL < 127 then
CL += 117 - A else
CL -= 117 + B
end if
if CM < 127 then
CM += 117 - A else
CM -= 117 + B
end if
if CN < 127 then
CN += 117 - A else
CN -= 117 + B
end if
if CO < 127 then
CO += 117 - A else
CO -= 117 + B
end if
if CP < 127 then
CP += 117 - A else
CP -= 117 + B
end if
label KEY_RIGHT_ARROW :
X += 1
if C < 127 then
C += 117 - A else
C -= 117 + B
end if
if CA < 127 then
CA += 117 - A else
CA -= 117 + B
end if
if CB < 127 then
CB += 117 - A else
CB -= 117 + B
end if
if CC < 127 then
CC += 117 - A else
CC -= 117 + B
end if
if CD < 127 then
CD += 117 - A else
CD -= 117 + B
end if
if CE < 127 then
CE += 117 - A else
CE -= 117 + B
end if
if CF < 127 then
CF += 117 - A else
CF -= 117 + B
end if
if CG < 127 then
CG += 117 - A else
CG -= 117 + B
end if
if CH < 127 then
CH += 117 - A else
CH -= 117 + B
end if
if CI < 127 then
CI += 117 - A else
CI -= 117 + B
end if
if CJ < 127 then
CJ += 117 - A else
CJ -= 117 + B
end if
if CK < 127 then
CK += 117 - A else
CK -= 117 + B
end if
if CL < 127 then
CL += 117 - A else
CL -= 117 + B
end if
if CM < 127 then
CM += 117 - A else
CM -= 117 + B
end if
if CN < 127 then
CN += 117 - A else
CN -= 117 + B
end if
if CO < 127 then
CO += 117 - A else
CO -= 117 + B
end if
if CP < 127 then
CP += 117 - A else
CP -= 117 + B
end if
label KEY_ENTER :
cls
if C < 127 then
C += 117 - A else
C -= 117 + B
end if
if CA < 127 then
CA += 117 - A else
CA -= 117 + B
end if
if CB < 127 then
CB += 117 - A else
CB -= 117 + B
end if
if CC < 127 then
CC += 117 - A else
CC -= 117 + B
end if
if CD < 127 then
CD += 117 - A else
CD -= 117 + B
end if
if CE < 127 then
CE += 117 - A else
CE -= 117 + B
end if
if CF < 127 then
CF += 117 - A else
CF -= 117 + B
end if
if CG < 127 then
CG += 117 - A else
CG -= 117 + B
end if
if CH < 127 then
CH += 117 - A else
CH -= 117 + B
end if
if CI < 127 then
CI += 117 - A else
CI -= 117 + B
end if
if CJ < 127 then
CJ += 117 - A else
CJ -= 117 + B
end if
if CK < 127 then
CK += 117 - A else
CK -= 117 + B
end if
if CL < 127 then
CL += 117 - A else
CL -= 117 + B
end if
if CM < 127 then
CM += 117 - A else
CM -= 117 + B
end if
if CN < 127 then
CN += 117 - A else
CN -= 117 + B
end if
if CO < 127 then
CO += 117 - A else
CO -= 117 + B
end if
if CP < 127 then
CP += 117 - A else
CP -= 117 + B
end if
end case
end loop

Sponsor
Sponsor
Sponsor
sponsor
TokenHerbz




PostPosted: Tue Oct 03, 2006 1:05 pm   Post subject: (No subject)

Yes, there is an easier way.

Attempt to learn function and proc's first, and get into some for loops and array's
md




PostPosted: Tue Oct 03, 2006 7:49 pm   Post subject: (No subject)

Actually, loops and arrays would be a better start... but yes there is a better way.
ericfourfour




PostPosted: Tue Oct 03, 2006 10:02 pm   Post subject: (No subject)

Its pretty good for a first program. Next you should learn counted (for) loops because they are not that hard to learn and it will lower the amount of lines you write. After that you should learn arrays. They will drastically lower the amount of lines in the program that you wrote.

Anyway, here is what your program thing will look similar to (excluding the pattern of dots, these are random) a few weeks-months from now if you continue programming.

code:

proc draw_sparkly (x, y, width, height : int)
    for i : x .. x + width - 1
        for j : y .. y + width - 1
            Draw.Dot (i, j, Rand.Int (1, maxcolour))
        end for
    end for
end draw_sparkly
var x := Rand.Int (100, maxx - 100)
var y := Rand.Int (100, maxy - 100)
var width := 5
var height := 5
var chars : array char of boolean
var button_down := false
loop
    Input.KeyDown (chars)
    button_down := true
    if chars (KEY_UP_ARROW) then
        y += 1
    elsif chars (KEY_DOWN_ARROW) then
        y -= 1
    elsif chars (KEY_LEFT_ARROW) then
        x -= 1
    elsif chars (KEY_RIGHT_ARROW) then
        x += 1
    elsif chars (KEY_ENTER) then
        cls
        button_down := false
    else
        button_down := false
    end if
    if button_down then
        draw_sparkly (x, y, width, height)
    end if
    delay (10)
end loop


As you can see, with some of the above suggestions you could reduce all of that to 35 lines (7%) and I'm sure you could get lower.
viperfan7




PostPosted: Wed Oct 04, 2006 9:09 am   Post subject: (No subject)

thx! I'll study it, thx for the help again
Clayton




PostPosted: Wed Oct 04, 2006 9:17 am   Post subject: (No subject)

CompSci.ca's Turing section has its own Turing Walkthrough composed of tutorials written by other members, take a look at the tutorials within for help with your coding Very Happy
Zacebdal




PostPosted: Tue Oct 17, 2006 9:24 pm   Post subject: Interesting

That is very tedious programming and, like others have mentioned, you should learn loops and...arrays? im not too sure myself about arrays, im just a newbe like you right now. but nonetheless its ok for a first program and just keep on working and definately take a look at that tutorial for loops and things like that.
Prince Pwn




PostPosted: Tue Oct 17, 2006 9:41 pm   Post subject: (No subject)

Press "F2" in Turing before you copy and paste your code. Makes it look neater =)
Sponsor
Sponsor
Sponsor
sponsor
Display posts from previous:   
   Index -> Programming, Turing -> Turing Submissions
View previous topic Tell A FriendPrintable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 8 Posts ]
Jump to:   


Style:  
Search: