Wednesday, December 3, 2014

COMPUTE! : A GWBASIC CHAIN REACTION GAME BY MARK TUTTLE


COMPUTE! ISSUE 80 / JANUARY 1987 / PAGE 47

"Chain Reaction" is a clever strategy game for one or two players. Whether you play against the computer or another human, the objective is the same: to eliminate all of your opponent's bomb-shaped pieces from the field of play. The game is played on a 5 X 6 grid of squares, and the players alternate turns, placing one bomb in a square on each turn.
    The results of a move depend on how many bombs are already in the chosen square and adjacent squares. Whenever any square reaches "critical mass," it explodes and sends its bombs into neighboring squares. If those squares are already loaded to capacity, they explode too, creating a chain reaction that can engulf a large area of the board.
    Type in the version for your computer and save a copy of the program. Before you run the game, consult the special instructions for your computer as well. Some games are played with keyboard controls, while others use a joystick.

Bomb Begets Bomb
When you run Chain Reaction, it begins by asking whether you wish to play with one or two players. If you've never played before, you may want to play a game or two against the computer to learn what sort of strategies it favors. When you choose to play against the computer, the program also asks whether you'd like the computer to take the first turn.
    The first part of most games involves placement of initial pieces, without many explosions. As the board fills up, however, explosions occur with increasing frequency. Play continues until one player's pieces are completely eliminated from the board.
    The position of a square in the grid determines how many bombs it requires to create an explosion. A corner square can hold a maximum of one bomb. When you place a second bomb in a corner square that already holds one, both bombs explode, sending a bomb of your color into two neighboring squares. After an explosion, the original square is emptied.
    Other squares require more bombs to create an explosion. A border square that isn't on a corner can hold a maximum of two bombs. When you place a third bomb in a border square, its explosion sends three bombs into the squares that adjoin it. Squares in the center of the game board hold the most bombs and also create the most devastating explosions. When you place a fourth bomb in a central square, it sends four bombs into squares which adjoin that position.
    When an explosion sends bombs into adjacent squares, any bombs in that square change color to match the color of the exploding bombs. Should one of the adjoining squares surpass its limit, that square, too, will explode, creating the potential for even more explosions. This process continues until no more explosions are possible.
    Thus, the situation in Chain Reaction is often volatile. The lead frequently seesaws back and forth between players, as each creates increasingly more widespread chain reactions. Even if defeat seems almost certain, you can often regain the lead with clever play. When a game ends, the program announces the winner and permits you to play a new game or quit.
    Like other games of strategy and placement, Chain Reaction rewards the player who can think ahead. At first, you may be tempted to start making explosions as quickly as possible. But that's not always the best long-term tactic. By spreading bombs of your color throughout the board, you may be able to survive chain reactions that would otherwise wipe you out.


Move the cursor with the cursor keys and press the space bar to place a bomb.!!

Screen Shots:






Source Code:

