View difference between Paste ID: cjCN28Mk and eztnNPG0
SHOW: | | - or go back to the newest paste.
1
-- This is a comment. It's for humans only. All
2
-- the green text is not run by the program
3
4
mouseWidth = 0
5
mouseHeight = 0
6
-- this creates two variables called mouseWidth
7
-- and mouseHeight and sets them to 0. We will
8
-- use them later
9
10
monitor = peripheral.wrap("left")
11
-- you need this line! It tells the computer
12
-- the monitor is on top. Change it if you want 
13
-- the monitor on a different side of the computer
14
15
monitor.clear()
16
-- this clears the monitor screen
17
18
monitor.setCursorPos(1,1)
19
-- this sets the cursor position to the top left
20
-- corner of the monitor
21
22
w,h=monitor.getSize()
23
-- gets the width and the height of the monitor
24
-- and stores the numbers as w and h. 
25
-- w and h are variables
26
27
print(w)
28
print(h)
29
-- prints the w and h to the computer screen.
30
-- You can see the monitor width is 7, height is 5
31
-- It starts in the top left corner like a book.  
32
33
34
-- Now to draw the two buttons
35
-- Im english so I write colour but you can change
36
-- it to color. It works the same.
37
38
39
monitor.setBackgroundColour((colours.green))
40
-- this changes the background colour of the text
41
-- to lime green. 
42
43
monitor.setCursorPos(1,2)
44
-- this sets the start position for writing the 1st
45
-- button on the monitor. It puts it 2 in from the 
46
-- left and 2 down from the top.
47
48-
monitor.write(" OPEN ")
48+
monitor.write("open ")
49
-- this writes the word ON on the monitor. See the
50
-- blank spaces before and after. These will be 
51
-- green. Our button is 5 letters long
52
53
monitor.setCursorPos(1,4)
54
-- this sets the next writing postition to 2 from 
55
-- the left and 4 down from the top. Just under 
56
-- the 1st button
57
58-
monitor.write(" CLOSE")
58+
monitor.write("close")
59
-- this writes OFF but again its 5 long in total
60
-- with the spaces
61
62
monitor.setBackgroundColour((colours.black))
63
-- now we have drawn our buttons we should set 
64
-- the text background colour back to black
65
66
67
-- Now we need to check if the button is clicked
68
69
-- First we are going to create a function called
70
-- checkClickPosition(). A function will not run 
71
-- until you ask for it.
72
73
-- We know the first button starts at 2 from the 
74
-- top and 2 from the left. We also know it is 5
75
-- spaces long. This means the button ends 
76
-- at width 7
77
78
-- We will be told which width and
79
-- height the click happened at. 
80
-- If the width position is greater than 1 AND 
81
-- less than 8 we have clicked somewhere between
82
-- 2 and 7. 
83
84
-- If this is true we can then check the height
85
-- position. Button one is at height 2 and button
86
-- two is at height 4. 
87
88
-- This means that if the width is greater than 1
89
-- AND the width is less than 8 AND the height
90
-- equals 2 we have clicked button 1
91
92
-- If the the width is greater than 1 AND the width
93
-- is less than 8 AND the height equals 4 we have 
94
-- clicked button 2
95
96
-- now to write this as a function
97
-- Functions are written like this
98
99
--     function exampleFunction()
100
--       print("Hello")
101
--       sleep(10)
102
--       print("Goodbye")
103
--     end
104
105
-- Now when you write exampleFunction() the program
106
-- will print hello, sleep for 10 ticks and then
107
-- print Goodbye. 
108
-- This is useful for making your programs easier 
109
-- to understand
110
111
function checkClickPosition()
112
  if mouseWidth > 1 and mouseWidth < 8 and mouseHeight == 2 then
113
    -- button one clicked
114
    rs.setOutput("right",true)
115
    -- turns redstone connected to the right on
116
  elseif mouseWidth > 1 and mouseWidth < 8 and mouseHeight == 4 then
117
    -- button two clicked
118
    rs.setOutput("right",false)
119
    -- turns redstone connected to the left off
120
  end -- ends the if loop
121
end -- ends the function
122
   
123
-- this function does nothing until you write
124
-- checkClickPostion(). We will be doing this below
125
-- It then checks the click position and turns the
126
-- lamp on if button one is clicked or turns the 
127
-- lamp off if button two is clicked   
128
  
129
-- OK. Now we need to check if a click happens
130
-- we will use a repeat-until loop.
131
-- In the loop we we use a os.pullEvent(). 
132
-- an os.pullEvent() gives you different info
133
-- depending on the event type. We will mainly
134
-- check the "monitor_touch" event.
135
 
136
-- In the second line you will see 
137
-- event,p1,p2,p3 = os.pullEvent()
138
-- if the event is a click on the monitor it
139
-- will give us 4 bits of info:
140
--    event will be "monitor_touch"    
141
--    p1 will be the side the monitor is on (top)
142
--    p2 is the width postion of the click
143
--    p3 is the height postition of the click  
144
145
146
147
repeat 
148
-- repeat runs a loop of code.
149
150
  event,p1,p2,p3 = os.pullEvent()
151
  -- this line tells the computer to wait until
152
  -- an event happens. We are waiting for a 
153
  -- touchscreen event
154
  
155
   if event=="monitor_touch" then
156
   -- this checks to see if the event was a 
157
   -- touchscreen event
158
   
159
     mouseWidth = p2 -- sets mouseWidth 
160
     mouseHeight = p3 -- and mouseHeight 
161
     checkClickPosition() -- this runs our function
162
     
163
   end
164
   -- the end of the "if loop".
165
   
166
    
167
until event=="char" and p1==("x")
168
-- this is the end of the "repeat loop". This will
169
-- stop the repeat loop if a "char" event happens
170
-- A char event means you press a character on
171
-- the keyboard. This line is looking for the x key