Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Valaki esetleg tudna segíteni ebbe a python feladatban? Előre is köszönöm.

596
Torpedó játék egyszerűsített változata. A játéktér legyen egy 3x3-as négyzetalakú rács, amiben az oszlopokat betűk (A, B, C), a sorokat számok (1, 2, 3) jelölik. A program helyezzen el egy darab egy egység kiterjedésű hajót a játéktérben véletlenszerűen (PI:
B2). A játékos próbálja meg kitalálni a hajó pozícióját újabb és újabb tippek megadásával.
A játék végén a program azt is írja ki a képernyőre, hogy hány próbálkozásból tudta a játékos kitalálni a pozíciót!
Jelenleg 1 felhasználó nézi ezt a kérdést.
python
0
Általános iskola / Informatika

Válaszok

3
import random

MERET = 3

hajox = random.randint(0, MERET - 1)
hajoy = random.randint(0, MERET - 1)
loves = 0

while True:
    koordinata = input('Lövés XY (X = A..' + chr(MERET + 65 - 1) + ', Y = 1..' + str(MERET) + '): ')
    if len(koordinata) != 2:
        print('Helytelen koordináta')
        continue

    oszlop = ord(koordinata[0]) - 65
    sor = int(koordinata[1]) - 1
    if not 0 <= oszlop < MERET or not 0 <= sor < MERET:
        print('Helytelen koordináta')
        continue

    loves += 1
    if oszlop == hajox and sor == hajoy:
        print('Eltaláltad', loves, 'lövésből')
        break
    else:
        print('Mellé ment')
0

import random

MERET = 3

def kiir():
    print(' ', ' '.join([chr(i + 65) for i in range(MERET)]))
    for i, sor in enumerate(tenger):
        print(i + 1, ' '.join(sor))

tenger = [['~'] * MERET for _ in range(MERET)]
hajox = random.randint(0, MERET - 1)
hajoy = random.randint(0, MERET - 1)
loves = 0

while True:
    kiir()
    koordinata = input('Lövés XY (X = A..' + chr(MERET + 65 - 1) + ', Y = 1..' + str(MERET) + '): ')
    if len(koordinata) != 2:
        print('Helytelen koordináta')
        continue

    oszlop = ord(koordinata[0]) - 65
    sor = int(koordinata[1]) - 1
    if not 0 <= oszlop < MERET or not 0 <= sor < MERET:
        print('Helytelen koordináta')
        continue

    loves += 1
    if oszlop == hajox and sor == hajoy:
        tenger[sor][oszlop] = '#'
        kiir()
        print('Eltaláltad', loves, 'lövésből')
        break
    else:
        tenger[sor][oszlop] = '*'
        print('Mellé ment')
0

1