2    REM' MARK TUTTLE/CHAIN REACTION
4    REM' Program (IBM VERSION)
10 KEY OFF: DEF SEG = 0: DEFINT A-Z: POKE 1047, PEEK(1047) OR 64: RANDOMIZE TIMER
20 SCREEN 1, 0: COLOR 1, 0: WIDTH 40: CLS
30 DIM U(4, 5), L(4, 5), J(4, 5), BX(4, 5), BY(4, 5), N(1, 5), ER(256), RT(30), TR(30), TX(30), TY(30), BR(22), BG(22)
35 DIM HX(300), HY(300)
40 GOSUB 1170
50 FOR I = 1 TO 3: FOR J = 1 TO 4: J(I, J) = 4: NEXT: J(I, 0) = 3: J(I, 5) = 3: NEXT
60 RESTORE 70: FOR J = 1 TO 4: J(0, J) = 3: J(4, J) = 3: READ A, B: J(A, B) = 2: NEXT
70 DATA 0,0,0,5,4,0,4,5
80 RESTORE 100: FOR I = 1 TO 4: FOR J = 1 TO I: READ BX(I, J), BY(I, J): NEXT J, I
90 BX(4, 5) = BX(4, 4): BY(4, 5) = BY(4, 4)
100 DATA 13,9,6,9,20,9,13,5,4,15,22,15,13,3,13,17,4,9,22,9
110 LOCATE 8, 14: PRINT "CHAIN REACTION"
115 LOCATE 10, 10: PRINT "Press EsC TO Quit Game"
120 LOCATE 12, 9: PRINT "Number of players (1/2)?";
130 K$ = INKEY$: IF K$ <> "1" AND K$ <> "2" THEN 130
140 NP = VAL(K$): IF NP = 2 THEN 180
150 LOCATE 16, 10: PRINT "Computer first (Y/N)?";
160 K$ = INKEY$: IF K$ <> "Y" AND K$ <> "N" THEN 160
170 TU = ABS(K$ = "Y")
180 CLS : LOCATE 1, 14: PRINT "CHAIN REACTION"; : GOSUB 670
190 TU = -TU + 1: CO = TU + 1
200 IF NP = 1 AND TU = 0 THEN GOSUB 900: GOTO 230
210 GOSUB 360
220 IF L(Y, X) <> TU + 1 AND L(Y, X) THEN 210
230 U(Y, X) = U(Y, X) + 1: FS(TU) = FS(TU) + 1: IF L(Y, X) = 0 THEN L(Y, X) = CO
240 GOSUB 820
250 IF U(Y, X) = J(Y, X) THEN 270
260 GOTO 190
270 E = 0: FG = 0: FOR P = 0 TO 4: FOR Q = 0 TO 5: Y = P: X = Q
280 IF U(Y, X) >= J(Y, X) AND E = 0 THEN FG = 1: GOSUB 450
290 NEXT Q, P: IF E = 1 THEN 320
300 IF FG = 1 THEN 270
310 GOTO 190
320 LOCATE 24, 16: PRINT "GAME OVER"; : FOR I = 1 TO 5000: NEXT
330 LOCATE 24, 6: PRINT "Press space bar to play again."
340 K$ = INKEY$: IF K$ <> " " THEN 340
350 RUN
360 X = HX(CO): Y = HY(CO): GOSUB 780: WHILE INKEY$ <> "": WEND
365 REM K$=INKEY$:IF K$<>"" THEN 365
370 DX = 0: DY = 0: K$ = RIGHT$(INKEY$, 1): IF K$ = "" THEN 370
380 K = ASC(K$): IF K = 32 THEN HX(CO) = X: HY(CO) = Y: CO = 0: GOSUB 780: CO = TU + 1: RETURN
385 IF K = 27 THEN END: REM *** Quit Game ***
390 IF K = 72 THEN IF Y > 0 THEN DY = -1
400 IF K = 80 THEN IF Y < 4 THEN DY = 1
410 IF K = 75 THEN IF X > 0 THEN DX = -1
420 IF K = 77 THEN IF X < 5 THEN DX = 1
430 IF DX = 0 AND DY = 0 THEN 370
440 CO = 0: GOSUB 780: X = X + DX: Y = Y + DY: CO = TU + 1: GOSUB 780: GOTO 370
445 REM *** FullSquare ***
450 R = 0: YY = 32 * Y + 15: XX = 36 * X + 50:
460 FOR I = 1 TO 4: PUT (XX + 2, YY + 2), ER, PSET
470 FOR J = 1 TO 4: N(1, J) = INT(RND(1) * 3) - 1: NEXT: R = -R + 1: K = U(Y, X) + 1: IF K = 6 THEN K = 5
480 IF CO = 1 THEN ON K GOSUB 730, 740, 750, 760, 770, 770
490 IF CO = 2 THEN ON K GOSUB 850, 860, 870, 880, 890, 890
500 FOR J = 1 TO 25: SOUND 37, 1: NEXT: SOUND 37, 0: NEXT
510 TX = X: TY = Y: J1 = 0: K1 = K - 1: Y1 = 32 * Y + 15 + BY(1, 1): X1 = 36 * X + 50 + BX(1, 1)
520 IF TX > 0 THEN X = TX - 1: DX = -1: DY = 0: GOSUB 1270: GOSUB 590
530 IF TX < 5 THEN X = TX + 1: DX = 1: DY = 0: GOSUB 1270: GOSUB 590
540 X = TX: IF TY > 0 THEN Y = TY - 1: DY = -1: DX = 0: GOSUB 1270: GOSUB 590
550 IF TY < 4 THEN Y = TY + 1: DY = 1: DX = 0: GOSUB 1270: GOSUB 590
560 IF FS(0) < 1 OR FS(1) < 1 THEN E = 1
570 Y = TY: U(Y, X) = U(Y, X) - J(Y, X): GOSUB 820: IF U(Y, X) = 0 THEN L(Y, X) = 0
580 RETURN
590 IF L(Y, X) <> TU + 1 THEN FS(TU) = FS(TU) + U(Y, X): FS(-TU + 1) = FS(-TU + 1) - U(Y, X)
600 L(Y, X) = TU + 1: U(Y, X) = U(Y, X) + 1: GOSUB 820: RETURN
610 LP = 0: IF Y > 0 THEN IF L(Y - 1, X) = 2 THEN AY = Y - 1: GOTO 660
620 IF X > 0 THEN IF L(Y, X - 1) = 2 THEN AX = X - 1: GOTO 660
630 IF X < 5 THEN IF L(Y, X + 1) = 2 THEN AX = X + 1: GOTO 660
640 IF Y < 4 THEN IF L(Y + 1, X) = 2 THEN AY = Y + 1: GOTO 660
650 RETURN
660 LP = 1: RETURN
670 FOR Y = 0 TO 4: YY = 32 * Y + 16: FOR X = 0 TO 5: XX = 36 * X + 51
680 REM DRAW "BM=XX;,=YY;R34D30L34U30"
685 LINE (XX, YY)-(XX + 34, YY + 30), 2, B
690 NEXT X, Y: GET (XX + 1, YY + 1)-(XX + 33, YY + 29), ER
700 RETURN
710 PUT (XX + 2, YY + 2), ER, PSET: K = U(Y, X) + 1: IF K = 6 THEN K = 5
720 ON K GOTO 730, 740, 750, 760, 770, 770
730 RETURN
740 PUT (XX + BX(1, K - 1), YY + BY(1, K - 1)), BG: RETURN
750 FOR J = 1 TO K - 1: PUT (XX + BX(2, J) + N(R, J), YY + BY(2, J) + N(R, J)), BG: NEXT: RETURN
760 FOR J = 1 TO K - 1: PUT (XX + BX(3, J) + N(R, J), YY + BY(3, J) + N(R, J)), BG: NEXT: RETURN
770 FOR J = 1 TO K - 1: PUT (XX + BX(4, J) + N(R, J), YY + BY(4, J) + N(R, J)), BG: NEXT: RETURN
775 REM ** DrawCursor **
780 YY = 32 * Y + 15: XX = 36 * X + 50
790 LINE (XX, YY)-(XX + 36, YY + 32), CO, B: REM DRAW "C=CO;BM=XX;,=YY;R36D32L36U32"
800 LINE (XX + 2, YY + 2)-(XX + 34, YY + 30), CO, B: REM DRAW "C=CO;BM+2,+2R32D2BL32U28"
810 RETURN
815 REM ** PlaceBomb **
820 YY = 32 * Y + 15: XX = 36 * X + 50: R = 0: IF CO = 1 THEN 710
830 PUT (XX + 2, YY + 2), ER, PSET: K = U(Y, X) + 1: IF K = 6 THEN K = 5
840 ON K GOTO 850, 860, 870, 880, 890, 890
850 RETURN
860 PUT (XX + BX(1, K - 1), YY + BY(1, K - 1)), BR: RETURN
870 FOR J = 1 TO K - 1: PUT (XX + BX(2, J) + N(R, J), YY + BY(2, J) + N(R, J)), BR: NEXT: RETURN
880 FOR J = 1 TO K - 1: PUT (XX + BX(3, J) + N(R, J), YY + BY(3, J) + N(R, J)), BR: NEXT: RETURN
890 FOR J = 1 TO K - 1: PUT (XX + BX(4, J) + N(R, J), YY + BY(4, J) + N(R, J)), BR: NEXT: RETURN
900 XT = 0: FOR Y = 0 TO 4: FOR X = 0 TO 5: IF L(Y, X) = 2 THEN 920
910 XT = XT + 1: TY(XT) = Y: TX(XT) = X
920 NEXT X, Y
930 LOCATE 23, 15: PRINT "Thinking...";
940 FOR I = 1 TO XT: RT(I) = 0: TR(I) = 0: Y = TY(I): X = TX(I): GOSUB 610
950 IF FG = 1 AND LP AND U(Y, X) > 0 THEN 1160
960 IF U(Y, X) + 1 <> J(Y, X) THEN 1000
970 IF LP = 1 AND U(AY, AX) + 1 = J(AY, AX) THEN RT(I) = 6: GOTO 1110
980 IF LP = 1 THEN RT(I) = 2: GOTO 1110
990 IF LP = 0 THEN RT(I) = 1: GOTO 1110
1000 IF J(Y, X) <> 2 THEN 1040
1010 IF LP = 0 AND U(Y, X) = 1 THEN RT(I) = 1: GOTO 1110
1020 IF LP = 0 AND U(Y, X) = 0 THEN RT(I) = 4: GOTO 1110
1030 IF LP = 1 AND U(Y, X) = 1 THEN RT(I) = 4: GOTO 1110
1040 IF U(AY, AX) + 1 = J(AY, AX) THEN RT(I) = 1: GOTO 1110
1050 IF U(Y, X) + 2 < J(Y, X) THEN 1090
1060 IF LP = 1 AND U(AY, AX) + 1 < J(AY, AX) THEN RT(I) = 5: GOTO 1110
1070 IF LP = 0 THEN RT(I) = 3: GOTO 1110
1080 RT(I) = 2: GOTO 1110
1090 IF LP = 0 THEN RT(I) = 2: GOTO 1110
1100 RT(I) = 1
1110 NEXT: ZT = 0: AB = 6
1120 FOR I = 1 TO XT: IF RT(I) = AB THEN ZT = ZT + 1: TR(ZT) = I
1130 NEXT: IF ZT > 0 THEN 1150
1140 AB = AB - 1: GOTO 1120
1150 DH = INT(ZT * RND(1)) + 1: HD = TR(DH): Y = TY(HD): X = TX(HD)
1160 LOCATE 23, 15: PRINT "          "; : FG = FG + 1: RETURN
1170 RESTORE 1210
1180 READ BR(0), BR(1): FOR I = 2 TO 22: READ A$: BR(I) = VAL("&H" + A$): NEXT
1190 READ BG(0), BG(1): FOR I = 2 TO 22: READ A$: BG(I) = VAL("&H" + A$): NEXT
1200 RETURN
1210 DATA 22,13,F00,0,30,3000,200,AA
1220 DATA AA02,A00,80AA,2028,AAA0,A822,8AAA,AAA8
1230 DATA A822,2028,AA0,80AA,AA02,0,0
1240 DATA 22,13,F00,0,30,3000,100,55
1250 DATA 5501,500,4055,1014,5550,5411,4555,5554
1260 DATA 5411,1014,550,4055,5501,0,0
1270 J1 = J1 + 1: XX = X1 - BX(1, 1): YY = Y1 - BY(1, 1): S = 1087: IF CO = 1 THEN 1360
1280 PUT (XX + BX(K1, J1) + N(R, J1), YY + BY(K1, J1) + N(R, J1)), BR
1290 IF DY <> 0 THEN 1330
1300 X2 = X1 + 35 * DX: DX = DX * 4: PUT (X1, Y1), BR
1310 FOR I = X1 TO X2 STEP DX: S = S - 40: SOUND S, 1: PUT (I, Y1), BR: PUT (I + DX, Y1), BR: NEXT
1320 PUT (XX + 3, YY + 3), ER: RETURN
1330 Y2 = Y1 + 31 * DY: DY = DY * 4: PUT (X1, Y1), BR
1340 FOR I = Y1 TO Y2 STEP DY: S = S - 40: SOUND S, 1: PUT (X1, I), BR: PUT (X1, I + DY), BR: NEXT
1350 PUT (XX + 3, YY + 3), ER: RETURN
1360 PUT (XX + BX(K1, J1) + N(R, J1), YY + BY(K1, J1) + N(R, J1)), BG
1370 IF DY <> 0 THEN 1410
1380 X2 = X1 + 35 * DX: DX = DX * 4: PUT (X1, Y1), BG
1390 FOR I = X1 TO X2 STEP DX: S = S - 40: SOUND S, 1: PUT (I, Y1), BG: PUT (I + DX, Y1), BG: NEXT
1400 PUT (XX + 3, YY + 3), ER: RETURN
1410 Y2 = Y1 + 31 * DY: DY = DY * 4: PUT (X1, Y1), BG
1420 FOR I = Y1 TO Y2 STEP DY: S = S - 40: SOUND S, 1: PUT (X1, I), BG: PUT (X1, I + DY), BG: NEXT
1430 PUT (XX + 3, YY + 3), ER: RETURN

