bin gerade über dieses Forum gestolpert als ich auf der Suche nach meinem Problem war.
Und zwar habe ich vor kurzem angefangen python zu lernen, durch tutorials usw., im moment bin ich z.b. bei diesem hier: http://openbookproject.net/thinkCSpy/ch08.html
Ich mache das bei meinem Praktikum immer wenn ich etwas Zeit habe, unter Windows.
Jetzt bin ich endlich mal dazu gekommen das zu Hause zu probieren, hatte schon früher mal Ubuntu installiert weil es ein interessanten Betriebssystem ist... und ich hab halt immer wieder gelesen dass das programmieren mit python unter linux besser ist, so von der oberfläche usw her.
Nun würde ich gerne wissen warum dieses Programm, hier jetzt mal aus der Seite kopiert, weil ich meine version auf dem arbeitsrechner habe:
Code: Alles auswählen
from gasp import *
COMPUTER_WINS = 1
PLAYER_WINS = 0
QUIT = -1
def distance(x1, y1, x2, y2):
return ((x2 - x1)**2 + (y2 - y1)**2)**0.5
def play_round():
ball_x = 10
ball_y = random_between(20, 280)
ball = Circle((ball_x, ball_y), 10, filled=True)
dx = 4
dy = random_between(-5, 5)
mitt_x = 780
mitt_y = random_between(20, 280)
mitt = Circle((mitt_x, mitt_y), 20)
while True:
if ball_y >= 590 or ball_y <= 10:
dy *= -1
ball_x += dx
ball_y += dy
if ball_x >= 810:
remove_from_screen(ball)
remove_from_screen(mitt)
return COMPUTER_WINS
move_to(ball, (ball_x, ball_y))
if key_pressed('k') and mitt_y < 580:
mitt_y += 5
elif key_pressed('j') and mitt_y > 20:
mitt_y -= 5
if key_pressed('escape'):
return QUIT
move_to(mitt, (mitt_x, mitt_y))
if distance(ball_x, ball_y, mitt_x, mitt_y) <= 30:
remove_from_screen(ball)
remove_from_screen(mitt)
return PLAYER_WINS
update_when('next_tick')
def play_game():
player_score = 0
comp_score = 0
while True:
pmsg = Text("Player: %d Points" % player_score, (10, 570), size=24)
cmsg = Text("Computer: %d Points" % comp_score, (640, 570), size=24)
sleep(3)
remove_from_screen(pmsg)
remove_from_screen(cmsg)
result = play_round()
if result == PLAYER_WINS:
player_score += 1
elif result == COMPUTER_WINS:
comp_score += 1
else:
return QUIT
if player_score == 5:
return PLAYER_WINS
elif comp_score == 5:
return COMPUTER_WINS
begin_graphics(800, 600, title="Catch", background=color.YELLOW)
set_speed(120)
result = play_game()
if result == PLAYER_WINS:
Text("Player Wins!", (340, 290), size=32)
elif result == COMPUTER_WINS:
Text("Computer Wins!", (340, 290), size=32)
sleep(4)
end_graphics()
Und zwar ist es zum einen sehr viel schneller, und zum anderen funktioniert die zeile
Code: Alles auswählen
if key_pressed('escape'):
return QUIT
Danke im voraus für eure Hilfe^^