J'essaie de créer un jeu avec l'art ASCII dans Pygame 2.7. Si je vais à la console Idle et tapez simplement:Affichage des caractères non imprimables dans Pygame
for i in range(255):
print str(i) + ' - ' + str(chr(i))
Je reçois près de 255 caractères distincts. Cependant, si j'essaye une cascade similaire dans Pygame:
import pygame, os, string, sys
from pygame.locals import *
pygame.init()
class Prog:
def __init__(self):
self.title = 'Text'
self.screen_size = (800, 600)
self.screen = pygame.display.set_mode(self.screen_size)
self.bg_color = (255, 255, 255)
self.text_color = (0,0,0)
self.text_font = 'Times New Roman'
self.text_size = 20
self.font = pygame.font.SysFont(self.text_font, self.text_size)
def draw_text(self, text, x, y):
textobj = self.font.render(text, 1, self.text_color)
textrect = textobj.get_rect()
textrect.center = (x,y)
self.screen.blit(textobj, textrect)
def main(self):
rec = self.screen.get_rect()
done = False
while not done:
for event in pygame.event.get():
if event.type == QUIT:
done = True
self.screen.fill(self.bg_color)
x = 20
y = 100
n = 1
for i in range(1, 255):
self.draw_text(chr(i), x, y)
x += 20
n += 1
if n > 25:
n = 1
x = 20
y += 30
pygame.display.flip()
La plupart de ces cascades sont simplement vides. Pourquoi la divergence? J'ai essayé de changer les polices, même en utilisant celle utilisée par Idle; J'ai essayé de l'analyser comme unicode; rien ne semble fonctionner. Cela ne me dérangerait pas si je ne dis pas que, comme je l'ai dit, il imprime très bien dans Idle, et certains des caractères que je ne peux pas obtenir sont présents dans d'autres jeux ASCII que je joue, donc ça doit être rendable.
Quelqu'un peut-il conseiller? Je suis un amateur/autodidacte enseigné par google, et préfèrerais honnêtement ne pas avoir à télécharger des modules supplémentaires si cela est évitable. Si rien d'autre, je vais me contenter d'une explication du double standard apparent de mon ordinateur sur cette question.
Merci beaucoup.
Merci beaucoup! Je pense que j'ai tiré plus de votre message que des semaines à regarder la documentation. :) (Je pense que les docs de python supposent une base de connaissance de programmation qui est légèrement au-delà de ce que j'ai actuellement, mais j'arrive là!) – queenofthecapes
Vous êtes les bienvenus! J'ai commencé comme programmeur autodidacte en utilisant pygame, donc je suis très heureux d'aider. C'est une excellente question aussi. J'ai beaucoup appris en lisant sur la façon dont les chaînes fonctionnent en Python. Bonne chance avec le jeu! En passant, si ce que j'ai écrit répond à votre question, cela vous dérangerait-il de l'accepter comme réponse? C'est ainsi que les sites Stack Exchange vous encouragent à donner votre avis sur les réponses. [étiquette de réponse] (https://meta.stackexchange.com/questions/19448/etiquette-for-selecting-answers). Merci! – ryanh119