GOLDHUNT 2.0 - A QBASIC/QB64 BOULDER DASH CLONE

Arggghh...it's until the late of year of 2014 (in december) I finally managed to release a new game for this year, GOLDHUNT 2.0 , Coded in Qbasic 4.5 and QB64,

GOLDHUNT 2.0 is a sequence of GOLDHUNT Game series coded in Qbasic 4.5, GLBASIC and QB64

hope you enjoy the game

Download:
GOLDHUNT2.0.zip


Wednesday, August 13, 2014

A GUI (Visual Basic ) version of SIMPLE STEEL PORTAL FRAME TO BS5950 ( Plastic Design )

A GUI (Visual Basic ) version of  SIMPLE STEEL PORTAL FRAME TO BS5950 ( Plastic Design )

Download DEMO here :
SimplePortal.zip



Sunday, July 6, 2014

A simple STEEL PORTAL FRAME to BS5950 ( Plastic Design )

A simple STEEL PORTAL FRAME to BS5950 ( Plastic Design ) software has been added with source code. This simple program is not a demo and  easy to use


Download:
SimplePortal.zip

Tuesday, June 17, 2014

FITNAH AKHIR ZAMAN

Rasulullah SAW mengingatkan kita agar mengelakkan diri daripada terjatuh dalam fitnah yang menimpa umatnya laksana malam yang gelap gelita dengan sabda baginda yang bermaksud:
"Bersegeralah kamu mengerjakan amalan-amalan bagi menolak fitnah yang datang seperti kegelapan malam yang gelap gelita. Pada sebelah pagi seseorang itu beriman dan pada sebelah petangnya ia menjadi kafir dan pada sebelah petangnya ia beriman dan pada sebelah paginya ia menjadi kafir. Dia menjual agamanya dengan harta benda dunia."

