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.