bato 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d6b9645582634e8f245ba76432b7f991d0426b4f61b096380e4ba8f0b1f0d76f
4
- data.tar.gz: 3907dfcb5270abf053d2c19ff11f154fad208148fc5da56819255a8beb1062ea
3
+ metadata.gz: e0af351f99cfb3448d817d493510a34e488fe690f78287919b2dc4135d5f1af6
4
+ data.tar.gz: 7f32c985adac8183048303538855ec39fedf3f860617d080e7ea14661a046136
5
5
  SHA512:
6
- metadata.gz: e52df88c526a19bd0afdf04581c240c036fc06d2a2cf4cc0b0deca0c40f9f31a217cc16e59c941f9be3c561a5e959d498b150f58c8943649031784be1844dd1b
7
- data.tar.gz: ae89a2cd816c9df23433bf19477137feb388bc378ba1a83d833561828f1bec4cc3b6dff9aba517e53bf1f6ed52d7975718ce0027627be765716ceb173c980ca6
6
+ metadata.gz: 8d0066c438ed51b3fc1fbea595071e769f52ecda08ab6cf2b8eed6da02180654c0eb36ae883423515dd746d7b807d9d044aef774f545ea88497721434a2b311c
7
+ data.tar.gz: 5c20bbcf8e25aebacc062eec0c6a71695962cd1dc0bd2eea5cbb40b3822eb35e3a7c219ce305a795536910732e05802fa8ff28d85eba910f770b5f26da5222e0
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Bato
2
2
 