Sabda Rasul SAW lagi berhubung dengan fitnah yang bermaksud:
"Masa akan menjadi dekat (pendek), ilmu akan diangkat, fitnah akan lahir, dicampakkan akan sifat bakhil dan berlaku dengan banyaknya ‘harju’. Maka mereka bertanya: Wahai Rasul, apakah maksud harju. Baginda menjawab: harju adalah pembunuh."

Di dalam realiti sekarang, sungguh kurang ulamak-ulamak rabbaniyun (ulamak-ulamak yang takut kepada Allah SWT) yang memuliakan sifat-sifat zuhud, wara' dan sentiasa mengikut panduan Ilahi, menjadikan baginda SAW dan khulafa ar-Rasyidin sebagai panduan dan ikutan mereka, beramal dengan panduan al- Quran yang berbunyi: "Sesungguhnya pada diri Rasul SAW itu ikutan yang baik bagi kamu" dan beramal dengan hadis yang bermaksud:
"Hendaklah kamu beramal dengan sunnahku dan sunnah khulafa ar-Rasyidin, Mahdiyin selepas aku dan gigitlah ia dengan geraham kamu (yakni peganglah kuat-kuat dan janganlah lepaskan dia."

Untuk menjaga diri daripada terjatuh ke dalam keadaan fitnah atau pengaruh kebatilan, Huzaifah pernah berkata kepada Rasul SAW dengan katanya: "Adakah selepas kebaikan ini akan datang pula kejahatan?" Baginda menjawab; ‘Ya’, ada tetapi bercampur dengan ‘dakhan’". Huzaifah bertanya, "Apakah ‘dakhan’ itu?". Baginda menjawab, "Kaum atau golongan yang mengambil sunnah yang lain daripada sunnahku dan mengambil petunjuk lain daripada petunjukku. Kamu kenal mereka dan hendaklah kamu tentang mereka". Huzaifah bertanya lagi, "Apakah selepas ini ada keburukan lagi?" Baginda menjawab, ‘Ya’ ada iaitu pendakwah-pendakwah di tepi pintu meraka. Barangsiapa yang menyahut dakwah mereka, mereka akan menolaknya ke dalam neraka." Kata Huzaifah, "Bolehkah beri tahu sifat mereka, wahai Rasul SAW?" Baginda bersabda, "Mereka adalah sama warna kulitnya dengan kamu dan bercakap dengan bahasa kamu".

