precalc.py
Created by
aidanplews2013
Created on
November 25, 2020
7.3 KB
import turtle
from math import *
import kandinsky
turtle . speed ( 9000 )
draw = False
loc = turtle
px = float ( 5.5 )
py = float ( 5.5 )
pa = float ( 0 )
sw = int ( 48 )
sh = int ( 240 )
my = int ( 14 )
mx = int ( 16 )
fd = float ( 10 )
tx = 0
fl = False
hit = False
ex1 = [ - 0.0375 , - 0.6678 , - 0.6643 , - 0.6608 , - 0.6572 , - 0.6537 , - 0.6502 , - 0.6466 , - 0.643 , - 0.6394 , - 0.6358 , - 0.6322 , - 0.6285 , - 0.6249 , - 0.6212 , - 0.6175 , - 0.6138 , - 0.6101 , - 0.6064 , - 0.6027 , - 0.5989 , - 0.5952 , - 0.5914 , - 0.5876 , - 0.5838 , - 0.58 , - 0.5762 , - 0.5723 , - 0.5685 , - 0.5646 , - 0.5607 , - 0.5569 , - 0.553 , - 0.549 , - 0.5451 , - 0.5412 , - 0.5372 , - 0.5333 , - 0.5293 , - 0.5253 , - 0.5213 , - 0.5173 , - 0.5133 , - 0.5093 , - 0.5052 , - 0.5012 , - 0.4971 , - 0.4931 ]
ex2 = [ - 0.0375 , 0.7448 , 0.7479 , 0.751 , 0.7541 , 0.7572 , 0.7602 , 0.7632 , 0.7663 , 0.7693 , 0.7723 , 0.7752 , 0.7782 , 0.7811 , 0.784 , 0.7869 , 0.7898 , 0.7927 , 0.7955 , 0.7984 , 0.8012 , 0.804 , 0.8068 , 0.8095 , 0.8123 , 0.815 , 0.8177 , 0.8204 , 0.8231 , 0.8257 , 0.8283 , 0.831 , 0.8336 , 0.8361 , 0.8387 , 0.8412 , 0.8438 , 0.8463 , 0.8488 , 0.8512 , 0.8537 , 0.8561 , 0.8585 , 0.8609 , 0.8633 , 0.8657 , 0.868 , 0.8703 ]
ex3 = [ - 0.0375 , 0.6668 , 0.6633 , 0.6598 , 0.6563 , 0.6528 , 0.6492 , 0.6456 , 0.642 , 0.6384 , 0.6348 , 0.6312 , 0.6275 , 0.6239 , 0.6202 , 0.6165 , 0.6128 , 0.6091 , 0.6054 , 0.6017 , 0.5979 , 0.5942 , 0.5904 , 0.5866 , 0.5828 , 0.579 , 0.5751 , 0.5713 , 0.5674 , 0.5636 , 0.5597 , 0.5558 , 0.5519 , 0.548 , 0.5441 , 0.5401 , 0.5362 , 0.5322 , 0.5282 , 0.5243 , 0.5203 , 0.5162 , 0.5122 , 0.5082 , 0.5042 , 0.5001 , 0.496 , 0.492 ]
ex4 = [ - 0.0375 , - 0.7456 , - 0.7487 , - 0.7518 , - 0.7549 , - 0.758 , - 0.761 , - 0.7641 , - 0.7671 , - 0.7701 , - 0.7731 , - 0.776 , - 0.779 , - 0.7819 , - 0.7848 , - 0.7877 , - 0.7906 , - 0.7935 , - 0.7963 , - 0.7991 , - 0.8019 , - 0.8047 , - 0.8075 , - 0.8103 , - 0.813 , - 0.8157 , - 0.8184 , - 0.8211 , - 0.8238 , - 0.8264 , - 0.829 , - 0.8317 , - 0.8343 , - 0.8368 , - 0.8394 , - 0.8419 , - 0.8444 , - 0.8469 , - 0.8494 , - 0.8519 , - 0.8543 , - 0.8568 , - 0.8592 , - 0.8616 , - 0.8639 , - 0.8663 , - 0.8686 , - 0.8709 ]
ey1 = [ 0.9993 , 0.7444 , 0.7475 , 0.7506 , 0.7537 , 0.7567 , 0.7598 , 0.7628 , 0.7659 , 0.7689 , 0.7719 , 0.7748 , 0.7778 , 0.7807 , 0.7836 , 0.7865 , 0.7894 , 0.7923 , 0.7952 , 0.798 , 0.8008 , 0.8036 , 0.8064 , 0.8091 , 0.8119 , 0.8146 , 0.8173 , 0.82 , 0.8227 , 0.8253 , 0.828 , 0.8306 , 0.8332 , 0.8358 , 0.8384 , 0.8409 , 0.8434 , 0.8459 , 0.8484 , 0.8509 , 0.8534 , 0.8558 , 0.8582 , 0.8606 , 0.863 , 0.8653 , 0.8677 , 0.87 , 0.8723 , 0.8746 , 0.8768 , 0.8791 ]
ey2 = [ 0.9993 , 0.6673 , 0.6638 , 0.6603 , 0.6568 , 0.6532 , 0.6497 , 0.6461 , 0.6425 , 0.6389 , 0.6353 , 0.6317 , 0.628 , 0.6244 , 0.6207 , 0.617 , 0.6133 , 0.6096 , 0.6059 , 0.6022 , 0.5984 , 0.5947 , 0.5909 , 0.5871 , 0.5833 , 0.5795 , 0.5757 , 0.5718 , 0.568 , 0.5641 , 0.5602 , 0.5563 , 0.5524 , 0.5485 , 0.5446 , 0.5407 , 0.5367 , 0.5327 , 0.5288 , 0.5248 , 0.5208 , 0.5168 , 0.5128 , 0.5087 , 0.5047 , 0.5006 , 0.4966 , 0.4925 , 0.4884 , 0.4843 , 0.4802 , 0.4761 ]
ey3 = [ 0.9993 , - 0.7452 , - 0.7483 , - 0.7514 , - 0.7545 , - 0.7576 , - 0.7606 , - 0.7637 , - 0.7667 , - 0.7697 , - 0.7727 , - 0.7756 , - 0.7786 , - 0.7815 , - 0.7844 , - 0.7873 , - 0.7902 , - 0.7931 , - 0.7959 , - 0.7987 , - 0.8016 , - 0.8044 , - 0.8071 , - 0.8099 , - 0.8126 , - 0.8154 , - 0.8181 , - 0.8207 , - 0.8234 , - 0.8261 , - 0.8287 , - 0.8313 , - 0.8339 , - 0.8365 , - 0.839 , - 0.8416 , - 0.8441 , - 0.8466 , - 0.8491 , - 0.8516 , - 0.854 , - 0.8564 , - 0.8589 , - 0.8612 , - 0.8636 , - 0.866 , - 0.8683 , - 0.8706 , - 0.8729 , - 0.8752 , - 0.8775 , - 0.8797 ]
ey4 = [ 0.9993 , - 0.6664 , - 0.6629 , - 0.6593 , - 0.6558 , - 0.6523 , - 0.6487 , - 0.6451 , - 0.6415 , - 0.6379 , - 0.6343 , - 0.6307 , - 0.6271 , - 0.6234 , - 0.6197 , - 0.616 , - 0.6123 , - 0.6086 , - 0.6049 , - 0.6012 , - 0.5974 , - 0.5936 , - 0.5899 , - 0.5861 , - 0.5823 , - 0.5785 , - 0.5746 , - 0.5708 , - 0.5669 , - 0.5631 , - 0.5592 , - 0.5553 , - 0.5514 , - 0.5475 , - 0.5435 , - 0.5396 , - 0.5356 , - 0.5317 , - 0.5277 , - 0.5237 , - 0.5197 , - 0.5157 , - 0.5117 , - 0.5076 , - 0.5036 , - 0.4995 , - 0.4955 , - 0.4914 , - 0.4873 , - 0.4832 , - 0.4791 , - 0.475 ]
ty = 0
h = float ( 0 )
loc . goto ( 5.5 , 5.5 )
loc . penup ()
loc . ht ()
pi = 22 / 7
ma1 = [ ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' , ' . ' , ' . ' , ' . ' , ' x ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' . ' , ' x ' ,
' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' , ' x ' ]
while True :
for i in range ( int ( sw )):
ex = 0
ey = 0
if pa == 4.015873015873016 :
ex = ex4 [ i ]
ey = ey4 [ i ]
if pa == 2.4444444444444446 :
ex = ex3 [ i ]
ey = ey3 [ i ]
if pa == 0.873015873015873 :
ex = ex2 [ i ]
ey = ey2 [ i ]
if pa ==- 0.6984126984126984 :
ex = ex1 [ i ]
ey = ey1 [ i ]
dis = float ( 0 )
while hit == False and dis < fd :
dis = dis + 0.5
tx = int ( px + ex * dis )
ty = int ( py + ey * dis )
if tx < 0 or tx >= mx or ty < 0 or ty >= my :
hit = True
else :
if ( ma1 [( tx * mx + ty )] == " x " ):
hit = True
if dis >= fd :
hit = True
if hit :
kandinsky . wait_vblank
h = 40 - ( dis * 4 )
kandinsky . fill_rect (( i * 3 ), 0 , 3 , int ( 240 - ((( 40 - h ) / 2 ) * 5 )),(( 255 - ( int ( dis * 1.2 * 12.75 ))), 0 , 0 ))
draw = True
kandinsky . fill_rect ( i * 3 , 0 , 3 , int ((((( 40 - h ) / 2 ) * 5 ))),( 0 , 0 , 0 ))
fl = True
k = kandinsky . get_keys ()
if " up " in k and i == ( sw - 1 ):
loc . fd ( 0.1 )
px = loc . pos ()[ 1 ]
py = loc . pos ()[ 0 ]
if ( ma1 [ int ( px - 0.1 ) * mx + int ( py - 0.1 )] == " x " ):
loc . fd ( - 0.1 )
kandinsky . fill_rect ( 0 , 0 , 320 , 240 ,( 0 , 0 , 0 ))
if " down " in k and i == ( sw - 1 ):
loc . fd ( - 0.1 )
px = loc . pos ()[ 1 ]
py = loc . pos ()[ 0 ]
if ( ma1 [ int ( px - 0.1 ) * mx + int ( py - 0.1 )] == " x " ):
loc . fd ( 0.1 )
kandinsky . fill_rect ( 0 , 0 , 320 , 240 ,( 0 , 0 , 0 ))
if " left " in k and i == ( sw - 1 ):
loc . lt ( - 90 )
radian = ( loc . heading () - 40 ) * ( pi / 180 )
pa = radian
kandinsky . fill_rect ( 0 , 0 , 320 , 240 ,( 0 , 0 , 0 ))
if " right " in k and i == ( sw - 1 ):
loc . lt ( 90 )
radian = ( loc . heading () - 40 ) * ( pi / 180 )
pa = radian
kandinsky . fill_rect ( 0 , 0 , 320 , 240 ,( 0 , 0 , 0 ))
hit = False