CoolBasicilla toteutettu, melko yksinkertainen kaksinpelipingis.
Pelissä on ideana osua "mailalla" (ts. levyllä) palloon, estäen sitä osumasta omaan seinään (pelaaja 1:llä ruudun oikea sivu, pelaaja 2:lla ruudun vasen sivu). Jos näin kuitenkin pääsee käymään, saa vastustaja pisteen. Ylä- tai alaseinään (ruudun ylä- tai alalaita) osuessaan pallo kimpoaa siitä.
Pelaaja 1 ohjaa mailaansa ylä- ja alanuolinäppäimillä (mailaa voi liikuttaa vain ylös ja alas) ja pelaaja 2 ohjaa näppäimillä W ja S.
Pallon vauhti x akselilla kiihtyy tiettyyn rajaan asti yhdellä ja samoin y-akselilla joka lyönnillä. Tästä johtuu se, että pallo "menee hiljempaa" eteenpäin, kun se lähtee suoraan x-akselin suuntaan.
Pelissä ei ole käytetty yhtään kuvagrafiikoita, joten pelkkä kääntäminen riittää.
PS. Jos peli tuntuu tutulta, niin näin tiedoksi, että idean sain vanhalla koneella olleesta, vastaavasta pelistä. Sitä vaan enää nykyään löytää vähän heikommin.
Kääntäjän voi ladata ilmaiseksi osoitteesta http://koti.mbnet.fi/~psywave/coolbasic/cbdownload.php
'''''''''''''''''''''''''' '' Perinteinen "pingis" '' '''''''''''''''''''''''''' ' Nopeille koneille. Rajoittaa maksiminopeutta. FrameLimit 40 ' Suurennetaan koko ruudulle SCREEN 720, 540, 0, cbsizable SetWindow "Pingis", 3 ' Asetetaan taustaväriksi tummanvihreä ClsColor cbDarkGreen ' Pelaajien lähtöpaikat. pelaaja1_y = 270 pelaaja2_y = 270 ' Onko pallolle annettu alkuvauhti? alkuvauhti = False ' Pallon nopeus. x_vauhti = 2 y_vauhti = 2 ' Pisteet. pelaaja1_points = 0 pelaaja2_points = 0 Repeat ' Piirretään kaikki tarvittava... "Mailat" ja pallo ja viiva keskikenttään. Box 5, pelaaja2_y, 5, 30 ' Vasen maila Box 710, pelaaja1_y, 5, 30 ' Oikea maila Circle x, y, 10 ' Pelipallo Box 360, 0, 1, 540 ' Keskiviiva ' Ohjaus. If UpKey() Then pelaaja1_y - 6 ' Pelaaja 1 ylöspäin If DownKey() Then pelaaja1_y + 6 ' Pelaaja 1 alaspäin If pelaaja1_y < 0 Then pelaaja1_y = 0 ' Ei päästetä yläreunasta läpi. If pelaaja1_y > 520 Then pelaaja1_y = 520 ' Ei päästetä alareunasta läpi. If KeyDown(cbKeyW) Then pelaaja2_y - 5 ' Pelaaja 2 ylöspäin If KeyDown(cbKeyS) Then pelaaja2_y + 5 ' Pelaaja 2 alaspäin If pelaaja2_y < 0 Then pelaaja2_y = 0 ' Ei päästetä yläreunasta läpi. If pelaaja2_y > 520 Then pelaaja2_y = 520 ' Ei päästetä alareunasta läpi. ' Tarkistetaan, osuiko pallo mailaan tai ylä / alareunaan. Jos osui, suunnanmuutos. Annetaan myös alkuvauhti. If alkuvauhti = False Then ' Pallon lähtöpaikka. x = 360 y = 270 x_vauhti = Rand(-4, 4) ' Randomi x-akselin nopeus y_vauhti = Rand(-4, 4) ' Randomi y-akselin nopeus If x_vauhti + y_vauhti < 5 And x_vauhti + y_vauhti > -5 Then ' Jos vauhtien yhteisnopeus on alle 5, arvotaan uusi alkuvauhti x_vauhti = Rand(-4, 4) y_vauhti = Rand(-4, 4) alkuvauhti = False Else alkuvauhti = True EndIf EndIf ' Ylä- ja alareunasta törmäys. If y < 0 Or y > 540 Then y_vauhti = -y_vauhti ' Mailaan törmäys. If BoxOverlap(705, pelaaja1_y, 5, 30, x, y, 10, 10) = 1 Then x_vauhti = -x_vauhti: x_vauhti - 1: y_vauhti + 2: suunta_x = x If BoxOverlap(5, pelaaja2_y, 5, 30, x, y, 10, 10) = 1 Then x_vauhti = -x_vauhti: x_vauhti + 1: y_vauhti - 2: suunta_x = x ' Tarkastetaan, ettei nopeus kasva liikaa. If x_vauhti < -7 Then x_vauhti = -7 If x_vauhti > 7 Then x_vauhti = 7 If y_vauhti < -7 Then y_vauhti = -7 If y_vauhti > 7 Then y_vauhti = 7 ' Lasketaan pisteet: If x < -5 Then pelaaja1_points = pelaaja1_points + 1: alkuvauhti = False If x > 725 Then pelaaja2_points = pelaaja2_points + 1: alkuvauhti = False ' Liikutetaan palloa. ' Mutta tarkastetaan ensin pallon liikkumissuunta. If suunta_x < x Xor suunta_x = x Then x + x_vauhti: y - y_vauhti ' Pallo menee vasemmalta oikealle. If suunta_x > x Xor suunta_x = x Then x + x_vauhti: y - y_vauhti ' Pallo menee oikealta vasemmalle. ' Tulostetaan pisteet. Text 188, 0, "Pelaaja 2 pisteet: " + pelaaja2_points + " | Pelaaja 1 pisteet: " + pelaaja1_points ' Tätä ei saa unohtaa!! Piirtää näytön, ilman tätä ei näy mitään. DrawScreen Until EscapeKey()
Jess. tätä kaipasin.
Hyväkoulussa tulee kohta coolbasic ja nyt opiskelen vähän sitä..
Aihe on jo aika vanha, joten et voi enää vastata siihen.