Firman Allah SWT dalam surah al-AnFal ayat 25 bermaksud:
"Jagalah olehmu akan fitnah yang tidak menimpa ke atas mereka yang zalim semata-mata dan ketahuilah bahawa Allah sangat dahsyat siksaan Nya."
Saya tertarik apabila membaca karangan Dr Kevin Barret , Seorang pengkaji agama yahudi , kristian dan Islam ....

‘Is ISIL really ‘Sunni’? Not at all’
Tue Jun 17, 2014 3:41AM
By Kevin Barrett

The Western media describes ISIL – the ultra-extremist terrorists destabilizing Iraq and Syria – as “Sunni militants.”

Headlines read: “Sunni Islamist Militants Seize Mosul.” “Sunni militants capture northern Iraqi town.” “Iraq Army Tries to Roll Back Sunni Militants’ Advance.”
The corporate media casts the fighting in Iraq as a Sunni vs. Shia conflict. The Sunni side, according to these reports, is led by ISIL – a group that was expelled from al-Qaeda for being too extreme.

But is ISIL really Sunni?
Many experts say “no.” Some question whether ISIL has a right to call itself an Islamic group at all.

In an interview with Truth Jihad Radio, Islamic scholar Dr. John Andrew Morrow (Ilyas Abd al-‘Alim Islam) questioned ISIL’s Islamic credentials: “A lot of so-called jihad (such as ISIL’s) is not rooted in Islam. Especially if you look at who’s funding it, who’s supporting it, who’s behind it. Western powers have a long history of using jihadists and Islamists to further their own imperial ambitions. In terms of the foot-soldiers, they may think they are fighting for Islam. But if you look closer, you find they’re furthering the cause of the enemy.”

Dr. Morrow pointed out that much of ISIL’s behavior is patently un-Islamic. He said that the ISIL terrorists love to film themselves committing war crimes that are forbidden by Islam: “They are very proud to commit atrocities. They film it. They upload it to the internet. They have their own websites.”
Dr. Morrow commented on the notorious video showing a Takfiri terrorist eating a dead soldier’s liver: “This is what Hind (an enemy of the Muslims) did. You’re not following the sahaba, you’re not following the Prophet. You’re following the polytheists who were fighting the Prophet when you start cannibalizing corpses. And there was another video of a poor Muslim sister who was strangled to death. I mean, who goes around strangling women to cries of Allahu akbar?”

