Пікірлер
@Crossendurancerunning
@Crossendurancerunning Жыл бұрын
Thank you for sharing this with us. I'm gonna read some of these for sure.
@dormii9409
@dormii9409 Жыл бұрын
liked and subbed for that
@dormii9409
@dormii9409 Жыл бұрын
Thank you so much your a genius i was really struggling i tried so much things then i found this video
@_tox474
@_tox474 Жыл бұрын
❤️
@danilalikhachev341
@danilalikhachev341 Жыл бұрын
some very well thought out points here, I'd be very interested in hearing their development in the further issues. surprised this doesn't have more views, as other than a little bit lacking polish in editing, it's a very competently made video on a very interesting subject. keep up the good work, cheers!
@sorvoe5513
@sorvoe5513 Жыл бұрын
Why I read The Fountainhead by Ayn Rand at age 12: It inspired Rush: 2112
@charliereviews7448
@charliereviews7448 Жыл бұрын
And Bioshock (although Atlas Shrugged to a higher degree).
@charliereviews7448
@charliereviews7448 Жыл бұрын
these are in reverse order btw...
@charliereviews7448
@charliereviews7448 Жыл бұрын
# physics # apply gravity self.vel_y += GRAVITY dy += self.vel_y # ensure player stays on screen if self.rect.left + dx <0: dx = 0 - self.rect.left if self.rect.right + dx > screen_width: dx = screen_width - self.rect.right if self.rect.bottom + dy > screen_height - 110: self.vel_y = 0 self.jump = False dy = screen_height - 110 - self.rect.bottom #ensure players face each other if target.rect.centerx > self.rect.centerx: self.flip = False else: self.flip = True #apply attack cooldown if self.attack_cooldown > 0: self.attack_cooldown -= 1 # update player position self.rect.x += dx self.rect.y += dy if self.player == 1: if key[pygame.K_a] == False: if key[pygame.K_d] == False: self.running = False # reset self.running if self.player == 2: if key[pygame.K_LEFT] == False: if key[pygame.K_RIGHT] == False: self.running = False # reset self.running # handle animation updates (from tutorial) def update(self): animation_cooldown = 100 self.image = self.animation_list[self.action][self.frame_index] # check what action the player is performing if self.hit == True: self.update_action(2) # getting hit # elif self.attacking == True: # if self.attack_type == 1: # self.update_action(3) # 3:attack 1 # elif self.attack_type == 2: # self.update_action(4) # 4:attack 2 # elif self.attack_type == 3: # self.update_action(5) # 5:attack 3 # elif self.attack_type == 4: # self.update_action(6) # 6:attack 4 # else: # self.update_action(7) # shoot attack # elif self.jump == True: # self.update_action(2) # 2:jump elif self.running == True: self.update_action(1) # 1:run else: self.update_action(0) # 0:idle # check if enough time has passed since the last update if pygame.time.get_ticks() - self.update_time > animation_cooldown: self.frame_index += 1 self.update_time = pygame.time.get_ticks() # check if the animation has finished if self.frame_index >= len(self.animation_list[self.action]): # if the player is dead then end the animation_list # if self.alive == False: #self.frame_index = len(self.animation_list[self.action]) - 1 # else: self.frame_index = 0 self.hit = False # check if an attack was executed # if self.action == 3 or self.action ==4: # self.attacking = False # self.attack_cooldown = 20 ## check if damage was taken # if self.action == 5: # create attack space def high_attack(self, surface, target): attacking_rect = pygame.Rect(self.rect.centerx - (1.5 * self.rect.width * self.flip), self.rect.y, 1.5 * self.rect.width, self.rect.height / 2) if attacking_rect.colliderect(target.rect): target.health -= 10 target.hit = True pygame.draw.rect(surface, (0, 255, 0), attacking_rect) self.attack_cooldown = 20 def low_attack(self, surface, target): attacking_rect = pygame.Rect(self.rect.centerx - (1.5 * self.rect.width * self.flip), self.rect.centery, 1.5 * self.rect.width, self.rect.height / 2) if attacking_rect.colliderect(target.rect): target.health -= 10 target.hit = True pygame.draw.rect(surface, (0, 255, 0), attacking_rect) self.attack_cooldown = 20 def shooting_attack(self, surface, target): attacking_rect = pygame.Rect(self.rect.centerx - (0.5 * self.rect.width * self.flip) + 50 * self.shoot - (100 * self.shoot * self.flip), (self.rect.centery - 50), 0.5 * self.rect.width, self.rect.height / 4) if attacking_rect.colliderect(target.rect): target.health -= 5 target.hit = True pygame.draw.rect(surface, (0, 255, 0), attacking_rect) def update_action(self, new_action): # check if the new action is different to previous one if new_action != self.action: self.action = new_action # update animation settings self.frame_index = 0 self.update_time = pygame.time.get_ticks() def draw(self, surface): img = pygame.transform.flip(self.image, self.flip, False) # pygame.draw.rect(surface, (255, 255, 255), self.rect) surface.blit(img, (self.rect.x - (self.offset[0] * self.image_scale), self.rect.y - (self.offset[1] * self.image_scale))) # blit from tutorial
@charliereviews7448
@charliereviews7448 Жыл бұрын
import pygame class Fighter(): def __init__(self, player, x, y, data, sprite_sheet, animation_steps): # add flip variable? and change False to to flip self.size = data[0] self.image_scale = data [1] self.offset = data [2] self.player = player self.flip = False self.animation_list = self.load_images(sprite_sheet, animation_steps) self.action = 0 # 0 = idle, etc. self.frame_index = 0 self.image = self.animation_list[self.action][self.frame_index] self.update_time = pygame.time.get_ticks() # or not? self.rect = pygame.Rect((x, y, 80, 180)) self.vel_y = 0 self.running = False self.jump = False self.attacking = False self.attack_type = 0 self.attack_cooldown = 0 self.hit = False self.health = 100 self.alive = True self.shoot = 0 def load_images(self, sprite_sheet, animation_steps): # continue from tutorial # extract images from sprite_sheet animation_list = [] for y, animation in enumerate(animation_steps): temp_img_list = [] for x in range(animation): temp_img = sprite_sheet.subsurface(x * self.size, y * self.size, self.size, self.size) temp_img_list.append(pygame.transform.scale(temp_img, (self.size * self.image_scale, self.size * self.image_scale))) animation_list.append(temp_img_list) return animation_list def move(self, screen_width, screen_height, surface, target, round_over): SPEED = 10 GRAVITY = 2 dx = 0 dy = 0 self.running == False self.attack_type = 0 # get key presses key = pygame.key.get_pressed() # Can only perform other actions if not attacking ## or dead if self.health <= 0: ## my addition self.health = 0 ## my addition self.alive = False ## my addition # self.update_action(6) if self.attacking == False and self.alive == True and round_over == False and self.shoot <= 8: #check player 1 controls if self.player == 1: if key[pygame.K_a]: # movement dx = -SPEED self.running = True if key[pygame.K_d]: dx = SPEED self.running = True if key[pygame.K_w] and self.jump == False: # jump self.vel_y = -30 self.jump = True # attack if key[pygame.K_r] or key[pygame.K_t] or key[pygame.K_f] or key[pygame.K_g] or key[pygame.K_SPACE]: if self.attack_cooldown == 0: self.attacking = True if key[pygame.K_r] or key[pygame.K_t]: # determine which attack type self.high_attack(surface, target) if key[pygame.K_r]: self.attack_type = 1 if key[pygame.K_t]: self.attack_type = 2 if key[pygame.K_f] or key[pygame.K_g]: self.low_attack(surface, target) if key[pygame.K_f]: self.attack_type = 3 if key[pygame.K_g]: self.attack_type = 4 if key[pygame.K_SPACE]: self.shooting_attack(surface, target) self.shoot += 1 self.attack_type = 5 if self.shoot >= 8: self.attack_cooldown = 50 self.shoot = 0 self.attacking = False # player 2 elif self.player == 2: if key[pygame.K_LEFT]: # movement dx = -SPEED self.running = True if key[pygame.K_RIGHT]: dx = SPEED self.running = True if key[pygame.K_UP] and self.jump == False: # jump self.vel_y = -30 self.jump = True # attack if key[pygame.K_KP4] or key[pygame.K_KP5] or key[pygame.K_KP1] or key[pygame.K_KP2] or key[pygame.K_KP0]: if self.attack_cooldown == 0: self.attacking = True if key[pygame.K_KP4] or key[pygame.K_KP5]: self.high_attack(surface, target) if key[pygame.K_KP4]: self.attack_type = 1 if key[pygame.K_KP5]: self.attack_type = 2 if key[pygame.K_KP1] or key[pygame.K_KP2]: self.low_attack(surface, target) if key[pygame.K_KP1]: self.attack_type = 3 if key[pygame.K_KP2]: self.attack_type = 4 if key[pygame.K_KP0]: self.shooting_attack(surface, target) self.shoot += 1 self.attack_type = 5 if self.shoot >= 8: self.attack_cooldown = 50 self.shoot = 0 self.attacking = False
@alg11297
@alg11297 2 жыл бұрын
Um, if Roark was let go from Architecture School, how could he practice as a licensed architect? I mean, isn't this like hiring a para legal to complete a major legal court case?
@ianperez5350
@ianperez5350 2 жыл бұрын
He’s unlicensed in the book and uninterested in getting licensed
@alg11297
@alg11297 2 жыл бұрын
@@ianperez5350 so he practices architecture illegally? And he's the hero? The ultimate man?
@ianperez5350
@ianperez5350 2 жыл бұрын
@@alg11297 lol I honestly don’t know about the legality as it’s never discussed but the licensing organization is an architects guild of sorts that all retain similar ideas of traditional design. However, I don’t believe that Roark didn’t join because of their ideals, which he would’ve hated anyways, but more because he’s not worried about the thoughts of other architects and doesn’t want to be a part of an organization just to be in an organization as it provides no value in his eyes. It seems that it’s complete indifference to collectivization that Roark possesses.
@MNizamee
@MNizamee Жыл бұрын
​@alg11297 i cant tell if you're being ironic but I'm personally enjoying the idea that youre sincerely concerned about the legality of Howard Roark's career.
@alg11297
@alg11297 Жыл бұрын
@@MNizamee No. The novel just makes no logical sense. Would you hire an architect who was apparently thrown out of his graduate school and apparently didn't pass the state license test? Think about that next time you visit the dentist.
@alg11297
@alg11297 2 жыл бұрын
Isn't it just bad writing with female sexual desires thrown in?
@charliereviews7448
@charliereviews7448 2 жыл бұрын
Define bad writing. At times it's way too concerned with its own rhetoric. At other times, Rand really knows how to turn a phrase and she understands that we can empathise with quite difficult characters when you put them up against enough obstacles. I'm not rating the author's politics. I'm not really interested in doing so either.
@alg11297
@alg11297 2 жыл бұрын
@@charliereviews7448 You ever wonder it's not taught in any literature class or her philosophy taught in any philosophy class in the world. When I read Atlas Shrugged I started underlining the awkward phases that appeared on nearly every page. I was given the excuse the Rand learned English as a second language. Kind of like Joseph Conrad?
@charliereviews7448
@charliereviews7448 2 жыл бұрын
Putting a writer on a literature class is pretty much promoting that writer by introducing them to a wider audience. Considering how liberal English Lit. Professors are generally I can see why they would not want to promote Rand. Her works have done amazingly well considering. I don't agree with her ethics (I'm an ethical utilitarian = the greatest good for the greatest number, hence veganism). But to say that Rand can't write is to conflate your aesthetic taste with absolute fact. She gets a lot of stuff to right. As someone who has studied writing, one of the basic principles is to have a protagonist with a clear goal and obstacles in their path. This novel has that in spades. As for Conrad, you don't think he can write? He's considered by many to be a pioneering prose stylist with some dodgy race politics to let down his legacy.
@charliereviews7448
@charliereviews7448 2 жыл бұрын
*right, not to right
@scholtzmaritz6011
@scholtzmaritz6011 2 жыл бұрын
How much different would the content of The Fountainhead (and Atlas Shrugged) have been, had Ayn Rand been, instead of a hardcore atheist, a hardcore born-again Christian?
@charliereviews7448
@charliereviews7448 2 жыл бұрын
It's a good question. I'm an atheist myself, but I have a lot of respect for religion. I've read the Bible and Quran. Intending to read the Bhagavad-Gita soon. I would say that it would be difficult to reconcile that kind of pro-capitalist, ego-centric individualism with the core message of Christianity. Unfortunately, the right wing in the US has been doing just that for decades on a large scale, so that's not necessarily true. In the end, I think particularly if she were a born-again Christian, I might've expected less condemnation of pity/empathy and more lip service to Christian doctrine, even if she still felt that great individuals were somehow these supreme admirable beings. Maybe Howard Roark would've sounded more like Trump. Although I think in the version as is, she probably would have identified Trump as more like Peter Keating, a man with no self, merely constituted of the reflection of other men's desires and ideas.
@scholtzmaritz6011
@scholtzmaritz6011 2 жыл бұрын
@@charliereviews7448 If she was a hardcore born-again Christian, I think she would have asked herself, "Who is the most successful person, who ever lived and will ever live on planet Earth?" Then she would have answered, "The eternal second person of the eternal triune Godhead, Yahweh, embodied in human form in the person, who went by the name of Yahshua (Jesus) of Nazareth." Then she might have asked herself, "What makes him the most successful person to have ever lived and will ever live on planet Earth?" The answer to that question would then have run like a golden thread throughout the book.
@davida.rosales6025
@davida.rosales6025 2 жыл бұрын
This was a very useful review. Perhaps the first convincing argument I've heard to read her fiction.
@ribblemcdibble
@ribblemcdibble 2 жыл бұрын
I might like her more than you do!?!
@ribblemcdibble
@ribblemcdibble 2 жыл бұрын
...I want to read plays!
@jodeelee7896
@jodeelee7896 2 жыл бұрын
I love Random! It's definitely one of my favourite plays. Debbie Tucker Green is a fantastic writer.
@charliereviews7448
@charliereviews7448 2 жыл бұрын
I'm putting together a list of some of my favourites now. If there's any books particularly you'd like me to review, let me know.
@jodeelee7896
@jodeelee7896 2 жыл бұрын
I would be very interested in a review of The Great Gatsby.
@davida.rosales6025
@davida.rosales6025 2 жыл бұрын
Are you still taking requests?
@charliereviews7448
@charliereviews7448 2 жыл бұрын
@@davida.rosales6025 Yes, still taking recommendations. I have a a couple of filmed videos left to edit but always open to suggestions :-) it might be a couple weeks though as I have just started rereading Dune to compare with the film and tv adaptations.
@davida.rosales6025
@davida.rosales6025 2 жыл бұрын
@@charliereviews7448 Dune's cool. I don't think Herbert ever superceded it. It's probably his most elegant and instructive, as far as that kind of writing can be so. I was thinking of a very short novel that is quite subtle and so is skimmed over most of the time: The House of the Vampire, by George Sylvester Viereck.
@charliereviews7448
@charliereviews7448 2 жыл бұрын
@@davida.rosales6025 Yes, it was definitely his best work. Had better depth and structure than his other stuff. My preference is generally classics but I do have a soft spot for sci-fi and horror. Iain M Banks is my go to when I want something easy to read that isn't going to be so intensely character driven. And cool, I've added it to my wish list :-) I reread a few classic vampire novels recently so will be interesting to see how it compares.
@jodeelee7896
@jodeelee7896 2 жыл бұрын
Can't wait for the next video.
@jodeelee7896
@jodeelee7896 2 жыл бұрын
Very informative!