3
- Ang 'Bato' ay ang unang programming language sa wikang Filipino.
3
+ Ang 'Bato Programming Language' ay isang scripting language sa wikang Filipino.
4
+
5
+ Subukan ang [Bato](https://trybato.herokuapp.com/)
4
6
 
5
7
  ## Pagtatalaga
6
8
 
@@ -19,9 +21,9 @@ Ang kadahilanang ginamit ang pangalang 'bato' ay dahil ang Ruby ay isang uri ng
19
21
  Gumawa ng isang file na kamusta_mundo.bato na may mga sumusunod na nilalaman
20
22
 
21
23
  kapag 1 > 0
22
- iprint "Kumusta mundo!"
24
+ mag_print "Kumusta mundo!"
23
25
  kung_hindi
24
- iprint "Mayroong sira"
26
+ mag_print "Mayroong sira"
25
27
  wakas
26
28
 
27
29
  at pa-andarin ang program sa pamamagitan ng
@@ -78,16 +80,16 @@ Paggamit ng kondisyon.
78
80
  subukang_muli kapag bilang_ng_pagkakamali < 3
79
81
  iangat "malubhang pagkakamali"
80
82
  siguraduhing
81
- iprint "Tapos na"
83
+ mag_print "Tapos na"
82
84
  wakas
83
85
 
84
86
  ### Panuntunan
85
87
 
86
88
  ang iprintAngPangalan(pangalan = wala)
87
89
  kapag pangalan != wala
88
- iprint "Magandang araw sa iyo #{pangalan}!"
90
+ mag_print "Magandang araw sa iyo #{pangalan}!"
89
91
  kung_hindi
90
- iprint "Magandang araw!"
92
+ mag_print "Magandang araw!"
91
93
  wakas
92
94
  wakas
93
95
 
@@ -104,13 +106,13 @@ Maari kang gumamit sa alin sa mga sumusunod sa pagtatapos ng program
104
106
  dulo
105
107
  katapusan
106
108
 
107
- Sampol
109
+ Halimbawa
108
110
 
109
- bilang = 0
110
- kapag bilang > 1
111
- iprint "Mayroon ng laman ang bilang na #{bilang}"
111
+ bilang_ng_saging = 2
112
+ kapag bilang_ng_saging > 1
113
+ mag_print "Mayroon akong #{bilang_ng_saging} saging! 🍌"
112
114
  kung_hindi
113
- iprint "Wala pang laman ang bilang"
115
+ mag_print "Wala na akong saging! 😐"
114
116
  wakas
115
117
 
116
118
  ### kung_iba
@@ -134,13 +136,13 @@ Kapag ang ekspresyon ay hindi nasunod maaring gumamit sa alin sa mga sumusunod
134
136
  maliban_dito
135
137
  maliban_sa_mga_ito
136
138
 
137
- Sampol
139
+ Halimbawa
138
140
 
139
141
  pangalan_mo = "Maliksi"
140
142
  kapag_ang pangalan_mo == "Maliksi"
141
- iprint "Ikaw ay si #{pangalan_mo}!"
143
+ mag_print "Ikaw ay si #{pangalan_mo}!"
142
144
  kung_hindi_naman
143
- iprint "Magandang araw sa iyo #{pangalan_mo}!"
145
+ mag_print "Magandang araw sa iyo #{pangalan_mo}!"
144
146
  wakas
145
147
 
146
148
  ### sakali
@@ -155,19 +157,19 @@ Kapag mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang kondis
155
157
  kalagayan
156
158
  kaukulan
157
159
 
158
- Sampol
160
+ Halimbawa
159
161
 
160
162
  pangalan_mo = "Mabait"
161
163
 
162
164
  sakaling pangalan_mo
163
165
  ay "Maliksi"
164
- iprint "Ikaw ay si Maliksi!"
166
+ mag_print "Ikaw ay si Maliksi!"
165
167
  ay "Matipuno"
166
- iprint "Ikaw ay si Matipuno!"
168
+ mag_print "Ikaw ay si Matipuno!"
167
169
  ay "Mabait"
168
- iprint "Ikaw ay si Mabait!"
170
+ mag_print "Ikaw ay si Mabait!"
169
171
  maliban_dito
170
- iprint "Magandang araw sa iyo!"
172
+ mag_print "Magandang araw sa iyo!"
171
173
  wakas
172
174
 
173
175
  ### tiyakin
@@ -181,15 +183,15 @@ Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan
181
183
  siguraduhin
182
184
  panigurado
183
185
 
184
- Sampol
186
+ Halimbawa
185
187
 
186
188
  simulan
187
189
  itaas "May sira!"
188
190
  agapan
189
- iprint "Ipagpatuloy..."
191
+ mag_print "Ipagpatuloy..."
190
192
  itaas "May nasira na na-agapan"
191
193
  tiyaking
192
- iprint "Tapos na"
194
+ mag_print "Tapos na"
193
195
  wakas
194
196
 
195
197
  ### grupo
@@ -198,22 +200,22 @@ Ang grupo ay ang lalagyanan ng mga kabilang na klase sa iyong program
198
200
 
199
201
  grupo
200
202
 
201
- Sampol
203
+ Halimbawa
202
204
 
203
205
  grupo Hayop
204
206
  KABUUAN = 5
205
207
 
206
208
  bilang Aso
207
209
  ang tahol
208
- iprint "Woof..."
210
+ mag_print "Woof..."
209
211
  wakas
210
212
 
211
213
  ang kumanin
212
- iprint "..."
214
+ mag_print "..."
213
215
  wakas
214
216
 
215
217
  ang ikembot_ang_buntot
216
- iprint "Ginagawa ko ito dahil masaya ako!"
218
+ mag_print "Ginagawa ko ito dahil masaya ako!"
217
219
  wakas
218
220
  wakas
219
221
  wakas
@@ -231,15 +233,15 @@ Gumamit ng ngunit_kapag kapag mayroon ka pang kondisyon maliban sa nauna ng kond
231
233
  ngunit_kapag_ang
232
234
  kung_kapag_ang
233
235
 
234
- Sampol
236
+ Halimbawa
235
237
 
236
238
  pangalan_mo = "Masipag"
237
239
  kapag_ang pangalan_mo == "Matipuno"
238
- iprint "Ikaw ay si Matipuno!"
240
+ mag_print "Ikaw ay si Matipuno!"
239
241
  ngunit_kapag_ang pangalan_mo == "Masipag"
240
- iprint "Ikaw ay si Masipag!"
242
+ mag_print "Ikaw ay si Masipag!"
241
243
  maliban_sa_mga_ito
242
- iprint "Wala kang rekord saamin!"
244
+ mag_print "Wala kang rekord saamin!"
243
245
  wakas
244
246
 
245
247
  ### ang
@@ -250,7 +252,7 @@ Ang ang ay may kalakip na pangalan upang ito ay matawag sa program
250
252
  panuntunan
251
253
  panuntunang
252
254
 
253
- Sampol
255
+ Halimbawa
254
256
 
255
257
  ang id(estudyante = {})
256
258
  pangalan = estudyante[:pangalan]
@@ -259,7 +261,7 @@ Sampol
259
261
  baitang = estudyante[:baitang]
260
262
  seksiyon = estudyante[:seksiyon]
261
263
 
262
- iprint <<-KATAPUSAN
264
+ mag_print <<-KATAPUSAN
263
265
  Pangalan: #{pangalan}
264
266
  Edad: #{edad}
265
267
  Tirahan: #{tirahan}
@@ -283,12 +285,12 @@ Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto mo
283
285
  iligtas
284
286
  agapan
285
287
 
286
- Sampol
288
+ Halimbawa
287
289
 
288
290
  simulan
289
291
  1 / 0
290
292
  agapan
291
- iprint "Hindi ito posible!"
293
+ mag_print "Hindi ito posible!"
292
294
  wakas
293
295
 
294
296
  ### dapat
@@ -297,7 +299,7 @@ Kapag mayroon kang ekspresyon na mayroong inaasahan na resulta, gumamit ng dapat
297
299
 
298
300
  dapat
299
301
 
300
- Sampol
302
+ Halimbawa
301
303
 
302
304
  panulat_mo = "lapis"
303
305
 
@@ -307,7 +309,7 @@ Sampol
307
309
  maliban_sa_mga_ito "intermediate paper"
308
310
  wakas
309
311
 
310
- iprint "Ang papel na gagamitin mo ay #{papel}"
312
+ mag_print "Ang papel na gagamitin mo ay #{papel}"
311
313
 
312
314
  ### magbigay_daan
313
315
 
@@ -316,17 +318,17 @@ Kapag ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang gu
316
318
  magbigay_daan
317
319
  bigyang_daan
318
320
 
319
- Sampol
321
+ Halimbawa
320
322
 
321
323
  ang gumawaNgID
322
- iprint "------------------------------------------"
324
+ mag_print "------------------------------------------"
323
325
  magbigay_daan
324
- iprint "------------------------------------------"
326
+ mag_print "------------------------------------------"
325
327
  wakas
326
328
 
327
329
  ang ID(impormasyon = {})
328
330
  gumawaNgID na_ganito
329
- iprint <<-KATAPUSAN
331
+ mag_print <<-KATAPUSAN
330
332
  Pangalan: #{impormasyon[:pangalan]}
331
333
  Edad: #{impormasyon[:edad]}
332
334
  Tirahan: #{impormasyon[:tirahan]}
@@ -351,11 +353,11 @@ Kapag may listahan na nais mong isa isahin, gumamit ng para_sa
351
353
  para_sa
352
354
  para_ang
353
355
 
354
- Sampol
356
+ Halimbawa
355
357
 
356
358
  listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
357
359
  para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin
358
- iprint prutas.sa_malaking_titik
360
+ mag_print prutas.sa_malaking_titik
359
361
  wakas
360
362
 
361
363
  ### subukang_muli
@@ -364,7 +366,7 @@ Ginagamit ang subukang_muli upang umikot muli ang ekspresyon kung may sirang nan
364
366
 
365
367
  subukang_muli
366
368
 
367
- Sampol
369
+ Halimbawa
368
370
 
369
371
  bilang_ng_pagkakamali = 0
370
372
  simula
@@ -374,7 +376,7 @@ Sampol
374
376
  subukang_muli kapag bilang_ng_pagkakamali < 3
375
377
  iangat "malubhang pagkakamali"
376
378
  siguraduhing
377
- iprint "Tapos na"
379
+ mag_print "Tapos na"
378
380
  wakas
379
381
 
380
382
  ### ibalik
@@ -392,7 +394,7 @@ Kapag mayroon kang ibabalik na resulta sa nagtawag ng ang
392
394
  magbigay
393
395
  magbigay_nang
394
396
 
395
- Sampol
397
+ Halimbawa
396
398
 
397
399
  ang magdagdag_ng_isa(halaga)
398
400
  idadagdag = halaga + 1
@@ -409,12 +411,12 @@ Ginagamit ang kapag kung meron kang kondisyon sa iyong ekspresyon
409
411
  kung
410
412
  kung_ang
411
413
 
412
- Sampol
414
+ Halimbawa
413
415
 
414
416
  kapag_ang 1 > 0
415
- iprint "mas madami!"
417
+ mag_print "mas madami!"
416
418
  kung_iba
417
- iprint "may sira"
419
+ mag_print "may sira"
418
420
  wakas
419
421
 
420
422
  ### bilang
@@ -423,12 +425,12 @@ Ang bilang ay ang pagsasabilang ng isang kaukulang klasipikasyon
423
425
 
424
426
  bilang
425
427
 
426
- Sampol
428
+ Halimbawa
427
429
 
428
430
  grupo Tinapay
429
431
  bilang Donut
430
432
  ang flavor
431
- iprint 'Strawberry!'
433
+ mag_print 'Strawberry!'
432
434
  wakas
433
435
  wakas
434
436
  wakas
@@ -444,12 +446,12 @@ Gumamit ng habang kung may hinihintay pa na resulta, kondisyon o pangyayari
444
446
  habang
445
447
  habang_ang
446
448
 
447
- Sampol
449
+ Halimbawa
448
450
 
449
451
  may_buhay = totoo
450
452
 
451
453
  habang may_buhay
452
- iprint 'may pag-asa!'
454
+ mag_print 'may pag-asa!'
453
455
  hinto
454
456
  wakas
455
457
  => 'may pag-asa!'
@@ -460,11 +462,11 @@ Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong panuntuna
460
462
 
461
463
  alyas
462
464
 
463
- Sampol
465
+ Halimbawa
464
466
 
465
467
  bilang Hayop
466
468
  ang aso
467
- iprint 'si browny ay mabait!'
469
+ mag_print 'si browny ay mabait!'
468
470
  wakas
469
471
  alyas browny aso
470
472
  wakas
@@ -480,20 +482,20 @@ Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo
480
482
  nakatukoy?
481
483
  nakasaad?
482
484
 
483
- Sampol
485
+ Halimbawa
484
486
 
485
487
  grupo Manggagawa
486
488
  bilang Magsasaka
487
489
  ang pananim
488
490
  ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin na_ganito |pananim|
489
- iprint "Mag tatanim ng #{pananim} ngayong panahon"
491
+ mag_print "Mag tatanim ng #{pananim} ngayong panahon"
490
492
  wakas
491
493
  wakas
492
494
  wakas
493
495
  wakas
494
496
 
495
497
  kung nakatukoy?(Manggagawa::Magsasaka)
496
- iprint 'May nakatukoy!'
498
+ mag_print 'May nakatukoy!'
497
499
  wakas
498
500
 
499
501
  ### tanggalin
@@ -503,12 +505,12 @@ Ginagamit ang tanggalin kung may tatanggaling panuntunan sa isang klase
503
505
  tanggalin
504
506
  magtanggal
505
507
 
506
- Sampol
508
+ Halimbawa
507
509
 
508
510
  grupo Hayop
509
511
  bilang Aso
510
512
  ang tahol
511
- iprint 'baw waw!'
513
+ mag_print 'baw waw!'
512
514
  wakas
513
515
  wakas
514
516
  wakas
@@ -516,7 +518,7 @@ Sampol
516
518
  bilang Pusa < Hayop::Aso
517
519
  tanggalin tahol
518
520
  ang meow
519
- iprint 'meow wahu!'
521
+ mag_print 'meow wahu!'
520
522
  wakas
521
523
  wakas
522
524
 
@@ -525,7 +527,7 @@ Sampol
525
527
  simulan
526
528
  pusa.tahol
527
529
  agapan => pagkakamali
528
- iprint "ang pagkakamali ay '#{pagkakamali}'"
530
+ mag_print "ang pagkakamali ay '#{pagkakamali}'"
529
531
  wakas
530
532
 
531
533
  ### ihinto
@@ -535,16 +537,16 @@ Gumamit ng 'hinto' kung may nais kang matapos na kondisyon gamit ang 'habang'
535
537
  ihinto
536
538
  hinto
537
539
 
538
- Sampol
540
+ Halimbawa
539
541
 
540
542
  nakamit = mali
541
543
 
542
544
  habang nakamit == mali
543
- iprint 'hindi pa nakakamit!'
545
+ mag_print 'hindi pa nakakamit!'
544
546
  hinto
545
547
  wakas
546
548
 
547
- iprint 'nakamit na!'
549
+ mag_print 'nakamit na!'
548
550
 
549
551
  ### sa
550
552
 
@@ -555,7 +557,7 @@ Ginagamit ang 'sa' kung nais mong matukoy ang kasulukuyang listahan
555
557
  nasa
556
558
  na_nasa
557
559
 
558
- Sampol
560
+ Halimbawa
559
561
 
560
562
  Tignan ang [para_sa](#para_sa)
561
563
 
@@ -567,7 +569,7 @@ Ginagamit ang 'ganito' kung nais mong i konteksto ang kasulukuyang listahan
567
569
  nang_ganito
568
570
  ganito
569
571
 
570
- Sampol
572
+ Halimbawa
571
573
 
572
574
  Tignan ang [magbigay_daan](#magbigay_daan), [nakatukoy?](#nakatukoy?)
573
575
 
@@ -579,12 +581,12 @@ Ang 'hanggang' ay magpapatuloy tumakbo hanggang maabot ang tamang kundisyon.
579
581
  hanggang_ang
580
582
  mapa_hanggang
581
583
 
582
- Sampol
584
+ Halimbawa
583
585
 
584
586
  numero = 0
585
587
  panghuling_numero = 5
586
588
  simula
587
- iprint "Ang numero ay #{numero} na"
589
+ mag_print "Ang numero ay #{numero} na"
588
590
  numero += 1
589
591
  wakas hanggang numero < panghuling_numero
590
592
 
@@ -594,7 +596,7 @@ Sampol
594
596
  maliban_na
595
597
  maliban_ang
596
598
 
597
- Sampol
599
+ Halimbawa
598
600
 
599
601
  mga_persona = [
600
602
  { pangalan: 'Gener', kasarian: 'lalaki' },
@@ -603,9 +605,9 @@ Sampol
603
605
 
604
606
  mga_persona.isaisahin ng_ganito |tao|
605
607
  malibang tao[:kasarian] == 'lalaki'
606
- iprint "si #{tao[:pangalan]} ay babae!"
608
+ mag_print "si #{tao[:pangalan]} ay babae!"
607
609
  maliban_dito
608
- iprint "si #{tao[:pangalan]} ay lalaki!"
610
+ mag_print "si #{tao[:pangalan]} ay lalaki!"
609
611
  wakas
610
612
  wakas
611
613
 
@@ -616,7 +618,7 @@ Ang 'o' ay ginagamit upang piliin ang nagsasauli ng tama.
616
618
  o
617
619
  o_ang
618
620
 
619
- Sampol
621
+ Halimbawa
620
622
 
621
623
  totoo o mali
622
624
  => totoo
data/_config.yml ADDED
@@ -0,0 +1 @@
1
+ theme: jekyll-theme-cayman
data/lib/bato/bersiyon.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Bato
2
- BERSIYON = '0.0.9'.freeze
2
+ BERSIYON = '0.0.10'.freeze
3
3
  end
@@ -1,4 +1,5 @@
1
1
  class Array
2
+ alias baliktad reverse
2
3
  alias umikot cycle
3
4
  alias isuksok inject
4
5
  alias magbagsak drop
@@ -13,4 +14,6 @@ class Array
13
14
  alias bawat each
14
15
  alias kada_isa each
15
16
  alias sa_bawat_isa each
17
+ alias bilang_bawat_isa each_with_index
18
+ alias haba length
16
19
  end
@@ -2,6 +2,8 @@ module Kernel
2
2
  alias isulat puts
3
3
  alias sabihin puts
4
4
  alias iprint puts
5
+ alias mag_print puts
5
6
  alias iangat raise
6
7
  alias itaas raise
8
+ alias matulog sleep
7
9
  end
@@ -1,3 +1,4 @@
1
1
  class Module
2
2
  alias panguri attr_accessor
3
+ alias palawigin extend
3
4
  end
@@ -1,5 +1,5 @@
1
1
  simulan
2
2
  1 / 0
3
3
  agapan
4
- iprint "Hindi ito posible!"
4
+ mag_print "Hindi ito posible!"
5
5
  wakas
@@ -1,6 +1,6 @@
1
1
  bilang Hayop
2
2
  ang aso
3
- iprint 'si browny ay mabait!'
3
+ mag_print 'si browny ay mabait!'
4
4
  wakas
5
5
  alyas browny aso
6
6
  wakas
@@ -0,0 +1,286 @@
1
+ require 'io/console'
2
+
3
+ grupo Batotris
4
+ BERSIYON = '0.1'.freeze
5
+ palawigin sarili
6
+
7
+ bilang Piyesa
8
+ MGA_PIYESA = [
9
+ [ [0, 1, 0, 0],
10
+ [1, 1, 1, 0],
11
+ [0, 0, 0, 0],
12
+ [0, 0, 0, 0], ],
13
+
14
+ [ [0, 1, 1, 0],
15
+ [1, 1, 0, 0],
16
+ [0, 0, 0, 0],
17
+ [0, 0, 0, 0], ],
18
+
19
+ [ [1, 1, 0, 0],
20
+ [0, 1, 1, 0],
21
+ [0, 0, 0, 0],
22
+ [0, 0, 0, 0], ],
23
+
24
+ [ [1, 1, 1, 1],
25
+ [0, 0, 0, 0],
26
+ [0, 0, 0, 0],
27
+ [0, 0, 0, 0], ],
28
+
29
+ [ [1, 1, 0, 0],
30
+ [1, 1, 0, 0],
31
+ [0, 0, 0, 0],
32
+ [0, 0, 0, 0], ],
33
+
34
+ [ [1, 0, 0, 0],
35
+ [1, 1, 1, 0],
36
+ [0, 0, 0, 0],
37
+ [0, 0, 0, 0], ],
38
+
39
+ [ [0, 0, 1, 0],
40
+ [1, 1, 1, 0],
41
+ [0, 0, 0, 0],
42
+ [0, 0, 0, 0], ],
43
+ ]
44
+
45
+ ang initialize(x, y, piyesa = bagong_bloke)
46
+ @x = x
47
+ @y = y
48
+ @piyesa = piyesa
49
+ wakas
50
+
51
+ ang magiba_ng_posisyon
52
+ bilang_ng_paglipat = 0
53
+ ang_posisyon = Array.kumatawan(4)
54
+ @piyesa.bilang_bawat_isa na_ganito |bloke, y|
55
+ bloke.bilang_bawat_isa na_ganito |b, x|
56
+ kapag b == 1
57
+ ang_posisyon[bilang_ng_paglipat] = [ @x + x, @y + y ]
58
+ bilang_ng_paglipat += 1
59
+ wakas
60
+ wakas
61
+ wakas
62
+ ang_posisyon
63
+ wakas
64
+
65
+ ang kanan
66
+ Piyesa.kumatawan(@x + 1, @y, @piyesa)
67
+ wakas
68
+
69
+ ang kaliwa
70
+ Piyesa.kumatawan(@x - 1, @y, @piyesa)
71
+ wakas
72
+
73
+ ang mahulog
74
+ Piyesa.kumatawan(@x, @y + 1, @piyesa)
75
+ wakas
76
+
77
+ ang pagikot
78
+ pansamantala = Array.kumatawan(4){ Array.kumatawan(4, 0)}
79
+ @piyesa.bilang_bawat_isa na_ganito |linya, y|
80
+ linya.bilang_bawat_isa na_ganito |l, x|
81
+ pansamantala[x][y] = l
82
+ wakas
83
+ wakas
84
+ pansamantala.bilang_bawat_isa na_ganito |linya, i|
85
+ pansamantala[i] = linya.baliktad
86
+ wakas
87
+ Piyesa.kumatawan(@x, @y, pansamantala)
88
+ wakas
89
+
90
+ ang bagong_bloke
91
+ rnd = rand(MGA_PIYESA.haba)
92
+ MGA_PIYESA[rnd]
93
+ wakas
94
+ wakas
95
+
96
+ grupo Pananda
97
+ WALA = 0
98
+ PADER = 1
99
+ AKTIBO = 2
100
+ NAKALINYA = 3
101
+ wakas
102
+
103
+ bilang Babagsakan
104
+ LAWAK = 11
105
+ TAAS = 20
106
+ DAMI = 40
107
+ PADER_LETRA = "🀫 "
108
+ BLOCK_LETRA = "⚀ "
109
+ WALA_LETRA = " "
110
+ panguri :dako
111
+
112
+ ang initialize
113
+ @sakop = gagalawan
114
+ @dako = 0
115
+ wakas
116
+
117
+ ang burahin
118
+ @sakop.bilang_bawat_isa na_ganito |linya, y|
119
+ linya.bilang_bawat_isa na_ganito |l, x|
120
+ @sakop[y][x] = 0 kapag l == Pananda::AKTIBO
121
+ wakas
122
+ wakas
123
+ wakas
124
+
125
+ ang burahin_ang_linya
126
+ @sakop.bilang_bawat_isa na_ganito |linya, y|
127
+ kapag linya == [Pananda::PADER, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::NAKALINYA, Pananda::PADER]
128
+ @dako += 1
129
+ @sakop.delete_at(y)
130
+ @sakop.insert(0, [Pananda::PADER, Pananda::WALA, Pananda::WALA, Pananda::WALA, Pananda::WALA, Pananda::WALA, Pananda::WALA, Pananda::WALA, Pananda::WALA, Pananda::WALA, Pananda::PADER])
131
+ wakas
132
+ wakas
133
+ wakas
134
+
135
+ ang tapos_na?
136
+ @dako >= 40
137
+ wakas
138
+
139
+ ang ay_bloke?(susunod_na_posisyon)
140
+ resulta = mali
141
+ susunod_na_posisyon.isaisahin na_ganito |pos|
142
+ kapag isang_bloke?(pos[0], pos[1])
143
+ resulta = tama
144
+ wakas
145
+ wakas
146
+ resulta
147
+ wakas
148
+
149
+ ang ipirme(kasulukuyang_posisyon)
150
+ kasulukuyang_posisyon.isaisahin na_ganito |pos|
151
+ @sakop[pos[1]][pos[0]] = Pananda::NAKALINYA
152
+ wakas
153
+ wakas
154
+
155
+ ang bago_ipirme(kasulukuyang_posisyon)
156
+ kasulukuyang_posisyon.isaisahin na_ganito |pos|
157
+ @sakop[pos[1]][pos[0]] = Pananda::AKTIBO
158
+ wakas
159
+ wakas
160
+
161
+ ang write
162
+ teksto = "\n\e[25D"
163
+ @sakop.isaisahin na_ganito |linya|
164
+ linya.isaisahin na_ganito |l|
165
+ kapag l == Pananda::WALA
166
+ teksto += WALA_LETRA
167
+ kung_kapag l == Pananda::AKTIBO || l == Pananda::NAKALINYA
168
+ teksto += BLOCK_LETRA
169
+ kung_hindi
170
+ teksto += PADER_LETRA
171
+ wakas
172
+ wakas
173
+ teksto += "\n\e[25D"
174
+ wakas
175
+ mag_print teksto
176
+ wakas
177
+
178
+ private
179
+
180
+ ang isang_bloke?(x, y)
181
+ @sakop[y][x] == Pananda::PADER || @sakop[y][x] == Pananda::NAKALINYA
182
+ wakas
183
+
184
+ ang gagalawan
185
+ f = []
186
+ TAAS.beses na_ganito |i|
187
+ linya = []
188
+ LAWAK.beses na_ganito |j|
189
+ linya[j] = (j == 0 || j == LAWAK - 1 || i == TAAS - 1) ? Pananda::PADER : Pananda::WALA
190
+ wakas
191
+ f[i] = linya
192
+ wakas
193
+ ibalik_ang f
194
+ wakas
195
+ wakas
196
+
197
+ ang burahin_ang_screen
198
+ print "\x1b[2J\x1b[0;0H"
199
+ wakas
200
+
201
+ ang mahulog_to_bloke(piyesa, sakop)
202
+ resulta = piyesa
203
+ loop na_ganito
204
+ susunod_na_posisyon = resulta.mahulog.magiba_ng_posisyon
205
+ kapag sakop.ay_bloke?(susunod_na_posisyon)
206
+ isauli_ang resulta
207
+ kung_hindi
208
+ resulta = resulta.mahulog
209
+ wakas
210
+ wakas
211
+ wakas
212
+
213
+ ang tetris
214
+ burahin_ang_screen
215
+
216
+ sakop = Babagsakan.kumatawan
217
+ sakop.write
218
+
219
+ piyesa = Piyesa.kumatawan(5, 0)
220
+
221
+ pinindot = 'n'
222
+ thread = Thread::start na_ganito
223
+ habang (pinindot = STDIN.getch)
224
+ kapag pinindot == "\C-c"
225
+ ihinto
226
+ wakas
227
+ wakas
228
+ wakas
229
+
230
+ loop na_ganito
231
+ matulog(0.2)
232
+ sarili.burahin_ang_screen
233
+ mag_print "kaliwa: [left key], kanan: [right key], mahulog: [space], ikutin: [up key], q: exit \e[25D"
234
+ mag_print "\e[25D#{sakop.dako}\e[25D"
235
+
236
+ kung_sakaling pinindot
237
+ ay 'q' dapat
238
+ exit
239
+ ay "D" dapat
240
+ pansamantala = piyesa.kaliwa
241
+ ay "C" dapat
242
+ pansamantala = piyesa.kanan
243
+ ay 'B' dapat
244
+ pansamantala = sarili.mahulog_to_bloke(piyesa, sakop)
245
+ ay ' ' dapat
246
+ pansamantala = sarili.mahulog_to_bloke(piyesa, sakop)
247
+ ay "A" dapat
248
+ pansamantala = piyesa.pagikot
249
+ kung_hindi
250
+ pansamantala = piyesa.mahulog
251
+ wakas
252
+
253
+ susunod_na_posisyon = pansamantala.magiba_ng_posisyon
254
+
255
+ kapag !sakop.ay_bloke?(susunod_na_posisyon)
256
+ sakop.bago_ipirme(susunod_na_posisyon)
257
+ piyesa = pansamantala
258
+
259
+ kung_kapag pinindot != 'n'
260
+ piyesa = piyesa
261
+ kung_hindi
262
+ sakop.ipirme(piyesa.magiba_ng_posisyon)
263
+ piyesa = Piyesa.kumatawan(5, 0)
264
+ susunod_na_posisyon = piyesa.magiba_ng_posisyon
265
+ kapag sakop.ay_bloke?(susunod_na_posisyon)
266
+ mag_print "game over"
267
+ ihinto
268
+ wakas
269
+ wakas
270
+
271
+ sakop.write
272
+ sakop.burahin
273
+ sakop.burahin_ang_linya
274
+
275
+ pinindot = 'n'
276
+ kapag sakop.tapos_na?
277
+ mag_print "matagumpay!"
278
+ ihinto
279
+ wakas
280
+ wakas
281
+ Thread.kill(thread)
282
+ wakas
283
+ wakas
284
+
285
+
286
+ Batotris.tetris
@@ -1,7 +1,7 @@
1
1
  grupo Tinapay
2
2
  bilang Donut
3
3
  ang flavor
4
- iprint 'Strawberry!'
4
+ mag_print 'Strawberry!'
5
5
  wakas
6
6
  wakas
7
7
  wakas
@@ -6,4 +6,4 @@ papel = sakaling panulat_mo
6
6
  maliban_sa_mga_ito "intermediate paper"
7
7
  wakas
8
8
 
9
- iprint "Ang papel na gagamitin mo ay #{papel}"
9
+ mag_print "Ang papel na gagamitin mo ay #{papel}"
@@ -1,7 +1,7 @@
1
1
  may_buhay = totoo
2
2
 
3
3
  habang may_buhay
4
- iprint 'may pag-asa!'
4
+ mag_print 'may pag-asa!'
5
5
 
6
6
  hinto
7
7
  wakas
@@ -1,8 +1,8 @@
1
1
  nakamit = mali
2
2
 
3
3
  habang nakamit == mali
4
- iprint 'hindi pa nakakamit!'
4
+ mag_print 'hindi pa nakakamit!'
5
5
  hinto
6
6
  wakas
7
7
 
8
- iprint 'nakamit na!'
8
+ mag_print 'nakamit na!'
@@ -1,17 +1,17 @@
1
1
  # isaisahin loop
2
2
  ['a','b','c','d'].isaisahin na_ganito |titik|
3
- iprint "Ang titik ay #{titik}"
3
+ mag_print "Ang titik ay #{titik}"
4
4
  wakas
5
5
 
6
6
  # isaisahin loop on range
7
7
  (1..10).isaisahin na_ganito |numero|
8
- iprint "Ang numero ay #{numero}"
8
+ mag_print "Ang numero ay #{numero}"
9
9
  wakas
10
10
 
11
11
  # while loop
12
12
  numero = 1
13
13
  habang numero < 10 ganito
14
- iprint "Ang numero ay #{numero} na"
14
+ mag_print "Ang numero ay #{numero} na"
15
15
  numero += 1
16
16
  wakas
17
17
 
@@ -19,7 +19,7 @@ wakas
19
19
  numero = 0
20
20
  panghuling_numero = 5
21
21
  simula
22
- iprint "Ang numero ay #{numero} na"
22
+ mag_print "Ang numero ay #{numero} na"
23
23
  numero += 1
24
24
  wakas habang numero < panghuling_numero
25
25
 
@@ -27,7 +27,7 @@ wakas habang numero < panghuling_numero
27
27
  numero = 0
28
28
  panghuling_numero = 5
29
29
  hanggang numero > panghuling_numero ganito
30
- iprint "Ang numero ay #{numero} na"
30
+ mag_print "Ang numero ay #{numero} na"
31
31
  numero += 1
32
32
  wakas
33
33
 
@@ -35,11 +35,11 @@ wakas
35
35
  numero = 0
36
36
  panghuling_numero = 5
37
37
  simula
38
- iprint "Ang numero ay #{numero} na"
38
+ mag_print "Ang numero ay #{numero} na"
39
39
  numero += 1
40
40
  wakas hanggang numero < panghuling_numero
41
41
 
42
42
  # for loop
43
43
  para_ang numero na_nasa 0..5
44
- iprint "Ang numero ay #{numero} na"
44
+ mag_print "Ang numero ay #{numero} na"
45
45
  wakas
@@ -1,5 +1,5 @@
1
1
  kapag 1 > 0
2
- iprint "Kumusta mundo!"
2
+ mag_print "Kumusta mundo!"
3
3
  kung_hindi
4
- iprint "Mayroong sira"
4
+ mag_print "Mayroong sira"
5
5
  wakas
@@ -1,14 +1,14 @@
1
1
  ang gumawaNgID
2
- iprint "------------------------------------------"
2
+ mag_print "------------------------------------------"
3
3
 
4
4
  magbigay_daan
5
5
 
6
- iprint "------------------------------------------"
6
+ mag_print "------------------------------------------"
7
7
  wakas
8
8
 
9
9
  ang ID(impormasyon = {})
10
10
  gumawaNgID na_ganito
11
- iprint <<-KATAPUSAN
11
+ mag_print <<-KATAPUSAN
12
12
  Pangalan: #{impormasyon[:pangalan]}
13
13
  Edad: #{impormasyon[:edad]}
14
14
  Tirahan: #{impormasyon[:tirahan]}
@@ -5,8 +5,8 @@ mga_persona = [
5
5
 
6
6
  mga_persona.isaisahin ng_ganito |tao|
7
7
  malibang tao[:kasarian] == 'lalaki'
8
- iprint "si #{tao[:pangalan]} ay babae!"
8
+ mag_print "si #{tao[:pangalan]} ay babae!"
9
9
  maliban_dito
10
- iprint "si #{tao[:pangalan]} ay lalaki!"
10
+ mag_print "si #{tao[:pangalan]} ay lalaki!"
11
11
  wakas
12
12
  wakas
@@ -2,15 +2,15 @@ grupo MgaAlagangHayop
2
2
  KAILANGAN_DAMI_NG_ASO = 5
3
3
  bilang Aso
4
4
  ang tahol
5
- iprint "Woof..."
5
+ mag_print "Woof..."
6
6
  wakas
7
7
 
8
8
  ang kumanin
9
- iprint "..."
9
+ mag_print "..."
10
10
  wakas
11
11
 
12
12
  ang ikembot_ang_buntot
13
- iprint "Ginagawa ko ito dahil masaya ako!"
13
+ mag_print "Ginagawa ko ito dahil masaya ako!"
14
14
  wakas
15
15
  wakas
16
16
  wakas
@@ -2,12 +2,12 @@ grupo Manggagawa
2
2
  bilang Magsasaka
3
3
  ang pananim
4
4
  ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin na_ganito |pananim|
5
- iprint "Mag tatanim ng #{pananim} ngayong panahon"
5
+ mag_print "Mag tatanim ng #{pananim} ngayong panahon"
6
6
  wakas
7
7
  wakas
8
8
  wakas
9
9
  wakas
10
10
 
11
11
  kung nakatukoy?(Manggagawa::Magsasaka)
12
- iprint 'May nakatukoy!'
12
+ mag_print 'May nakatukoy!'
13
13
  wakas
@@ -1,8 +1,8 @@
1
1
  pangalan_mo = "Masipag"
2
2
  kapag_ang pangalan_mo == "Matipuno"
3
- iprint "Ikaw ay si Matipuno!"
3
+ mag_print "Ikaw ay si Matipuno!"
4
4
  ngunit_kapag_ang pangalan_mo == "Masipag"
5
- iprint "Ikaw ay si Masipag!"
5
+ mag_print "Ikaw ay si Masipag!"
6
6
  maliban_sa_mga_ito
7
- iprint "Wala kang rekord dito!"
7
+ mag_print "Wala kang rekord dito!"
8
8
  wakas
@@ -1,3 +1,3 @@
1
1
  kapag (totoo o mali)
2
- iprint 'totoo'
2
+ mag_print 'totoo'
3
3
  wakas
@@ -7,5 +7,5 @@ agapan => pagkakamali
7
7
  subukang_muli kapag bilang_ng_pagkakamali < 3
8
8
  iangat "malubhang pagkakamali"
9
9
  siguraduhing
10
- iprint "Tapos na"
10
+ mag_print "Tapos na"
11
11
  wakas
@@ -1,8 +1,8 @@
1
1
  ang iprintAngPangalan(pangalan = wala)
2
2
  kapag pangalan != wala
3
- iprint "Magandang araw sa iyo #{pangalan}!"
3
+ mag_print "Magandang araw sa iyo #{pangalan}!"
4
4
  kung_hindi
5
- iprint "Magandang araw!"
5
+ mag_print "Magandang araw!"
6
6
  wakas
7
7
  wakas
8
8
 
@@ -6,7 +6,7 @@ bilang Pangalan
6
6
  wakas
7
7
 
8
8
  ang ipakitaAngPangalan
9
- iprint sariling.pangalan
9
+ mag_print sariling.pangalan
10
10
  wakas
11
11
  wakas
12
12
 
@@ -5,7 +5,7 @@ ang gumawaNgID(estudyante = {})
5
5
  baitang = estudyante[:baitang]
6
6
  seksiyon = estudyante[:seksiyon]
7
7
 
8
- iprint <<-KATAPUSAN
8
+ mag_print <<-KATAPUSAN
9
9
  Pangalan: #{pangalan}
10
10
  Edad: #{edad}
11
11
  Tirahan: #{tirahan}
@@ -1,4 +1,4 @@
1
1
  listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
2
2
  para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin
3
- iprint prutas.sa_malaking_titik
3
+ mag_print prutas.sa_malaking_titik
4
4
  wakas
@@ -51,9 +51,9 @@ ang pibonasyingPaguulitNaUmiikot(n, n1 = 1, n2 = 1)
51
51
  magbalik n1
52
52
  wakas
53
53
 
54
- iprint "Gamit ang Panuntunang Pibonasyi sa 10 ay #{pibonasyi 10}"
55
- iprint "Gamit ang Panuntunang Pibonasying May Pagsuksok sa 9 ay #{pibonasyingPagsuksok 9}"
56
- iprint "Gamit ang Panuntunang Pibonasying Inuulit sa 8 ay #{pibonasyingInuulit 8}"
57
- iprint "Gamit ang Panuntunang Pibonasying May Buntot na Inuulit sa 7 ay #{pibonasyingBuntutangInuulit 7}"
58
- iprint "Gamit ang Panuntunang Pibonasying Paguulit sa 6 ay #{pibonasyingPaguulit 6}"
59
- iprint "Gamit ang Panuntunang Pibonasying Paguulit na Umiikot sa 5 ay #{pibonasyingPaguulitNaUmiikot 5}"
54
+ mag_print "Gamit ang Panuntunang Pibonasyi sa 10 ay #{pibonasyi 10}"
55
+ mag_print "Gamit ang Panuntunang Pibonasying May Pagsuksok sa 9 ay #{pibonasyingPagsuksok 9}"
56
+ mag_print "Gamit ang Panuntunang Pibonasying Inuulit sa 8 ay #{pibonasyingInuulit 8}"
57
+ mag_print "Gamit ang Panuntunang Pibonasying May Buntot na Inuulit sa 7 ay #{pibonasyingBuntutangInuulit 7}"
58
+ mag_print "Gamit ang Panuntunang Pibonasying Paguulit sa 6 ay #{pibonasyingPaguulit 6}"
59
+ mag_print "Gamit ang Panuntunang Pibonasying Paguulit na Umiikot sa 5 ay #{pibonasyingPaguulitNaUmiikot 5}"
@@ -1,8 +1,8 @@
1
1
  simulan
2
2
  itaas "Chismosa!"
3
3
  agapan
4
- iprint "Balik sa trabaho!"
4
+ mag_print "Balik sa trabaho!"
5
5
  itaas "May kaguluhan!"
6
6
  siguraduhing
7
- iprint "Walang kakain kung hindi tapos!"
7
+ mag_print "Walang kakain kung hindi tapos!"
8
8
  wakas
@@ -1,7 +1,7 @@
1
1
  grupo Hayop
2
2
  bilang Aso
3
3
  ang tahol
4
- iprint 'baw waw!'
4
+ mag_print 'baw waw!'
5
5
  wakas
6
6
  wakas
7
7
  wakas
@@ -10,7 +10,7 @@ bilang Pusa < Hayop::Aso
10
10
  tanggalin tahol
11
11
 
12
12
  ang meow
13
- iprint 'meow wahu!'
13
+ mag_print 'meow wahu!'
14
14
  wakas
15
15
  wakas
16
16
 
@@ -19,5 +19,5 @@ pusa = Pusa.kumatawan
19
19
  simulan
20
20
  pusa.tahol
21
21
  agapan => pagkakamali
22
- iprint "ang pagkakamali ay '#{pagkakamali}'"
22
+ mag_print "ang pagkakamali ay '#{pagkakamali}'"
23
23
  wakas
@@ -4,15 +4,15 @@ grupo TimeBomb
4
4
  BILANG = 5
5
5
  bilang Bomba
6
6
  ang tik
7
- iprint 'tik'
7
+ mag_print 'tik'
8
8
  wakas
9
9
 
10
10
  ang tok
11
- iprint 'tok'
11
+ mag_print 'tok'
12
12
  wakas
13
13
 
14
14
  ang sabog
15
- iprint 'kaboom!'
15
+ mag_print 'kaboom!'
16
16
  wakas
17
17
  wakas
18
18
  wakas
@@ -21,7 +21,7 @@ pasabog = TimeBomb::Bomba.gumawa
21
21
 
22
22
  numero = 1
23
23
  habang numero <= TimeBomb::BILANG ganito
24
- iprint "#{numero}"
24
+ mag_print "#{numero}"
25
25
 
26
26
  kapag (numero == TimeBomb::BILANG)
27
27
  pasabog.sabog
@@ -31,7 +31,7 @@ habang numero <= TimeBomb::BILANG ganito
31
31
  pasabog.tok
32
32
  wakas
33
33
 
34
- sleep 1
34
+ matulog 1
35
35
  numero += 1
36
36
  wakas
37
37
 
@@ -83,7 +83,7 @@ isalaysay_ang 'Tagatala' do
83
83
  subukang_muli
84
84
  iangat pagkakamali, pagkakamali.iulat
85
85
  siguraduhing
86
- iprint "Katapusan"
86
+ mag_print "Katapusan"
87
87
  katapusan').should be_like(pasimulang_kodigo +
88
88
  'begin
89
89
  (1 / 0)
@@ -91,15 +91,15 @@ isalaysay_ang 'Tagatala' do
91
91
  retry
92
92
  iangat(pagkakamali, pagkakamali.iulat)
93
93
  ensure
94
- iprint("Katapusan")
94
+ mag_print("Katapusan")
95
95
  end')
96
96
  end
97
97
  end
98
98
 
99
99
  isalaysay_ang 'pamamaraan sa Kernel' do
100
- ito_ang "ekspresyon ng pagsusulat gamit ang 'iprint'" do
101
- tagatala.sa_ruby("iprint 'abc'").should ==
102
- pasimulang_kodigo + 'iprint("abc")'
100
+ ito_ang "ekspresyon ng pagsusulat gamit ang 'mag_print'" do
101
+ tagatala.sa_ruby("mag_print 'abc'").should ==
102
+ pasimulang_kodigo + 'mag_print("abc")'
103
103
  end
104
104
  end
105
105
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joel Bryan Juliano
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-11 00:00:00.000000000 Z
11
+ date: 2018-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby2ruby
@@ -82,6 +82,7 @@ files:
82
82
  - README.md
83
83
  - Rakefile
84
84
  - TODO.md
85
+ - _config.yml
85
86
  - bato.gemspec
86
87
  - bin/bato
87
88
  - lib/bato.rb
@@ -99,6 +100,7 @@ files:
99
100
  - lib/bato/tagatala.rb
100
101
  - mga_halimbawa/agapan.bato
101
102
  - mga_halimbawa/alyas.bato
103
+ - mga_halimbawa/batotris.rb
102
104
  - mga_halimbawa/bilang.bato
103
105
  - mga_halimbawa/dapat.bato
104
106
  - mga_halimbawa/habang.bato