Continuing the habit of vaunting their un-Islamic atrocities, ISIL terrorists recently posted internet videos showing themselves murdering 1,700 captured Iraqi army soldiers. They have also reportedly killed dozens of Sunni imams who refuse to swear allegiance to ISIL. And they are killing Shia Muslims indiscriminately.
If these terrorists are Sunni Muslims, why are they systematically violating the tenets of Sunni Islam?
In fact, ISIL appears to be far outside of Sunni Islam. The kind of “Islam” espoused by the ISIL Takfiris is an extreme version of the Salafi-Wahhabi school of thought. These people reject the five major Islamic madhhabs (schools of thought) including the four Sunni ones. If you reject all four Sunni madhhabs, how can you call yourself Sunni?

In fact, the extreme Salafi-Wahhabis, including the ultra-extreme ISIL, have broken with mainstream Islam as it has existed for fourteen centuries. By jettisoning the established Islamic madhhabs, and stepping outside of Islam as it has always been understood, they have entered a very dangerous territory in which they feel they can just make up the rules as they go along. So they make up such rules as: “It is okay to rape Christian and Shia women. It is okay to eat the internal organs of dead enemies. It is okay to marry ‘jihad brides’ for sex and divorce them after 30 minutes. It is okay to crucify Christian holy men. It is okay to strangle women to death. It is okay to mass-murder civilians. It is okay to mass-execute prisoners of war.”
No Sunni in history would recognize this as Sunni Islam.

Zaid Hamid, a Sunni Muslim defense analyst from Pakistan, says ISIS and related terrorist groups are not Sunnis, but Kharajite heretics serving an imperial anti-Islamic agenda. (The Kharajites were an ultra-radical group that rejected early versions of both Sunni and Shia Islam and stepped outside of the Islamic community - hence their name, which means “those who step outside.”) Hamid argues that the ultra-radical groups destabilizing Pakistan, Syria and Iraq have indeed stepped outside of Islam, and are making war on Islam and Muslims on behalf of Zionism and imperialism.

But isn’t it true that many Sunni Muslims in Iraq support ISIL?
Yes and no. It is true that some ordinary Iraqis from Sunni backgrounds have joined ISIL’s insurrection in Iraq. But these are mainly pro-Saddam revanchists, not religiously-oriented Sunni Muslims. Saddam Hussein, of course, was a radical secularist whose idols were Stalin and Hitler. Saddam’s Ba’ath party was anti-religious and pro-secularist; Saddam’s hatred of the Islamic Awakening was so extreme that he launched a war on the Ayatollah Khomeini’s new Islamic Republic in hopes of preventing the rebirth of Islam. So to call the Saddam Hussein supporters who are joining with ISIL “Sunnis” is misleading. Saddam’s forces, like ISIL, are opposed to Islam in both its traditional Sunni and Shia forms.

The full name of Sunnism is “the people of the Tradition of the Prophet and the consensus of the community” (ahl as-sunnah wa l-jamaʻah). Eating the livers of dead enemies is not part of the Tradition of the Prophet – it is the tradition of the enemies of the Prophet. And such behavior is obviously not approved by the consensus of the Muslim community.

The Tradition of Prophet Muhammad (PBUH) is one of inclusion, tolerance, mutual respect, and the forging of alliances between people of different tribes and religions. The original Muslim community, whose founding document is the Constitution of Medina, consisted of Christians, Jews and Muslims living together and sharing power and obligations on an equitable basis.

The real Sunna (Tradition) holds to reason and persuasion, and uses violence only as a last resort. The Prophet Muhammad (PBUH) and his Family and Companions preached peacefully for 12 years, despite atrocious persecution, before God finally authorized them to fight back in self-defense.
The real Tradition of the Prophet respects knowledge so much that “the ink of the scholar is more precious than the blood of the martyr.” And the consensus of the Islamic community is that the work of 14 centuries worth of Islamic scholarship – the five major Islamic madhhabs, both the four Sunni madhhabs and the Shia Ja’fari madhhab – collectively represents mainstream Islam. All Sunni Muslims have tremendous respect for Imam Ja’far al-Sadiq, who founded the main Shia madhhab. The terrorists who reject this tremendous scholarly achievement, and want to kill everyone who disagrees with them, are far outside of normative Sunni Islam.

