Forum
>>
Principianti
>>
Aiuto con un gioco
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Diegoli |
2017-12-12 21:16:30 - Aiuto con un gioco
|
ciao a tutti! Sono all’inizio della mia esperienza di programmazione e dovrei elaborare un gioco in Python, ma mi trovo veramente in difficoltà su come iniziare. In pratica devo creare un gioco dove il programma legge da un file txt un input che definisce un labirinto. Ad esempio:
####### # A# # ##### # #S# # # # # # ### # # # ####### Nel file # è un muro, A è l’utente e S è la posizione del tesoro. Il programma deve stampare il labirinto e permettere all’utente di muoversi premendo N, S,E,W (nord,sud...). L’utente non può muoversi attraverso il muro e quando raggiunge il tesoro il gioco finisce. Qualcuno saprebbe darmi una mano? |
|
Scritto da stix77 |
2017-12-13 01:24:40 - Re: Aiuto con un gioco
|
domanda:
ma perchè invece di farlo così coi caratteri, non usi tkinter e crei un oggetto giocatore che si dispone su una griglia dove ci piazzi un tesoro e degli ostacoli randomici? |
|
Scritto da Diegoli |
2017-12-13 08:36:20 - Re: Aiuto con un gioco
|
Prima di tutto grazie per la risposta! Mi è stato chiesto di farlo così e infatti cercando sul web non ho trovato esempi che mi possano aiutare
|
|
Scritto da Daniele aka Palmux |
2017-12-13 10:47:51 - Re: Aiuto con un gioco
|
Ti suggerisco di utilizzare librerie create esattamente allo scopo, come ad esempio Pygame (Pyglet).
Cya |
|
Scritto da stix77 |
2017-12-13 13:40:08 - Re: Aiuto con un gioco
|
ciao, se non puoi farlo con i moduli importati, prova a seguire questa guida che ho trovato googolando, forse può fare a caso tuo
https://www.blog.hatsec.io/ctf/python-maze-solver/ |
|
Scritto da Diegoli |
2017-12-18 16:08:31 - Re: Aiuto con un gioco
|
Dopo un po' di lavoro sono arrivato a questo punto:
nel main il codice è: from game import read_maze,Maze mz = read_maze('maze.txt') for r in mz: print(''.join(r)) inst = Maze() v = input("Dove vuoi andare") inst.gameplay(v) nel file python game sono presenti le funzioni:def read_maze(fname): mz = [] with open(fname, 'U') as f: for r in f: mz.append(list(r.replace('\n', ''))) return mz NONE = " " START = "A" WALL = "W" TRS = "S" class Maze(): def moveRight(self,x,y): self.solve(x+1,y) def moveLeft(self,x,y): self.solve(x-1,y) def moveUp(self,x,y): self.solve(x,y-1) def moveDown(self,x,y): self.solve(x,y+1) def start(self, x=None, y=None): if x==None: x, y=self.start_x, self.start_y if self.mazexy in WALL: x,y=x,y if self.mazexyin TRS: print("You won") def gameplay(self, v): if v=='N': self.moveUp() if v=='S': self.moveDown() if v=='W': self.moveLeft() if v=='E': self.moveRight() Il problema rimane come dargli in input il mio file di testo maze.txt ########## #A### #### # # # ## # # # # S# # # # ## # ### # # # # ### ###### ########## |
Pagina: 1
Esegui il login per scrivere una risposta.