So why does the Western mainstream media insist on calling anti-Sunni, anti-Shia groups like ISIL “Sunni”?
Perhaps the problem is laziness. Since ISIL has a special hatred for Shia Muslims, the simplest way to portray them is to paint the situation as an alleged Sunni vs. Shia conflict. By defaulting to this lowest-common-denominator description, the media absolves itself from the duty of explaining, in detail, what is actually going on.

But it is also possible that the corporate media is intentionally misreporting the situation. The extreme-Zionist neoconservatives launched the US invasion of Iraq in order to break up that country, and the Middle East as a whole, by inciting ethnic and sectarian strife. The “Sunni vs. Shia” meme was created and spread by the Occupiers through a wave of false-flag terrorism. Perhaps the media is trumpeting that meme in order to propagate it.

In any case, the world’s Sunni Muslims are being slandered every time the media calls ISIL “Sunni.” It is time for Sunnis to reject this mischaracterization of their religion. Perhaps Sunni Muslims should file a class action lawsuit against the media outlets that are spreading this calumny.
KB/HSN


Dr. Kevin Barrett, a Ph.D. Arabist-Islamologist, is one of America's best-known critics of the War on Terror. Dr. Barrett has appeared many times on Fox, CNN, PBS and other broadcast outlets, and has inspired feature stories and op-eds in the New York Times, the Christian Science Monitor, the Chicago Tribune, and other leading publications. Dr. Barrett has taught at colleges and universities in San Francisco, Paris, and Wisconsin, where he ran for Congress in 2008. He is the co-founder of the Muslim-Christian-Jewish Alliance, and author of the books Truth Jihad: My Epic Struggle Against the 9/11 Big Lie (2007) and Questioning the War on Terror: A Primer for Obama Voters (2009). His website is www.truthjihad.com. More articles by Dr. Barrett

Monday, June 16, 2014

A Single Beauty ...


A Wild Flower...so wild ..yet so beautiful...


Wednesday, June 11, 2014

ZOOM IN and ZOOM OUT in FreeBASIC

Ever Wonder how they ZOOM IN and ZOOM OUT the graphics in the AUTOCAD ??

Here is the example :-
zoom-inkey-Move.zip

The Source code in FreeBASIC is as such ;

SCREEN 9 '640x350 EGA
CLS
COLOR 12
XA = 320: YA = 175:
XSCALE = 50: YSCALE = 50 'zoom factor e.g. 50 pixels = 1 unit
LINE (0, 175)-(639, 175) 'draw y-axis
LINE (320, 0)-(320, 349) 'draw x-axis
Xmove = 10
DO
A$ = INKEY$
IF A$ = CHR$(122) OR A$ = CHR$(90) THEN ' Zoom in Z
XSCALE = XSCALE + 5: YSCALE = YSCALE + 5:
CLS
END IF
IF A$ = CHR$(120) OR A$ = CHR$(88) THEN ' Zoom Out X
XSCALE = XSCALE - 5: YSCALE = YSCALE - 5
LOCATE 20, 5: PRINT XSCALE, YSCALE
IF XSCALE < 5 THEN XSCALE = 5: IF YSCALE < 5 THEN YSCALE = 5
CLS
END IF
IF UCASE$(RIGHT$(A$, 1)) = "M" THEN XA = XA - 5: CLS ' Move Right
IF UCASE$(RIGHT$(A$, 1)) = "K" THEN XA = XA + 5: CLS ' Move Left
IF UCASE$(RIGHT$(A$, 1)) = "H" THEN YA = YA + 5: CLS ' Move Up
IF UCASE$(RIGHT$(A$, 1)) = "P" THEN YA = YA - 5: CLS ' Move Down
LINE (INT(XSCALE*(-Xmove/2)+XA),INT(YA-YSCALE))-(INT(XSCALE*(Xmove/2)+XA),INT(YA+YSCALE)),4,B 'Draw Box
LINE (0, YA)-(639, YA) 'draw y-axis
LINE (XA, 0)-(XA, 349) 'draw x-axis
COLOR 13
FOR X = -Xmove TO Xmove STEP .001
'a loop to graph from -10 to +10 by increments of .001
Y = (3 * X) + 2 'linear equation y=mx +b m=3 b=2
PSET (INT(XSCALE * X + XA), INT(YA - (YSCALE * Y)))
Y = SIN(X) 'wave equation
PSET (INT(XSCALE * X + XA), INT(YA - (YSCALE * Y)))
NEXT X
LOCATE 24, 5:
PRINT "Press ARROW keys to Move RIGHT , LEFT , UP and DOWN"
LOCATE 23, 5:
PRINT "Press Z to ZOOM IN , Press X to ZOOM OUT , Esc to Quit"
LOCATE 22, 5: PRINT "XSCALE :"; XSCALE, "YSCALE :"; YSCALE
LOCATE 21, 5: PRINT "KEY PRESS", A$
LOOP UNTIL A$ = CHR$(27)
END

Thursday, June 5, 2014

Saturday, May 31, 2014

Easy Steel Portal Frame 2.0

Easy Steel Portal Frame 2.0

This is a new version of Easy Steel Portal Frame to BS 5950 ,
You now can generate Autocad DXF file


Updates:
062014 - cdlOFNOverwritePrompt has been added
             - DXF Out function for Frame has been Added
06062014-1414: GetAppPath : Run time error 75 : Path/File Access Error has been fixed!!
07062014-1042: cdlOFNNoChangeDir: Directory Change After File Open/Save has been fixed!!
 
07062014-2254: File #1 Not Close , Error 70 Permission Denied/ File Already Open has been fixed !!
29062014-1810: Sub Terminate added , program terminated if key not found.
                          : Added Portal4a.exe; Unity error
                          : Added Portal4a.exe; Rafter Too Big Error, Lm > h2f 
                          : Fixed ViewResult ; Save & Save As ; cmdg.Flags = cdlOFNOverwritePrompt +         
                            cdlOFNNoChangeDir , Open ; cmdg.Flags = cdlOFNFileMustExist +
                            cdlOFNPathMustExist + cdlOFNNoChangeDir
Download Here :

TROPICAL GRAPES

Yes...in Malaysia...I have planted it myself !!

It's not a surprise anymore ...




Wednesday, May 28, 2014

Generate A Polygon and Export to Autocad DXF file

 I found this GWBASIC Program from the internet...A good start to learn how to generate a DXF file in BASIC

1000   REM
1010   REM Polygon generator
1020   REM
1030   LINE INPUT "Drawing (DXF) file name: "; A$
1040   OPEN "o", 1, A$ + ".dxf"
1050   PRINT #1, 0
1060   PRINT #1, "SECTION"
1070   PRINT #1, 2
1080   PRINT #1, "ENTITIES"
1090   PI = ATN(1) * 4
1100   INPUT "Number of sides for polygon: "; S%
1110   INPUT "Starting point (X,Y): "; X, Y
1120   INPUT "Polygon side: "; D
1130   A1 = (2 * PI) / S%
1140   A = PI / 2
1150   FOR I% = 1 TO S%
1160   PRINT #1, 0
1170   PRINT #1, "LINE"
1180   PRINT #1, 8
1190   PRINT #1, "0"
1200   PRINT #1, 10
1210   PRINT #1, X
1220   PRINT #1, 20
1230   PRINT #1, Y
1240   PRINT #1, 30
1250   PRINT #1, 0.0
1260   NX = D * COS(A) + X
1270   NY = D * SIN(A) + Y
1280   PRINT #1, 11
1290   PRINT #1, NX
1300   PRINT #1, 21
1310   PRINT #1, NY
1320   PRINT #1, 31
1330   PRINT #1, 0.0
1340   X = NX
1350   Y = NY
1360   A = A + A1
1370   NEXT I%
1380   PRINT #1, 0
1390   PRINT #1, "ENDSEC"
1400   PRINT #1, 0
1410   PRINT #1, "EOF"
1420   CLOSE 1



Friday, May 23, 2014

A DXF Generated BS 5950 Portal Frame Software


I'm in a process of developing a DXF generated Portal Frame Software, using FreeBASIC this time...further development would be in Visual Basic

Download Working File:  Portal3.zip

Here are the screenshots :-



Tuesday, May 20, 2014

CASIO FX 880P

CASIO FX880P , My one and only 8 bit computer, what the heck?? ada ker orang guna 8 bit komputer lagi??

Terjumpa CASIO FX880P masa jalan-jalan kat bandar, Bahasa Pengaturacaraan masih BASIC ( macam GWBASIC ) , beli bukan sebab nak guna sangat pun...sebab komputer sekarang ni lagi canggih...beli sekadar collection dan untuk mengimbas kembali kenangan  guna ATARI 800XL 8 bit dulu...susah nak cari komputer 8 bit sekarang ni, kalau terjumpa tu..mujur sangat laa...




MS DOS LOOP in Windows

Have problem running and printing MS DOS LOOP for water distribution network in Windows?

My configuration has made MS DOS LOOP can be executed and edited under Windows 32 bit and Windows 64 bit. The configuration , prints MS DOS LOOP to Microsoft WORD output file so that it can be edited and printed by you easily without any hassle any more

 for further information contact hotakkau16@hotmail.com




Download

RESULT.DOC  Printed Result from a configured LOOP software


Thursday, April 3, 2014

Mom's Flowers ...


Last week I went to my mom's house ...and I took these beautiful photos in the front yard...
 I dont know the flowers name, but I know it's so beautiful and very rare.....Here are the pictures..